Autor Wątek: Karty graficzne do komputerów pod CP/M  (Przeczytany 4503 razy)

Waldek

  • ****
  • Wiadomości: 349
  • Miejsce pobytu:
    Łużyce
« Ostatnia zmiana: 2025.04.11, 10:56:54 wysłana przez Waldek »

tapy

  • ****
  • Wiadomości: 295
  • Z80 & CP/M
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #46 dnia: 2025.04.12, 11:15:09 »
Trudno mówić o zachowaniu ducha epoki w przypadku zamiaru budowy karty graficznej dla komputera pracującego pod systemem operacyjnym CP/M. Ten system, w trakcie lat swojej świetności, nie przewidywał obsługi jakiejkolwiek karty graficznej, a tylko terminal szeregowy w wersji całkowicie podstawowej (7-bit). Obce mu są nawet, archaiczne w dzisiejszych czasach, rozszerzenia w postaci ANSI lub VT100. Była pewna część oprogramowania która potrafiła to wykorzystać, ale była to "fantazja" twórców takiego oprogramowania. Pamiętajmy, system operacyjny CP/M to lata 70-e ubiegłego wieku, czyli czas w którym nie istniały żadne krzemowe odpowiedniki układów graficznych, bo te pojawiły się dopiero w latach 80.
Szanuję decyzję autora, że nie wchodzą w rachubę jakieś współczesne rozwiązania na mikrokontrolerach, każdy ma swój próg którego nie powinno się przekraczać. Z drugiej strony takie purytańskie podejście powinno przekreślić możliwość użycia jakiejkolwiek karty pamięci, gdyż zawierają w swojej obudowie bardziej wydajny komputer niż system na 8080 lub Z80. Zwykły konwerter serial-usb, to użycie 32 bitowego ARM lub RISC-V w najnowszych układach, współczesna klawiatura mechaniczna, to często Cortex-M4 i na koniec monitor LCD ze jego komputerowym sterowaniem. Nie uciekniemy od rozwiązań współczesnych.
Myślę, że jednym słusznym rozwiązaniem zachowującym ówczesne realia, byłoby stworzenie takiej "karty graficznej" na układach TTL o czym wspomniał @McArti0, z tym że jej skomplikowanie będzie poddawało wątpliwość sensu budowy.
Niestety CP/M i jego pochodne, pod względem "grafiki", nie są tak oczywiste w założeniach jak komputery Spectrum,Commodore,Atari lub standard MSX, który tą funkcjonalność w miarę określał.

damik

  • Fresh rosin sniffer ;)
  • Moderator
  • *****
  • Wiadomości: 2674
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #47 dnia: 2025.04.12, 11:38:12 »
Tak w zasadzie aby zachować ducha epoki to najlepiej podłączyć dalekopis zamiast terminala CRT, ale to już rozwiązanie dla prawdziwych purystów.  :D
https://www.youtube.com/watch?v=Ryb7HFP_GgU

A tutaj jeszcze ciekawa pozycja traktująca o kilku mniej lub bardziej znanych kontrolerach CRT.
https://archive.org/details/crt_controller_handbook/mode/2up
« Ostatnia zmiana: 2025.04.12, 12:06:03 wysłana przez damik »
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

trojacek

  • *****
  • Wiadomości: 6964
  • Miejsce pobytu:
    Warszawa
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #48 dnia: 2025.04.12, 15:30:38 »
Trudno mówić o zachowaniu ducha epoki w przypadku zamiaru budowy karty graficznej

Przyczepię się, bo mogę :)
Nie kart graficznych, tylko tekstowych. Powiedzmy, kart video z trybem tekstowym. Dobrym przykładem takiego rozwiązania jest bodaj pierwsza karta video dla IBM PC - MDA (zawierająca na pokładzie, co za niespodzianka, CRTC 6845).

Cytuj
Obce mu są nawet, archaiczne w dzisiejszych czasach, rozszerzenia w postaci ANSI lub VT100.


