Já vím, já vím, nazvat přídavnou kartu SMART je docela klišé. Ale co už – autor ji tak nazval, a na nás je, abychom ji použili a říkali jí třeba Klára, když na to přijde.

Phil Ruston z Retrolea je můj oblíbený retropočítačník. Vlastním jeho V6Z80P, a tak když jsem zahlédl, že nabízí nový hardware a přečetl jsem si popis, neváhal jsem. SMART Card, jak se to celé jmenuje, je přídavná karta k ZX Spectru a nabízí (za tu cenu!) velmi zajímavé možnosti.

Obsahuje 256kB ROM (přesněji FlashRAM), do které se vejde 16 ROMek, které karta dokáže připojit namísto standardní ROM ZX Spectra. Na desce je i 128 kB RAM, kterou si můžete namapovat po osmikilových blocích do prostoru 2000h-3FFFh. K tomu tam je slot na SD paměťovou kartu, tlačítka RESET a NMI, standardní devítipinový konektor pro joystick (namapován jako Kempston), a celé to dohromady drží glue logika v CPLD (XC9572XL). Můžete použít i piny RX a TX na sériovou komunikaci.

Karta má především dvě oblasti využití. Jednak jako rychlé načítání a spouštění programů ze SD karty (loader „umí“ formát SNA a s novým firmware i formát TAP, kde nahrazuje standardní rutiny ZX Spectra vlastním načítáním).

Druhá možnost je využít ji jako diagnostický nástroj – Phil nabízí „Diagnostic ROM“, která otestuje funkčnost pamětí a dalšího hardware (klávesnice, ULA, reproduktor, interní ROM, …) Pokud je Spectrum aspoň trochu živé (tzn. funguje mu zobrazování), můžete zjistit např. to, jaký paměťový čip je třeba vyměnit.

Z hlediska ZX Spectra jde o interface na portech FAF3h, FAF7h a FAFBh (joystick je samozřejmě na portu 1Fh). Zapojení je následující:

FAF3h ovládá RAM. Bity 0-3 určují, která banka má být připojena do prostoru 2000h-3FFFh (pokud je to povolené). Bit 7 povoluje SRAM – pokud je nastaven, překrývá tato RAM interní či externí ROM. Bit 4 ovládá sériovou linku, bity 5 a 6 jsou určené pro SD kartu (SPI a CS).

Port FAF7h slouží ke čtení a zápisu z/na SD kartu. Poslaný bajt je interně serializován a odeslán do SD, při čtení je naopak deserializován a vystaven na tomto portu.

Port FAFBh ovládá ROM. Bity 0-3 opět udávají blok ROM, který má být připojen do spodních 16kB. Jestli bude připojena externí ROM, nebo interní, to opět ovládá bit 7. Bit 6 pak zapíná funkci „přepnutí na systémovou ROM po průchodu adresou xx72h“ (pro spouštění snapshotů).

Pomocí přepínačů se vybírá startovací ROM, povoluje zápis do FLASH a zapíná testovací režim.

Já tam vidím ještě jedno možné využití – můžete si snadno vyzkoušet svou vlastní ROMku na reálném zařízení.