Could you send proposal mail for these to the Hatari mailing list (with a link to here), to get a bit more discussion on them?
It's good to get others' opinion on them before implementation, so that all angles / details are considered before implementation...
(There's currently also discussion on proposal for a "struct" command for outputting structure values without extra noise.)
TheNameOfTheGame wrote: ↑Sun Feb 25, 2024 11:41 pm
That would be a good solution. An 'echo' would be very useful. And maybe a command to suppress the output of the command prompt until the breakpoint file was finished like 'noprompt' which would be helpful when printing successive memory areas from structures without the 'noise' of the command prompt between lines?
Sounds reasonable. I think its scope should be limited to a file in where that command is given, or given debugger session, so that prompt is back again when debugger file parsing ends, or one enters debugger again.
Another possible syntax would be "prompt <on/off>", in case one wants prompt back before the scope ends...
TheNameOfTheGame wrote: ↑Mon Feb 26, 2024 12:50 am
Btw, would it be possible to add a command like 'screen <address>' to temporarily display another screen address from the debugger?
When reverse engineering game code, it is always a problem not being able to see the logbase screen as it is being built before swapping to physbase.
So I could break on, for example, the tile drawing routine, set the 'screen' and then 's', 'n' or breakpoint and watch the logbase being drawn. Then when I enter 'c' it would switch back to physbase and continue on. That would be a very useful feature.
Hatari screen drawing is quite complicated as it supports different ST/STe, TT & Falcon modes,
and Spectrum512 mode with
per-line palettes.
SDL2 supports multiple windows. While it would be quite a bit of work, now that Hatari dropped SDL1 support, another window could be used to draw such things.
Because rest of Hatari code is not prepared for interaction from multiple windows, it should probably be something that pauses Hatari until user closes the new window.
With a separate window, any size graphics could be shown from memory, and while it should default to current Atari screen settings, it could also allow specifying bit-depth and palette address for that gfx area:
Code: Select all
window <address> <width> <height> [bits] [palette address]
That's quite a bit of stuff to code though, and while I could look into
echo,
prompt, and
struct commands, screen/window/gfx command would probably require somebody else contributing support for that. Discussing the matter on hatari-devel could get somebody interested into contributing such a thing...