Hi, I’m working on emulating Sinclair ZX Spectrum 8-bit computer on PicoCalc.
PicoCalc, with its color 320x320 display and rubber qwerty keyboard is in many ways so much similar to ZX Spectrum…
And so I have zx-2040 emulator somewhat running now on Picocalc. Main issue is a low-level keyboard driver, or lack of it. I’d love to have it interrupt-based, but I can’t find information how to do it or whether it’s possible. If you have a knowledge on advanced I2C keyboard programming - please contact me.
Anyway, here are some Spectrum games I tried:
More information about zx-picocalc project on my blog.
I’m very interested in this port also (played too much time with a ZX Spectrum as a kid). Something super cool would be to map the Kempston joystick input to the cursor keys in the PicoCalc, so it’s a lot more straightforward experience.
I just got a PicoCal over the weekend, could try to add that mapping if you post a link to your code?
Yeah, I’d rather have BIOS updated by ClockworkPi to limit fragmentation. I think I will just move keyboard polling to a second core and leave the first one with z80 emulation.
Btw, what I’d really love would be additional I2C command that reads raw keyboard row/column state. That way the games could easily support several key pressed at a time. Passing that info to the emulators would also be much more direct.
Don’t get me wrong, current BIOS function does a great job returning ASCII codes for regular productivity apps, but there are other use cases…
Actually, I could support both APIs for maximum compatibility