Autor Thema: raw dateien speichern  (Gelesen 5457 mal)

chris12

  • Beiträge: 134
    • Profil anzeigen
Gespeichert
« 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 :)
OS? Pah! Zuerst die CPU, dann die Plattform und _dann_ das OS!

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #1 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 ansprechen.
edit: Der Link ist nur eine (unübersichtliche) Referenz, es gibt mit Sicherheit auch Tutorials etc., wenn du nur googlest.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

chris12

  • Beiträge: 134
    • Profil anzeigen
Gespeichert
« Antwort #2 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
OS? Pah! Zuerst die CPU, dann die Plattform und _dann_ das OS!

Termite

  • Beiträge: 239
    • Profil anzeigen
Gespeichert
« Antwort #3 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.

chris12

  • Beiträge: 134
    • Profil anzeigen
Gespeichert
« Antwort #4 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?
OS? Pah! Zuerst die CPU, dann die Plattform und _dann_ das OS!

 

Einloggen