So as promised I spent a bit of the bank holiday weekend hacking on the FPGA Spectrum to fix a few bugs. In the end I got carried away and finished up with a full implementation of the 128K Spectrum +2A running ResiDOS and loading emulator images from an SD card. It’s still not cycle accurate, but it is feature complete apart from the disk controller, which isn’t really needed thanks to the ZXMMC+ compatibility that went in as well.
Emulating bus contention and improving the cycle accuracy of the T80 core is definitely on the cards, but for now the ability to finally load emulator images from SD makes the machine extremely usable. An explanation of how to get this up and running is a job for another post (hint: format the card as IDEDOS and bootstrap ResiDOS into the extra RAM), but for the time being here is a detailed write-up and the full VHDL source.
And let’s not forgot the obligatory eye candy…
Wonderful new features – using ZXMMC to interface the SD Card is a clever move.. no having to write or modify a disk system as it’s already been done on the real hardware
One of the things I’ve got planned is a break-out board with kempston and sinclair joystick ports, +3 disk drive hardware and a ps/2 mouse port which gets converted into a “k-mouse” signal. I had been planning to interface a real divIDE too – but your MMC solution trumps that!
The additional hardware will come later however. The new screenmodes etc will come first (and I’ll also be taking a look at that issue with interrupts, R register etc)