Sound cards used to be a big part of gaming machines in the 90s and 2000s but have largely gone extinct in the wake of powerful CPUs doing the sound themselves. Sound cards were expensive back then and, because the good ones weren’t very common, are expensive still for the retro gamer. But if you don’t need the real thing, [polpo] has you covered with his RP2040-based ISA sound card.
The PicoGUS, as he calls it, primarily serves to replace the Gravis UltraSound with modern components at a low cost. It uses the RP2040’s PIO to attach to an ISA bus and the RP2040’s dual-core power to synthesize the audio for its primary target, but also the AdLib (OPL2), CMS/Game Blaster and Tandy 3-Voice. [polpo] sells the PicoGUS on his Tindie store, but since it’s open source, you can of course just make your own.
Although “work-in-progress”, the PicoGUS is very useful to the right person and a perfect demonstration of how the RP2040’s PIO can be used to interface with almost any type of protocol.
One of the reasons the IBM PC platform became the dominant standard for desktop PCs back in the mid-1980s was its open hardware design, based around what would later be called the ISA bus. Any manufacturer could design plug-in cards or even entire computers that were hardware and software compatible with the IBM PC. Although ISA has been obsolete for most purposes since the late 1990s, some ISA cards such as high-quality sound cards have become so popular among retrocomputing enthusiasts that they now fetch hundreds of dollars on eBay.
So what can you do if your favorite ISA card is not easily available? One option is to head over to [eigenco]’s GitHub page and check out his FrankenPiFPGA project. It contains a design for a simple ISA plug-in card that hooks up to a Cyclone IV FPGA and a Raspberry Pi. The FPGA connects to the ISA bus and implements its bus architecture, while the Pi communicates with the FPGA through its GPIO ports and emulates any card you want in software. [eigenco]’s current repository contains code for several sound cards as well as a hard drive and a serial mouse. The Pi’s multi-core architecture allows it to run several of these tasks at once while still keeping up the reasonably high data rate required by the ISA bus.
In the videos embedded below you can see [eigenco] demonstrating the system on a 386 motherboard that only has a VGA card to hook up a monitor. By emulating a hard drive and sound card on the Pi he is able to run a variety of classic DOS games with full sound effects and music. The sound cards currently supported include AdLib, 8-bit SoundBlaster, Gravis Ultrasound and Roland MT-32, but any card that’s documented well enough could be emulated.
Bringing modern connectivity to retro computers is an endearing field- with the simplicity of last-century hardware and software being a double-edged sword, often, you bring a powerful and tiny computer of modern age to help its great-grandparent interface with networks of today. [yyzkevin] shows us a PCMCIA WiFi card built using a Pi Pico W, talking PCI ISA. This card brings modern-day WiFi connectivity to his IBM PC110, without requiring a separate router set up for outdated standards that the typical PCMCIA WiFi cards are limited by.
The RP2040 is made to talk PCI ISA using, of course, the PIO engine. A CPLD helps with PCI ISA address decoding, some multiplexing, and level shifting between RP2040’s 3.3V and the PCI 5 V levels. The RP2040 software emulates a NE2000 network card, which means driver support is guaranteed on most OSes of old times, and the software integration seems seamless. The card already works for getting the PC110 online, and [yyzkevin] says he’d like to improve on it – shrink the design so that it resembles a typical PCMCIA WiFi card, tie some useful function into the Pico’s USB port, and perhaps integrate his PCMCIA SoundBlaster project into the whole package while at it.
This is a delightful project in how it achieves its goal, and a pleasant surprise for everyone who’s been observing RP2040’s PIO engine conquer interfaces typically unreachable for run-of-the-mill microcontrollers. We’ve seen Ethernet, CAN and DVI, along many others, and there’s undoubtedly more to come.
We thank [Misel] and [Arti] for sharing this with us!
Although the ability to expand a home computer with more RAM, storage and other features has been around for as long as home computers exist, it wasn’t until the IBM PC that the concept of a fully open and modular computer system became mainstream. Instead of being limited to a system configuration provided by the manufacturer and a few add-ons that really didn’t integrate well, the concept of expansion cards opened up whole industries as well as a big hobbyist market.
The first IBM PC had five 8-bit expansion slots that were connected directly to the 8088 CPU. With the IBM PC/AT these expansion slots became 16-bit courtesy of the 80286 CPU it was built around. These slots could be used for anything from graphics cards to networking, expanded memory or custom I/O. Though there was no distinct original name for this card edge interface, around the PC/AT era it got referred to as PC bus, as well as AT bus. The name Industry Standard Architecture (ISA) bus is a retronym created by PC clone makers.
With such openness came the ability to relatively easy and cheaply make your own cards for the ISA bus, and the subsequent and equally open PCI bus. To this day this openness allows for a vibrant ecosystem, whether one wishes to build a custom ISA or PCI soundcard, or add USB support to a 1981 IBM PC system.
There have been a lot of different mass storage methods over the relatively short lifespan of the computer. Magnetic tapes, drums, all sorts of disks, and flash memory have each had their time. Each of these new innovations required some time to become easy to use. One of the early attempts to simplify using flash memory was the M-Systems DiskOnChip device. Looking like a standard 8K JEDEC-compatible memory device, it actually provided access to a flash disk drive ranging from 16MB to 1GB. [Smbakeryt] bought some of these devices and built an ISA board to provide a disk and clock for the old 8-bit bus. You can see a video discussion about the device below.
SanDisk bought M-Systems and discontinued the devices back in 2007. Of course, you can still design flash memory into your system, but the simple and efficient interface of the DiskOnChip is no more. It is a testament to how simple the interface is that the schematic for the little board fits on a page, including the DS12885 real time clock.