hi, wenn ich eine diskette mit fat12 formatieren will, muss ich doch einfach nur den bootsektor neu schreiben und dann 18 sektoren lang nullen schreiben, oder?
das hab ich zumindest dann mal probiert mit folgendem code (die werte fpr den bootsektor habe ich aus dem FAT12-tutorial, das auf der lowlevel-tutorials-seite verlinkt ist):
format_start dw 0 ; diskettenformatierung
db 0 ; JmpBoot
db "noreos " ; OSName
dw 0xFF ; BystesPerSec
db 1 ; SecPerClus
dw 1 ; RsvdSecCnt
db 2 ; NumFATs
dw 224 ; RootEntCnt
dw 2880 ; TotSec
db 0xF0 ; MediaType
dw 9 ; FATSize
dw 18 ; SecPerTrack
dw 2 ; NumHeads
dd 0 ; HiddenSec
dd 0 ; TotSec32
db 0 ; DrvNum
db 0 ; Reserved
db 0x29 ; BootSig
dd 0 ; VolumeID
times 11 db 20h ; VlumeLabel
db "FAT12"
times 3 db 20h ; FileSysType
times 448 db 0 ; Dateilänge: 512 Bytes
dw 0AA55h ; Bootsignatur
times 9216 db 0 ;
...
diskreset:
mov dl, 0 ; Erstes Diskettenlaufwerk
mov ah, 0 ; Laufwerk zurücksetzen
int 13h ; int
jc diskreset ; fehler? nochmal
diskformat:
mov cx, 0 ; Cylinder=0 Sektor=0
mov dx, 0 ; erstes diskettenlaufwerk, Head=0
mov ax, ds
mov es, ax ; segment
mov bx, format_start ; offset
mov ah, 3 ; sektoren schreiben
mov al, 19 ; 19 stück
int 13h ; int
jc diskformat ; fehler? nochmal
wenn ich das ausprobiere, macht an dieser stelle das betriebssystem einfach nichts mehr. hab das problem schon ein paar wochen und echt keine ahnung, was ich falsch mache.
wie ihr seht, bin ich seit dem letzten mal nicht viel weitergekommen.
deshalb wäre ich über hilfe sehr froh.