ZX81-Giant

Für den ZX81 gibt es zwar schon 'zig Speichererweiterungen, aber der ZX81-Giant ist etwas ganz neues: bis zu 144kB Speicher! Wichtig ist immer die Frage, wo und wieviel und welchen Speicher man braucht. Genau da ist der GIANT optimal: er bietet RAM, EPROM und auch EEPROM-Bereiche. Insgesamt sind es 32kB für EPROM, 8kB für EEPROM und 56kB für RAM. Darüberhinaus bleibt noch die Möglichkeit, mit der Megabytekarte das RAM auf 4 MB zu erweitern.

Der GIANT kommt als Huckepackplatine und wird direkt auf die ZX81- Hauptplatine gesteckt. Dadurch kann auf das RAM auch als Zeichengenerator zugegriffen werden und man hat damit die Wahl eigener Zeichensätze. Wegen des auf 64kB begrenzten Adreßraumes muß zur Steuerung des GIANT ein Bankswitching her. Dazu wird zunächst der Adreßraum in acht jeweils 8kB große Bänke geteilt. Davon schaltet der GIANT aber nur drei um: eine untere Bank zwischen 8192 und 16393 und die obere(n zwei) Bank (Bänke) von 49152 bis 65535. In der unteren Bank befinden sich gleich 32kB EPROM (4 Bänke) und 32kB RAM (auch 4 Bänke). Die obere Bank muß der Giant für sich nicht umschalten, da er hier nur 16kB RAM belegt. Erst die Megabytekarte greift hier ein und stellt zwischen 49152 und 65535 bis zu 256 Bänke zu je 16kB zur Verfügung.

In den anderen Bereichen geht es weniger chaotisch zu. Zunächst liegen zwischen 16384 und 32767 die gewöhnlichen 16k RAM für Basic. Anschließend belegt ein 8k RAM den Bereich 32768 bis 40959. Dieses RAM liegt parallel zum ROM und kann daher für Zeichensätze genutzt werden. Zwischen 40960 und 49151 befindet sich dann schließlich noch ein 8k EEPROM, das schreibgeschützt werden kann und häufig genutzte Maschinenprogramme aufnimmt. Natürlich kann statt dem EEPROM auch ein RAM gesteckt werden und man hat damit die Standard-Belegung wie mit dem alten 64k Memotech Modul.

Den ROM-Bereich konnten wir auch nicht in Ruhe lassen. Dort nimmt der GIANT ein 32kB EPROM auf, in dem bis 4 Betriebssysteme Platz haben (Husband Forth, ROM oder ASZMIC...). Wir haben hier nur ein simples Bankswitching mit einem ordinären Schalter vorgesehen.

Das andere Bankswitch zwischen 8-16k erledigt eine spezielle Schaltung: die POKE-Karte. Diese erkennt einen POKE 8,X-Befehl und speichert den übergebenen Wert X in einem Latch. Die unteren 4 Bit werden mit einem Decoder (LS 154) auf 16 Leitungen zerlegt. Damit erzeugt das PK3-GAL die Selectsignale für das RAM und das EPROM der unteren Bank. Entsprechend werden diese 8 Bänke mit POKE8,5 bis POKE 8,8 für das RAM und mit POKE8,9 bis POKE 8,12 für das EPROM geschaltet.

Die innere Logik des GALs macht das deutlicher:

POKE 8,x /CS /CSRAM /CSEPROM A13* A14*  
5 L L H L L
6 L L H H L
7 L L H L H
8 L L H H H
9 L H L L L
10 L H L H L
11 L H L L H
12 L H L H H
X H H H X X
(X heißt: L or H, egal)

Die restlichen Leitungen der POKE-Karte steuern weitere Erweiterungen.

Der Aufbau ist simpel:

Man braucht zunächst unbedingt eine ZX81-Platine, auf welcher RAM und ROM gesockelt sind, oder lötet sich die IC's aus. Die Dioden in den Tastaturleitungen müssen ausgelötet und auf der ehemaligen Katodenseite ein Sockelstreifen eingesetzt werden. Der Tastaturstecker wird ebenfalls ausgelötet. Dann lötet man die alten Tastaturdioden und den Stecker auf der GIANT-Platine ein. An der Gegenseite von RAM-, ROM- und (jetzt neuem) Tastaturdiodensockel hat die GIANT-Platine Pinleisten und kann daher leicht zur Fehlersuche etc. vom ZX getrennt werden.

Ein weiteres Goodie des GIANT ist die Korrektur einer ULA-Nachlässigkeit, damit laufen Maschinenprogramme dann auch oberhalb 32768. Dazu wird die Verbindung von A15 der CPU zu Pin18 der ULA auf der ZX-Platine getrennt. Jetzt müssen nur noch die fehlenden Verbindungen zu /RD, /M1 und Pin18 der ULA mit drei Drähten zwischen ZX81 und GIANT hergestellt werden. Zuletzt wird der GIANT über fünf Drähte mit der POKE-Karte verbunden, die am ZX-Bus angesteckt werden muß.

Etwas einfacher im Aufbau gestaltet sich übrigens der ZX96, da hier die POKE-Karte schon auf der Hauptplatine integriert ist!

Bestückungsplan 27k
Schaltplan (alt) 11k
Schaltplan (neue Version!) 95k
PCB-Layout (Lötseite) 142k
PCB-Layout (Bestückungsseite) 124k
Platinenfoto 51k
Schaltplan EAGLE-Format 18k (zip)
www.cadsoft.de EAGLE Freeware (rd. 4MB)


Kai Fischer, ZX-TEAM


last updated Mar/00