0. https://github.com/rvalles/pyamigadebug/blob/master/NBDServe...
87 karma · joined May 3, 2021
0. https://github.com/rvalles/pyamigadebug/blob/master/NBDServe...
0. https://github.com/rvalles/optromloader/
1. https://github.com/rvalles/optromloader/blob/master/optromlo...
My current local code has new strategies and also does dynamic hires, but it's an uncommitted mess.
Thanks to IceStorm/yosys/nextpnr, I never had to touch a proprietary tool to do this.
There's now very cheap, OSHW development boards to get started with[2].
I will read your comments, and try to answer questions if any.
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.
Workbench is what it is.
re: Amiga, it is sad that, with 256KB of ROM, they couldn't fit a key combination to call exec's Debug() in the strap module.
I understand that, somehow, nobody thought about it.
My pyamigadebug[1] is backed by this debugger and the newer SAD that replaces it in AmigaOS 3.x.
Making function calls and uploading code to the Amiga and running it is made trivial by pyamigadebug. My AmigaXfer[2] is built on this.
[0]: https://archive.org/details/amiga-rom-kernel-reference-manua...
[1]: https://github.com/rvalles/pyamigadebug/
[2]: http://aminet.net/package/comm/misc/amigaXfer_win32 [2]: https://github.com/rvalles/pyamigadebug/releases
Tiny question, tiniest bit answer :-D
To add some context, these RomTag structures reside in ROM, so they can't be edited.
The table of residents is, however, in RAM. It should be possible to add RomTags to it, or copy the ROM ones to RAM and modify them there. Conveniently, I did not need to do so.
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.
It might have something to do with my user being new. Who knows what secret rules are in place for that.
I'm hopeful this will change soon, but who knows.
openbsd's httpd seems to be handling the load well.
I will read your comments if any :)