Vlákno názorů k článku Podpora unifikované práce se zařízeními v operačním systému Atari: CIO (2.část) od MilanV - Pěkné vysvětlení! Líbí se mi ta kombinace příkladů v...

  • 6. 8. 2026 0:40

    MilanV

    Pěkné vysvětlení!

    Líbí se mi ta kombinace příkladů v BASIC a assembleru, ještě jak navíc směřuje k BASIC příkazu XIO - postupně tedy víc a víc ukazujeme, že je celé I/O implementované v operačním systému, BASIC dělá jen úplně primitivní wrappery. Což je skvělé a v tomto díle vidíme proč: volání z assembleru je totiž úplně stejné. A kdybychom udělali na malou chvilku výjimku a jednou nepoužili z atari.inc ty symbolické názvy příkazů CIO, tak bychom viděli to 100% podobu s BASIC příkazem XIO. Ale i tak je to myslím každému čtenáři jasné.

    Po příkazu FILL jsem se také pídil. A dozvěděl jsem se zajímavosti z historie, jako např. jak šetříli každý bajt pro BASIC, protože se nemohli vejít do vyhrazených 8 kB. Proto jim také pomohl každý přesun nějaké části do OS. Nejen CIO, ale např. i matematické rutiny v plovoucí řádové čárce. A tak jsme tím jako vedlejší efekt získali právě tu snadnou možnost to samé používat v assembleru, resp. strojovém kódu. Jestli to bylo vyhrocené tak, že museli škrtat mezi příkazy i FILL, se mi nepodařilo dohledat přesně konkrétně zmíněné, ale z kontextu mi vyplynulo, že je to velmi pravděpodobné.

  • 6. 8. 2026 1:30

    MilanV

    Abych Atari BASIC nekřivdil: všechno nejsou jen wrappery. Nejen zpracování formátování příkazu PRINT (převod číselné proměnné na text apod.), ale třeba i to, že příkaz INPUT dělá čtení až po EOL ($9B, 155). To není vlastnost CIO příkazů ani get_byte, ani get_record.