Hackaday supercon badge PCB showing illuminated activity lights after being loaded with a punch card

Supercon Badge Reads A “Punch” Card

This year’s Hackaday Supercon, the first since 2019 thanks to the pandemic, was a very similar affair to those of the past. Almost every hardware-orientated hacker event has its own custom electronic badge, and Supercon was no different. This year’s badge is a simulation platform for a hypothetical 4-bit CPU created by our own [Voja Antonic], and presented a real challenge for some of the attendees who had never touched machine code during their formative years. The challenge set was to come up with the most interesting hack for the badge, so collaborators [Ben Hencke] and [Zach Fredin] set about nailing the ‘expandr’ category of the competition with their optical punched card reader bolt-on.

Peripheral connectivity is somewhat limited. The idea was to build a bolt-on board with its own local processing — using a PixelBlaze board [Ben] brought along — to handle all the scanning details. Then, once the program on the card was read, dump the whole thing over to the badge CPU via its serial interface. Without access to theirPrinted paper faux punch card showing read LEDs and an array of set and reset bits of the encoding usual facilities back home, [Ben] and [Zach] obviously had to improvise with whatever they had with them, and whatever could be scrounged off other badges or other hardware lying around.

One big issue was that most people don’t usually carry photodiodes with them, but luckily they remembered that an LED can be used as a photodiode when reverse-biased appropriately. Feeding the signal developed over a one Meg resistance, into a transconductance amplifier courtesy of a donated LM358 there was enough variation for the STM32 ADC to reliably detect the difference between unfilled and filled check-boxes on the filled-in program cards.

The CPU required 12-bit opcodes, which obviously implies 12 photodiodes and 12 LEDs to read each word. The PixelBlaze board does not have this many analog inputs. A simple trick was instead of having discrete inputs, all 12 photodiodes were wired in parallel and fed into a single input amplifier. To differentiate the different bits, the illumination LEDs instead were charlieplexed, thus delivering the individual bits as a sequence of values into the ADC, for subsequent de-serialising. The demonstration video shows that it works, with a program loaded from a card and kicked into operation manually. Such fun!

Punch cards usually have a hole through them and can be read mechanically, and are a great way to configure testers like this interesting vacuum valve tester we covered a short while back.

Continue reading “Supercon Badge Reads A “Punch” Card”

Is This The Smallest CP/M Machine Ever?

If you had an office word processor in the late 1970s, the chances are it ran Digital Research’s CP/M operating system. IBM went for Microsoft in the 1980s and the once-dominant player fell on hard times, but it survives today as a popular choice on retrocomputer platforms. Even the more compact Z80 systems are a little large for 2022, so when [Kian Ryan] needed the ultimate in CP/M portability it fell on a more modern piece of silicon. Hence he’s put it on a tiny RP2040-based board from Pimoroni alongside an Adafruit micro SD card breakout.

The tiny hardware is neat of course, but the real star of the show is the software. Non-CP/M aficionados will be interested to learn about RunCPM, and for this project, RunCPM 2040. This provides an emulated environment on a host microcontroller to run CP/M, allowing the operating system to be hosted on easier hardware than some of the original machines.

All this makes for a tiny development machine, but perhaps of more interest would be a machine that’s all-in-one with a display and perhaps a keyboard. The RP2040 is interesting in this case because of those programmable state machines. Could it be made to run a video display alongside RunCPM? We hope someone has a go at writing it.

Mastodon Comes To The IBM PC

Elon Musk has bought Twitter for an eye-watering sum, and his live adventures in chaotic mismanagement of a social media company have become a compelling performance for the rest of us. As we munch on our tasty popcorn and enjoy the show, many Twitter users have jumped ship for the open-source alternative Mastodon. It offers much to the escapee including instances tailored to particular communities, but aside from all that it’s got something Twitter never had. You can now use a Mastodon client on an IBM PC.

Many of you are no doubt looking askance at us, as you have been Tooting for years from behind the keyboard of a PC. But it’s likely that the PC you’re using is a generic modern x86 machine running an up-to-date operating system such as a GNU/Linux flavour or Microsoft Windows, by contrast here we’re referring to the original, the daddy of them all. Because the client we’re talking about is DOStodon, designed to run on a real IBM PC as though it’s the early 1980s again.

Stunt hacks aside, whether or not you fire up DOStodon on a 16-bit machine to get your Fediverse fix, it’s an interesting piece of software because it’s written in Javascript. Which in turn brings us to DOjS from the same author, a DOS Javascript canvas with sound. Not everyone will be raring to run their Javascript code on an early 1980s PC, but its existence proves that there’s plenty of life in the old platform yet.

Need more Mastodon on unexpected platforms? How about the ESP32?

Header image: Ruben de Rijcke, CC BY-SA 3.0, and Jin Nguyen, AGPL .

A home-made wireless game controller

ColecoVision Barn Find Gets Wireless Makeover