Protokoły rodziny VT (52, 100, ...) to w zasadzie równolatki systemu CP/M, więc rozwiązania "współepokowe" :)
I do dziś funkcjonują w rozmaitych narzędziach komunikacji, np. typu telnet.
Ale w sumie nie o tym chciałem napisać.

Cytuj
każdy ma swój próg którego nie powinno się przekraczać.

Dokładnie.
Dla mnie jest to np. próg 5V. Wszystko co niżej, nie pasuje do świata retro.
Tak, wiem, że karty pamięci, nawet CF, działają na niższych napięciach. Ale to peryferia - magnetofon też może działać na dwóch "paluszkach", czyli na 3V.
A nawet mam gdzieś walkmana na jednego paluszka...

Cytuj
stworzenie takiej "karty graficznej" na układach TTL o czym wspomniał @McArti0, z tym że jej skomplikowanie będzie poddawało wątpliwość sensu budowy.

I o tym właśnie chciałem napisać :)
Miałem kiedyś zgięcie na punkcie terminali szeregowych, które dałoby się podpiąć pod FDD3000, a do terminala - klawiaturę PC i ekran VGA.
I udało mi się kupić dwa. Jeden martwy, więc nie ma sensu się nim zajmować, ale drugi sprawny i - ku mojemu zdziwieniu - generowanie obrazu VGA ma na TTL-ach. Polska konstrukcja :)
Jest tylko jeden problem - mam to gdzieś w jednej z kilkunastu skrzyń, do końca nie wiem, w której lokalizacji. Poszukiwania rozpocznę w okolicach Wielkanocy.
Poza TTL-ami na PCB był jakiś procesor (chyba 8085) plus UART (8250 lub 8251). No ale to mało istotne detale już.

Atlantis

  • ****
  • Wiadomości: 319
  • Miejsce pobytu:
    Kraków
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #49 dnia: 2025.04.12, 15:46:53 »
Trudno mówić o zachowaniu ducha epoki w przypadku zamiaru budowy karty graficznej dla komputera pracującego pod systemem operacyjnym CP/M. Ten system, w trakcie lat swojej świetności, nie przewidywał obsługi jakiejkolwiek karty graficznej, a tylko terminal szeregowy w wersji całkowicie podstawowej (7-bit).

Tutaj się nie zgodzę. CP/M (wraz z pokrewnymi systemami, jak MP/M) miał na tyle długie życie, by zaliczyć drogę od wczesnych hobbystycznych komputerów (które były wzorowane na minikomputerach z podpiętym dalekopisem lub terminalem szeregowym) do maszyn niewiele różniących się od wczesnych pecetów. Istniało sporo komputerów budowanych pod CP/M, które posiadały własną klawiaturę i sterownik monitora CRT. Chociażby nasz rodzimy MK45. I właśnie na takich komputerach się wzoruję. Nie znaczy to oczywiście, że nie buduję projektów pod terminal szeregowy. Może gdybym miał w kolekcji jakiś terminal VT100 z epoki to fajniej by się z tego korzystało. Ale emulator terminala na współczesnym pececie zawsze sprawia wrażanie półśrodka.


Cytuj
czas w którym nie istniały żadne krzemowe odpowiedniki układów graficznych, bo te pojawiły się dopiero w latach 80.

I wtedy CP/M jeszcze jak najbardziej był żywy. Układ 8275 pasuje do systemu na 8080, pracującego pod kontrolą CP/M.

Cytuj
Z drugiej strony takie purytańskie podejście powinno przekreślić możliwość użycia jakiejkolwiek karty pamięci, gdyż zawierają w swojej obudowie bardziej wydajny komputer niż system na 8080 lub Z80.

