First post, by mbalmer
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.