BIOS - CD ROM Sektoren lesen und Inhalt anzeigen

02/04/2012 - 22:09 von Jens Kallup | Report spam
Hallo Gemeinde,

siehe Betreff.
Ich weiss, es gibt die Brown'sche Liste, aber wo ich mich schwer tue
ist LBA und der Buffer - wie kann man diesen in einen C Programm
weiter verarbeiten?

Danke für Hilfe und Tipps
Jens
 

Lesen sie die antworten

#1 Jan Seiffert
02/04/2012 - 22:19 | Warnen spam
Jens Kallup schrieb:
Hallo Gemeinde,

siehe Betreff.
Ich weiss, es gibt die Brown'sche Liste, aber wo ich mich schwer tue
ist LBA und der Buffer - wie kann man diesen in einen C Programm
weiter verarbeiten?




???
Das kommt jetzt drauf an
Ich tippe dein Code arbeitet nicht im 16 Bit modus, oder?
Dann fallen BIOS-Aufrufe sowieso raus. Du musst den ATA Controller direkt
ansprechen. Das klingt jetzt wilder als es ist. In der einfachsten Form
ist das PIO (DMA würde ich erstmal sein lassen), darüber werden dann die
ATA register geprogt. ATAPI baut dann da oben drauf auf.

Wenn du noch im 16 Bit modus bist und BIOS aufrufe benutzt, dann sieht das ein
bischen anders aus. BIOS aufrufe die LBA nehmen sind AFAIK nicht wirklich
verfügbar. Du musst deinen LBA in C/H/S umrechnen. Das dann in einen
kleinen asm wrapper reichen, der noch pufferaddressen u.a. anpasst, alles in
die richtigen regs tut, den Aufruf macht, und danach wieder alles verteilt da
die Rückgabewerte in Regsitern und im FLAGS Register aus C so schlecht auswertbar
sind.

Danke für Hilfe und Tipps
Jens



Gruss
Jan

Ähnliche fragen