Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: reima am 29. July 2004, 02:29
-
hi
bin neu hier ;)
habe eingentlich alles veranden in L.L magazin aber wie ich es imlantiere ist mir noch ein rätsel
das FAT datensysem schreibe ich in den bootsloader, oder?
Normalerweise adressiert man einen Sektor über das 'Cylinder Head Sektore' (CHS) Format. Hier gehe ich jedoch davon aus, dass ein Programm vorhanden ist, dass die LSN in das CHS-Format übersetzen kann.
für was brauch ich das und wo kireg ich so ein her ?
ich denke mal das ich die ganzen daten in eine struktur stecke ,aber was mache ich damit?
struct BootSector
JumpBoot db ?
Osname db "bla"
BytePerSec db ?
;und so weiter
BootSector Ends
ein schnipsel code wäre nett schlecht
danke im vorraus gruss reima
-
Hi reima,
TeeJay hat einen tollen Bootsector geschrieben, der sogar auf seiner Homepage beschrieben ist. GUck mal hier:
http://www.jay-code.de
Da müsst der unter Tutorials sein!
MfG, Scorpion
PS: Bei meinem Betriebssystem ComOS ist der auch drin!
www.scorpion.coolix.com
-
Zudem gibt's noch ein seperates FAT12-Tutorial von TeeJay falls du das noch nicht kennst (im Ressourcen-Bereich kannst du es downloaden) Ich bin mir gerade nicht sicher ob das in einem Lowlevelmagazin veröffentlicht wurde.
-
Hiho,
Das BIOS adressiert einen Sektor eines Laufwerks über CHS, also Cylinder, Header, Sector. Auch alle BIOS Interrupts arbeiten mit diesem Format. Das FAT12 Dateisystem (und im übrigen alle anderen auch) adressieren eine Sektor per LBA (Logical Block Address), d.h. alle Sektoren werden von 0 bis AnzahlDerSektoren durchnummeriert. Bei einer 1,44 Diskette also 0-2879 (Weil es 2880 Sektoren gibt). Und für die Umwandlung von LBA in CHS brauchst du jetzt ne Funktion. Kannst ja mal nach "CHS to LBA" oder "LBA to CHS" googlen.
MfG GhostCoder
-
Im FAT 12 Tut von TeeJay findest du die Formeln zum umrechnen, is gar nich so schwer;)
-
es heißt implementieren, nicht imlantieren. ich und bscreator und noch einer wollten FAT implementieren, du kannst ja noch mitmachen, wenn du willst!