PicoIDE

An open source IDE/ATAPI drive emulator for vintage computers

Limited items in stock

View Purchasing Options
Feb 25, 2026

Project update 5 of 7

Testing, Testing, Testing

by Ian Scott

In my earlier update about what it took to get PicoIDE to work on the IBM PC/AT, I focused on just one computer. But IDE/parallel ATA was a standard that made its way into thousands of different systems. How can you ensure compatibility with the large majority of them?

You can follow the ATA specs the best you can, which gets you most of the way there. But to really make sure you’re covered, you need to test, and do so on as many systems as you can. Checking my testing spreadsheet, I have 40 different vintage PC systems and motherboards in my possession to test on and most can support IDE. There are other vintage systems with IDE support that I have, like the Amiga 1200, and beyond that there are modern computers employing IDE to SATA and IDE to USB adapters. In fact, in mass production of the PicoIDE as part of the final test, an IDE to USB adapter is used because testing with one can be scripted on a commodity PC.

There’s a wide variety of systems I have in my testing arsenal, but they still only cover a fraction of what’s out there and I only have so much time to test on everything in my inventory. So that’s where enlisting the help of beta testers can really increase the coverage of not just the types of systems I can test on, but what is actually tested.

PicoIDE’s First Steps Out Into the World

When you send your device out to its first beta tester, you get that first little taste of what it’ll be like once it’s out to the entire world: you never know what exactly they are going to do with it. They’ll put your device through its paces in ways you never thought about. Something I’ve learned about my beta testers is that they get a thrill putting it in the oddest systems they have. They want the PicoIDE to break, and to be honest, I welcome it. Every new weird machine it works on brings me joy and increased confidence in it. One tester (who happens to be GutBomb, the talented designer of PicoIDE’s enclosure and front panel) tried it out on the Apple Macintosh Quadra/Performa/LC 630. This machine was one of Apple’s earliest attempts at a computer with an IDE drive interface, and it shows: it’s notoriously buggy. Unsurprisingly, PicoIDE didn’t work in it. Eventually he had to send me the system so I could dive into it. I did eventually get the Quadra 630 working and booting on the PicoIDE: it took adding support for little-used ATA commands like READ BUFFER/WRITE BUFFER, among other things!

GutBomb wasn’t done, though: he then tried it out in his Sun Ultra 5, a 64-bit Unix workstation from the late 90s. We were seeing some odd ΓΏ characters in the drive name for drives that weren’t actually there when PicoIDE was plugged in. This was something I thought I could actually debug remotely, thanks to PicoIDE’s IDE analyzer firmware. I described this special firmware in an earlier update that captures activity on the IDE bus for playback. Because I had sent out multiple units as I was working through hardware revisions, he had a spare PicoIDE to put the analyzer firmware on, so he did a capture as the Sun booted and sent it to me. With this information, I was able to figure out it had to do with how the IDE bus is pulled up/down by the host when a device isn’t selected and figured out a workaround.

Venturing Further Afield

Those are only a couple of examples, but PicoIDE has been tested in systems ranging from Apple Macintosh G4s to IBM PS/2s:

All of which makes me think, what’s next? What about consoles? The Dreamcast, PlayStation 2, and original Xbox all support IDE in one way or another and need testing. And then there are a lot of arcade cabinets that use IDE or ATAPI drives. Of particular interest is the Konami System 573, most notably used on Dance Dance Revolution cabinets. Apparently they drive ATAPI from a variant of the original PlayStation hardware, which sounds very cool. After looking at how the MAME emulator supports System 573, I have a pretty good feeling I could get PicoIDE to support those systems as well. But it’ll probably take getting the hardware in my hands or those of someone else knowledgeable to know for sure.

When you’re making a device used on an interface as widely employed as IDE/ATA/ATAPI, the testing truly never stops. There’s always one more machine out there that uses the interface in some quirky way, only working with certain drives. But that’s part of what makes this project so rewarding: every oddball machine is a puzzle, and every puzzle solved makes the PicoIDE better for everyone. So far I’ve loved hearing from people submitting questions via the form here on Crowd Supply or on our Discord server about the various systems they want to try PicoIDE out on. I can’t wait until it’s truly out there in all of your hands.


Sign up to receive future updates for PicoIDE.

PicoIDE is part of Soldered Electronics Inkubator

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects