The progress on the C64 cartridge has been tremendous lately. I have received some design help for the PCB routing, and the end result is very promising. Just 15 minutes ago I submitted the Eagle files to the factory for a test batch of 5 boards. All components are in stock and my fingers are anxiously drumming on the desk.
Will it work? What if it doesn't? Have I left out something crucial?
Why won't it work? What have I done!?
Ok, so to distract myself, I started playing with the 3 chip computer the other day, which got some unexpected attention. I decided to push it a little further, and did some tinkering on it last night:
First off, the ATmega now reports the current scanline being rendered to address $10 (think VSYNC). The 6502 uses this to time the blinking cursor. I settled on a 16x16 resolution, which conveniently fits the $200-$2ff address space. The kernel is currently some 80-odd bytes and still as a lot of room to grow in. By borrowing unused ZP and a chunk of the stack that will never be used, I managed to squeeze out 320 bytes of user memory.
The BASIC implementation is so minimal, I decided to name it YoctoBASIC, yocto being the smallest metric (10-24) I could find. With a little luck, I'll manage to implement PRINT and INPUT.
Also, PS/2 keyboard support is on the way. Similar to the VSYNC implementation, the ATmega will read the keyboard and poke the value to a Zero Page address.
Update: The PCBs have arrived and are currently in the first test stage.