====== October/November work ====== **2023-11-05** This week I worked some on Extensions for lDebug and [[https://hg.pushbx.org/ecm/wwwecm.scr/rev/0fbdbb71661d|did one change to the wwwecm scripts]]: The update function for hg repos will run an ''hg clean -%%%%-all'' command before building the repo using its ''mak.sh'' scripts. This clears away stale files like the listings and executables of the SOTF ELD after it was renamed to CO.ELD. ===== ELD-unrelated changes ===== * [[https://hg.pushbx.org/ecm/ldebug/rev/cc4c84ef509b|Retire an unused DCO1 flag]] named ''pagingdevice'' * [[https://hg.pushbx.org/ecm/ldebug/rev/d74e302729a3|Add install flag PAGING]] for reverse DCO1''nonpagingdevice'' * [[https://hg.pushbx.org/ecm/ldebug/rev/528deb076d1c|Disable _EMS, _RN, and _RM]] by default * [[https://hg.pushbx.org/ecm/ldebug/rev/f17f46590b9c|Bugfix]]: Do not depend on puts preserving or lowering CX in dumpregs * [[https://hg.pushbx.org/ecm/ldebug/rev/1bae34a9bf08|Two additional spots]], in lineio.asm and the immediate assembler, which expected puts to preserve registers ===== ELD infrastructure ===== * [[https://hg.pushbx.org/ecm/ldebug/rev/f4e0f751a4d8|Share cld instruction]] for all AMIS handlers, and document UP STT * [[https://hg.pushbx.org/ecm/ldebug/rev/4ca780fffeda|Document AMIS interface]] in [[https://pushbx.org/ecm/doc/ldebug.htm#eldamis|the manual]] and [[https://hg.pushbx.org/ecm/ldebug/rev/4430e2fd380d|in the assembly sources]] * [[https://hg.pushbx.org/ecm/ldebug/rev/52c76620d41b|Add assembler inject handler]] (unused yet) * [[https://hg.pushbx.org/ecm/ldebug/rev/e1afb14b7444|Add assembler before and after getline handlers]] (for AFORMAT) * [[https://hg.pushbx.org/ecm/ldebug/rev/1e4b09d710a8|Default enable _EXTENSIONS]] build option * ELD puts handlers expected to form a chain of downlinks, similar to command handlers * Add ''puts_ext_next'' entrypoint [[https://hg.pushbx.org/ecm/ldebug/rev/fd0f3ab6b52e|to call subsequent puts handlers]] from within an ELD puts handler * Update manual on [[https://pushbx.org/ecm/doc/ldebug.htm#cmdext-elds|current ELDs]] and EXT/Y command [[https://pushbx.org/ecm/doc/ldebug.htm#cmdypathnames|pathes]] ===== ELD architecture ===== * [[https://hg.pushbx.org/ecm/ldebug/rev/d08e5c5198a2|eldcomp]] and [[https://hg.pushbx.org/ecm/ldebug/rev/100aac705f38|set.eld]] now use new-style puts handlers with downlink headers * Some ELDs [[https://hg.pushbx.org/ecm/ldebug/rev/de37f7566934|share the code for hooking or unhooking handlers]], such as AFORMAT's command, preprocess, aa before, and aa after getline handlers * set.eld oneshot operation with /E flag [[https://hg.pushbx.org/ecm/ldebug/rev/bce2333978cf|will mark ELD as resident]] during the injected command's run ===== Specific ELDs ===== * ldmem.eld: Add display of more ELD handlers * aformat.eld: Dump written bytes after the assembler has handled an instruction * ldmem.eld: Split code into nouns, allow to specify nouns (default if none specified is ''ALL'') * bases.eld: Display an expression (32 bits) or literal (64 bits) in different bases * set.eld: Fix to mark oneshot run with /E switch as resident during command injection * set.eld: [[https://hg.pushbx.org/ecm/ldebug/rev/76938235f60f|Bugfix, allow multiple /E commands]] from resident ELD * set.eld: Use new style puts hook, improving the interaction with eldcomp * eldcomp.eld: Use new style puts hook * useparat.eld: Insert a line of underscores or equal signs after disassembling instructions that end a control flow. This ELD tries to detect disassembly of certain instructions (retn, retf, iret, jmp, mov ah, mov ax, int 20, int 21) as well as the last line of the register dump from a R command (starts as "DS=" or "IP="). {{tag>ldebug eld wwwecm}} ~~DISCUSSION~~