34. Disky: obrazy diskiet ATR a prevod textov
Na čo to je
Skutočné Atari nahráva programy z diskety. Emulátory a moderné náhrady disketových jednotiek používajú namiesto diskety obraz – jeden súbor s príponou .atr, v ktorom je celý obsah diskety. action26 vie s takými súbormi pracovať priamo: uložiť na ne program, vypísať obsah, kopírovať súbory tam a späť.
Kapitola nemá program v Action!. Sú v nej príkazy, ktoré si môžeš vyskúšať s programom hello-key.act z kapitoly 2.
Čo je DOS
Samotné Atari disketám nerozumie. Program, ktorý ho to naučí, sa volá DOS (Disk Operating System) a je na diskete. Po zapnutí si ho Atari z diskety nahrá – tomu sa hovorí bootovanie. Až potom existuje zariadenie D:.
Z toho plynie: disketa, z ktorej má Atari naštartovať, musí obsahovať DOS. DOS-ov je viac druhov (Atari DOS 2.5, MyDOS, SpartaDOS …); action26 pozná najbežnejšie. Obraz diskety s DOS-om si treba zaobstarať – sú voľne dostupné na stránkach o Atari.
Program na disketu: --atr
action26 hello-key.act --atr dos25.atrPrekladač program preloží a uloží na disketu dos25.atr tak, aby sa po naštartovaní sám spustil. Na diskete s Atari DOS 2.5 to znamená súbor AUTORUN.SYS:
action26: stored AUTORUN.SYS on dos25.atr (DOS 2, single density, Atari DOS 2)(Túto správu vypíše s voľbou --verbose.) S --run sa disketa hneď spustí v emulátore:
action26 hello-key.act --atr dos25.atr --runToto je spôsob, ako spúšťať programy, ktoré pracujú so súbormi (kapitola 30).
Pracuj na kópii. --atr do obrazu diskety zapisuje. Pôvodný obraz s DOS-om si odlož a pre každý projekt si sprav kópiu.
Keď disketa neexistuje
Ak súbor .atr neexistuje, prekladač vytvorí novú prázdnu disketu a program na ňu uloží. Taká disketa však nemá DOS a Atari z nej nenaštartuje. Prekladač to povie:
action26: note: my.atr has no DOS, so the program does not start by itself; copy a DOS disk (DOS 2, MyDOS, WolfDOS, SpartaDOS, BW-DOS, LiteDOS) and use that with --atr to get a bootable diskVlastné meno súboru
--atr-name uloží program pod zvoleným menom namiesto automaticky spúšťaného:
action26 hello-key.act --atr dos25.atr --atr-name HELLO.COMProgram sa potom nespustí sám; nahráš ho z ponuky DOS-u.
Čo je na diskete: --atr-list
action26 --atr-list dos25.atrdos25.atr: DOS 2, single density (720 sectors of 128 bytes), Atari DOS 2 boots
DOS SYS 037
DUP SYS 042
RAMDISK COM 009
SETUP COM 070
COPY32 COM 056
DISKFIX COM 057
FILECOPY COM 025
AUTORUN SYS 004
8 file(s), 407 free sector(s)Prvý riadok hovorí druh diskety a či sa z nej dá naštartovať. Číslo za menom súboru je jeho veľkosť v sektoroch – disketa je rozdelená na sektory po 128 bajtoch.
Kopírovanie súborov: --atr-put a --atr-get
Na disketu:
action26 --atr-put dos25.atr notes.txt NOTES.TXTaction26: notes.txt -> dos25.atr:NOTES.TXT (25 bytes)Z diskety:
action26 --atr-get dos25.atr NOTES.TXT back.txtaction26: NOTES.TXT -> back.txt (25 bytes)Posledné meno je v oboch prípadoch nepovinné; bez neho sa použije to isté meno. Súbor sa kopíruje bajt po bajte, bez zmeny.
Takto dostaneš na disketu dáta pre svoj program (obrázky, texty, úrovne hry) a z diskety to, čo program uložil.
Je disketa v poriadku: --atr-check
action26 --atr-check dos25.atrdos25.atr: DOS 2, single density
the file system is consistentHodí sa pri starých obrazoch diskiet, ktoré môžu byť poškodené.
Texty: ATASCII a --to-text, --to-atascii
Textový súbor na Atari sa od textového súboru na PC líši koncom riadka. Na PC je to dvojica znakov (CR a LF), na Atari jeden znak s kódom 155 ($9B). Ostatné bežné znaky sú rovnaké.
Zdroják si action26 prečíta v oboch tvaroch. Prevod potrebuješ, keď má textový súbor čítať program na Atari, alebo keď chceš zdroják poslať niekomu, kto ho otvorí v pôvodnom Action!.
Z PC na Atari:
action26 --to-atascii notes.txt NOTES.ATAZ Atari na PC:
action26 --to-text NOTES.ATA notes2.txtBez druhého mena dostane výsledok príponu .ACT, resp. .txt. Vstupný súbor sa nikdy neprepíše.
Preklad priamo z diskety
Keď je zdroják na obraze diskety – napríklad starý program z časopisu –, netreba ho vyťahovať. Stačí pred meno napísať disketu a dvojbodku:
action26 dos25.atr:HELLO.ACT --simSúbory z INCLUDE sa potom hľadajú na tej istej diskete. Obraz diskety môže byť aj v -I:
action26 program.act -I toolkit.atrPrehľad
| Príkaz | Čo robí |
|---|---|
action26 prog.act --atr disk.atr | uloží program na disketu tak, aby sa spustil sám |
… --atr-name MENO.COM | uloží ho pod týmto menom |
action26 --atr-list disk.atr | vypíše súbory |
action26 --atr-put disk.atr súbor MENO | skopíruje súbor na disketu |
action26 --atr-get disk.atr MENO súbor | skopíruje súbor z diskety |
action26 --atr-check disk.atr | skontroluje disketu |
action26 --to-atascii vstup výstup | text z PC na Atari |
action26 --to-text vstup výstup | text z Atari na PC |
action26 disk.atr:PROG.ACT | preloží zdroják, ktorý leží na diskete |
Časté chyby
| Čo sa stalo | Čo sa stane |
|---|---|
| disketa bez DOS-u | Atari z nej nenaštartuje; D: v programe dá chybu 130 |
| zápis na jediný exemplár obrazu s DOS-om | obraz je zmenený; nabudúce pracuj na kópii |
| textový súbor skopírovaný na disketu bez prevodu | program na Atari vidí celý súbor ako jeden dlhý riadok |
| meno dlhšie ako 8 + 3 znaky | disketa také mená nevie |
Zhrnutie
- Obraz diskety je súbor
.atr. Aby z neho Atari naštartovalo, musí obsahovať DOS. --atruloží preložený program na disketu, s--runju hneď spustí.--atr-list,--atr-put,--atr-geta--atr-checkpracujú so súbormi na diskete.- Texty pre programy na Atari preveď cez
--to-atascii.
Späť: 33. Nastavenia v zdrojáku · Ďalej: 35. Rozšírenia jazyka