8bit Projects For Everyone


Czy jest   dla  

ENIAC'owe Spectrum

Przeróbka opisana w Informiku III/1987, w artykule "Jak z ZX SPECTRUM zrobić komputer. Zmieniamy architekturę komputera." Wojciecha Apela.

Przeróbka jest bardzo interesująca. Szczególnie dlatego, że powstała w 1985 roku, czyli w tym samym czasie co ZX Spectrum 128K.

Został dodany zatrzask jako port pod adresem 62 (#3E - ULA jest wyłączana dla A7=0 i A6=0). Wyjścia tego zatrzasku zostały nazwane S0, S1, S2, S3, S4 (w tabelach pokazane również jako wartości binarne w zakresie %00000..%11111). Są również dwa dodatkowe przełączniki do wybierania konfiguracji. Pierwszy z nich nazwany został TRYB i wybiera pomiędzy trybami pracy ZX a CP/M. Drugi - BANK wybiera sprzętowo jeden z 2 banków 32kB RAM. W rezultacie możlwie jest kilka możliwych konfiguracji...

Mapa pamięci po przeróbce

Tabela 1. Przełącznik TRYB ustawiony na ZX.
SekcjaBank pamięci
D
(#C000..#FFFF)
URAM3
S4=1 & BANK=1
URAM1
S4=0 | BANK=0
C
(#8000..#BFFF)
URAM2
S4=1 & BANK=1
URAM0
S4=0 | BANK=0
B
(#4000..#7FFF)
VRAM
A
(#0000..#3FFF)
EPROM
S0=0
ROM
S0=1

Tabela 2. Przełącznik TRYB ustawiony na CP/M.
SekcjaBank pamięci
D
(#C000..#FFFF)

URAM3
 
C
(#8000..#BFFF)

URAM2
 
B
(#4000..#7FFF)
VRAM
S2=0
%xx0xx
URAM1
S2=1
%xx1xx
A
(#0000..#3FFF)
EPROM
S0=0
%xxxx0
ROM
S0=1 & S1=0
%xxx01
URAM0
S0=1 & S1=1 & S3=0
%x0x11
URAM0*
S0=1 & S1=1 & S3=1
%x1x11

URAM0, URAM1, URAM2, URAM3 - 4 × 16kB "górne" banki RAM
VRAM - 16kB "dolny" RAM z ekranem
ROM - oryginalny ROM
EPROM - 4kB albo 8kB EPROM startowy
URAM0* - z zabezpieczeniem zapisu

Podobna przeróbka

Zobacz alternatywne ROMy w linkach poniżej, a tam 80-LEC.ROM. Obsługuje on bank 32kB w dolnej połowie pamięci, przełączany przez bit 0 portu #FD. Dane mogą być skopiowane instrukcją MOVE z nieco pogmatwaną składnią.

Stracony pomysł

Jest to niesamowite, jak prosto było przerobić ZX Spectrum 48K na 64kB RAM w całej przestrzeni adresowej! (Co oznacza ROM oraz pamięć ekranu w oddzielnym banku.) Wystarczyło zastąpić 32kB RAM układami 64kB i podłączyć A15 do wejścia multipleksera (zamiast zworki). Nimniej linia A15 musiałaby być rozdzielona rezystorem 680om - wejście A15 ULA oraz logika górnej pamięci musiały by być za rezystorem.

Następnie dodajemy 74LS74, z którego potrzebny jest jeden zatrzask. Wejście /R powinno być podłączone do linii /RESET, wejście D do jednej z linii D5..D7, a /CLK do /WR sumowanego z /IORQGE (bramką OR z rezystora i diody). Tak więc zatrzask (rejest jednobitowy) rozszerzał by port 254 używany przez ULA. Jeśli zapisane zostaje 0, używana jest normalna architektura 16kB ROM + 48kB RAM. Ale gdy do zatrzasku zostanie zapisane jest 1, jego niezanegowane wyjście wymusza (diodą) stan wysoki na tej części linii A15, która oddzielona jest rezystorem. Nie ma więc dostępu do ROM ani pamięci ekranu, a dekoder "górnej" pamięci włącza RAM dla calej przestrzeni 64kB.

Potrzebne części: osiem układów 4164, jeden 74LS74, dwa rezystory 680ohm, dwie diody 1N4148 i nieco drutu. Być może wyłącznik blokujący nową właściwość dla większej zgodności z niektórymi dziwnie napisanymi programami, które wykonują IN A,(#FE): OUT (#FE),A...


Powiedz innym:

Linki do innych stron



Zobacz również

Alternative ROMs for ZX Spectrum
Zmodyfikowane zawartości ROM ZX Spectrum.
4MB RAM upgrade : ZX Spectrum
Rozszerzenie pamięci dla ZX Spectrum - 4MB RAM (DRAM).

E-mail:

Hasło:



Przypomnieć hasło?

Rejestracja?
CPC
4MB RAM
Flash ROM
To 128
Sam Coupé
SAM512
Portfix
YABUS.Z80RTC
Z80JOY
MSX
Mapper 4MB
MSX-2 SVI738
Spectrum
FlashD0
8251
AY
Eniac'owe
Dock
Gama 192
Keyboard
ROM replacer
SamRam
TC2144
To 128K
To +3
Wonder RAM
Z80JOY
ZX 4MB
ZXMUX
Timex
Memory
Timex FDD
YABUS.TF
YABUS.TF3
TI-of-TTL
ZX81
Memory

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

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