Tento dokument popisuje presnu syntax vsetkych basicovych prikazov a funkcii,
ktore podporuje basicovy interpret operacneho systemu
Vo vsetkych prikazoch a funkciach, na miestach kde sa ocakava cislo, je mozne pisat akykolvek vyraz, ktory ma ciselny vysledok. Tak isto vsade tam, kde sa vyzaduje retazec alebo meno, mozno pisat akykolvek vyraz retazcoveho charakteru. Ak je nejaky parameter prikazu napisany v takychto hranatych zatvorkach [ ] znamena to ze je nepovinny a je mozne ho vynechat.
Umiestnenie suboru (cesta alebo path) je v dose 308 definovana tymito tromi parametrami:
- cislo disku (1-255)
- cislo adresara (0-255)
- cislo suboru (1-65279) nazvane tiez load-kurzor
V kazdom adresari moze byt teoreticky lubovolne velky pocet suborov,
ale z technicko-praktickych dovodov je tento pocet obmedzeny na 65279 subov
pre jeden adresar. To znamena, ze na jednom disku moze byt teoreticky celkovo
az 16711424 suborov (16711424 = 256*65279). Pravdaze, ak to kapacita disku dovoli.
Load-kurzor predstavuje cislo suboru, ktory sa bude ako prvy nahravat. Inymi slovami
je to subor, na ktorom je prave pretocena virtualna magnetofonova paska pri emulacii
load-save rutiniek #4C6 a #562.
presmerovanie prikazov LOAD, SAVE, VERIFY, MERGE
na magnetofon (magnetofon bude aktualnym zariadnim).
presmerovanie prikazov LOAD,SAVE,VERIFY,MERGE
na disk (disk bude aktualnym zariadenim).
@ retazec
Nastavenie aktualneho disku. Retazec predstavuje meno diskety, ale
hladanie disku podla mena v dose 308 nie je implementovane. Ak cislo=0 tak
sa load-save rutinky presmeruju na kazetu (presne ako USR 15522)
Ak sa ma vykonat @ s nenulovym parametrom, tak okrem nastavenia
danej mechaniky sa este vykona USR 15524 - load-save rutinky sa
presmeruju na disk.
$ retazec
Nastavenie aktualneho adresara na aktualnom disku. Adresar mozno zadat aj menom,
v takom pripade sa vyhlada prvy adresar, ktoreho meno zodpoveda zadanemu.
Ak je zadane meno dlshie ako 10 znakov, sa berie sa z neho len tych prvych 10 znakov.
Ak je kratsie, doplni sa medzerami. Hladane podla mena zacina od byvaleho aktualneho
adresara smerom k adresaru cislo 255 a potom od nulteho az po aktualny. Ak sa adresar
s takymto menom nenajde, vypise sa chyba "Invalid file name".
` retazec
Nastavenie load-kurzora na dany subor. Znak ` je libra (SS+X).
Pre zadani suboru menom a jeho vyhladanie v adresari plati presne ten isty mechanizmus
ako pri zadani adresara menom.
Lubovolna kombinacia tychto troch prikazov tvori parameter cesta v dalsich prikazoch. Vyhodnocuje sa zlava do prava. Napriklad: @ 3 $ 5 @ 8 $22 $"bubu" ` "ahoj" znamena, ze na disku zasunuteho do mechniky 3 sa nastavi aktualny adresar 5, na disku 8 sa nastavi adresar 22, potom sa najde prvy adresar po 22 ktory ma meno "bubu" a load-kurzor sa v tomto adresari nastavi na subor "ahoj". Postupnost tychto prikazov moze byt ukoncena bodkociarkou (ak to syntax dakeho prikazu potrebuje).
Poznamka: Specifikacia suborov udajom "data" ma takyto tvar:
Napr (v adresari je 32 suborov):
Polozka [local] znamena lokalne nastavenie inej mechaniky v
danom prikaze a zacina identifikacnym znakom '#' za ktorym
nasleduje ciselny vyraz ktoreho vysledna hodnota identifikuje
danu mechaniku. Za tymto vyrazom moze na oddelenie nasledujuceho
kontextu nasledovat ciarka (ak je to potrebne a vhodne).
Napriklad nech 4 je aktualna mechanika. Potom prikaz
Nech je AAA zaciatocna adresa suboru. Potom sa spravi:
Cielom tychto funkcii je poskytnut programom v basicu
informacie, ktore by boli pre basic inak nepristupne (bez pomoci
strojaku). Jedna sa o informacie o diskete, o jednotlivych
adresaroch, o suboroch v tychto adresaroch,...
Zmazanie uplne vsetkych suborov a adresarov z diskety. Disketu
je este mozne obnovit, pokial sa nespravi SAVE. Pred samotnym
zmazanim sa este vypise dotaz, ci naozaj chcete tento prikaz
pouzit. Zmazane data sa este daju obnovit prikazom UNERASE.
Logicke zmazanie suborov. Subory je este mozne obnovit. Fyzicky
sa zmazu az vtedy, ked sa na disketu nieco sejvne. Zmazanie
suboru s cislom 0 znamena zmazanie celeho, aj neprazdneho
adresara. Pred zmazanim neprazdneho adresara sa este vypise
dotaz, ci naozaj chcete tento adresar zmazat - podobne ako v
prikaze .FORMAT
Obnovenie zmazanych suborov alebo adresarov. Cislo 0 znamena
obnovenie aktualneho adresara. Pozor, obnovuje sa len samotny
adresar, subory v nom je treba obnovit rucne.
Tymto prikazom je mozne obnovovat subory a adresare aj po zmazani
celej diskety prikazom FORMAT - a to tak, ze najprv treba obnovit
adresar ako taky (.UNERASE 0) a potom vsetky potrebne subory v nom.
Pozor, subory su zdanlivo obnovene uz pri obnoveni adresara, avsak
samotne datove sektory nie su este obnovene, preto je potrebne na ne
aplikovat prikaz UNERASE. Subory, o ktore nemate zaujem, mozete
zmazat prikazom ERASE, aby v adresari nezavadzali.
Premenovanie suboru "cislo" na nove meno "retazec". Ak cislo=0
tak sa bude menit meno adresara. Pozor ! Meno adresara moze byt
az 26-znakove.
Zmena zaciatocnej adresy daneho suboru. Zmena adresy nulteho
suboru (to je akoze cely adresar) znamena definiciu, kam ma
tento adresar v stromovej strukture patrit (je to cislo jemu
nadradeneho adresara).
Presunutie suboru "cislo1" do adresara "cislo2". Ak cislo1=0
tak sa bude presuvat cely adresar.
Presunutie viacerych suborov specifikovanych v polozke "data"
do adresara cislo.
Poznamka: Presunutie suboru do toho isteho adresara znamena iba
jeho presun na koniec tohto adresara.
Utrasenie aktualneho adresara.
Zrusenie vnutornych CACHE pameti. Tento prikaz prakticky nie je
potrebny, pretoze operacny system si vykonava spravu vnutornych
CACHE pameti plne automaticky.
Hladanie daneho retazca na diskete. Prehladavaju sa vsetky mena
adresarov (iba prvych 10 znakov) a mena vsetkych existujucich
suborov. Vykricnik znamena, ze sa budu prehladavat aj mena
zmazanych suborov a volnych adresarovych poloziek. Prehladavanie
zacina aktualnym adresarom, pokracuje az po adresar 255, a potom
zase od nulteho az po aktualny.
COPY [.] [!] [cesta] [local] [cislo]
Katalog aktualneho adresara alebo adresara daneho cislom.
Vykricnik znamena vypis aj zmazanych suborov a volnych
adresarovych poloziek. Bodka znamema vypis nie od zaciatku
adresara, ale od aktualnej pozicie load-kurzora.
kde polozka ma takyto tvar:
alebo:
kde cislo1 znamena zaciatok intervalu (nezadane znamena vsetky
subory od zaciatku adresara a cislo2 znamena koniec intervalu
(nezadane znamena subory az po koniec adresara). Samotne cislo1
bez spojky TO predstavuje iba jeden specifikovany subor (akoze
interval "cislo1 TO cislo1").
znamena tieto subory:
vypise katalog 66-teho adresara na disku v mechanike 2.
3. Prikazy pre manipulaciu s datami
SAVE [!] [*] [cesta] [cislo] meno SCREEN$
SAVE [!] [*] [cesta] [cislo] meno DATA var()
SAVE [!] [*] [cesta] [cislo] meno CODE adresa,dlzka
LOAD [!] [*] [cesta] [cislo] [meno]
LOAD [!] [*] [cesta] [cislo] [meno] SCREEN$
LOAD [!] [*] [cesta] [cislo] [meno] DATA var()
LOAD [!] [*] [cesta] [cislo] [meno] CODE [adresa [,dlzka]]
MERGE [!] [*] [cesta] [cislo] [meno]
VERIFY [!] [*] [cesta] [cislo] [meno]
VERIFY [!] [*] [cesta] [cislo] [meno] SCREEN$
VERIFY [!] [*] [cesta] [cislo] [meno] DATA var()
VERIFY [!] [*] [cesta] [cislo] [meno] CODE [adresa [,dlzka]]
Nahratie a spustenie suboru specifikovaneho parametrom. Ak je
parameter cislo tak sa nahra dany spustitelny subor z aktualneho
adresara. Ak je parameter retazec tak sa hlada subor s takymto
menom v aktualnom adresari. Ak sa nenajde v aktualnom adresari,
bude sa hladat v nultom adresari. Ak sa nenajde ani tam, tak
chyba.
Spustitelne subory su alebo Bytes alebo Program. Ak je dany
subor basic tak sa normalne nahra a spusti (ak ma nejake LINE)
ako prikazom LOAD. Ak je dany subor typu Bytes tak sa vykona
nasledovna cinnost:
LOAD parameter CODE AAA
CONTINUE AAA
Ak parameter nie je uvedeny, tak sa vykona klasicky basicovy NEW.
4. Nove basicove funkcie
Vrati cislo verzie systemu.
Vrati cislo aktualneho drajvu.
Vrati cislo aktualeho adresara.
Vrati polohu load-kurzora. [libra = SS+X]
Vrati pocet suborov v aktualnom adresari.
Vrati pocet volnych sektorov na aktualnom disku.
Vrati 32 znakovy retazec v ktorom je adresarova polozka
obsahujuca informacie o subore na ktory ukazuje load-kurzor.
Napriklad FN *(7 TO 16) predstavuje meno suboru a FN *(6 TO 22)
vrati klasicku magnetofonovu hlavicku tohto suboru.
Ak load-kurzor ukazuje mimo adresara, tak funkcia vrati prazdny
retazec.
Ak je HI(load-kurzor)=255 (vyssi bajt 255) tak tato funkcia
vtedy vrati 32 bajtovu polozku obsahujucu meno diskety.
Toto je specialna funkcia, ktorej vysledok je retazec
obsahujuci celu pamet od adresy 1 az po 65535.