ZXpand – rozšíření RAM a připojení SD karty k ZX81 a ZX80

ZXpand asi většina z vás zná. Jedná se o periferii, která rozšíří vaše ZX81 o 32 kB paměti RAM (konfigurovatelné pro různé hi-res režimy) a umožní načítání a ukládání programů na standardní SD kartu. Na ZXpandu jsou i piny pro připojení standardního 9-pinového Atari joysticku, tlačítko reset pro pohodlnější práci a autor připravuje rozšiřovací kartu s AY-3-8912 pro zdokonalení audio výstupu.

ZXpand_front

Málokdo ale ví, že Charlie Robson (sirmorris) připravil úpravu ZXpand tak, aby fungoval i na ZX80!

ZXpand_back

ZXpand je komerční projekt a dostanete se k němu nejlépe tak, že si ho objednáte od Riche Mellora na sellmyretro.com. Informace o ZXpandu najdete na stránce http://www.rwapsoftware.co.uk/zx812.html a funkce nejlépe ukazuje následující video, i když je už starší a ZXpand od té doby pokročil:

ZXpand DEMO2

Pro více informací doporučím i ZX81 fórum http://www.rwapservices.co.uk/ZX80_ZX81/forums/.

Takže ZXpand na ZX81 bychom měl, ale teď pojďme na ZX80!

Na rozfungování ZXPand na ZX80 můžete jít více způsoby, asi nejjednodušší je, pokud umíte programovat GAL20V8, bez programování EPROM se neobejdete v žádném případě. Takže ideálně potřebujete 4 věci:

Přidat na ZXpand jumper pod SD slot mezi 1 a 0/L:

ZXpand_jumper_1-0L   ZXpand_jumper_1-0L_set

Dále je potřeba přeprogramovat GAL20V8 (ten blíž kraje desky) JED daty ze souboru MEMD2. Tento obsah GAL umožní při detekci jumperu odpojit interní EPROM a namapuje RAM na 16-48 kB.

Pokud máte ZX81, můžete výše uvedené kroky nahradit příkazy CONFIG „M=H“ a
CONFIG „X“ a vytažením EPROM ze ZXpandu. Toto za předpokladu, že nemáte ROMCS mod, viz dále.

Dalším krokem je aktualizace firmwaru na ZXpand. Jednoduše nahrajte soubor zxpandfw.bin do rootu SD karty a proveďte HARD RESET (podržení tlačítka reset na cca 1.5s).

Posledním krokem je naprogramování EPROM pro ZX80 ZXpand. Toto může být trochu problém, protože zatímco ZX80 používá 4kB EPROM pro ZXpand je potřeba 8kB. Na patici pro ROM v ZX80 je příslušný adresní pin zapojen, takže lze použít pinovou náhradu ROM, kterou je např. EPROM MCM68764. Bohužel se špatně shání a ještě hůř programuje. Za relativně levný peníz Vám ji prodá i naprogramuje Konstantinos Giannopoulos. Další variantou je použít klasickou 2764, 27128 nebo 27256 a např. můj adaptér.

Pokud splníte výše uvedené kroky, máte vyhráno a po zapnutí ZX80 najdete na „Z“ příkaz CAT, kterým vypíšete obsah SD karty. Příslušný soubor pak načtete příkazem LOAD „jmenosouboru“. CONFIG najdete na „L“, DELETE na „P“. LOAD a SAVE jsou na „W“ a „E“ jako obvykle. Jestliže nezadáte jméno souboru, spustí se původní ROM rutiny pro obsluhu kazetového magnetofonu. Pokud neuvedete koncovku jméno souboru, předpokládá se „.O“.

ZXpand_ZX80_CAT_NMIv3-OFF   ZXpand_Pacman_title_NMIv3-OFF

Jak vidíte na přiloženém obrázku z PACMANa, není vše ještě úplně ideální. U některých znaků jsou nežádoucí svislé čárky. Dle Charlieho je to způsobenou časováním v GAL, které se pokusí upravit. Nicméně to možná bude zase kolidovat s vyššími rozlišeními ZX81, takže se uvidí jak moc to upravit půjde, zda nebudou muset být 2 různé GAL apod. Zkrátka na doladění se pracuje. Problém způsobují pouze grafické znaky, při práci v BASICu jej nezaznamenáte.

