Autor Wątek: "Jak z ZX Spectrum zrobić komputer?"  (Przeczytany 8078 razy)

kippouser

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Gdynia
  • question everything, believe nothing, stay curious
"Jak z ZX Spectrum zrobić komputer?"
« dnia: 2020.09.19, 19:52:30 »
Wiele, wiele lat temu w jakimś czasopiśmie komputerowym znalazłem ten oto artykuł "Jak z ZX Spectrum zrobić komputer?".
http://wojtek.pp.org.pl/pliki/notki/2009-11-03_Eniac-ZX-Spectrum/jak-z-zx-spectrum-skan.pdf .
Był bardzo pouczający ze strony hardwer'owej jak na tamte czasy.
Ostatnio szukając układów do poskładania klona "superfo harlequin 48" natknąłem się na układ ZILOG'a Z8018233ASC.
https://www.tvsat.com.pl/pdf/Z/z8018233asc.pdf
Jest to układ oparty na rdzeniu Z180, kompatybilny z Z80 na poziomie listy rozkazów, ale rozszerzony o MMU co daje dostęp do 1MB fizycznej przestrzeni adresowej w blokach po 64KB. Do tego dwa układy DMA mające dostęp do całego 1MB pamięci fizycznej. I co ważne maksymalny zegar to 33MHz!! A cena to tylko 13.20PLN.
Posiada też bloki typu UART i inne, ale nie o tym będę teraz pisać.

I tu urodził się taki oto pomysł.
0. Zrobić układ w którym ZX Spectrum będzie tylko wycinkiem systemu.
1. Korzystając z informacji zawartych w/w artykule, potraktować "superfo harlequin 48" jako "kartę graficzno-tekstową". Bez CPU, ROM i górnej połówki RAM. Załączaną do nowej przestrzeni adresowej jedynie przez kombinacje linii adresowych A14=1,A15=0, co można wytworzyć sztucznie.
2. W przestrzeni adresowej Z182 wydzielić przestrzeń dla karty "video", ROM i RAM ZX Spectrum w jednym bloku 64KB, korzystając z dobrodziejstwa MMU.
3. Reszta przestrzeni adresowej to już dowolnie. BIOS, ect. Co dusza zapragnie :)

Co nam to da??

1. Mamy szybkie ZX Spectrum !!
2. Mamy 1MB przestrzeni adresowej
3. Mamy INT0(INT znane z Z80), INT1,INT2, więc więcej przerwań do wykorzystania.
4. Powiązanie przerwań i MMU daje teoretycznie możliwość nadpisywania procedur z ROM( przy użyciu CPLD)
5. i .....

To tylko pomysł. Proszę o Wasze przemyślenia na ten temat.
Może jakieś pomysły??!!

« Ostatnia zmiana: 2020.09.19, 20:01:29 wysłana przez kippouser »

kippouser

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Gdynia
  • question everything, believe nothing, stay curious
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #1 dnia: 2020.09.19, 19:59:12 »
I jeszcze jedno, mając 16x64KB przestrzeni mamy namiastkę wielozadaniowości!!

steev

  • *****
  • Wiadomości: 1363
  • Miejsce pobytu:
    inode 42
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #2 dnia: 2020.09.19, 22:11:57 »
Na 'dzieńdobry' stracisz chyba wszystkie 'nieoficjalne' instrukcje starego z80..
Machines should work. People should think.

tooloud

  • *****
  • Wiadomości: 3187
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #3 dnia: 2020.09.20, 02:21:47 »
to w sumie jak kolejne wersje kalkulatora graficznego TI.
dużo sprzętu mało czasu.

