|
|
— |
blog:pushbx:2024:0521_mid_late_may_work [2024-05-21 19:34:19 +0200 May Tue] (current) ecm created |
| ====== 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~~ |
| |