TLDR: find some Py65 enhancements on my
GitHub including support for the 65816, a real-time debug window and a few basic VIA and ACIA interrupts.
As a frequent reader I've gotten a lot of great information for my 6502 builds from the forum. Thanks to everyone for making this a great resource for hobbyists. I thought I'd share a few things I've done recently.
On the emulation side of things, I've worked with
Py65 to help develop a version of Forth for my 6502 build. I wouldn't have had the patience to debug the program on my hardware, so Py65 was indispensable. I got my first introduction to Python by modifying Py65 to simulate mass storage access to test my Forth's Block word set.
With some Python experience under my belt, I decided adding some basic VIA and ACIA interrupt support so I could use my hardware binary directly in Py65. Maintaining a separate version of my code for Py65 was actually easier than modifying Py65 to handle the interrupts I was using. I'd say in most cases that's the way to go, but I haven't missed maintaining two versions of my code.
At this point, just for fun, I decided to add a real-time debug window to Py65. This is useful to examine what's going on while your program is running and without messing up your program's console I/O. See a sample screenshot
here.
At this point my focus was shifting toward the 65816 but I was hesitant to get too far into a build without having an emulator. Given my experience with modifying Py65, I decided to take a stab at adding support for the 65816. I figured this would be fairly straight forward, but it was a lot of work (and it still isn't complete).
I've consolidated all of these enhancements into a local package that works alongside Py65. You can find out more at my
py65816 repository. The features are pretty rough right now. I'm not sure if Py65 is being worked on anymore or if my enhancements have much appeal generally, but if so, perhaps someday they'll be of sufficient quality to be included.
I'd appreciate any suggestions for improvement.
Thanks
Terrance