damik

  • Fresh rosin sniffer ;)
  • *****
  • Wiadomości: 2429
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #4 dnia: 2020.09.20, 10:48:54 »
Pomysł jest jak najbardziej ciekawy, sam kiedyś myślałem o czymś podobnym.
Jednak taki komputer jest tak dobry jak jego oprogramowanie potrafiące wykorzystać ten potencjał hardware.
Więc, aby to miało sens to musiało by powstać i rozwijać się odpowiednie oprogramowanie do tego systemu, a to jest mało prawdopodobne by poza autorem i może lecz też nie na pewno kilkoma kolegami z forum ktoś na to cokolwiek napisał.
Na taką przypadłość choruje niestety wiele ciekawych projektów sprzętowych.

Kuszaca byłaby też implementacja CP/M pod taki system, jednak tutaj pewnym ograniczeniem byłaby rozdzielczość grafiki by uzyskać 80 znaków w linii, pewnym rozwiązaniem mogło by być dodanie np. trybu Timex'owego hires lub innego w pełni potrafiącego zaprezentować 80 znaków.
« Ostatnia zmiana: 2020.09.20, 11:00:58 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: 6840
  • Miejsce pobytu:
    Warszawa
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #5 dnia: 2020.09.20, 11:21:47 »
Pomysł jest jak najbardziej ciekawy, sam kiedyś myślałem o czymś podobnym.

Great minds...;) https://www.speccy.pl/forum/index.php?topic=1683.msg83848#msg83848

Cytuj
Jednak taki komputer jest tak dobry jak jego oprogramowanie potrafiące wykorzystać ten potencjał hardware.

Na Z180 powstało kilka fajnych systemów, łącznie z jakąś mutacją uzixa.

Cytuj
Kuszaca byłaby też implementacja CP/M pod taki system,

Ależ CP/M jak najbardziej istnieje, i to dla trybu Z80, jak i - o ile dobrze pamiętam - dla trybu Z180 (wersja 3.0/3.1 używająca MMU).

Cytuj
jednak tutaj pewnym ograniczeniem byłaby rozdzielczość grafiki by uzyskać 80 znaków w linii, pewnym rozwiązaniem mogło by być dodanie np. trybu Timex'owego hires lub innego w pełni potrafiącego zaprezentować 80 znaków.

Z tym to akurat najmniejszy problem. Przecież istnieje program terminala CP/M dla TC2048. Standardowo jest on 64-kolumnowy, ale istnieje też ROM od TT3000, który oferuje 80 kolumn (w rzeczywistości 85, ale 5 kolumn odpada na marginesy).
Oprócz tego są inne możliwości. Mając zegar rzędu 33 MHz, wyświetlanie obrazu można zrobić na przerwaniach, jak w ZX81, z absolutnym minimum dodatkowej logiki. Kiedyś to liczyłem i realnie można osiągnąć XGA (1024x768) w trybie mono, 8 pikseli/bajt. Ale do tekstowego terminala CP/M prościej jest użyć gotowca na jakimś jednoukładowcu, prawdę mówiąc.

kippouser

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Gdynia
  • question everything, believe nothing, stay curious
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #6 dnia: 2020.09.20, 12:08:30 »
Powstała pierwsza mapa pamięci fizycznej.


Kuszaca byłaby też implementacja CP/M pod taki system, jednak tutaj pewnym ograniczeniem byłaby rozdzielczość grafiki by uzyskać 80 znaków w linii, pewnym rozwiązaniem mogło by być dodanie np. trybu Timex'owego hires lub innego w pełni potrafiącego zaprezentować 80 znaków.

Całego fizycznego RAM'u jest 2256KB i z użyciem MMU można mieć CP/M bez problemu. Jest VGA, więc na drugim monitorze masz dowolny tryb tekstowy.

Na 'dzieńdobry' stracisz chyba wszystkie 'nieoficjalne' instrukcje starego z80..

To prawda, ale w Z182 istnieje przerwanie TRAP i co daje możliwość ich emulacji.



kippouser

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Gdynia
  • question everything, believe nothing, stay curious
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #7 dnia: 2020.09.20, 14:31:43 »
Pierwsza mapa I/O.

Będzie się oczywiście zmieniać, w miarę rozwoju projektu.
Ne uwzględnia jeszcze mapowania VGA, ale to później.


