Vsetky chybove hlasenia operacneho systemu BS-DOS su zaradene do dvoch hlavnych skupin. Do prvej skupiny patria chybove hlasenia jadra operacneho systemu, druhu skupinu zase tvoria chybove hlasenia basicoveho interpretera novych prikazov a funkcii.
Jadro BS-DOS je stavane tak, aby mohlo bezat absolutne nezavisle od basicovych systemovych premennych a obsahu ostatnej casti pamete. Uzivatel teda moze mat od adresy #4000 az po #FFFF svoje vlastne data, ktore mu operacny system nebude nicit (staci cca 6 bajtov na zasobnik). Tomuto boli aj prisposobene vypisy prvej skupiny chybovych hlaseni. Pri vypise chyby sa najprv odpameta horna tretina obrazovky, potom sa do ramika vypise chyba a po stlaceni ENTER/SPACE sa znovu obnovi povodny obsah obrazovky. Jedna dolezita poznamka: Pocas vypisu chyby je samozrejme horna tretina obrazovky zmenena (tym vypisom) -> na toto si treba davat pozor pri tvorbe rutiniek beziacich z prerusenia ktore by vyuzivali tuto cast obrazovky.
Druhu, mensiu skupinu tvoria chyby interpretera novych basicovych prikazov a funkcii. BS-DOS obsahuje v sebe ako nadstavbu samotneho jadra aj tento interpreter, ktory tvori akesi rozhranie medzi jadrom operacneho systemu a samotnym hlavnym interpreterom basicu (romkou). Chyby z tejto druhej skupiny su interpreterom generovane ako klasicke basicove chybove hlasenia a mozu byt aj presne takym istym sposobom osetrovane.
Jednotlive chybove hlasenia jadra operacneho systemu BS-DOS sa vypisuju do
atributoveho ramika v takomto tvare:
===============================
Nazov chyboveho hlasenia
drv/dir/sub: file_name
trk, sid, sec
Enter=ok/retry, Space=abort
===============================
Nie vsetky udaje maju za kazdych okolnosti nejaky vyznam. Napriklad ak sa jedna o chybu napr. Can't read the disk tak potom udaje ako dir,sub,file_name nemaju ziadny zmysel.
Teraz nasleduje popis jednotlyvych chybovych hlaseni podla tejto legendy:
Prikazy alebo sluzby pri ktorych sa chyba moze vyskytnut
Textovy opis chyby pripadne priciny, ktora ju vyvolala.
NEW, #562
Pri zavolani #562 sa na disku v aktualnom adresari od aktualnej pozicie hlada
subor, ktory ma presne taky istu dlzku a flagbyte ako parametre zadane v
registroch DE a A. Tato chyba sa vypise vtedy, ak sa taky subor v tomto
adresari nenachadza.
Pri NEW sa vypise vtedy ak sa v aktualnom alebo hlavnom korenovom (nultom)
nenachadza subor ktory by bol "basic" alebo "code" a mal dane meno.
loa1x,loa2x,verix,savex
Pokus o nacitanie vecsieho mnozstva sektorov, nez sa nachadza do konca suboru.
UNERASE,unerax,unerix
Pri pokuse o obnovenie suboru/adresara sa zistilo ze niektore jeho sektory
boli medzitym prepisane a tym padom ho nie je mozne obnovit na povodny tvar.
Alebo sa pokusate obnovit adresar, ktory este nikdy predtym neexistoval.
VERIFY,#562,verix
Pri verifikacii sa zistila diferencia medzi obsahom suboru a obsahom pamete.
XXX je adresa prveho rozdielneho bajtu, YYY je adresa posledneho rozdielneho
bajtu a ZZZ je celkovy pocet rozdielnych bajtov.
Tato funkcia sa da velmi pekne pouzit na porovnavanie obsahu dvoch oblasti
pameti (jednu oblast sejvneme a verifneme s druhou) alebo na porovnavanie
obsahu dvoch suborov (jeden loadneme a verifneme s druhym).
creatx
Pri volani sluzby CREATX tato chyba znamena ze subor by mal mat viac ako
65535 sektorov. BS-DOS 306 ma iba 16-bitovu logiku, preto nie je schopny
takyto subor spracovat.
#4C6,creatx
Subor vyzaduje na uchovanie viac miesta nez je k dispozicii na disku.
akykolvek pristup na disk
Tato klasicka chyba chyba znamena ze v mechanike nie je vlozena disketa,
disketa sa nejak nemoze otacat alebo proste nie su zavrete dvierka.
[Chyba generovana FDC biosom]
akykolvek pristup na disk
Uzivatel pri nastavovani aktualnej mechaniky nastavil take cislo, ktore
nezodpoveda ziadnej diskovej mechanike (ani virtualnej).
Pozor !!! Tato chyba sa prejavi az pri skutocnom pokuse o pristup na tento
disk, nie pri jeho nastavovani ako aktualny.
akakolvek praca s adresarmi
Uzivatel sa pokusa pracovat s adresarom, ktory obsahuje viac ako 65280
adresarovych poloziek. Na disku takyto adresar moze normalne byt, ale
BS-DOS 289 vdaka len 16-bitovej logike nedokaze spracovat takyto dlhy
adresar.
#4C6,MOVE,creatx,movexx,moveix
Uzivatel sa pokusa pridat novy subor do adresara, v ktorom je uz 65280
adresarovych poloziek. Pozri predchadzajucu chybu.
akykolvek pristup na disk
Operacnemu systemu sa nepodarilo nacitat BOOT sektor diskety. Moze to
znamenat ze disketa vobec nie je naformatovana, alebo ze ma velmi zlu nultu
stopu, alebo ze je naformatovana v inej hustote zaznamu ako HD alebo DD.
pristup na disk
Znamena ze FDC radic nemoze najst nultu stopu na diskovej mechanike.
[Chyba generovana FDC biosom]
pristup na disk
Uzivatel stlacil Q+W pocas citania alebo zapisu sektoru (stopy,adresy).
[Chyba generovana FDC biosom]
pristup na disk
Chyba aktivizacie disketovej mechaniky.
[Chyba generovana FDC biosom]
akykolvek zapis na disk,kuini
Disk je chraneny proti zapisu. Tato chyba sa negeneruje az pri skutocnom
zapise na disk, ale hned na zaciatku prikazu alebo funkcie ktora sa nieco
chysta na disk zapisat.
[Chyba generovana FDC biosom]
akekolvek citanie z disku
Nesedi kontrolny CRC sucet pri citani sektora z disku.
[Chyba generovana FDC biosom]
pristup na disk
Pri DMA prenose medzi FDC radicom a pametou doslo ku strate dat. Tato chyba
moze nastat napr. vtedy ak z prerusenia bezi nejaky program, ktory pocas
diskovej operacie preprogramuje DMA radic.
[Chyba generovana FDC biosom]
pristup na disk
Cas diskovej operacie presiahol maximalnu povolenu hranicu. Moze to nastat z
najroznejsich dovodov - napr. ze disketa je v mechanike nejak zaseknuta a
nemoze sa volne otacat.
[Chyba generovana FDC biosom]
pristup na disk
Pri citani alebo zapise sektora sa na skope nenasla sektorova identifikacna
znacka. Moze to byt sposobene napr. nekvalitnou disketou.
[Chyba generovana FDC biosom]
akykolvek pristup na disk
Pokus o nacitanie diskety ktora nie je naformatovana pre MB-02.
akykolvek pristup na disk
Data su na diskete chranene viacerymi kontrolnymi suctami a paritami.
Tato chyba sa vypise v pripade, ze nesedi co len jedna kontrola dat.
Nasledujuca tabulka obsahuje zoznam vsetkych datovych chyb dosu 308.
Pozor, cisla v tabulke su uvedene hexadecimalne, ale v chybovom hlaseni
sa vypisu dekaticky.
1135 | pokus o zmazanie suboru ktory uz ma zmazane sektory |
1251 | nespravna dlzka prvej fatky pri quickformatovani |
1258 | nespravna dlzka druhej fatky pri quickformatovani |
15e9 | dlzka suboru v adresari nesuhlasi s dlzkou vo fatke |
15f9 | pokus o adresaciu chybneho sektora alebo sektora ktoreho cislo je mimo media |
15fe | pokus o adresaciu sektora ktory este nikdy nebol priradeny ziadnej strukture |
1606 | pokus o adresaciu zmazaneho sektora alebo pokus o unerase sektora ktory nie je zmazany |
19de | chybna polozka v zozname adresarov |
1b8d | pokus o adresaciu sektora ktoreho cislo je mimo media pri citani polozky z fatky |
1b9e | pokus o adresaciu sektora ktoreho cislo je mimo media pri zapise polozky do fatky |
1bf2 | nesuhlasi dlzka fatky s poctom sektorov fatky v boote |
1bfe | nespravny kontrolny sucet prvej kopie fatky |
1c13 | nespravny kontrolny sucet druhej kopie fatky |
1c20 | jedna kopia fatky sa lisi od druhej |
1e55 | chybna polozka v zozname suborov |
BS-DOS obsahuje v sebe rozne kontroly svojej cinnosti - robi si rozne
kontrolne sucty, testuje, ci vysledky danej operacie su aspon trosku
pravdepodobne a tak podobne. Toto hlasenie sa vypisuje vzdy vtedy, ked tieto
kontroly zistia nejake poskodenie dosu. Cislo XXX podrobnejsie specifikuje o aku
konkretnu chybu sa jedna, podobne ako v pripade predchadzajucej chyby.
Takato situacia moze nastat napriklad vtedy ak je operacny system nejak
nestastne poskodeny dakym uzivatelskym programom. Preto sa v pripade
objavenia tohto hlasenia odporuca system okamzite prebootovat. V pripade ze
mate v pameti dake nesejvnute data tak si ich sejvnite na nejaku pomocnu
disketu, ktoru nebudete lutovat, ked o nu nahodou pridete...
akakolvek chyba dosu
Tato chyba sa generuje vtedy, ak pri vykonavani nejakej funkcie
basicoveho interpretera nastala lubovolna chyba dosu a uzivatel
si zvolil moznost ABORT.
LOAD,MERGE,VERIFY,$,` [znak libra]
Uzivatel zadal meno suboru, ktore sa v nenachadza v aktualnom adresari alebo
take meno adresara ktore sa nenachadza na aktualnom disku.
NEW
Pokus o spustenie suboru v NEW, krory sa tymto prikazom spustat neda.
Spustat sa daju iba basicy a potom bytesy, ktore sa zmestia do pameti
od svojej zaciatocnej adresy (ktora musi byt vecsia alebo rovna ako #4000).
Vsetky ostatne chybove hlasenia interpretera maju taky isty vyznam ako povodne chybove hlasenia v samotnej romke.