23.4. Konecne uspesny boot z diskety. 24.4. Vytvoren EMPTY.ASM, pochopil jsem kod minule skupiny. 28.4. Pujcil jsem si disk na pokusy. 29.4. Ten disk je divny. Nepodaril se z nej nabotovat ani DOS. Pak neco zkousejte... 1.5. Zacatek adaptace kodu na boot z disku. 3.5. Pujcil jsem si jiny disk na pokusy. Ten je OK. 4.5. (20:57) Uspesny boot z pevneho disku. Pozadovaneho efektu se dosahlo upravou asemblerove procedury calc_sec, kdy se ke zjistenym hodnotam CHS pricitaji jeste CHS zacatku dane partition. Drobne upravy jsou i v dalsim kodu: napr. zameny mov dl, 0 => mov dl, DRIVE atp. 5.5. Bootovaci proces zcela transparentni, tj. je jedno, zda se bootuje z diskety nebo z disku. Kod zustava stejny. Dtto i pri zapisu Bootu a image. Boot: Pri spusteni programu se zadava DRIVE a PARTITION, na kterou ma byt Boot Record zapsan. Pokud DRIVE < 80h, pak se ignoruje PARTITION (logicky). Loader: Zacatek aktivni partition se predava Loaderu z Bootu ukazatelem ES:DI. Loader uz si vytahne, co potrebuje. Soucasti teto struktury je i aktivni DriveNo a velikost RAMDisku Make_sys: Stejne parametry jako u Bootu. Bude NUTNE upravit BOOT RECORD, protoze polozka TotalSectors je pouze typu WORD, coz je pro pevne disky malo. Jinak by se musela omezit velikost jedne partition. Registry 386 nebudou potreba, protoze image systemu je ulozena na pocatecnich sektorech partition, takze relativni sektor nikdy nepresahne hodnotu FFFFh, ze ktere se delenim zjistuje hlava, cylindr a sektor na disku a neni tedy potreba pracovat s 32bitovou hodnotou. 8.5. Osetreni zadani chybnych hodnot pro Boot. Modifikaci Bootu vytvoren EMPTY.ASM - defaultni kod, vypisujici pouze hlasku, ze dany disk neni bootovatelny. 12.5. Osetreni zadani chybnych hodnot pro Make_sys. Otazka: Pouziva se nekde polozka TotalSectors?