Dodatkowe urządzenia podłączone przez SPI to :
1. SD CARD
2. ETH - ENC28J60
3. Dwa USB HOST - MAX3421E

« Ostatnia zmiana: 2020.09.20, 14:40:29 wysłana przez kippouser »

trojacek

  • *****
  • Wiadomości: 6840
  • Miejsce pobytu:
    Warszawa
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #8 dnia: 2020.09.20, 14:43:31 »
A jaki przewidujesz format PCB i gniazdo rozszerzeń?

kippouser

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Gdynia
  • question everything, believe nothing, stay curious
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #9 dnia: 2020.09.20, 15:09:58 »
Tego jeszcze nie rozważałem.
Postaram się zawrzeć w projekcie większość ze znanych rozszerzeń komunikacyjnych.
Prawdopodobnie będzie rozszerzone złącze krawędziowe. Dłuższe, ale kompatybilne.

Tak naprawdę ten projekt jest w bardzo wczesnym stadium, zrodził się wczoraj(19.09.2020)

damik

  • Fresh rosin sniffer ;)
  • *****
  • Wiadomości: 2429
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #10 dnia: 2020.09.20, 15:10:09 »

Cytuj
Jednak taki komputer jest tak dobry jak jego oprogramowanie potrafiące wykorzystać ten potencjał hardware.

Na Z180 powstało kilka fajnych systemów, łącznie z jakąś mutacją uzixa.


Miałem tutaj na myśli jakieś nowe programy oraz gry a nie stare systemy operacyjne.
Gry pod typowy CP/M wyglądają jak wystrugane z drewna  ;) a aplikacji pod GSX to zbyt wiele nie widziałem poza jakimś demo.
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

tooloud

  • *****
  • Wiadomości: 3187
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #11 dnia: 2020.09.20, 18:45:40 »
to może być fantastyczny komputer na papierze... problem niezmienny czyli do czego go można użyć i jaki jest margines akceptacji braku nowego softu.
dużo sprzętu mało czasu.

kippouser

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Gdynia
  • question everything, believe nothing, stay curious
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #12 dnia: 2020.09.20, 19:16:26 »
Jeśli powstanie, a taki mam zamiar, mogę użyć tego samego co twórcy ARDUINO. Stworzyć prosty w użyciu 'interface' dla użytkownika, aby mógł tworzyć sam. A najlepsza była by wtyczka do ARDUINO IDE.
Do czego go użyć? To kwestia otwarta.
Na pewno nie do codziennej pracy.
Na pewno nie będzie zastępstwem dla AVR, ARM itp.
Ale może dać platformę dla tych co jeszcze chcą i potrafią pisać na Z80 i potrafią użyć wyobraźni by stworzyć coś wartościowego z ubogiego sprzętu.



kippouser

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Gdynia
  • question everything, believe nothing, stay curious
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #13 dnia: 2020.09.20, 19:33:38 »
Raport z dziennych postępów w projekcie:

Mapa wstępna adresów pamięci fizycznej: jest
Mapa wstępna adresów IO :jest
Zamówione układy : CPU-Z8018233asc, XC95144XL x2: jest
Biblioteka projektu dla KiCad:  Z8018233asc - jest, XC95144XL - jest(był tam)
Wstępny schemat układu : Z8018233asc - jest

To i tak dużo jak na jeden dzień! :)

kippouser

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Gdynia
  • question everything, believe nothing, stay curious
Odp: "Jak z ZX Spectrum zrobić komputer?"
« Odpowiedź #14 dnia: 2020.09.20, 19:45:49 »
Chciałbym podziękować za głosy krytyczne i sceptyczne.
Są bardzo wartościowe. Pozwalają stworzyć rozwiązania, by ten projekt nie był tylko "one piece project" jakich pełno.

Krytykujcie, bądźcie sceptyczni. To bardzo pomaga!! Otwiera oczy. Dzięki :)
« Ostatnia zmiana: 2020.09.20, 19:52:17 wysłana przez kippouser »