Život a smrt ZX Interface 1 z jižní Afriky

Pod podivným názvem se skrývá recenze ještě podivnější periferie.

I když rozšířenějším úložným zařízením pro ZX Spectrum je Betadisk, +D, D40/80 nebo DivIDE, přeci jen tím originálním zařízením, které přinesl Sinclair s rytířským titulem, bylo ZX Interface 1.
I když to není moc poznat, přeci jen dost programů (hlavně těch z počátku existence Spectra) s ním počítá.
Pokud jste si někdy stěžovali, že spectrácké assemblery neumí include, pak to bylo tím, že nemáte ZX Interface 1. A pokud jste si někdy stěžovali, že Hisoft-C rozděluje na kazetě soubory do debilních bloků, pak to bylo tím, že nemáte ZX Interafce 1. A pokud vám vadilo, že váš oblíbený textový editor (nepochybně D-Writer, že?) neumí mailmerge, pak to bylo tím, že nemáte ZX Interface 1. A že jste nemohli používat MAX Desktop? Odpověď je jasná – neměli jste ZX Interface 1.
Stejně tak další periferie kromě microdrivu – řekněte, který jiný sériák můžete používat v basicu tak, jako ten na ZX Interface1? A které jiné zařízení vám zpřístupní síťovou komunikaci tak, jako ZX Interface 1?

Skoro by se zdálo, že všechny ostatní periferie ve srovnání s dokonalým ZX Interface 1 stojí za hovno.

Jenže – sériák je, jak známo, řešen softwarově a i když to funguje, dalo by se s hardwarovým sériákem víc blbnout (příjem znaku by nezabral tolik procesorového času a v mezidobí by se toho víc stihlo).
Síť funguje tak trochu jako posílání dat přes zdířky kazeťáku přes SAVE a LOAD, protože počítač nemonitoruje stav sítě i během další činnosti (toto bylo odstraněno až na DISCiPLE, což je jediné zařízení kromě ZX Interface 1, které ZX-Net podporuje).
Microdrive dnes už disketu nenahradí, kazetky se shání těžko a navíc se už rozpadají stářím.

Něco, co by bylo kompatibilní se ZX Interface 1, mělo sériák, použitelnou síť a něco, třeba disk, místo microdrivů, tu kromě DISCiPLE (s paralelním portem místo sériáku, zato s joystickovými porty, s nutností bootovat GDOS) nebylo snad nic (+D mělo jen disky a paralelní port).

Jako pořádný sériák tu teď máme SIF (i když zatím bez podpory v basicu), díky ethernetovému nebo wifi modulu i s připojením na internet, takže postupně opadá i touha po spectrácké síti.
Mass storage už samozřejmě z většiny uspokojuje DivIDE s jedním z mnoha systémů (BS-DOS, MDOS 3, +DivIDE, ESXDOS, FATware, Demfir, Goldfinch, ResiDOS).

A do toho se jakoby zčista jasna objevuje něco, co se jmenuje Interface 1 BIS.

Interface 1 BIS přichází z jižní Afriky, tedy místa, kde by běžného spectristu jeden nečekal.
A nepřichází zčista a jasna, předcházel mu dlouhý vývoj, kdy se z velké kisny s několika deskami změnilo na malou destičku připojitelnou přímo k počítači.
Pochopitelně několikrát i změnilo funkcionalitu (například zchudlo o RAMdisk), ovšem síť ani sériák neobsahovalo snad nikdy.

Co tedy interface obsahuje?
Obsahuje PS/2 konektor pro připojení myši, Spectrum ji vidí jako Kampston mouse. Aspoň tedy není potřeba připojovat nějaký další myší interface. (Myš umí i emulovat Kempston joystick.)
Pak je tu Canon konektor pro joystick, tedy pro skutečný kempston joystick.
Není tedy ani potřeba sahat hned po UR-4 nebo jiném Kempston interface.
Pak je tu SD karta a USB konektor.

SD karta obsahuje jednotlivé logické disky o pevné velikosti 32 MB, formátované do zjednodušené FAT16. 255 logických disků je pak sdružených do 8 GB partice (“volume”) A až O.
Celkem jde adresovat 128 GB, jeden soubor může mít délku maximálně 16 MB.
(S kartou nelze pracovat mimo ZX Spectrum – Mac OS X mi kartu namountoval jako prázdnou.)

Operační systém rozeznává soubory podle přípony.
Pro nativní spectrácké soubory se používá ZZx, kde x odlišuje typ souboru – ZZP jako Program, ZZC jako Code, ZZA jako pole řetězcové (“array”) a ZZN jako data číselná (“number”).
Dále podporuje ZZF (“printfile”, tedy sekvenční soubor jako na originálním ZX Interface 1), ZZB – binární soubor.
Kromě toho rozeznává i “emulátorové” přípony: TXT (textový soubor – vlastně printfile, kde je za každé CR automaticky přidáváno LF, basicové tokeny se rozepisují jednotlivými znaky, a při čtení naopak je LF zahazováno), SCR (kopie obsahu VideoRAM), Z80 (snapshot) a TAP (soubor pásky, po jeho otevření z něj kazetové operace čtou podobně, jako v emulátoru nebo jako emulátor pásky v BS-DOSu nebo MDOSu 3).
Při výpisu adresáře (kde jsou typy souborů označeny ne třípísmennou příponou, ale jednopísmenně), jsou podadresáře vypisovány jako soubory typu D.

