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

Atlantis

  • ****
  • Wiadomości: 319
  • Miejsce pobytu:
    Kraków
Karty graficzne do komputerów pod CP/M
« dnia: 2025.04.08, 14:20:18 »
Szukam układów graficznych, które pozwalałyby na podpięcie samodzielnie skonstruowanego komputera, pracującego pod CP/M (a więc na 8080/8085/Z80) do telewizora/monitora. W swoich dotychczasowych projektach używałem głównie TMS9918. Główną zaletą układu jest to, że posiada on własny VRAM na własnej przestrzeni adresowej, nie zużywa więc pamięci systemowej. Do tego implementacja jest stosunkowo prosta (zwłaszcza jeśli użyjemy pamięci SRAM). Niestety, chip nie obsługuje pracy w trybie 80 kolumn, co jest dość uciążliwe w przypadku CP/M.
W swoich bardziej "historycznych" projektach (np. komputer na MCY7880) użyję zapewne układu 8275, gdyż jest on najbardziej zgodny z realiami epoki.
Jednocześnie jednak rozglądam się za jakimiś układami, które mógłbym użyć w swoich pozostałych projektach. W tym wypadku priorytet mają dla mnie następujące kwestie:
  • Prostota implementacji. Dobrze by było, gdyby układ pracował podobnie do TMS9918, czyli był dostępny dla systemu pod postacią kilku portów w przestrzeni I/O i posiadał swój własny VRAM, w osobnej przestrzeni adresowej. Żadnego współdzielenie pamięci i magistrali, żadnej zależności od DMA.
  • Obsługa trybu 80 kolumn.
  • Wystarczy tryb tekstowy. Z trybów graficznych i tak pewnie nie skorzystam.

Pierwszeństwo mają oryginalne rozwiązania z epoki, chociaż jestem w stanie też przyjrzeć się jakimś bardziej współczesnym rozwiązaniom, opartym o CPLD/FPGA. Nie interesują mnie natomiast moduły, gdzie karta graficzna jest emulowana software'owo na współczesnych mikrokontrolerze.

W tej chwili szukam ogólnych informacji o częściach, które mógłbym zastosować w swoich projektach płytek. Jednak nie wzgardzę też informacjami na temat istniejących modułów RC2014/RCBus, bo pewnie w końcu wrócę też do uruchamiania takich komputerków.

Istnieją może jakieś rozwiązania, które pozwalałyby na użycie komputerowego monitora z wejściem VGA w swoim projekcie?

ArturM

  • ***
  • Wiadomości: 228
  • Miejsce pobytu:
    GZM
ZX 48 | HQ 48 SMD | Sizif-512 | FDD3000 | SFDD3500 | M-397 Multiinterface | DivMMC AY - KiCad user | PCB Designer

paroos

  • *****
  • Wiadomości: 695
  • Miejsce pobytu:
    BB
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #2 dnia: 2025.04.08, 15:09:55 »
Może też by MOS8568, ma 4 razy więcej VRAM.

Znacznie łatwiej (i taniej) dostępne powinny być poniższe. Niestety nie zawierają już chyba VRAM.
- Thomson EF9345
- MOS 6845 - podobnie jak TMS9918 używany w komputerach MSX
- MOS 6545

Ostatni jest najstarszy i chyba najmniej przydatny.
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 :)

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ź #3 dnia: 2025.04.08, 15:46:31 »
Było jeszcze coś na NEC D7220AD, stosowanie w polskich komputerach Dialog jakie działały pod CP/M i miały też dodatkowe funkcje graficzne.
Impol-1 chyba też miał grafikę na tym zrobioną.
« Ostatnia zmiana: 2025.04.08, 15:59:54 wysłana przez damik »
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ź #4 dnia: 2025.04.08, 18:04:21 »
Podobno VGA potrafi obsłużyć SCN2681, gdzieś na YT widziałem film z procesu budowy takiej karty graficznej.

ZorrO

  • ****
  • Wiadomości: 293
  • Miejsce pobytu:
    UK
  • CPC AGA PSX
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #5 dnia: 2025.04.08, 19:58:03 »
MOS 6845 to przecież CRTC taki jak do Amstrada CPC, i nie sądzę aby zdarzał sie w MSX.

Prawdę mówiąc z VGA to wyleciał kolega jak filip z konopi. Takie monitory to nie do 8bit, a RAMy do układów które obsługiwały VGA potrzebowały więcej pamięci niż 8bitówki miały podstawowej.

Choć może jedynie V9990 zaprojektowany do MSX3, który jest wstecznie kompatybilny z grafą do MSX2 ale ma też lepsze tryby do VGA, jednak nie w tym samym czasie.

Może łatwiej będzie znaleźć V9938 taki jak do SVI 738, ma tryb 80x24, ale nie ma VGA.

