Direkter Laufwerkszugriff

Fragen zu allen anderen Programmiersprachen.
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Direkter Laufwerkszugriff

Beitrag von Marvin »

Ich machs kurz:
Ich bin grad beim Versuch, ein OS mit Dateisystem zu erstellen. Problem: Ich möchte erstmal ein sehr sehr einfaches FS, z.B. nur Rootdir, keine Subdirs und auch keine Fragmentierung möglich (will heißen, es gibt keine Tabelle ähnlich der FAT). Aber ich möchte es mir möglichst einfach machen, und auch unter Windows Dateien einfach draufladen können. Wie kann ich also direkt von/auf der/die Diskette Daten lesen/schreiben (Unter Windows)? Ich nehme nicht an, das in einem 32-bit-ProtectedModeOS wie Windows auch 16-bit-RealMode-Interrupts wie 13h funktionieren... :?
Ich danke euch im Voraus für eure Antworten! :allright:
Benutzeravatar
Proton
Beiträge: 152
Registriert: 20.06.2006 12:21
Wohnort: Eckernförde /Stadtbergen

Beitrag von Proton »

Verstehe ! Du möchtest -zum Gebrauch unter Windows- ein OS schreiben !?

:bounce:
Zitat:
"Ich kann mich vor die Meute stellen und für Nichts kämpfen. Ich kann aber auch einen Schritt zur Seite gehen, die Meute vorbeiziehen lassen und dabei meine Zeit angenehm bei Freunden verbringen.". Da hat er Recht, mein Pap's.
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Beitrag von Marvin »

Neeeeiiiiin! <)
So bescheu* bin nicht mal ich! :lol:
Ich möchte ein sehr einfaches RealMode-OS schreiben, das mit einem sehr sehr einfachen FS ausgestattet ist.
Und mit diesem FS möchte ich auch unter Windows arbeiten können.
Ich müsste bloß wissen, wie ich mit Windows unter FASM direkt auf die Diskette zugreifen kann (also FS-unabhängig, nur die rohen Sektoren etc.)! :mrgreen:
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Marvin hat geschrieben:Ich müsste bloß wissen, wie ich mit Windows unter FASM direkt auf die Diskette zugreifen kann (also FS-unabhängig, nur die rohen Sektoren etc.)! :mrgreen:
Ich trag keine Verantwortung für eventuelle Schäden, die durch den Gebrauch dieser Software entstehen können!

Code: Alles auswählen

Filename.s="\\.\A:"

If ReadFile(0, "C:\...\blah.img")
  
  Size = Lof()
  If Size > 0
    *Mem = AllocateMemory(Size)
    If *Mem
      ReadData(*Mem, Size)
    Else
      CloseFile(0)
      Goto Exit
    EndIf
  Else
    CloseFile(0)
    Goto Exit
  EndIf
  
  CloseFile(0)
Else
  Goto Exit
EndIf

If CreateFile(0, Filename)
  
  WriteData(*Mem, Size)
  
  CloseFile(0)
EndIf

Exit:
If *Mem
  FreeMemory(*Mem)
EndIf
End
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten