User Tools

Site Tools


blog:pushbx:2023:0716_early_to_mid_2023_july_work_ldebug

Early to mid 2023 July work (lDebug)

2023-07-16

This week little development happened, owing to the heat, much to do, and several days of headaches.

lDebug

The RH mode and command got its own test function with dozens of tests.

Enabling RH mode empties the silent/RH buffer.

A bugfix to an earlier change to terminate_silent_dump involving an anonymous label.

The terminator is written more consistently to the RH buffer for T, TP, P, and G outputs, including for the PRA and int 19h hook outputs.

QA command no longer requests use of auxiliary buffer.

Allow to use WHILE buffer for S and RC.REPLACE commands if it isn't already in use, fall back to auxiliary buffer else.

Add RH IN command form with match ranges. A match range is interpreted "backwards" however.

S command will set COUNT variable to length of its search pattern, to aid the searchd.sld Script for lDebug example.

lDebugX S command bugfix: In a 64 KiB segment, the S result data dump will no longer try to access bytes beyond offset 0FFFFh if the search result ends near the segment boundary.

The RH mode got documented. Two omissions so far: The two parameter form is not documented, and it is left ambiguous how indices above the oldest saved step are handled.

We are considering to add a variable which reads out as the amount of RH steps currently in the buffer.

We also want to modify the boot Y script file reading so it will fail somewhat gracefully in RH mode, rather than looping infinitely as it probably does now (if RH mode is enabled in a Y script).

Discussion

C. MaslochC. Masloch, 2023-07-16 21:17:28 +0200 Jul Sun
We also want to modify the boot Y script file reading so it will fail somewhat gracefully in RH mode, rather than looping infinitely as it probably does now (if RH mode is enabled in a Y script).

Done in https://hg.pushbx.org/ecm/ldebug/rev/dfb00345dbad

Prior behaviour: Read remaining command data in line_in, then upon the next fillbuf call display the prompt, then the auxiliary buffer guard error message, repeated infinitely.

New behaviour: Read remaining command data in line_in. Upon draining it, the prompt is displayed once, then the auxiliary buffer guard error message, then the partial last command is displayed, after this is executed the guard error appears again. After that execution of the Script for lDebug file is cancelled and control flow returns to the terminal.

So this is definitely better.

Example:

-boot protocol ldos lcdebugx.com
-g

~-y rhtest.sld
~-install rh
Register dump history enabled.
~-;A34567890123456789012345678901234567890ABCDEF
~-;B34567890123456789012345678901234567890ABCDEF
~-;C34567890123456789012345678901234567890ABCDEF
~-;D34567890123456789012345678901234567890ABCDEF
~-;E34567890123456789012345678901234567890ABCDEF
~-Error: auxbuff already guarded!
;F345678
Error: auxbuff already guarded!
~-
$ cat ../rhtest.sld 
install rh
;A34567890123456789012345678901234567890ABCDEF
;B34567890123456789012345678901234567890ABCDEF
;C34567890123456789012345678901234567890ABCDEF
;D34567890123456789012345678901234567890ABCDEF
;E34567890123456789012345678901234567890ABCDEF
;F34567890123456789012345678901234567890ABCDEF
;G34567890123456789012345678901234567890ABCDEF
;H34567890123456789012345678901234567890ABCDEF
;I34567890123456789012345678901234567890ABCDEF
You could leave a comment if you were logged in.
blog/pushbx/2023/0716_early_to_mid_2023_july_work_ldebug.txt · Last modified: 2023-07-16 20:45:31 +0200 Jul Sun by ecm