Implement reading geometry info from floppy BPB
This commit is contained in:
parent
6317d48396
commit
9377924eab
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user