blog:pushbx:2023:1101_late_october_work_on_ldebug
Table of Contents
Late October work on lDebug
2023-10-29
This week I worked only on lDebug.
ELD-unrelated changes
- _INIT_MAX option to restore prior init allocation so that a second init relocation is never needed
- Update and delete some outdated comments
- Document DCO6 flags for ROM-BIOS I/O in the manual's service reference
ELD infrastructure
- The structures for ELD variables are now first in the isvariable? structures, meaning an ELD can override debugger built-in variables
- Link
build_option_PMequate to indicate whether debugger build is an lDebugX - Make it so offset 79h in the ELD code section is always a transfer to the debugger's
cmd3command loop - Update manual on some ELD-related topics
- Link the
yy_check_lfnfunction - Add new hook
ext_puts_copyoutput_handlerlater in puts (after silent buffer dispatch, before paging prompt), with a chain of downlinks similar to the command and preprocess hooks
ELD architecture
- Add mmacro
dw_emserrwhich adds a relocation except for parameters matching the string "0" - Fix alignment directive in amount ELD's transient data section
- X ELD intercepts
?Xcommands to display its help - Add new second parameter to
extcallwith the name "PM required" which is an optional code link if _PM=0 and a required code link otherwise - Optimise linker if no PM required code links occur
- Put the required keyword on extcall mmacro uses for
puts_ext_doneto harden against changing to extcallcall - Call
yy_reset_bufbefore writing toline_in(to discard buffered content from files)
Specific ELDs
- X ELD to add EMS commands (X commands) if debugger is built with _EMS=0
- List ELD: Drop run time check whether optional code link to interrupt call function succeeded, replaced by a PM required code link
- DTA display ELD
- List ELD: Add SFN keyword to use SFN search even if LFN search would be available
- Document AMIS message display ELD's functions in the manual
- LDMEM: Display amount of used and total ELD variables
- LDMEM: Display ELD instances corresponding to ELD variables
- LDMEM: Display command handler entrypoints and their corresponding ELD instances
- Copy Output (CO) ELD: New ELD using a new puts hook to copy debugger terminal output to a file while not InDOS
- ELD test A: Test ELD that installs multiple variables and also uses array variables
- IF EXT ELD: Allow to operate as a one-shot ELD without installing as a resident ELD. This uses command injection to run the THEN command if the condition is true. The ELD will mark itself resident for the command injection, but unmark itself before the injected command runs, allowing the debugger's EXT command's reclaim handling to reclaim all of this ELD's memory when an EXT command is run.
You could leave a comment if you were logged in.
blog/pushbx/2023/1101_late_october_work_on_ldebug.txt · Last modified: by ecm