Jako další jsem zkoušel použití ZXpand s NMI generátorem v režimu ZX81. První pokusy vedly k evidentně zmatku v charakter generátoru. Psát jsem mohl, příkazy se prováděly, jen na obrazovce byl „bordel“. Obrázek vpravo ukazuje výsledek příkazu CAT – srovnejte s předchozím obrázkem vedle PACMANa.

ZXpand_ZX80withZXpandZX81ROMv5_after_boot_NMIv3-ON   ZXpand_ZX80withZXpandZX81ROMv5_CAT_NMIv3-ON

S tímto si Charlie věděl rady okamžitě. ZX81 ROM v totiž nemá v sobě dost volného místa na obslužné rutiny pro ZXpand. Proto jsou tyto rutiny umístěné do oblasti znakového generátoru a počítá se s tím, že ZXpand je připojen k ZX81, který má originální ROM a na dobu čtení z znakového generátoru se externím EPROM odpojuje.

Bohužel ZX80 nemá na externí konektor vyvedený ROMCS. Naštěstí ho pořídíte poměrně jednoduše. Stačí přeškrábnout spoj mezi pinem 20 IC2 a pinem 7 IC6. Mezi tyto dva piny zapojit rezistor 680 ohmů a pin 20 IC2 vyvést na krajní pin konektoru ze strany spojů. Možnou úpravu ukazuje následující foto, další foto pak připojení celého NMI generátoru.

ZX80_ROMCS_mod   ZX80_with_NMIv3_wiring

Do ZX80 je pak potřeba umístit ZX81 ROM bez úprav a do ZXpandu jeho vlastní ZXpand ROM (aktuální je tuším verze 5). Po zapnutí by mělo vše šlapat. Zkoušel jsem namátkou pár her pro ZX81 a některé mi šly, jiné ne. Nezkoušel jsem je na ZX81, takže nechci zatím dělat závěry, kde je problém. V plánu mám postavit NMI generátor v4.1, schéma už mám v Eagle a pak znovu vše vyzkoušet.

Přidáním ROMCS na ZX80 si ale paradoxně uděláte trochu problém se ZX80 režimem. Pokud máte v ZXpandu zapojený jumper a odpojíte interní ROM, je to v pohodě, ale při standardním ZXpandu (jako mám já, protože mi odešel programátor GAL a následně jsem si při pokusech odpálil ten jediný naprogramovaný GAL20V8 Veselý obličej), tak budete mít problém, že ZXpand bude přepínat mezi externí a interní ROM při přístupu do znakové mapy. Proto je potřeba do ZXpandu i ZX80 dát správný obsah ZX80 ROM s úpravou pro ZXpand.

Nakonec ještě foto celé konfigurace, pěkně nám to bobtná Veselý obličej.

ZX80_with_NMIv3_ZXpand   ZX80_with_NMIv3_ZXpand_back

Příspěvek byl publikován v rubrice Sinclair, ZX80, ZX81. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

4 komentáře: ZXpand – rozšíření RAM a připojení SD karty k ZX81 a ZX80

  1. Factor6 napsal:

    ZXpand mám u ZX81 a je to boží věc. Líbí se mi, že lze i ukládat, takhle si můžu svoje dílka v BASICu i uložit na reálném stroji a nemusím používat emulátor.

    • Martin napsal:

      Jojo, já jsem z toho taky nadšenej. Jediná mouška na kráse jsou ty čárečky na ZX80, ale Charlie to snad doladí. Zatím se k tomu staví relativně čelem, už mi poslal pár obsahů GAL na pokusy, ale zatím žádné velké zlepšení, stále ladí. Dneska budu zase něco zkoušet.

      Ahoj, Martin

  2. Pingback: ZXpand-AY – hudba a high resolution grafika na replice ZX80 | Martinův 8-bitový blog

  3. Pingback: Sord M5 Multicart | Martinův 8-bitový blog

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *