VOGONS


ZuluIDE: A proper IDE device emulator for retro PCs

Topic actions

First post, by mbalmer

User metadata
Rank Newbie
Rank
Newbie

One of the things that's always been an issue with emulating retro PCs has been the optical drive. There have been plenty of software solutions that allow you to mount optical media images once the operating system has booted. We all remember using things like Daemon-Tools, NERO, Alcohol 120%, or Toast to archive and use images of software on our boxes, or, more recently, SHSUCDX on the DOS command line. However, there's always been two areas where you still needed a physical drive to do the job: booting from discs, and playing audio that frequently was coupled with big-box games of the era. Floppy disks had the Gotek -- a device that's pretty much ubiquitous now in the retro community. Pop your disk images on a USB stick and go, boot from it, write back to it, extended formats, weird encodings, whatever. As long as the computer had a Shugart interface, it works.

Which is where the ZuluIDE steps in. The ZuluIDE uses an RP2040 MCU in combination with a Lattice iCE5 FPGA to achieve the timings necessary to communicate over the IDE/ATAPI bus. It started appearing almost a year ago in a public beta form, and while it had some limitations and hangups based on certain configurations, it operated well, and it operated fast. Additionally, with a lot of work and a lot of hardware testing, it's come a long way since its initial release in February of 2024.

To celebrate the upcoming one-year anniversary of the public beta release of the ZuluIDE, we're proud to list some of the accomplishments, fixes, and features that have been added to the project since its inauguration.

Here are some of the major features it had at initial release:

  • Initialize as a CD-ROM device type at boot time
  • Eject and cycle through images using the operating system
  • Emulate other removable media devices like ATAPI Zip drives
  • Present to the system as either a primary or secondary device, configured by DIP switch
  • Boot from an image loaded from SD card, if the BIOS supports booting from an optical device
  • Disk images not limited to standard optical media sizes -- as long as it's in .ISO format, you can mount an image as big as your system will support reading.
  • Operate at bus speeds up through PIO 3/UDMA 0

And, almost a year later, here are some of the milestones that have been added since:

  • USB Mass Storage support (use a ZuluIDE via a USB cable for direct access to the filesystem on the SD card)
  • Physical, Gotek-like hardware interface (optional; currently being finalized -- DIY version can be made available upon request)
  • Web-based control interface using an additional Raspberry Pi Pico W attached over I2C
  • Support for certain non-computer systems that use IDE devices (e.g., Roland SP-808 samplers)
  • Present specific ATAPI and IDE device ID strings to the BIOS if needed
  • Hot-plugging of SD media
  • Hard disk emulation support
  • Automatic calculation of hard disk image geometry details
  • Significantly-expanded workable hardware range includes many 286, 386, and 486-based systems utilizing onboard IDE interfaces or traditional multi-IO cards and even sound card CD-ROM interfaces
  • Greatly-improved compatibility with systems that poll the IDE bus at boot time to determine devices attached and significant improvements in proper device enumeration under DOS, FreeDOS, and Windows
  • Redbook audio playback with .BIN/.CUE file format images for software that used it by attaching a small I2S DAC shield

Work to further improve the ZuluIDE is continuing, specifically in the speed department, specifically towards implementing further UDMA modes and additional quality-of-life features.

The ZuluIDE is available to be purchased at https://www.zuluide.com in the US, and there are resellers for the ZuluIDE in both Germany and the UK.

Last edited by mbalmer on 2025-01-17, 21:41. Edited 1 time in total.

Reply 1 of 72, by douglar

User metadata
Rank l33t
Rank
l33t

Congrats. Those rubber bands in my existing drives are not getting any newer.

Here some comments:

  • https://zuluide.com doesn't work for me. https://www.zuluide.com does.
  • What is the fastest transfer rate supported for the SD cards ?
  • Is there a front panel option to see what image is mounted?
  • Is there a speaker option so that it plays a "zuuut-zuuut" noise when you swap disk images? Maybe a leaf blower option for modes faster than 12x? (<-- Joking!)

Reply 2 of 72, by dionb

User metadata
Rank l33t++
Rank
l33t++
douglar wrote on 2025-01-16, 13:39:
[...] […]
Show full quote

