Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

qros

QROS a QTOS – AKO NA TO

Ing. KOLOŽVÁRY Marcel

Pri čítaní dobovej literatúry opisujúcej činnosť a prácu so zrýchleným systémom nahrávania TURBO EMO, QROS, QTOS nie je čitateľovi niekedy celkom úplne jasné, ako sa s týmito systémami pracuje na reálnom počítači ATARI v dnešnej dobe. Preto je vhodné spísať stručný zrozumiteľný návod, ako na to.

Existuje TURBO EMO a TURBO QROS 9600. TURBO QROS sa inštaluje do XC12, TURBO EMO je externé DPS s možnosťou pripojenia cez DIN 5 konektor a SIO. QTOS/QROS je rovnako obslužný systém pre tieto TURBO systémy. V článku budeme spomínať QTOS/QROS systém. TURBO QROS dokáže obslúžiť aj klasické TURBO 2000 a TURBO D.

QROS aj QTOS vieme zaviesť do počítača ATARI 800/130XE z kazety, alebo z diskety. V súčasnosti kazeta je nahradená napríklad zariadením ATARI SIO PICO, ktoré emuluje prácu s mgf ATARI XC12 okrem funkcie nahrávania a má podporu aj pre TURBO systémy. Namiesto klasickej mgf kazety (pásky) sa používa jej zdigitalizovaný tvar v tvare súborov CAS.
V prípade disketovej a diskovej HDD verzie QTOSu je v súčasnosti tiež viacero možností, ako a z akého moderného zariadenia ho do počítača ATARI zaviesť. Existujú zariadenia ako SIDE3, SIO2SD, SDrive-MAX, atď. a klony klasických floppy mechaník (XF551 a podobne). V zdigitalizovanej podobe sa využívajú súbory ATR ako obrazy diskiet a v prípade spustiteľných súborov súbory s príponou XEX, COM a pod.

Pre použitie kazetovej verzie QTOSu a QROSu bolo potrebné najprv vygenerovať si potrebné súbory CAS napríklad v emulátore ALTIRRA na PC (viď.Obr.1), ktorý je veľmi užitočnou pomôckou, z tzv. generátorov QROS a QTOS pre príslušnú verziu ATARI 800XL/XE alebo ATARI 130XE:

Obr.1 Generátor QTOS 800 v emulátore Altirra

1 Názvy vygenerovaných CAS súborov boli zvolené tak, aby bolo zrejmé aká je rýchlosť záznamu a aj ktorá verzia QROS/QTOS to je. Taktiež je vyznačený spôsob zavedenia do ATARI z kazety cez boot pomocou START+OPTION.

Pre použitie diskovej verzie nám poslúžia samotné spustiteľné súbory XEX generátorov pre QTOS a QROS, v ktorých je možnosť cez klávesu G príslušný QROS/QTOS na ATARI spustiť priamo (viď. Obr.1, Obr. 2, Obr. 3).

2a
2b

3a
3b

Obr. 2a-b Spustený QTOS800 a QTOS130 cez príslušný generátor QTOS v emulátore Altirra na PC
Obr. 3a-b Spustený QROS130 cez príslušný generátor QTOS v emulátore Altirra na PC

V prípade QROS130 je potrebné počas spustenia samotného QROS v generátore cez kláves G si následne zvoliť jednu z možností podľa toho, či máme v ATARI 130XE zabudovanú HW úpravu QROS2, alebo nie:

  • Stlačením Q si volíme možnosť tzv. QROS+, kde máme HW úpravu v počítači ATARI
  • Stlačením W si zvolíme možnosť spustenia QROS bez HW úpravy

Emulátor Altirra na PC túto HW úpravu nemá implementovanú, preto v emulátore si stále volíme spustenie QROS bez HW úpravy cez príslušný kláves W. Rovnako aj v prípade na reálnom ATARI 130XE volíme predvoľbu W, keďže nemáme v počítači uvedenú dobovú HW úpravu implementovanú pre interný QROS.

