Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: chris12 am 03. September 2008, 22:24

Titel: raw dateien speichern
Beitrag von: chris12 am 03. September 2008, 22:24
ich bin jetzt mit meienem OS soweit, dass ich datem auf der diskette speichern will allerdings möchte ich es erst ein mal ohne fs machen denn dass müsste doch eigentlich auch gehen oder?

meine idee war jetzt

1. daten abfragen (text zb in einer variablen speichern)
2. daten zusammen fügen und die datei 1sek groß machen
3. die datei schreiben
4. einen eintrag in eine tabelle machen die auch gespeichert werden müsste


1. /2. sollte ich noch hinbekommen aber bei 3./4.?
gibt es zumschreiben irgentwelche ints bzw könnte man eine print- funktion nemen und die ausgabe auf die diskette umleiten?

wie bei dos
echo test > test.txt

ich hab schon gesucht aber irgent wie hab ich noch nichts passendes gefunden oder ich bin einfach nur zu blöde :)
Titel: Re: raw dateien speichern
Beitrag von: bluecode am 03. September 2008, 23:12
Ohne Dateisystem gibt es keine Dateinamen. Es gibt da nur Kopf, Zylinder und Sektor (bei CHS Adressierung) bzw. nur Sektoren (bei LBA Adressierung). Die Diskette/Festplatte lässt sich im Realmode über den BIOS Interrupt 0x13 (http://www.delorie.com/djgpp/doc/rbinter/ix/13/) ansprechen.
edit: Der Link ist nur eine (unübersichtliche) Referenz, es gibt mit Sicherheit auch Tutorials etc., wenn du nur googlest.
Titel: Re: raw dateien speichern
Beitrag von: chris12 am 04. September 2008, 14:24
das mit dem code war nur ein Windows bsp. um zu verdeutlichen was ich meinte( so kann man unter windows mit der konsole oder einer bat datei datein erstellen)


danke das mit int 0x13
Titel: Re: raw dateien speichern
Beitrag von: Termite am 04. September 2008, 14:29
moin

ein kleiner böser hack währe z.B. anstelle der Datei die sektor nummer zu verwenden. aufpassen wegen deines kernels. ggf erst nach einem reservierten bereich an anfangen zu zählen. die Dateigrösse auf z.B. 500 Byte begrenzen, und die ersten 12 Byte z.B. für Dateilänge und ggf. zusatzinfos verwenden.
Titel: Re: raw dateien speichern
Beitrag von: chris12 am 04. September 2008, 16:33
und den rest (500kb) könnte ich ja im klartext-hexcode sprich
68 61 6C 6C 6F (hallo)
und den header müsste ich ja mit übersetzten asm befehlen gemacht werden sprich B8 00 30 8E D8 8E C0entspricht
     mov ax, 0x3000
    mov ds, ax
    mov es, ax
oder?