Ovladač výukového zařízení G:. Do tabulky HATABS zavede nové zařízení G:, které zobrazuje svá data pomocí sprajtů na obrazovce. Tak můžeme vidět aktuální stav každého zařízení G:. Ovladač podporuje až 4 zařízení G: najednou (G1 - G4), přiřadí je postupně jednotlivým sprajtům (tzv. hráčům). Zařízení lze otevřít pro čtení i zápis, poloha kurzorů není graficky vyvedená.
Ke stažení: Ukázkový disk
Nabootujeme Atari z tohoto disku, se zapnutým BASIC. V emulátoru např. takto:
atari800 -basic g_device.atr
Automaticky se nahraje ovladač zařízení G a spustí se demo.
Toto automatické spuštění všeho potřebného vyvoláme kdykoli tzv. studeným startem počítače. V emulátoru atari800 např. klávesou Shift-F5. Naopak po stisku klávesy RESET (tzv. teplý start) zůstáváme v BASIC a můžeme vše zkoušet a upravovat ručně. Je pak ale také nutné si ručně hlídat spuštění inicializace ovladače po každém RESET. Viz níže.
Jednoduchá ukázka zařízení, typicky pro použití v BASIC, i když to není podmínkou. Po otevření zařízení (volba G1 - G4) se toto vizuálně objeví na obrazovce. Následně podle módu otevření (čtení/zápis) lze provádět běžné I/O příkazy BASIC a data vidět na obrazovce. Při otevření pro čtení i zápis lze číst i zapisovat ve stejném kanálu, ale samozřejmě nesmí čtení předběhnout zápis.
Zařízení podporuje módy:
? USR(39204) : REM Initializace G systému
OPEN #2, 12, 0, "G4:" : REM otevři G4: pro čtení i zápis
PRINT #2; "ABCDEF" : REM zapiš data - středník zamezuje přidaným mezerám (vlastnost BASIC)
DIM A$(100)
INPUT #2, A$ : REM přečti data z G4: a vytiskni je na obrazovku ("ABCDEF")
PRINT A$
CLOSE #2
Inicializační rutina zavede zařízení do HATABS, inicializuje GTIA a označí pro BASIC naše místo v RAM za nedostupné pro něj.
Při úspěšném čtení vrátí v akumulátoru bajt dat a posune čtecí kurzor.
Při pokusu číst za poslední zapsaná data (zapisovací kurzor) vyhlásí chybu END_OF_FILE.
Uloží obsah akumulátoru na pozici v paměti zařízení/sprajtu a posune čtecí kurzor.
Při pokusu zapsat mimo rozsah zařízení (celkem $60 bajtů) vrátí chybu END_OF_FILE.
Smaže data zařízení a vizuálně ho odebere z obrazovky.