Implement reading geometry info from floppy BPB

This commit is contained in:
Nero 2020-05-04 19:49:26 +00:00
parent 6317d48396
commit 9377924eab

View File

@ -65,6 +65,10 @@ select_floppy:
xor ax, ax
call seek
call read
mov ax, [disk_buffer+0x0B+bpb_spt]
mov [disk_spt], ax
mul word [disk_buffer+0x0B+bpb_nos]
mov [disk_tracks], ax
ret
; Set absolute sector number
@ -84,14 +88,13 @@ seek: push ax
ror dl, 1
ror dl, 1
or dl, ah
;inc dx
inc dx
; dh bit 0-7: cylinder 0-7
; dl bit 0-5: sector number 0-5
; dl bit 6-7: cylinder 8-9
; store
mov byte [disk_chs+1], al
mov word [disk_chs+2], dx
int 3
ret
seek_zero:
@ -106,11 +109,9 @@ read: mov ax, 0x0201
lea bx, [disk_buffer]
push cs
pop es
int 3
int 0x13
int 3
ret
; Write a sector into buffer
write:
write: stc
ret