ZX Spectrum + 128K
W porównaniu do modelu 48kB, używa 3 dodatkowych portów:
- #7FFD (32765) - dekodowany jako A15=0, A1=0 i /IORQ=0. Bity 0..5 są zatrzaskiwane. Bity 0..2 wybierają bank RAM w sekcji D. Bit 3 wybiera bank RAM do wyświetlania ekranu (0 - RAM5, 1 - RAM7). Bit 4 wybiera bank ROM (0 - ROM0, 1 - ROM1). Bit 5, jeśli zostanie ustawiony, blokuje kolejne zapisy do portu #7FFD aż do zresetowania. Odczytanie portu #7FFD daje ten sam efekt, co zapisanie do niego wartości #FF.
- #BFFD (49149) - zapis bajtu danych do układu AY-3-8912.
- #FFFD (65533) - wybranie adresu AY-3-8912 (D4..D7 ignorowane) oraz odczyt bajtu danych.
Mapa pamięci
Sekcja | Bank pamięci |
D (#C000..#FFFF) | RAM0 | RAM1 | RAM2 | RAM3 | RAM4 | RAM5 | RAM6 | RAM7 |
C (#8000..#BFFF) | RAM2 |
B (#4000..#7FFF) | RAM5 |
A (#0000..#3FFF) | ROM0 | ROM1 |
RAM2 oraz RAM5 również mogą być włączone w sekcję D, ale jest to bezużyteczne. Niektóre programy testują tę właściwość, co nie jest zalecane, ponieważ niektóre przeróbki nie zostaną prawidłowo rozpoznane.
Ekran może być wyświetlony z RAM5 (domyślnie) albo RAM7. Jest to niezależne od pozostałych ustwień.
RAM1, RAM3, RAM5, RAM7 są spowalniane przez ULA. (W +2A/+2B/+3 spowalniane są RAM4, RAM5, RAM6, RAM7.)
Uwagi techniczne
Wybierając bank pamięci używaj pełnego adresu portu #7FFD, a przynajmniej następującej struktury: LD A,code OUT (#FD),A gdzie code jest z przedziału #40..#5F. Oznacza to - zawsze utrzymuj A14 w stanie wysokim (oraz A0..A7=#FD). W innym przypadku program nie będzie działał na innych modelach.
Wersje sprzętu
Większość ZX Spectrum + 128K to VERSION 6K © 1985.
Jest też VERSION 9G z żeńskimi złączami DB9 dla RS232.
Blokowanie portów - /IORQGE
Dobrze jest dodać sygnał /IORQGE (ULADIS) na złączu krawędziowym tak, aby móc blokować przełączanie pamięci oraz AY. (To znaczy: wszystkie wewnętrzne porty powinny zostać wyłączone, jeśli na wejście /IORQGE poda się stan wysoki.)
Sygnał /IOULA nie jest podłączony do złącza krawędziowego. Aby go stworzyć, potrzebne są 2 tranzystory NPN, rezystory: 10kom oraz 470om-1kom oraz nieco drutu. Tranzystory mogą być zamontowane przy układzie ROM, z kolektorami podłączonymi do +5V na nodze C41 oraz bazami połączonymi drutem z pinem /IORQGE na złączu krawędziowym (13 od spodu). Jeden z emiterów idzie do przelotki A1 blisko HAL (IC29), a drugi przewodem do górnej nogi rezystora R27 (/IOULA). A1 musi być przedzielone mniejszym rezystorem umieszczonym pod ROM. Rezystor 10kom ściąga bazy tranzystorów do masy.
Uwonienie portu #1FFD
Dobrze jest również poprawić dekoder portu #7FFD tak, aby uwzględniał również linię A14 - co pozwala podłączać interfejsy oferujące przełączanie ROM zgodne z ZX+3 ROM (używa portu #1FFD) oraz FDC (kontroler dyskowy; używa portów #2FFD i #3FFD).
Aby uwolnić port #1FFD z dekodera, potrzebna jest dioda 1N4148 (lub dwie) oraz rezystor 470om-1kom SMD. Trzeba przeciąć ścieżkę wychodzącą z pinu 13 układu HAL (IC29) i wstawić rezystor w rozcięcie. Następnie zewnętrzny koniec rezystora podłączyć przez diodę do pinu 2 (A14) układu HAL (IC29). Druga dioda może być zamontowana nad lub pod układem IC28 (74LS04), łącząc piny 10 (zanegowany /WR) oraz 2 (sygnał strobu zatrzasku #7FFD przed negacją). Ta dioda zabazpiecza port #7FFD przed zapisaniem do niego #FF podczas operacji IN.
Dźwięk stereo
Wszystkie 3 kanały AY są złączone razem i przez wzmacniacz tranzystorowy podłączone są do kodera MC1376.
Pliki do pobrania
- zx128fix.jpg 92.3kB (2005-08-07 00:38)
- Po lewej widać zmienione złącze klawiatury. Tranzystor PNP na układzie HAL (IC29) blokuje zapis do zatrzasku dla A14=0 (co uwalnia port #1FFD). Dwa tranzystory NPN przy ROM obsługują blokowanie portów (linią /IORQGE),
- zx128f.png 165.1kB (2001-09-05 02:00)
- Schemat części cyfrowej ZX128.
- zx128a.png 86.2kB (2001-09-05 02:00)
- Schemat części analogowej ZX128.
- bright_idea.png 2.0kB (2001-09-05 02:00)
- Modyfikacja dla oryginalnego 128K, dodająca sygnał BRIGHT do wyjścia RGB.
Linki do innych stron- http://8bit.yarek.pl/forum/viewtopic.php?t=66
- [pl] Dodatkowy opis mapy pamięci oraz dyskusja na forum.
- http://www.zxbada.bbk.org/
- New ZX Spectrum clone
Zobacz również
- Sinclair ZX Spectrum 48kB
- Sinclair ZX Spectrum 16kB/48kB.
- Sinclair ZX Spectrum +2
- Opis modelu Sinclair ZX Spectrum +2, wyposażonego w magnetofon.
- AY sound chip
- AY sound generator.
| | Commodore
MSX
Spectrum
Timex
68008
8080
Z80
|