I'm trying to make this BIOS fit in 4096 bytes. There is a padding directive to make the ROM size exactly 8K:
Code:
times 07B1h db 0FFh ; Ensure size is romSizeK
if I remove it, the resulting binary is 4175 bytes long Almost there but I see that there is further padding with 0s in two more spots.
There are 50 bytes just before the DBT table:
Code:
new_int00E: push ax
... snip int 0E handler code ...
iret
times 32h db 0 <<<<<<< ??
;DBT - Disk Base Table (BIOS INT 13)
; 360K
DPT_360: db 0DFh ; specify byte 1; step-rate time, head unload time
... snip DPT ...
and there are another 1691 bytes after the DMA chip programming data:
Code:
dma_bytes: db 46h ; function #2 read sec
db 4Ah ; function #3 write sec
db 42h ; function #4 verify sec
db 4Ah ; function #5 format track
db 0FFh
db 0FFh
times 69bh db 0 <<<<<< to align the following code into 4k boundary ??
loc_1000: push ds
push es
but I really cannot understand the purpose of all that 0s Anybody is able to figure out this?
Thanks a lot