[...]

Second that. Looks like there's a 301 redirect missing for zuluide.com (to www.zuluide.com)

  • Is there a speaker option so that it plays a "zuuut-zuuut" noise when you swap disk images? Maybe a leaf blower option for modes faster than 12x? (<-- Joking!)

And a small explosive that launches polycarbonate shards, with random detonator for speeds faster than 52x? 😜

Question from my side:

Redbook audio playback with .BIN/.CUE file format images for software that used it by attaching a small I2S DAC shield

This looks very interesting, but I don't see that shield listed for sale at the Where to Buy places. Is this a generic unit one can buy or a separate specific design?

Kudos by the way for ensuring it's available in UK and EU as well - transatlantic shipping remains obscenely expensive.

Reply 3 of 72, by douglar

User metadata
Rank l33t
Rank
l33t
dionb wrote on 2025-01-16, 13:54:

Kudos by the way for ensuring it's available in UK and EU as well - transatlantic shipping remains obscenely expensive.

While shipping from China to the US remains cheaper than me sending an envelope to my next door neighbor!

Reply 4 of 72, by mscdex

User metadata
Rank Newbie
Rank
Newbie
mbalmer wrote on 2025-01-16, 04:22:

* Operate at bus speeds up through PIO 3/UDMA 0

Any possibility of including MWDMA support for us PIIX3 chipset users?

mbalmer wrote on 2025-01-16, 04:22:

* Physical, Gotek-like hardware interface

I didn't see anything on the site or stores regarding this, so maybe I'm misunderstanding this feature. Does this mean a (separate?) rotary encoder and OLED display or something else?

Reply 5 of 72, by mbalmer

User metadata
Rank Newbie
Rank
Newbie
douglar wrote on 2025-01-16, 13:39:

https://zuluide.com doesn't work for me. https://www.zuluide.com does.

We're looking into that right now -- something's weird with domain redirection right now. If I could edit my original post, I would fix it 🤣 (EDIT: Apparently, now I can; it's been fixed. For some reason the "edit" button wasn't appearing for me.)

douglar wrote on 2025-01-16, 13:39:

What is the fastest transfer rate supported for the SD cards ?

The transfer rate is determined by whichever PIO/UDMA mode the device is able to register at, OR the fastest transfer rate of the SD card, whichever is lower. Ideally, you want to be using Class 10 SD cards or better. If you aren't, the ZuluIDE's log file will point this out but it should still work. In the testing we've done, we haven't encountered a situation where an older, slower card outright fails but it will absolutely limit throughput.

douglar wrote on 2025-01-16, 13:39:

Is there a front panel option to see what image is mounted?

The optional hardware interface uses a small I2C OLED display to show you what image is mounted, along with a rotary control to eject, switch, and mount separate disk images.

douglar wrote on 2025-01-16, 13:39:

Is there a speaker option so that it plays a "zuuut-zuuut" noise when you swap disk images? Maybe a leaf blower option for modes faster than 12x? (<-- Joking!)

That's a good idea. Maybe we'll mount a small squirrel-cage fan on the inside that gets turned on at those speeds so you can blow-dry something while you work. We weren't using that +12V line on the molex anyway. 🤣

Last edited by mbalmer on 2025-01-17, 21:42. Edited 1 time in total.

Reply 6 of 72, by mbalmer

User metadata
Rank Newbie
Rank
Newbie
dionb wrote on 2025-01-16, 13:54:
douglar wrote on 2025-01-16, 13:39:

Is there a speaker option so that it plays a "zuuut-zuuut" noise when you swap disk images? Maybe a leaf blower option for modes faster than 12x? (<-- Joking!)

And a small explosive that launches polycarbonate shards, with random detonator for speeds faster than 52x? 😜

