User Tools

Site Tools


blog:pushbx:2024:0521_mid_late_may_work

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

blog:pushbx:2024:0521_mid_late_may_work [2024-05-21 19:34:19 +0200 May Tue] (current)
ecm created
Line 1: Line 1:
 +====== 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~~
  
blog/pushbx/2024/0521_mid_late_may_work.txt ยท Last modified: 2024-05-21 19:34:19 +0200 May Tue by ecm