2 V súčasnej dobe nemám zachované schémy HW úpravy počítača ATARI 130XE, ktorá je opísaná v dobovej literatúre z Klubu TLMAČE ako úprava s tlačítkom a QROS HW je predpokladám asi ako interný CARTRIDGE alebo OS.

Po stlačení klávesy W (resp. Q) ATARI nabootuje BASIC, ktorý sa hlási v príkazovom riadku cez READY (viď. nasledujúci obrázok).

Obr. 4 Po predvoľbe W (QROS bez HW úpravy) sa spustí BASIC

Aby sa ale dal používať samotný systém QROS 130, je potrebné nastavenie rozšírenej pamäti v ATARI 130XE cez príkaz POKE:

  • zadáme v BASICu POKE 54017,252 a stlačíme RETURN (viď. Obr. 5)

Podľa popisu práce s RAMDISK v magazíne FLOP z roku 1992 (AK Rožnov p.R.) sa jedná o prácu s tzv. bankami rozšírenej pamäte v počítači ATARI 130XE. ATARI 130XE má tieto banky 4 a tie sa prepínajú pomocou portu PORTB na adrese $D301 (54017) s použitím uvedeného príkazu POKE. Hodnotou 252 ($FC, binárne 1111 1100) sa nastaví príslušná práca s ramdiskom (rozšírenou pamäťou), aj prístupom k RAM, pripojenie (odpojenie) ROM alebo BASICU do (z) pamäte. V našom prípade teda číslo 252 znamená:

  • Bit 7 – hodnota 1 – $5000 – $57FF = RAM
  • Bit 6 – hodnota 1 – tento bit sa nevyužíva
  • Bit 5 – hodnota 1 – ANTIC má prístup k normálnej základnej RAM (64kB)
  • Bit 4 – hodnota 1 – CPU má prístup k normálnej RAM (64kB)
  • Bit 3 – hodnota 1 – Bity 3 a 2 určujú svojou kombináciu, ktorá zo 4 bánk bude dostupná v priestore $4000 – $7FFF
  • Bit 2 – hodnota 1 – v našom prípade je to kombinácia bitov 11 a teda sa jedná o BANKU č.4
  • Bit 1 – hodnota 0 – $A000 – $BFFF = BASIC
    Bit 0 – hodnota 0 – $C000 – $FFFF = RAM

Po nastavení rozšírenej pamäti príkazom POKE zadaním príkazu DOS v BASICu (viď. Obr. 5) sa systém QROS inicializuje a opätovne sa skočí do interpretera jazyka BASIC. Tým je systém QROS pripravený na ďalšiu činnosť a môžeme pracovať v BASICu (napr. zadaním príkazu LOAD “C:meno, atď.)

Obr. 5 Inicializácia systému QROS v Basicu zadaním príkazov POKE a DOS

Pre prácu s RAMDISKom je potrebné ho najprv naformátovať príkazom XIO v BASICu (viď. Obr. 6).

  • XIO 254,#1,10*16,0,“Q:*“

Jednotlivé parametre majú význam:

  • 254 – číslo, ktoré určuje druh operácie, v našom prípade 254=formátovanie
  • #1 – číslo kanála
  • 10*16 – ICAX1 parameter, definuje začiatok RAMDISKu v pamäti a tým aj jeho veľkosť (je to vyšší byt adresy). V tomto prípade to bude od $A000 po $FFFF ($A0=1016=160).3
  • 0 – ICAX2 parameter – tento sa nevyužíva
    “Q:*“ – definuje zariadenie RAMDISK
Obr. 6 Formátovanie RAMDISKu v BASICu príkazom XIO

3Ďalší popis a vysvetlivky k parametru ICAX1 je uvedený v pôvodnom popise systému QTOS, preto ho tu ďalej nebudeme uvádzať.