Even better. Can't have the true optical disc experience without the possibility of plastic shards embedded in your walls.
DISCLAIMER: ZuluIDE and Rabbit Hole Computing disclaim all responsibility for any damage that results from obscure plastics found stuck in your retro den's walls.
(also, if it isn't clear, ^^^ joking)

dionb wrote on 2025-01-16, 13:54:

Question from my side:
Redbook audio playback with .BIN/.CUE file format images for software that used it by attaching a small I2S DAC shield
This looks very interesting, but I don't see that shield listed for sale at the Where to Buy places. Is this a generic unit one can buy or a separate specific design?

The DAC shield should show up as an option right above the quantity box. I just checked it a few moments ago and it shows.

Reply 7 of 72, by douglar

User metadata
Rank l33t
Rank
l33t
mbalmer wrote on 2025-01-16, 19:15:

The transfer rate is determined by whichever PIO/UDMA mode the device is able to register at, OR the fastest transfer rate of the SD card, whichever is lower. Ideally, you want to be using Class 10 SD cards or better. If you aren't, the ZuluIDE's log file will point this out but it should still work. In the testing we've done, we haven't encountered a situation where an older, slower card outright fails but it will absolutely limit throughput.

I see that the PATA interface is limited to UDMA 0 which is 16.7 Mhz, so I imagine you at least support SD high speed (25MB/s). Does it support UHS-I (104 MB/s) or UHS-II (312 MB/s) or UHS-III (624 MB/s) transfer rates? Just out of curiosity. Not that you need it.

P.S. website forwarding looks better now.

Reply 8 of 72, by dionb

User metadata
Rank l33t++
Rank
l33t++
mbalmer wrote on 2025-01-16, 19:21:

[...]

The DAC shield should show up as an option right above the quantity box. I just checked it a few moments ago and it shows.

I see it now at Rabbithole computing, but not at the other options (eg. Studio-services.de)

Reply 9 of 72, by mbalmer

User metadata
Rank Newbie
Rank
Newbie
dionb wrote on 2025-01-16, 21:02:

I see it now at Rabbithole computing, but not at the other options (eg. Studio-services.de)

Ah, okay. That makes more sense. We'll send over a message -- I checked with the project lead and he seemed to think that Studio-services should have some of the shields so we can let him know that they're good to list.

Reply 10 of 72, by mbalmer

User metadata
Rank Newbie
Rank
Newbie
mscdex wrote on 2025-01-16, 19:02:
mbalmer wrote on 2025-01-16, 04:22:

* Operate at bus speeds up through PIO 3/UDMA 0

Any possibility of including MWDMA support for us PIIX3 chipset users?

Currently, there's no support for MWDMA -- but if there's a feature you'd like to see implemented, feel free to make a request on the Github for it.

mbalmer wrote on 2025-01-16, 04:22:

* Physical, Gotek-like hardware interface

I didn't see anything on the site or stores regarding this, so maybe I'm misunderstanding this feature. Does this mean a (separate?) rotary encoder and OLED display or something else?
[/quote]

The hardware interface is a separate board connected via I2C, containing an OLED screen, two buttons, and a rotary encoder with a pushbutton. While the hardware interface is fully functional, there are some fit-and-finish things we're still ironing out in the short term -- which is why it's not currently listed on the website. However, for someone who's not afraid to put it together themselves, it could be made available on an individual basis.

Reply 11 of 72, by mbalmer

User metadata
Rank Newbie
Rank
Newbie

One other small note: I've been working with the dev team to help get the documentation for the project written out more fully, so if you come across something that you think needs to be noted in a user's manual or the like, please let me know.

Reply 12 of 72, by chinny22

User metadata
Rank l33t++
Rank
l33t++

ZuluIDE Looks really good. I like that the Redbook DAC is optional, as I wouldn't really need it on the more modern retro rigs and keeps the cost down.
Price is a bit high for myself, not saying it's not worth it, just my budget doesn't allow for one just yet

Reply 13 of 72, by KVM Nerd

User metadata
Rank Newbie
Rank
Newbie

Nice, this project looks very promising!

However, it still lacks some features which are essential for my use case:

  • Support for mounting network based images from a server (simple workaround: USB storage instead of SD card to mount images via a Raspi connected to the network, emulating USB mass storage)
  • Wired and thus robust management interface for automation (the Pico W is still wireless) with some simple telnet-like command set
  • (S/PDIF TTL-level out, more nice-to-have, but it somehow feels wrong when it lacks)

If it had those features, it would outrun all available solutions. Just my personal opinion, most users seem to have different requirements.

Why not hook it up to a KVM switch?

Reply 14 of 72, by red_avatar

User metadata
Rank Oldbie
Rank
Oldbie

Thank you, this ticks enough boxes to let me insert one in my IBM Aptiva PC to test with. I'll order one from the German store and hopefully it will work great.

Retro game fanatic.
IBM PS1 386SX25 - 4MB
IBM Aptiva 486SX33 - 8MB - 2GB CF - SB16
IBM PC350 P233MMX - 64MB - 32GB SSD - AWE64 - Voodoo2
PIII600 - 320MB - 480GB SSD - SB Live! - GF4 Ti 4200
i5-2500k - 3GB - SB Audigy 2 - HD 4870

Reply 16 of 72, by doogie

User metadata
Rank Member
Rank
Member
KVM Nerd wrote on 2025-01-20, 18:46:
Nice, this project looks very promising! […]
Show full quote

Nice, this project looks very promising!

However, it still lacks some features which are essential for my use case:

  • Support for mounting network based images from a server (simple workaround: USB storage instead of SD card to mount images via a Raspi connected to the network, emulating USB mass storage)
  • Wired and thus robust management interface for automation (the Pico W is still wireless) with some simple telnet-like command set
  • (S/PDIF TTL-level out, more nice-to-have, but it somehow feels wrong when it lacks)

If it had those features, it would outrun all available solutions. Just my personal opinion, most users seem to have different requirements.

Second all of these (especially the first two points) - it would be a no-brainer for all of my systems at that point. Mount images from NAS and control what's mounted from a web/telnet/command interface

edit=looks like the management interface is at least partially there! https://github.com/ZuluIDE/ZuluIDE-HTTP-PicoW

Reply 17 of 72, by weedeewee

User metadata
Rank l33t
Rank
l33t

Zulu IDE DAC add on ?

Seems like I have something more to add to my shoppingcart on rabbitholecomputing.

Also, SimonC, ordering from the US site is possible. Already done it myself a few times.

edit: ah fudge, the other thing I wanted to order seems to be gone. Dangit.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 18 of 72, by red_avatar

User metadata
Rank Oldbie
Rank
Oldbie
SimonC wrote on 2025-01-23, 15:27:

Is there a way to buy the DAC for EU costumers ?

Redbook audio is the number one feature for me, untfortunately the DAC can only be purchased on the rabbit hole wesite at the moment.

I bought it with the DAC - you need to search for it:

https://studio-services.de/en/produkt/zuluide … -shield-bundle/

Retro game fanatic.
IBM PS1 386SX25 - 4MB
IBM Aptiva 486SX33 - 8MB - 2GB CF - SB16
IBM PC350 P233MMX - 64MB - 32GB SSD - AWE64 - Voodoo2
PIII600 - 320MB - 480GB SSD - SB Live! - GF4 Ti 4200
i5-2500k - 3GB - SB Audigy 2 - HD 4870

Reply 19 of 72, by red_avatar

User metadata
Rank Oldbie
Rank
Oldbie
mbalmer wrote on 2025-01-16, 04:22:

...

OK I have been properly reading up on it but I can't seem to find ANY info on how image swapping works in a DOS machine. I've gathered that I can use the DAC shield to attach a Pico but even that is incredibly vague - just that it uses a different firmware but no further info, no info on how to connect to the pico (I assume it gets an IP and then you go to its IP in a browser?). It would be nice for you to add this info somewhere. Or of course, a DOS utility that let's you swap images would be even better - a competing device has this ability.

Basically, can you give some more info? I'm sure a lot of other people will want to know this as well.

Retro game fanatic.
IBM PS1 386SX25 - 4MB
IBM Aptiva 486SX33 - 8MB - 2GB CF - SB16
IBM PC350 P233MMX - 64MB - 32GB SSD - AWE64 - Voodoo2
PIII600 - 320MB - 480GB SSD - SB Live! - GF4 Ti 4200
i5-2500k - 3GB - SB Audigy 2 - HD 4870