Few things are more satisfying than finding an old, forgotten piece of technology somewhere and bringing it back to life. And while it’s great to see a rare sports car or an Apollo Flight Computer being restored, even not-very-successful game consoles from the 1980s can make for some great repair stories. Just look at how [Discreet Mayor] describes his restoration and modification efforts on a ColecoVision that he literally found in a barn.

Given that the ColecoVision was on the market between 1982 and 1985, we can assume that [Discreet Mayor]’s console had been sitting on a shelf for at least three decades, and the machine was definitely showing its age. Several components had failed due to corrosion, including the clock crystal, a 7400 series logic chip and a capacitor in the power supply, but since these are all standard components it was rather straightforward to replace them.

The controllers however were sadly beyond repair. Replacing them with standard joysticks wasn’t really an option because the ColecoVision controllers included a numeric keypad, which was mainly used to select game options. Making something completely new was the way to go, and [Discreet Mayor] decided to go for a wireless system while he was at it. After all, he had already developed a modular wireless IoT system based on the IEEE 802.15.4 standard, which turned out to be a perfect fit for this system.

The splash screen of ColecoVision's Venture[Discreet Mayor] built a simple joystick-plus-fire-button setup on a piece of MDF and equipped it with his IoT transmitter. Instead of adding a replacement numeric keypad he decided to use the joystick to simulate the most commonly-used buttons: “right” for “1”, “down” for “2” and so on. The receiver module uses digital switches to mimic keypresses to the console’s input port. The end result might look a bit hacky, but the console is fully functional again and runs its games just like it did over thirty years ago.

We’ve seen several projects that add wireless controllers to a variety of classic consoles. If you’ve got a ColecoVision that turns out to be beyond salvaging, you can always just build your own from scratch.

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”

Bringing Up An Old Motherboard Is A Delicate Process

If you were around for the early days of the personal computer revolution, you’ll no doubt recall the excitement every time IBM announced a new version of its beige boxes. For a lot of us, the excitement was purely vicarious, for despite the “personal” moniker, mere mortals could rarely afford a branded IBM machine. But it was still cool to keep track of the latest releases, and dream of the days when cheap clones would make it possible to play.

[Anders Nielsen]’s recent find of an original IBM Model 5160 motherboard sort of echoes that long-ago excitement, but in a different way. This board, from a PC XT built in 1984, was in unknown condition upon arrival, so [Anders] set about a careful process to try to bring the board back to life. A quick visual inspection leaves one with a sense of both how much things have changed, and how much they’ve stayed the same. Aside from the big 40-pin DIP 8088 CPU and the BIOS ROMs, the board is almost completely populated with discrete logic chips, but at the same time, the basic footprint of a motherboard has changed very little.

The bring-up process in the video below includes checks of all the power rails for shorts, which ended up being a good call — drat those tantalums. After fixing that issue, [Anders] had a bit of trouble getting the board to POST, and eventually resorted to dumping the BIOS ROMs and inspecting the contents. One of the chips had picked up a case of the scramblies at some point, which was easy enough to fix thanks to images of the 5160 ROMs available online. We thought the trick of using a 64k ROM and just writing the BIOS image twice was pretty clever.

In the end, the board came up, although without video or keyboard — that’s for another day. Can’t find your own PC XT motherboard to play with? Then maybe you can just build one.

Continue reading “Bringing Up An Old Motherboard Is A Delicate Process”

Computer Space Flies Again

[Sean] from Classic Arcade Repairs fixes classic arcade machines, and he got a request to repair a very special machine. It’s Computer Space, the first commercial arcade cabinet ever made, and loosely based on Spacewar! This grand-daddy of coin-op was a literal barn find, and was in pretty bad shape after sitting for years. All the parts appeared to be original, making them 50 years old. As you can imagine, that combination didn’t bode well for the health of the components. There’s a couple hours of footage here, but it’s invaluable troubleshooting advice, and very cool to see such an old machine being worked on.

Part one is the intro, and [Sean] started with an HP logic analyzer, just probing the many TTL chips on the board looking for floating or otherwise suspicious outputs. Figure out the obviously faulty chips and replace each with a socket and new chip. Just about every diode in the machine needed replacing.

Part two of the repair starts with a broken trace repair, and the discovery that all the ceramic capacitors on the boards were leaky. The interesting thing is that a multimeter tested those caps as having the correct capacitance, but a dedicated leak tester discovered the problem.

Part 3 shows the process of running the remaining chips through a logic tester, which found more problematic ICs. In some cases, a chip would only sometimes test as working. And strangely, one of the new, replacement chips turned out to have a problem. Though as a commenter pointed out, it could be a falling edge vs rising edge variation of the logic chips to blame. Or maybe the new chips were counterfeit. Hard to nail down.

Part 4 starts with a gotcha moment, where one of the first repairs to the board was a misstep. What appeared to be a damaged trace, was actually a factory modification (a bodge cut?). Then a lucky break really helped out, where only half of one of the 7476 chips was in use, and one of the chips on hand was only half working. Put the dead bit into the unused slot, and the machine really started to behave.

Part 5 is the victory lap, where all the components finally arrived, and everything starts working on the bench. How cool to see the old machine bleeping and blooping again.