steev

  • *****
  • Wiadomości: 1409
  • Miejsce pobytu:
    inode 42
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #6 dnia: 2025.04.08, 21:04:22 »
Szukam układów graficznych, które pozwalałyby na podpięcie samodzielnie skonstruowanego komputera, pracującego pod CP/M (a więc na 8080/8085/Z80) do telewizora/monitora.
Ale skoro CP/M, to nie powinieneś szukać dowolnego ustrojstwa które z jednej strony ma port szeregowy a z drugiej gniazdo monitora/TV i przerabia go (znaczy monitor lub TV) na szeregowy terminal VT-ileśtam?
Machines should work. People should think.

dely

  • ***
  • Wiadomości: 178
  • Miejsce pobytu:
    Radom
  • Trzcinowy Zakapior
    • atari.area
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #7 dnia: 2025.04.08, 21:32:06 »
Może zainteresuj się jak jest robiona grafika pod CP/M np. w Amstradzie CPC, względnie Juniorze. Do nich są dostępne biblioteki graficzne w Turbo Pascalu - tzw. GSX.
Z drugiej strony barykady ~ http://www.atari.org.pl/

paroos

  • *****
  • Wiadomości: 695
  • Miejsce pobytu:
    BB
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #8 dnia: 2025.04.08, 21:32:42 »
@Zorr0   Na 6845 były oparte karty rozszerzeń dodające tryb 80 kolumn do MSX (Microsol VMX-80), do Apple ][ oraz do C64.
Jeden zapaleniec stworzył nawet ostatnio taka kartę do C64 opartą na 6x45:
https://www.lemon64.com/forum/viewtopic.php?p=999863&sid=3dfeade297ce54d254e86d9c4c8ee56f#p999863

Na płycie głównej posiadał go też np. Commodore CBM II w wersji B, który obsługiwał 80 kolumn.

Gdzieś mi jeszcze mignęło, że SAA5050 oferuje 80 kolumn.
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 :)

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ź #9 dnia: 2025.04.08, 23:12:33 »
SAA 5050 to układ zaprojektowany dla potrzeb Teletext'u i w zasadzie tylko 40x25 w trybie znakowym + semigrafika podobna jak w Meritum 1 czyli pole znakowe w podziale 2x3 tyle że w kolorze.
Był on stosowany też do wyświetlania znaków w niektórych wersjach komputerów BBC-micro jako dodatkowy tryb graficzny.

Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

paroos

  • *****
  • Wiadomości: 695
  • Miejsce pobytu:
    BB
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #10 dnia: 2025.04.08, 23:22:59 »
Nie przeczę :)
Ale tu mi mignęło, że ktoś wycisnął 80x25:

https://stardot.org.uk/forums/viewtopic.php?t=13177
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 :)

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ź #11 dnia: 2025.04.08, 23:57:16 »
Wszystko fajnie, chłopaki podkręcili timing, ale ten SAA 5050 to nie jest autonomiczny układ generowania obrazu tylko taki sprytniejszy generator znaków i do pracy potrzebuje jeszcze jakiegoś układu licznikowego np 6845 oraz pamięci RAM i jakiejś dodatkowej logiki.

Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

paroos

  • *****
  • Wiadomości: 695
  • Miejsce pobytu:
    BB
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #12 dnia: 2025.04.09, 00:35:36 »
I wszystko jasne.
Dzięki za sprostowanie :)
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 :)

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ź #13 dnia: 2025.04.09, 07:21:06 »
Nasi sąsiedzi z byłego NRD produkowali też klon układu NEC 7220 pod sygnaturą U82720.
Inny odpowiednik to Intel 82720 produkowany na licencji od NEC.

Link do dokumentacji:
https://archive.org/details/bitsavers_inteldataBDCApplicationsManualJul83_7171949/mode/2up

A tutaj przykładowe zastosowanie:
https://hackaday.io/project/164728-upd7220-retro-graphics-card-and-vga-hack

« Ostatnia zmiana: 2025.04.09, 09:37:37 wysłana przez damik »
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

Atlantis

  • ****
  • Wiadomości: 319
  • Miejsce pobytu:
    Kraków
Odp: Karty graficzne do komputerów pod CP/M
« Odpowiedź #14 dnia: 2025.04.09, 08:41:47 »
@Zorr0   Na 6845 były oparte karty rozszerzeń dodające tryb 80 kolumn do MSX (Microsol VMX-80), do Apple ][ oraz do C64.

Może się mylę, ale MC6845 nie jest chyba pełnoprawnym sterownikiem graficznym? Wydawało mi się, że to jedynie układ wspierający generowanie linii na CRT, z zachowaniem odpowiednich przebiegów czasowych i przy wykorzystaniu danych z generatora znaków, jednak procesor ciągle musi być aktywnie zaangażowany w proces tworzenia obrazu. Mi zależy na zupełnie autonomicznym rozwiązaniu, żeby jedynym zadaniem procesora było wysyłanie danych (kolejnych znaków) i instrukcji (np. goto_xy) przez port w przestrzeni I/O.