There's a joke that goes something like this.
- "What is the most important part of a joke?"
And, as it turns out, timing is apparently quite important for my code as well. My original timing was way off, but after removing a bunch of unnecessary delays, speeding up the ATmega clock, and pulling a few more tricks, the code gradually started working.
I'm still experiencing some issues now and then, but this becomes increasingly rare as the code gets more mature every day.
Have a look at the video below for a quick summary. Apart from the APECAT board, this Amiga has nothing attached.
As much as I hate hearing my own voice, I've made a short clip here explaining how the board works, including a short demo of it.
Even though this was just a silly test program in this video, we can go deeper and think bigger. We can patch the system kickstart and do all sorts of magic behind the scenes, as we now have complete control over the system.
Right now I'll start drawing revision 2 of the PCB and we'll see where that takes us. I'm aiming for infinity and beyond.
(Thanks to commenter John ][ for inadvertently having me take another look at the code)