A 386 motherboard with a custom ISA card plugged in

Emulate Any ISA Card With A Raspberry Pi And An FPGA

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.

This approach could also come in handy to replace other unobtanium hardware, like rare CD-ROM interfaces. Of course, you could take the concept to its logical extreme and simply implement an entire PC in an FPGA.

Continue reading “Emulate Any ISA Card With A Raspberry Pi And An FPGA”

Retrotechtacular: Programming By Card

The recent Supercon 6 badge, if you haven’t seen it, was an old-fashioned type computer with a blinky light front panel. It was reminiscent of an Altair 8800, a PDP-11, or DG Nova. However, even back in the day, only a few people really programmed a computer with switches. Typically, you might use the switches to toggle in a first-level bootloader that would then load a better bootloader from some kind of storage like magnetic or paper tape. Most people didn’t really use the switches.

What most people did do, however, was punch cards.  Technically, Hollerith cards, although we mostly just called them cards, punched cards, or IBM cards. There were a lot of different machines you could use to punch cards, but none were as popular, I would guess, as the IBM 029. Certainly, the models in the series were overwhelmingly what people used to punch cards.

For the uninitiated, a card was about the size of an old-fashioned dollar bill — the ones in style when Herman Hollerith invented them. The card was made of material not quite as thick as a standard file folder and was divided into 80 columns and 12 rows. Later cards had more columns, but those never really caught on to the same scale as the classic 80-column card. Continue reading “Retrotechtacular: Programming By Card”

Four M.2 cards of different sizes on a desk surface

M.2 For Hackers – Cards

Last time, I’ve explained everything you could want to know if you wanted to put an M.2 socket onto your board. Today, let’s build M.2 cards! There’s a myriad of M.2 sockets out there that are just asking for a special card to be inserted into it, and perhaps, it’s going to be your creation that fits.

Why Build Cards?

Laptops and other x86 mainboards often come with M.2 slots. Do you have a free B-key slot? You can put a RP2040 and bunch of sensors on a B-key PCB as an experimental platform carried safely inside your laptop. Would you like to do some more advanced FPGA experiments? Here’s a miniscule FPGA board that fits inside your laptop and lets you play with PCIe on this same laptop – the entire setup having a super low footprint. Are you looking for an extra PCIe link because you’re reusing your laptop as a home server? Again, your WiFi slot will provide you with that. Want to get some PCIe out of a SteamDeck? Building a M-key 2230 card seems to be your only hope! Continue reading “M.2 For Hackers – Cards”

Mastercard’s New Card: Safer From Quantum Attacks?

Quantum computers present a unique threat to many aspects of modern information technology. In particular, many cryptographic systems could be at risk of compromise in the event a malicious actor came into possession of a capable quantum computer.

Mastercard is intending to stay ahead of the game in this regard. It has launched a new contactless credit card that it says is impervious to certain types of quantum attack.

Continue reading “Mastercard’s New Card: Safer From Quantum Attacks?”

2022 Hackaday Prize: Congratulations, Wildcard Winners!

The Wildcard Round is the wildest round, and the 2022 Hackaday Prize had a slew of great entries. We’ve winnowed the wildcards down to a large handful, and we’re happy to announce the finalists. Every winner receives a $500 award, and is automatically entered for the final round of the Hackaday Prize. The grand prize winners will be announced during Supercon on Nov. 5th, and we’ll be streaming so you can root for your favorites whether you’re with us in Pasadena or not.

So without further ado, the finalists. Continue reading “2022 Hackaday Prize: Congratulations, Wildcard Winners!”

An Open-Source HDMI Capture Card

[YuzukiHD] has provided files for anyone that wishes to build their own HDMI capture card at home. The design is known as the Yuzuki Loop Out HDMI Capture Card PRO, or YuzukiLOHCC PRO for short.

The build is based on the MS2130, a HD video and audio capture chip that’s compatible with USB 3.2 Gen 1. We’re pretty sure that’s now called USB 3.2 Gen 1×1, and that standard is capable of transfers at up to 5 Gbps. Thus, the chip can support HDMI at up to 4K resolution at 60 Hz depending on the exact signals being passed down the line. It’s compatible with YUV422 & MJPEG modes and can be used with software like OBS Studio and FFmpeg. The board itself is relatively simple. It features an HDMI In port, an HDMI Out port, and a USB-C port for hooking up to a computer for capture.

HDMI capture cards can be expensive and fussy things, so you may find it pays to roll your own. Plus, being open sourced under the CERN Open Hardware License V2 means that you can make changes to suit your own use case if you so desire.

We’ve seen some other hilarious video capture tricks over the years, such as a convoluted rig that uses a SNES to turn a Game Boy Camera into a usable webcam. If you’ve got any such madcap hacks brewing up in your lab, be sure to let us know!

An 8-bit ISA card being plugged into a motherboard

Reverse-Engineering An ISA Card To Revive An Ancient CD-ROM Drive

Being an early adopter is great if you enjoy showing off new gadgets to your friends. But any new technology also brings the risk of ending up at the wrong side of a format war: just ask anyone who committed to HD-DVD fifteen years ago. If, on the other hand, you were among the few who invested in CD-ROM when it was first released in the mid-1980s, you definitely made the right choice when it came to storage media. However, it was a bit of a different story for the interface that hooks up the CD drive to your computer, as [Tech Tangents] found out when he managed to get his hands on a first-generation CM100 drive. (Video, embedded below.)

That wonderful piece of 1985 technology is not much smaller than the IBM PC it was designed to connect to, and it originally came with its own CM153 ISA interface card. But while most eBay sellers recognized the historic value of a pioneering CD-ROM drive, the accompanying PC was typically a dime-a-dozen model and was thrown out with the rare interface card still inside. Even after searching high and low for over a year, the only information [Tech Tangents] could find about the card was a nine year old YouTube video that showed what the thing looked like.

A 3D rendered image of an 8-bit ISA cardLuckily, the maker of that video was willing to take high-resolution pictures of the card, which allowed [Tech Tangents] to figure out how it worked. As it turned out, the card was entirely made from standard 7400 series logic chips as well as an 8251 USART, which meant that it should be possible to design a replacement simply by following all the traces on the board. [Tech Tangents] set to work, and after a few weeks of reverse-engineering he had a complete schematic and layout ready in KiCAD.

After the PCBs were manufactured and populated with components, it was time to test the new card with the old drive. This wasn’t a simple process either: as anyone who’s tried to get obscure hardware to work in MS-DOS will tell you, it involves countless hours of trying different driver versions and setting poorly documented switches in CONFIG.SYS. Eventually however, the driver loaded correctly and the ancient CD-ROM drive duly transferred the files stored on a Wolfenstein 3D disk.

If you’re lucky enough to own a CM100 or a similar drive from that era, you’ll be happy to know that all design files for the CM153 clone are available on GitHub. This isn’t the first time someone has had to re-create an interface board from pictures alone: we’ve seen a similar project involving a SCSI card for a synthesizer. Thanks for the tip, [hackbyte]!

Continue reading “Reverse-Engineering An ISA Card To Revive An Ancient CD-ROM Drive”