Oproti původnímu ZX Interface 1 má Interface 1 BIS rozšířený Basic, takže je možné například vynechávat známé parametry (pokud provedete CAT “m”;1, stačí při dalším použití zadat jen CAT a použije se parametr z minula, stejně zafunguje LOAD ;”soubor”).
Rozšířeno je i otevírání souborů, takže pomocí povelu LOAD otevíráte TAPku (s t za jménem souboru – nebo T, které provede NEW a LOAD, přidána byla konstrukce SAVE STOP pro uzavření ukládané TAPky), nebo snapshot (se s za jménem souboru – ukládání se provádí ne přímo při zadání povelu SAVE, ale až později pomocí NMI tlačítka, Z při nahrávání způsobí deaktivaci  interface po spuštění snapu).

Když už jsme u NMI tlačítka, je trochu zmatečné, protože využívá moderní nesmysl, zvaný “gesta” – tedy záleží, kolikrát a jak dlouho tlačítko držíte.
Když stisknete na méně než 0,5 sekundy, vygeneruje pětimilisekundový pulz na NMI. Pokud podržíte mezi 0,5 a 1,2 sekundy, provede se reset. Když podržíte déle než 1,2 sekundy, vypne nebo zapne interface. Déle než 2,5 sekundy přehraje firmware.
Při zapnutí je interface neaktivní, je tedy potřeba stisknou čudlík na dobu mezi 1,2 a 2,5 sekundy a pak ještě jednou na dobu kratší než 1,2, ale delší než 0,5 sekundy.

Ještě jsem neřekl, k čemu je dobrý USB konektor.
Rozšířený Basic totiž kromě standardních zařízení “m” (microdrive), “b” a “t” (což byly na původním ZX Interface 1 různé režimy obsluhy sériáku), ale i zařízení “v”.
Zařízení “v” slouží k tomu, že se přes USB připojíte k PC s Windows, spustíte (proprietární) serverovou aplikaci (psanou v C++), a (poté, co absolvujete microsoftí buzeraci kolem ovladačů pro virtuální sériový CDC ACM port) můžete přistupovat k diskům v PC stejně, jako k SD kartě.
Kopírováním ze zařízení “v” na “m” je pak možné dostat soubory z PC na SD kartu v ZX Spectru.
Dále PC slouží jako printserver.

Autor odbourání ZX-Netu a RS-232 obhajuje tím, že jde o peer-to-peer (a tudíž špatné) technologie.
Zatímco klinet-server architektura zřejmě mnohem lépe zapadá do dnešní doby plné cloudů.

V zásadě, co k Interface 1 BIS tak, jak se dá koupit, říci?

Jednak klady:
Je to šikovné zařízení, malé, rychlé.
Vejde se na něj spousta souborů (Dan Antohi na SD kartu nahrává sbírku softu, kde je až podivně hodně československých výtvorů) a nemá problém ani s TAPkami.
Přes USB může komunikovat se světem.
Integruje v sobě i Kempston joystick a Kempston myš.

A zápory:
Šílenost s resetovacím/NMIčkovacím/inhibovacím tlačítkem a gesty.
SD kartu mimo ZX Spectrum nepřečtete ani nezapíšete.
I když má být kompatibilní se ZX Interface 1 na úrovni Basicu a hook codes, ten jeden program pro IF-1, který jsem otestoval, nějak nefungoval (The Writer nedokázal vypsat katalog microdrive cartridge).
Není průchozí, autor to oddůvodňuje tím, že zaplácne skoro všechny existující porty.
Komunikace přes USB je sice hezká věc, ale server je proprietární a pro Windows, vyžaduje PC. (Ovladač pro CDC ACM je sice součástí Windows, ale je třeba ho instalovat a doplnit informačním souborem stahovaným z webu Interface 1 BIS projektu.)
Nemá síť ani sériák pro propojení s jiným Spectrem.
Slibuje “optional Ethernet”, ale podpora ve firmware není.

Tedy přímá náhrada ZX INterafce 1 to tedy stále není.
Jinak jako jedno z alternativních mass storage zařízení (vedle různých ZX MMC s ResiDOSem) patří k těm lépe použitelnějším.

Nebudu vám Interface 1 BIS nutit. V našich zeměpisných délkách a šířkách je rozšířené DivIDE, které v kombinaci se SIFem umí skoro totéž, co Interface 1 BIS. Nepotřebujeme tady proto udělátka od protinožců.
Sám ale interface mám a používám. Možná to něco znamená.