User Tools

Site Tools


blog:pushbx:2026:0602_mid_to_late_may_work

Differences

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

Link to this comparison view

blog:pushbx:2026:0602_mid_to_late_may_work [2026-06-02 16:44:37 +0200 Jun Tue] (current)
ecm created
Line 1: Line 1:
 +====== Mid to late May work ======
 +
 +**2026-05-31**
 +
 +
 +===== lDOS kernel =====
 +
 +  * [[https://hg.pushbx.org/ecm/msdos4/rev/713242bd5dc3|Fix to not find a character device on FindFirst]] with an exact name match and the volume label attribute bit set. (Contains testfind.asm, a test case.) This bug used to be [[https://github.com/LoopZ/TheList/blob/fa803c25cf653ded00c49fdbdbb38ddeb9457ace/source/Interrupt%20List/INT%2021%20DOS%20Function%20Calls/INT%20214E%20DOS%202%20FINDFIRST%20FIND%20FIRST%20MATCHING%20FILE.txt#L35|documented in the interrupt list]], except the sense is wrong. The intended (MS-DOS v5) behaviour is to never find devices when searching for labels. The DEVNAME function checks "Attrib" to determine that a label search is in progress, but it was set from "SAttrib" only later. The fix, copied from tracing MS-DOS v5, is to init Attrib from SAttrib before calling DEVNAME.
 +  * [[https://hg.pushbx.org/ecm/msdos4/rev/093ed90cb5a9|Convert an InternalError infinite loop to a DEVCRASHDOS call]]. Infinite loops are rude.
 +  * The first changeset apparently patched the not selected part of an ''%if 0'' construct. This changeset corrects this, [[https://hg.pushbx.org/ecm/msdos4/rev/ce4b8b95ae96|copying the patch]] to the selected part of the construct.
 +
 +
 +===== FIXUPP =====
 +
 +  * [[https://hg.pushbx.org/ecm/fixupp/rev/ed260612698e|Patch the vcovl.obj SUBS segment from A2 to A3]] (paragraph alignment). This was needed for linking Volkov Commander v4.99 exactly identicalised.
 +
 +
 +===== tractest/convlist.pl =====
 +
 +  * [[https://hg.pushbx.org/ecm/tractest/rev/4e5cd2f7ff8e|Support .CODE directive]] in medium model (prepends module name to _TEXT section name) or with name (uses the name as section name).
 +  * [[https://hg.pushbx.org/ecm/tractest/rev/5050ea42e89f|Support TASM]] ''>'' in dump (used for REPE/REPNE prefixes) and ''sr'' far relocations (8 hexits + multiple of ''[sore]'')
 +
 +
 +===== lDebug / Loader =====
 +
 +  * doc: [[https://hg.pushbx.org/ecm/ldebug/rev/3f99b6e6d4f6|Update cmdext-elds, rcref-0E, and eld-nreserve]] with the nreserve Extension for lDebug.
 +  * [[https://hg.pushbx.org/ecm/ldebug/rev/86c3202fc3b5|Detect an overlap in the loader_get_resident_address function]], disallowing installation of nreserve.eld if it would overlap the loader itself.
 +  * [[https://hg.pushbx.org/ecm/ldebug/rev/87e3593ec805|Add a simple overlap check]] to loader MOVE command.
 +  * [[https://hg.pushbx.org/ecm/ldebug/rev/d01dd449bdf4|Consider the EBDA size]] for the loader overlap check.
 +
 +
 +Yet to be done:
 +
 +  * An ELD or ldmem.eld mode to display the position and size of the Low Memory Area, and of NLDR, NDEB, NEXT, NSYM, and EBDA allocations above the top of the Low Memory Area, plus those of a bottom or top positioned NLDR
 +  * nreserve.eld support uninstalling an installed NEXT allocation.
 +
 +
 +===== The List =====
 +
 +  * [[https://github.com/LoopZ/TheList/pull/113|ecm 2026-05d]]: 21.4301 list attribute bit 6 as indicating character device (for FindFirst and FindNext), update 21.4E character device size and v3/v4 label search bug.
 +  * [[https://github.com/LoopZ/TheList/pull/114|ecm 2026-05e]]: Update the 21.4E label device search bug fix date for lDOS kernel, as the first fix was to the wrong leg of an ''%if'' construct.
 +
 +
 +===== Volkov Commander =====
 +
 +The source texts of [[https://github.com/ddanila/vc|Volkov Commander v4.05 and v4.99.09 have recently been released]] under the simplified 2-clause BSD license. I've been looking into linking them with WarpLink, and might work on porting them to assemble with NASM instead of TASM.
 +
 +Unfortunately, I noticed that the v4.99.09 revision does not include a working editor. Some of the sources do relate to the editor, but uncommenting them does not result in a working application. One problem is that TASMX (the assembler running as a 16-bit DPMI application) always runs out of memory trying to assemble the modified sources. Using TASM32 instead is possible, but then the assembling fails in different ways as some symbols aren't resolved.
 +
 +
 +{{tag>ldos msdos4 fixupp tractest convlist.pl ldebug loader list vc}}
 +
 +
 +~~DISCUSSION~~
  
blog/pushbx/2026/0602_mid_to_late_may_work.txt ยท Last modified: 2026-06-02 16:44:37 +0200 Jun Tue by ecm