Pre nahrávanie z kazety do počítača ATARI po inicializácii QROS sme v interpretery jazyka BASIC a je potrebné opätovne napísať príkaz DOS s tým, že pred samotným odoslaním príkazu DOS stlačíme a držíme tlačítko START a až tak príkaz DOS potvrdíme cez klávesu RETURN (viď.Obr. 7). Týmto sa dostaneme do QROS loadera a tlačítko START môžeme pustiť. QROS loader sa nám hlási príslušnou obrazovkou (viď.Obr. 8).

Obr. 7 Zadanie príkazu DOS v Basicu s držaním tlačidla START
Obr. 8 QROS loader pre prácu a boot z rýchlej kazety C:

———————————————————————————————————–

Následne môžeme zadať názov rýchleho záznamu (6600 baud) uloženého na páske (vytvorený napr. v QTOS cez PIP a funkciu COPY súboru na pásku v rýchlom formáte 6600baud) a potvrdením tlačidlom RETURN spustiť samotné nahrávanie záznamu.
Príklad nahrávania z rýchlej kazety zo zariadenia C: v QROS je na nasledujúcich obrázkoch:

Obr. 9 QROS loader – zadanie názvu rýchleho záznamu hry
Obr. 10 QROS – priebeh nahrávania hry DEATHLON (6600baud)

Obr. 11 Zadanie názvu rýchleho záznamu – kopirák DETURBO-KOPY
Obr. 12 Priebeh nahrávana kopiráku DETURBO-KOPY

———————————————————————————————————–

V dobovej literatúre sa uvádza (viď. zoznam literatúry), že pod zariadením C: v užívateľských programoch až do stlačenia tlačidla RESET funguje rýchla kazeta. Po stlačení RESET sa znovu dostávame do BASICu, kde je potrebné opätovne vykonať inicializáciu systému QROS pomocou príkazov POKEDOS, ako bolo popísané vyššie.

Dobová literatúra taktiež uvádza, že ak chceme nahrať strojový program, napíšte príkaz DOS, podržte START+OPTION a RESET, čím sa dostanete do BOOT C: a je potom možné stlačením RETURN tento strojový program zaviesť do počítača ATARI v systéme QROS v rýchlom zázname 6600 baudov.

Bohužiaľ uvedená skutočnosť a zavedenie strojového programu pod QROS sa mi nepodarila overiť v praxi v emulátore Altirra aj na reálnom ATARI 130XE, keďže po stlačení START+OPTION+RESET stále QROS skončí v BASICU.

Systém QTOS

Systém QTOS je o niečo jednoduchšia verzia systému QROS a netreba ho inicializovať ako QROS. Po spustení napríklad cez generátor QTOS či už verziou pre ATARI800 alebo ATARI130, systém QTOS je ihneď inicializovaný a očakáva zadanie zariadenia a meno súboru, ktorý chceme nahrať (viď.Obr. 2). V prípade QTOS rýchlu kazetu predstavuje zariadenie T: a RAMDISK je nutné tiež pred samotným použitím formátovať. Aby sme sa dostali do BASICu, stačí stlačiť klávesu BREAK a BASIC sa nám ohlási READY. Teraz môžeme pracovať v BASICU.

Obr. 13 QTOS130 – skok do BASICu klávesom BREAK

Formátovanie RAMDISKu príkazom napr. XIO 254,#1,10*16,0,”Q:*” prebieha tak, že po odoslaní uvedeného príkazu QTOS očakáva zadanie aktuálneho dátumu vo formáte DD.MM.RR, s ktorým sa následne bude pracovať a aj súbory uložené napríklad cez SAVE budú ním označené.

Obr. 14 QTOS130 – formátovanie RAMDISKU príkazom XIO v BASICU

V BASICU potom môžeme nahrávať program cez LOAD“T:meno.ext“. Napríklad v Altirra emulátore pokusne sa nahráva skôr vytvorený CAS súbor kopírovacieho programu DETURBO-KOPY (viď. Obr. 15). Tento bol vytvorený cez program PIP pod disketovou verziou QTOS, ktorý tu ale popisovať už nebudeme. Popis práce s PIP je uvedený v dobovej literatúre aj v jej prepise, na ktorú čitateľa odkazujeme.

