I had thought about trying this myself but gave up after realising I'd not have access to Trackdisk.device from Romwack - Didn't know about Coolcapture/Warmcapture. I guess I need to read up some more!
For the BERR case, without the initial reboot, Amiga will just crash again when calls are made from the exception handler. Recovering control after a reboot is a nice and clean way to get the Amiga into a known state. It is definitely also doable without rebooting, but somewhat more involved.
Else, when entering the debugger via e.g. the extra debug menu present in workbench when loaded via "loadwb -debug", the context RomWack works with is a user context, so I just take over the user task. As long as I don't corrupt the stack (or anything else), I can even return cleanly.
Hey, you're not doing so bad yourself with your Amiga OSHW either!
There's much work to be done with the Amiga in the OSHW front, thus this is very welcome.
I intend to read your mem68k-like board's Verilog at some point in the near future. I might want to build one of these, but even if I don't, I wish to learn how it works.
Regarding trackdisk.device, you might want to take a look at:
https://github.com/rvalles/pyamigadebug/blob/master/ExecLibr...
And the function calling mechanism for RomWack backend:
https://github.com/rvalles/pyamigadebug/blob/master/RomWack....
Ultimately, TrackdiskDevice ends up being a thin wrapper around ExecLibrary:
https://github.com/rvalles/pyamigadebug/blob/master/Trackdis...
For performance purposes, the Floppy tool does instead use this small server written in asm:
https://github.com/rvalles/pyamigadebug/blob/master/asm/flop...
And the python boilerplate client to talk with it:
https://github.com/rvalles/pyamigadebug/blob/master/FloppyXf...
For the BERR case, without the initial reboot, Amiga will just crash again when calls are made from the exception handler. Recovering control after a reboot is a nice and clean way to get the Amiga into a known state. It is definitely also doable without rebooting, but somewhat more involved.
Else, when entering the debugger via e.g. the extra debug menu present in workbench when loaded via "loadwb -debug", the context RomWack works with is a user context, so I just take over the user task. As long as I don't corrupt the stack (or anything else), I can even return cleanly.