This is a release of the "pico" fork of unrealspeccyp, because people keep asking for it!
See this project's README.md for more information.
Features
- Spectrum 48K and 128K emulator based on unrealspeccyp.
- VGA output.
- Beeper output pin for 48K spectrum (i.e. just wiggling the pin like the real Spectrum!).
- AY sound output for 128K spectrum.
- .TAP, .SNA, .Z80 support (embedded in binary).
- This port was development during pre-silicon RP2040 development. Therefore, it had to run at 48Mhz, and indeed.
both 48K and 128K emulators still run by default at a 48Mhz system clock. - Read/Write on RP2040 GPIO pins - because why not? (see bitbang app).
Some caveats
- The sole reason for this project's existence was as a system test/bit of fun during early development of the RP2040, it is
not intended to be the best, full-featured emulator. I have open sourced it as people keep asking! - 'Khan' is the codename I used to keep what I was doing secret :-)
- No doubt these terse instructions will prove frustrating for some; feel free to submit PRs!
- You cannot currently use beeper/tape noise and AY sound at the same time (as they use different mechanisms) -
actually I think there is support for using one PWM channel for each, but IDK if it still works. - I did some recent cleanup in preparation for open-source:
- Untangled the horrible mess of symlinks that had this building within another makefile project prior to the Pico
SDK. - Added USB keyboard support (this seems fine - though I had to hunt for more RAM, so it is possible this may
break something - you can run with or without). - Hopefully got a license on everything important.
- Added some I2S support - this is only for AY sound as the beeper just wiggles a pin. Sadly my I2S decoder
doesn't like 22050Hz, so I had to up it to 24000Hz. I don't necessarily recommend using this if you can use PWM
(the default).
- Untangled the horrible mess of symlinks that had this building within another makefile project prior to the Pico