Closed ecm-pushbx closed 6 months ago
There is a call to int 13h function 48h in https://hg.pushbx.org/ecm/edrdos/file/1137afe0115d/drbio/disk.asm#l2483
It would be more difficult to set up ds = 40h for this because it uses ds:si -> buffer to write to. However, it is run only from the entrypoint floppy_type which seems to always have dl in the range 0 to 3. So since the contribution to not call function 48h for diskettes it appears that this function is actually never called any longer! So it's dead code, no concern for the Book8088 bug.
This is the work around: https://hg.pushbx.org/ecm/edrdos/rev/1e0d46b4014c (It used to call the function with ds = 70h which would corrupt a different byte than 00041h.)
This is more hardening, setting CY and cx=0 (and dh=al=0 like in lDOS MBR): https://hg.pushbx.org/ecm/edrdos/rev/1137afe0115d