- uses INT 12 to find the top of low memory in continuous 1k blocks
- subtract 0x54
- AND with 0xFFF0
- Shift left 6
DH boot mode flags == mini-FSD is present, micro-FSD is present
DL drive number for the boot disk == 0x80
DS:SI is a pointer to the BOOT Media's BPB 8800:000B (0x8800B)
ES:DI pointer to a filetable structure 8800:124A (0x8924A), filetable structure has the following format:
; module locations
8924A ft_cfiles dw 3
8924C ft_ldrseg dw 0x1000
8924E ft_ldrlen dd 0x0000AE00
89252 ft_museg dw 0x8800
89254 ft_mulen dd 0x00005000
89258 ft_mfsseg dw 0x7C00
8925A ft_mfslen dd 0x0000EAE9
8925E ft_ripseg dw 0
89260 ft_riplen dd 0
; microFSD vector table
89264 ft_muOpen_OFF dw 0x1A9C
89266 ft_muOpen_SEG dw 0x8800
89268 ft_muRead_OFF dw 0x1BD4
8926A ft_muRead_SEG dw 0x8800
8926C ft_muClose_OFF dw 0x1DAE
8926E ft_muClose_SEG dw 0x8800
89270 ft_muTerminate_OFF dw 0x1DD4
89272 ft_muTerminate_SEG dw 0x8800
No comments:
Post a Comment