FAT 12 Bootloader

B

BassBox

Hallo,
ich schlage mich schn ne ewigket mit einem FAT12 Bootloader herum. Er soll die dateien kernel.bin und graphic.bin nacheinander in den Arbeitsspeicher schreiben und mit einem Farjump kernel.bin starten. Leider mangelt es mir an Informationen. Den Bios Parameterblock zu setzten ist nicht schwer:
Code:
BITS 16
ORG 7C00h
start:
jmp boot_start
db "MY-OS   "
dw 0200h
db 01h
dw 0001h
db 02h
dw 00E0h
dw 0B40h
db 0F0h
dw 0009h
dw 0012h
dw 0002h
dd 00000000h
dd 00000000h
db 00h
db 00h
db 29h
dd 69696969h
db "NONAME     "
db "FAT12  "
boot_start:

Ich weiß dass direkt nach dem bootsector die fat steht. Leider weiß ich nicht wie lange die FATs sind. daher weiß ich auch nicht wo die Root directory ist. Den Richtigen eintrag in der Directory zu finden ist einfach mit der cmpsb funktion. Und steht in dem Rootdirectory eintrag auf 1A wo die datei beginnt wenn ich sie im arbeitsspeicher habe, oder ist das ein verweiß auf die fat? Ich habe im internet schon ein paar beispiele gefunden, aber die haben icht funktioniert oder so aufgebaut das ich den code nicht gecheckt habe.
Und auch wieder was was mich verwirrt ist, dass ich in einem artikel gelesen habe, das in einem cylinder die ersten sectoren auf head 1 und die letzten 18 auf head 2 sind? Ich blik nichts mehr und habe keine Ahnung welcher quelle ich jetzt glauben soll.
Bitte helft mir,
BassBox
 

Neue Beiträge

Zurück