Browse Source

fsinfo bug should have been fixed

pull/1/head
Jørn Guldberg 7 years ago
parent
commit
d9aa5d50ed
  1. 29
      vsfs/lsfs.nasm

29
vsfs/lsfs.nasm

@ -79,35 +79,20 @@ lsfs_format_disk:
popa
ret
.lsfs_format_disk_buffer db 'LSFS v0.0.4', 13, 10, '(LessSimpelFileSystem)', 13, 10, 'Developed to SingOS', 13, 10, 'by Jorn Guldberg', 13, 10, 0 ; 66 chars + 8 bytes
.lsfs_format_disk_buffer db 'LSFS v0.0.6', 13, 10, '(LessSimpelFileSystem)', 13, 10, 'Developed to SingOS', 13, 10, 'by Jorn Guldberg', 13, 10, 0 ; 66 chars + 8 bytes
times 429 db 0
dw LSFS_magic_start_sector, 0, 1 ; Start index, number of files, next free index
lsfs_get_fs_info:
pusha
xor ax, ax
xor bx, bx
xor cx, cx
xor dx, dx
.DAPACK:
db 0x10
db 0
.blkcnt: dw 1 ; int 13 resets this to # of blocks actually read/written
.db_add: dw 0x0000 ; memory buffer destination address (0:7c00)
.db_add_sec: dw 0x0050 ; in memory page zero
.d_lba: dd LSFS_magic_start_sector ; put the lba to read in this spot
dd 0 ; more storage bytes only for big lba's ( > 4 bytes )
mov DWORD [.d_lba], LSFS_magic_start_sector
mov WORD [.blkcnt], 0x1
mov WORD [.db_add_sec], 0x50
mov WORD [.db_add], lsfs_loading_buffer
mov si, .DAPACK ; address of "disk address packet"
mov WORD [DAPACK.db_addr_offset], lsfs_loading_buffer
mov WORD [DAPACK.lba_addr_dw_one], LSFS_magic_start_sector
mov WORD [DAPACK.blkcnt], 0x1 ; Read to sectors, that is what the space is for the buffer in svim
mov WORD [DAPACK.db_addr_segment], 0x50
mov si, DAPACK ; address of "disk address packet"
mov ah, 0x42 ; READ
mov dl, [global_disk_identifier] ; drive number 0 (OR the drive # with 0x80)
mov dl, [global_disk_identifier]
int 0x13
mov si, lsfs_loading_buffer

Loading…
Cancel
Save