====== Mid late May work ====== **2024-05-19** ===== lDOS MBR ===== * [[https://hg.pushbx.org/ecm/ldosmbr/rev/87aefba5ef79|Work around Book8088 / Xi8088 BIOS bug]] when detecting LBA * Optimisation: [[https://hg.pushbx.org/ecm/ldosmbr/rev/666bdcbd893c|Do not zero CX after rep movsw]] * [[https://hg.pushbx.org/ecm/ldosmbr/rev/481b271306c5|Normalise function 41h input]] al=dh=0 * Optimise: [[https://hg.pushbx.org/ecm/ldosmbr/rev/e8baa76d3497|Share pushing DI]] before oldmbr CHS and LBA dispatch * [[https://hg.pushbx.org/ecm/ldosmbr/rev/4daac344db4d|Check for CHS overflow]] * [[https://hg.pushbx.org/ecm/ldosmbr/rev/c01d315dc6a3|Share setting DL]] after oldmbr CHS and LBA dispatch * Optimise: [[https://hg.pushbx.org/ecm/ldosmbr/rev/3a6fb0c4c63e|Make secpercyl a word]], and re-use zero in DX * [[https://hg.pushbx.org/ecm/ldosmbr/rev/7c7e842cefbd|Drop CHS overflow check for last division]], it is always passed * [[https://hg.pushbx.org/ecm/ldosmbr/rev/998133cbf221|Optimise placing CHS values]] ===== lDOS boot ===== * [[https://hg.pushbx.org/ecm/ldosboot/rev/e29b5abe15ef|Normalise int 13h function 41h input]] al=dh=cx=0 to match lDOS MBR (**ETA**: Only for iniload and testwrit, not for boot and boot32.) * testwrit: [[https://hg.pushbx.org/ecm/ldosboot/rev/11e4d3229b7d|Optimise using shr rather than test]] after LBA check ===== lDebug ===== Same as lDOS boot: [[https://hg.pushbx.org/ecm/ldebug/rev/f4d97cc70acc|Normalise function 41h inputs]] and [[https://hg.pushbx.org/ecm/ldebug/rev/ae0fc115317e|optimise testing low bit of CX]] ===== wwwecm scripts ===== [[https://hg.pushbx.org/ecm/wwwecm.scr/rev/3ee431b27d8a|Avoid hg clean command for MS-DOS v4 fork builds]]. This avoids rebuilding everything, and works around a problem in which the msdos.cl? files were wrongly created. ===== MS-DOS v4 fork ===== * [[https://hg.pushbx.org/ecm/msdos4/rev/c88433379227|Normalise int 13h function 41h inputs]] al=dh=cx=0 to match lDOS MBR * msdata: [[https://hg.pushbx.org/ecm/msdos4/rev/111bac053358|Insert maximum size page directive]] to avoid a false positive of detecting a segment directive (details in changeset message) * mknode: [[https://hg.pushbx.org/ecm/msdos4/rev/e8e229997fb9|Bugfix, when appending to directory increment full 32-bit sector number]] rather than only low 16 bits * dir: [[https://hg.pushbx.org/ecm/msdos4/rev/af3f41eecc58|Allow cluster size >= 64 KiB]] and do not show zero free space in that case * [[https://hg.pushbx.org/ecm/msdos4/rev/93d0d1afd5f0|Support 128 and 256 Sectors per Cluster]] (128 is compatible to late Microsoft drivers, 256 is compatible to EDR-DOS) * [[https://hg.pushbx.org/ecm/msdos4/rev/acbecd352956|Update xmaem makefile to refer to correct message file]], avoiding unneeded rebuild * [[https://hg.pushbx.org/ecm/msdos4/rev/b1c53ec14a3d|Fix memm makefile to copy rather than rename]] emm386.exe to emm386.sys, and add the latter as a target (avoiding unneeded rebuild) There were [[https://hg.pushbx.org/ecm/msdos4/rev/1a5b3b337a40|several]] more [[https://hg.pushbx.org/ecm/msdos4/rev/b340700e5d67|changesets]] to try to address the build failures due to hg clean and the msdos.cl? files being created wrongly. These [[https://hg.pushbx.org/ecm/msdos4/rev/caad942ce959|were reverted however]], as [[https://hg.pushbx.org/ecm/wwwecm.scr/rev/3ee431b27d8a|the work around in the wwwecm scripts]] addresses these problems. ===== kernwrap ===== [[https://hg.pushbx.org/ecm/kernwrap/rev/c3e3477656af|Add an option for running the decompression size test]]. As this is not needed by MS-DOS or EDR-DOS, [[https://hg.pushbx.org/ecm/kernwrap/rev/a4435ef79346|disable this test by default]]. ===== Enhanced DR-DOS ===== * [[https://hg.pushbx.org/ecm/edrdos/rev/1e0d46b4014c|Work around the Book8088 BIOS bug]] * [[https://hg.pushbx.org/ecm/edrdos/rev/1137afe0115d|Harden int 13h function 41h call]] with cx=dh=al=0 and CY I also [[https://github.com/SvarDOS/edrdos/issues/56|talked about this on the SvarDOS EDR-DOS tracker]]. I did note there that the int 13h function 48h call in disk.asm is never called as [[https://hg.pushbx.org/ecm/edrdos/rev/18f345fe99d5|a contribution disabled it for diskettes]], but this call is only ever reached for diskettes. ==== Single-file load and SYS ==== [[https://github.com/SvarDOS/edrdos/issues/57|More discussion of the single-file load]] took place on the SvarDOS EDR-DOS tracker. FreeDOS SYS is being extended to allow installing lDOS edrdos.com (/OEM:LEDR), lDOS edrpack.sys (/OEM:LEDRPACK), lDOS lmsdos.com (/OEM:LMS), or lDOS lmspack.sys (/OEM:LMSPACK). The patch for this is still in flight. {{tag> ldosmbr ldosboot ldebug wwwecm msdos4 kernwrap edrdos}} ~~DISCUSSION~~