Właśnie dlatego preferuję korzystanie z kart CF. To ciągle "współczesne" rozwiązanie, ale zdecydowanie zmniejsza dystans czasowy pomiędzy użytymi elementami. No i układ sterujący pracą takiej karty nie będzie aż tak potężny, bo zapewne siedzi tam jakiś 8051, z grubsza pasujący do realiów lat osiemdziesiątych. Do tego sam interfejs karty jest mocno zakorzeniony w świecie retro.
Tak samo nie przeszkadza mi użycie 8242 w roli sterownika klawiatury PS/2. Ale już odtwarzanie tego samego na jakimś AVR czy Raspberry Pi Pico powoduje u mnie pewien dyskomfort. :) Sam fakt, że dorzucamy dodatkowy procesor nie jest aż tak wielkim problemem - w końcu stacje dysków i dyski twarde z epoki też miały swoje własne CPU.

Cytuj
Zwykły konwerter serial-usb, to użycie 32 bitowego ARM lub RISC-V w najnowszych układach, współczesna klawiatura mechaniczna, to często Cortex-M4 i na koniec monitor LCD ze jego komputerowym sterowaniem. Nie uciekniemy od rozwiązań współczesnych.

Te elementy widzę już jako narzędzia warsztatowe, a nie części budowanego systemu. ;)

Cytuj
Niestety CP/M i jego pochodne, pod względem "grafiki", nie są tak oczywiste w założeniach jak komputery Spectrum,Commodore,Atari lub standard MSX, który tą funkcjonalność w miarę określał.

I prawdę mówiąc trochę na tym właśnie polega ich urok. Pod względem filozofii obsługi bliżej im do profesjonalnych minikomputerów.

Poza tym wydaje mi się, że każdy amatorski projekt komputera retro niebędący dokładna repliką zahacza trochę o teren historii alternatywnej. ;)
Budując swoje projekty nie mam zamiaru tworzyć dokładnej kopii Altaira 8800 czy Apple 1. Bardziej buduję konstrukcje, jakie mógłby stworzyć amator w latach osiemdziesiątych i dziewięćdziesiątych, gdyby tylko miał dostęp do części i narzędzi. Wtedy to było głównym ograniczeniem (więc wyzwaniem okazywało się zbudowanie CA80). Dzisiaj części mozna kupić naprawde tanio (z pewnymi wyjątkami), a warsztatem juz dysponuję. :)
« Ostatnia zmiana: 2025.04.12, 16:21:21 wysłana przez Atlantis »

McArti0

  • ****
  • Wiadomości: 264
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #50 dnia: 2025.04.12, 16:51:33 »
Właśnie wymyślam prostą kartę tekstową z dwóch hd6345/6445.  Wyjścia były by połaczone bo są trójstanowe. Jeden 6345 byłby od obrazu i taktowany a drugi od licznika zapisu nie taktowany. Zapis bylby możliwy tylko poza ekranem o czym świadczy sygnal DISP. Zapis taktowałby też drugi 6345.


paroos

  • *****
  • Wiadomości: 694
  • Miejsce pobytu:
    BB
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #51 dnia: 2025.04.12, 18:04:04 »
@McArti0 Do RC2014, czy narazie tylko zarys bez dopasowania do konkretnego systemu?
Z80 --> 48K, 48K+, 128K+2/+3, CPC 464/6128, C128D, Canon V-20, Panasonic FS-A1F, Sega SC-1000, Enterprise 64, NEC PC-6601/PC-8001/PC-8801mkII SR, Sharp MZ-700/MZ-2521, Sharp-X1C, Toshiba Pasopia 7, Sord M5 :)

McArti0

  • ****
  • Wiadomości: 264
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #52 dnia: 2025.04.12, 19:17:58 »
niewiem nie znam sie na systemach istniejących. Write only text card. bez wymiany czcionek żeby mniej układów było

damik

  • Fresh rosin sniffer ;)
  • Moderator
  • *****
  • Wiadomości: 2674
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #53 dnia: 2025.04.14, 11:20:00 »
Potem wydzielę z tego nowy wątek.  :)

