8bit Projects For Everyone


Czy jest   dla  

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

SekcjaBank pamięci
D
(#C000..#FFFF)
RAM0RAM1RAM2RAM3RAM4RAM5RAM6RAM7
C
(#8000..#BFFF)
RAM2
B
(#4000..#7FFF)
RAM5
A
(#0000..#3FFF)
ROM0ROM1

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.


Powiedz innym:

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.

E-mail:

Hasło:



Przypomnieć hasło?

Rejestracja?
Commodore
Amiga
MSX
SVI 738
Spectrum
16kB/48kB
128kB
+3
Byte
Elwro Junior
Orizon-Micro
Sam Coupé
SE
TC 2048
TC 2068
TC 3256
TS 2068
UK 2086
Timex
FDD 3
FDD 3000
68008
QL
8080
Elwro 500
MK 45
Z80
Amstrad CPC
Bosman 8
Jet 80
MDG-1
ZX Spectrum
ZX81

Jeśli widzisz błąd na tej stronie, opisz tutaj:

© 2009-12-28 21:50 Jarek Adamski, http://8bit.yarek.pl