Obr. 15 QTOS – príklad nahrávania programu DETURBO-KOPY v BASICU

Je potrebné ešte doplniť, že v prípade, že sa nám program nenahrá, tak klávesa BREAK v tomto prípade nám nefunguje a až stlačením klávesy RESET sa opätovne dostávame do QTOSu, ktorý čaká na zadanie zariadenia a názvu programu pre jeho načítanie a v niektorých prípadoch zostáva aktívny BASIC. Vidíme, že QTOS aj po RESETE zostáva stále aktívny, pokiaľ ho teda nahrávaním nejakého programu v pamäti neprepíšeme.

Pokusy s RAMDISKom v QROS

Po spustení systému QROS cez generátor QSROS130.XEX a jeho inicializácii cez príkazy POKE a DOS v BASICU sa vykonalo formátovanie RAMDISKU príkazom XIO podľa vyššie popísaného návodu.
Dobová literatúra uvádza, že QROS v BASICU vie cez príkazy SAVE “Q:meno“, LIST “Q“meno“ do RAMDISKu uložiť programy. Pokusne bol napísaný krátky BASIC program a následne uložený do RAMDISKu príkazom SAVE“Q:TEST.BAS“.

Obr. 16 Uloženie krátkeho BASIC programu do RAMDISKu Q:

Pre výpis DIR obsahu RAMDISKu v BASICu priamo nie je na to príkaz, preto sa DIR simuluje krátkym BASIC programom:

5 TRAP 30
10 OPEN#1,6,0,”Q:*.*”
20 GET#1,A:PUT#16,A:GOTO20
30 END

Po spustení programu sa emuluje príkaz DIR a vypíše sa obsah RAMDISKu Q:

Obr. 17 Simulácia DIR v BASICU – výpis obsahu RAMDISKu Q:

Nezabúdajme, že po RESET je potrebná znova inicializácia QROS cez POKE a DOS. Následne v BASICu vieme príkazom XIO si overiť existenciu uloženého programu v RAMDISKu:

XIO13,#1,1,1,”Q:TEST.BAS”

Ak príkaz XIO sa vykoná bezchybne, znamená to, že daný súbor TEST.BAS existuje v RAMDSIKu, čiže je v ňom stále uložený aj po RESET.

Príklad na dotaz existencie neexistujúceho súboru v RAMDISKu Q: je na nasledujúcom obrázku:

Obr. 19 XIO dotaz na neexistujúci súbor v Q končí s error

Funkčnosť ostatných XIO príkazov v BASICu nebola overená, okrem príkazu XIO33,#1,1,1,“Q:TEST.BAS na DELETE (zrušenie) súboru z RAMDISKu Q.

ZÁVER

Pokusy popísané vyššie s nahraním uvedených programov v QROS a QTOS dopadli negatívne. Programy sa do ATARI nepodarilo nahrať ani v emulátore Altirra a ani na reálnom ATARI 130XE. Pravdepodobne je to tým, že použité zariadenie ATARI SIO PICO emulujúce kazetový magnetofón nepodporuje TURBO EMO – QROS a ani emulátor nepodporuje v súčasnosti tento turbo systém.

Klasický magnetofón ATARI XC12 pri testoch nebol použitý, keďže momentálne nevlastním mgf s HW úpravou pre TURBO 9600Bd a ani štandardný kazetový magnetofón určený pre hudbu s úpravou resp. interface TURBO EMO.

V budúcnosti je plánovaná stavba TURBO 9600Bd podľa dobovej schémy nájdenej v literatúre a implementácia do mgf XC12. Uvedená schéma je novšou verziou interface pre TURBO EMO s úpravou pre možnosť implementácie v mgf ATARI XC12.