Interface One and Microdrive emulator, WIP

Show us what you're working on, (preferably with screenshots).
Post Reply
dfzx
Manic Miner
Posts: 683
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Interface One and Microdrive emulator, WIP

Post by dfzx »

In 1985 I used all my saved up money to buy a microdrive. I loved it. I was only kid in my school who could load a game in under 10 seconds. Ever since then the microdrive has been, for me, the mass storage solution for the Spectrum. DivIDE is all fine and good, but it loses the Spectrum-ness of it all IMHO.

Sadly, the Microdrive tech is dying. We have a number of hardware-based Microdrive emulators, but they all emulate the tape drive itself and hence require an Interface One. The Interface One is becoming rare and expensive. Most people don't have one. The cartridges haven't stood the test of time, and they weren't hugely reliable to start with. There must be quite a few Spec-chums out there who've never loaded a game by typing "LOAD *" on a 48K's rubber keyboard. I find that sad. It's part of the ZX journey.

What the world needs, or at least what our little corner of the world needs, or at the very least what I want, is a device to plug into the back of a Spectrum which emulates an Interface One and Microdrive combination. Something that can load an MDR image (or 8) from SD card and present them such that "CAT 1", or "LOAD *" work as they should. Something that runs all the microdrive compatible software from the 80s, that can load and save data as well as loading games. What I want, in short, is a properly emulated microdrive expansion system backed by an SD card for storage of the MDR images.

Right. Better make one then.
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
dfzx
Manic Miner
Posts: 683
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Interface One and Microdrive emulator, WIP

Post by dfzx »

My first thought is that this project has 4 distinct components:

1) The Interface One ROM
2) The Interface One ULA and associated hardware
3) The Microdrive tape drive
4) Some sort of user interface to make it usable

The Interface One ROM bit is already done. I've done it myself. I used a Raspberry Pi Pico to emulate any ROM you care to attach to the Spectrum, and a slight tweak to it, demoed in this post, allows it to page the 8KB Interface One ROM in or out when the Z80 asks for the instructions at the magic addresses. That all works. Good start then.

The Interface One ULA. Hmmm. Better come back to this bit.

The tape drive is already well supported. vDrive, OqtaDrive, and @TomD's well chronicled ZXPicoMD are all options. I like Tom's ZXPicoMD because it's based on the Raspberry Pi Pico, the same as my ROM emulator. That matches my knowledge and skillset, plus he's very actively supporting it here at SC.

A user interface? Well that will have to be custom written. It'll need to access the local SD card, find the MDR image files, and allow the selection and "inserting" of any of them into any of 8 emulated Microdrives. A little OLED screen and some buttons most likely, but there are options here. Picos are good at this sort of thing. So although it's clearly going to be a custom UI job, there's lots of libraries already written. A project in its own right, but nothing that can't be put together relatively easily.

So I'm well on top of 3 out of the 4 bits already. Just that IF1 hardware emulation to think about.
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
TomD
Manic Miner
Posts: 379
Joined: Tue Nov 13, 2018 9:47 am
Location: Leeds UK
Contact:

Re: Interface One and Microdrive emulator, WIP

Post by TomD »

It’s an interesting idea and something I’ve been looking at as well. I think sticking to the Pico will mean using two with a fast interlink. I’ve seen this done for other projects and means other features ca be added such as VGA out. As Picos are very cheap this is an option especially if you want to have VGA or use wifi or Bluetooth, but it may also mean switching to a CPLD with loads of IO pins.

TomD
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
Post Reply