EDIT:
Off-topy wydzielono do wątku "Historia CP/M, jego odmiany oraz wersje".
https://www.speccy.pl/forum/index.php?topic=7908.0
« Ostatnia zmiana: 2025.04.14, 12:48:00 wysłana przez damik »
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

ZorrO

  • ****
  • Wiadomości: 293
  • Miejsce pobytu:
    UK
  • CPC AGA PSX
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #54 dnia: 2025.04.14, 12:04:15 »



damik

  • Fresh rosin sniffer ;)
  • Moderator
  • *****
  • Wiadomości: 2674
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #55 dnia: 2025.04.14, 12:21:07 »
Ciekaw jestem ile tak na prawdę programów CP/M potrafi korzystać z GSX i jak z ich dostępnością.
Z tego co mi wiadomo to chyba niewiele, ale może mam niepełne informacje. 😊
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

tapy

  • ****
  • Wiadomości: 295
  • Z80 & CP/M
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #56 dnia: 2025.04.14, 12:28:07 »
GSX to taki jednorożec, choć ten to akurat istniał, za to oprogramowanie wykorzystujące go było tym mitycznym zwierzęciem.  Ale ma dobrą dokumentację :)

damik

  • Fresh rosin sniffer ;)
  • Moderator
  • *****
  • Wiadomości: 2674
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #57 dnia: 2025.04.14, 13:05:55 »
Wiem tylko że Amstrad coś tam kombinował z GSX, ale niestety nie kojarzę konkretnych szczegółów.
Chyba coś tam mieli co z tego korzystało ale mam o tym mgliste pojęcie.
Było chyba jakieś demo i może coś jeszcze.

Cytuj
Digital Research's application offerings were also available for a number of 8-bit CP/M-80 systems.

Other Digital Research applications, or products sold through Digital Research include:
CBASIC
Personal PEARL
Move-It
Select
GraphPlan (WW has a NEC APC version)
MicroPlan
Target Financial Modeling
Znalazłem tylko takie informacje


Współczesnie powstała też jakaś gra na PCW korzystająca z GSX.
https://forums.atariage.com/topic/244781-k%C3%A4sek%C3%A4stchen-a-new-gsx-based-game-for-pcw-cpc-and-other-cpm-machines/
« Ostatnia zmiana: 2025.04.14, 15:01:05 wysłana przez damik »
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

McArti0

  • ****
  • Wiadomości: 264
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #58 dnia: Wczoraj o 23:39:13 »
Właśnie wymyślam prostą kartę tekstową z dwóch hd6345/6445.  Wyjścia były by połaczone bo są trójstanowe. Jeden 6345 byłby od obrazu i taktowany a drugi od licznika zapisu nie taktowany. Zapis bylby możliwy tylko poza ekranem o czym świadczy sygnal DISP. Zapis taktowałby też drugi 6345.

Taka idea karty na dwóch CRTC-II 6345/6445 przyszła mi do głowy... wyszło 9 układów

Kluczem do zrozumienia działania tego czegoś jest oprogramowanie U2 na jednobajtową Ramkę (R0=0, R1>>1, R2>>1, R4=0, R5=0, R6>>1, R7>>1, R9=0, R32 (bit (TC=1))
ustawiając np R0 na długość stringa dostajemy od U2 autoinkrementację adresu znaku po każdym zapisie znaku do portu U7 (LS574)

Karta generuje sygnał WAIT dla Z80 gdy jest rysowana linia obrazu.

ZorrO

  • ****
  • Wiadomości: 293
  • Miejsce pobytu:
    UK
  • CPC AGA PSX
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #59 dnia: Dzisiaj o 01:23:21 »
Tryby graficzne do których istnieją procedury graficzne pod CPM tzw GSXy, czyli jakbyśmy dziś powiedzieli sterownik graficzny, to był taki DirectX tamtych czasów.

https://en.wikipedia.org/wiki/GEM_(desktop_environment)#Known_8-bit_device_drivers