Put An ItsyBitsy Zork In Your Pocket

Before computer games had all these fancy graphics, text based games were a very popular genre. Rather than move a character on the screen, you’d type out commands for your player in sentence form which the game would interpret; decades before the “cloud” language processing technology that the likes of Amazon and Google currently use to power their virtual assistants. In some ways the genre was ahead of its time, but it didn’t survive the graphical revolution for home computers. Of course, these games still have some diehard fans out there.

[Dan The Geek] is one such fan. He loves text based adventure games like Zork so much that he wanted to create his own implementation of the core technology that made these games possible all those years ago. But he didn’t want to just do it on this desktop computer, there’s already projects that let you run these classic games on modern hardware. He wanted to see if he could run these classic games on a modern microcontroller, and create a authentic retro experience on a handy portable device.

[Dan] starts by explaining the technology used to make titles like these possible in the days when the wide array of home computer types required a nuanced approach. By separating the story files from the actual interpreter, developers could more easily port the games to various computers. In theory these interpreters, known as “Z-machines”, could be written for any computer that could compile C code, had enough RAM to hold the story, and had a terminal and keyboard. Not exactly the kind of system requirements we’re used to seeing for modern PC games, but it was the 1980’s.

In theory a modern microcontroller will meet these requirements, so [Dan] wanted to create his own Z-machine for one. But rather than “cheat” by using an SD card like previous Arduino Z-machines have, he wanted to see if there was a development board out there that could do it all internally. The answer came in the form of the  Adafruit ItsyBitsy M4 Express, with its 192 kB of RAM and 2 MB of SPI flash.

The Z-machine created by [Dan], which he’s calling A2Z, allows users to run Zork and other compatible interactive text games on the ItsyBitsy without any additional hardware. Just plug the board into your computer and you’ll be able to play the games over the the serial connection. He’s even implemented some retro color schemes to make the experience more authentic, like the blue of the Amiga or Compaq green.

We’ve covered previous projects that brought Zork and friends to the Arduino, your web browser via a virtual Altair 8800, and even some more exotic targets like custom FPGAs. You can play cave adventure, the game that inspired Zork, on the Supercon Badge.

Soviet-Era 7-Segment Display, Built Like A Tank

In a way, all 7-segment displays are alike; at least from the outside looking in. On the inside it can be quite another story, and that’s certainly the case with the construction of this Soviet-era 7-segment numerical display. From the outside it may look a bit sturdier than usual, but it’s still instantly recognizable for what it is. On the inside is an unusual mixture of incandescent bulbs and plastic light guides.

The black-coated blocks of plastic on the left (shown from the rear) act as light guides. The holes are for nesting the incandescent bulbs. Note the puzzle-like arrangement of the uniquely shaped pieces.

The rear of the display is a PCB with a vaguely hexagonal pattern of low-voltage incandescent bulbs, and each bulb mates to one segment of the display. The display segments themselves are solid blocks of plastic, one for each bulb, and each a separate piece. These are painted black, with the only paint-free areas being a thin segment at the top for the display, and a hole in the back for the mating bulb.

The result is that each plastic piece acts as a light guide, ensuring that a lit bulb on the PCB results in one of the seven thin segments on the face being lit as well. An interesting thing is that the black paint is the only thing preventing unwanted light from showing out the front, or leaking from one segment to another; usually some kind of baffle is used for this purpose in displays from this era.

More curiously, each plastic segment is a unique shape apparently unrelated to its function. We think this was probably done to ensure foolproof assembly; it forms a puzzle that can only fit together one way. The result is a compact and remarkably sturdy unit that shows how older and rugged tech isn’t necessarily bulky. Another example of small display tech from the Soviet era is this tiny 7-segment display of a completely different manufacture, which was usually used with an integrated bubble lens to magnify the minuscule display.

Rebuilding An Amiga 500 PSU

One of the challenges of keeping a vintage computer up and running is the limited availability of spare parts. While not everything has hit dire levels of availability (not yet, anyway), it goes without saying that getting a replacement part for a 30+ year old computer is a bit harder than hitting up the local electronics store. So the ability to rebuild original hardware with modern components is an excellent skill to cultivate for anyone looking to keep these pieces of computing history alive in the 21st century.

This is in ample evidence over at [Inkoo Vintage Computing], where repairs and upgrades to vintage computers are performed with a nearly religious veneration. Case in point: this detailed blog post about rebuilding a dead Amiga 500 power supply. After receiving the machine as a donation, it was decided to attempt to diagnose and repair the PSU rather than replace it with a newly manufactured one; as much for the challenge as keeping the contemporary hardware in working order.

What was found upon opening the PSU probably won’t come as a huge surprise to the average Hackaday reader: bad electrolytic capacitors. But these things weren’t just bulged, a few had blown and splattered electrolyte all over the PCB. After removing the bad caps, the board was thoroughly inspected and cleaned with isopropyl alcohol.

[Inkoo Vintage Computing] explains that there’s some variations in capacitor values between different revisions of the Amiga PSU, so it’s best to match what your own hardware had rather than just trying to look it up online. These capacitors in particular were so old and badly damaged that even reading the values off of them was tricky, but in the end, matching parts were ordered and installed. A new fuse was put in, and upon powering up the recapped PSU, the voltages at the connector were checked to be within spec before being plugged into the Amiga itself.

As a test, the Amiga 500 was loaded up with some demos to really get the system load up. After an hour, the PSU’s transformer was up to 78°C and the capacitors topped out at 60°C. As these parts are rated for 100°C (up from 85°C for the original parts), everything seemed to be within tolerances and the PSU was deemed safe for extended use.

This sort of repair isn’t exactly rare with hardware this old, and we’ve seen similar work done on a vintage Apple power supply in the past. If you’re less concerned with historical accuracy, [Inkoo Vintage Computing] has also shown off adapting an ATX PSU for use with the Amiga.

The Math That Makes Computers Go, Built On A Tiny PCB

A computer is, at its core, just a bunch of transistors wired together. Once you have enough transistors on a board, though, one of the first layers of abstraction that arises is the Arithmetic Logic Unit. The ALU takes in two sets of data, performs a chosen math function, and outputs one data set as the result. It really is the core of what makes computers compute.

An ALU is built into modern processors, but that wasn’t always how it was done. If you’re looking to build a recreation of an early computer you may need a standalone, and that’s why [roelh] designed an ALU that fits in a square inch piece of circuit board using five multiplexer chips and two XOR chips.

One of the commonly used components for this purpose, the 74LS181 ALU, is not in production anymore. [roelh’s] ALU is intended to be a small footprint replacement of sorts, and can perform seven functions: ADD, SUB, XOR, XNOR, AND, OR, A, B, and NOT A. The small footprint for the design is a constraint of our recent contest: Return of the Square Inch Project. Of course, this meant extra design challenges, such as needing to move the carry in and carry out lines to a separate header because there wasn’t enough space on one edge.

Exploring the theory behind an ALU isn’t just for people building retrocomputers. It is integral to gaining an intuitive understanding of how all computers work. Everyone should consider looking under the hood by walking through the nand2tetris course which uses simulation to build from a NAND gate all the way up to a functioning computer based on The Elements of Computing Science textbook.

If you’re a homebrew computer builder, it might be worthwhile to use one of these ALUs rather than designing your own. Of course, if building components from scratch is your thing we definitely understand that motivation as well.

ILLIAC Was HAL 9000’s Granddaddy

Science fiction is usually couched in fact, and it’s fun to look at an iconic computer like HAL 9000 and trace the origins of this artificial intelligence gone wrong. You might be surprised to find that you can trace HAL’s origins to a computer built for the US Army in 1952.

If you are a fan of the novel and movie 2001: A Space Oddessy, you may recall that the HAL 9000 computer was “born” in Urbana, Illinois. Why pick such an odd location? Urbana is hardly a household name unless you know the Chicago area well. But Urbana has a place in real-life computer history. As the home of the University of Illinois at Urbana–Champaign, Urbana was known for producing a line of computers known as ILLIAC, several of which had historical significance. In particular, the ILLIAC IV was a dream of a supercomputer that — while not entirely successful — pointed the way for later supercomputers. Sometimes you learn more from failure than you do successes and at least one of the ILLIAC series is the poster child for that.

The Urbana story starts in the early 1950s. This was a time when the 1945 book “First Draft of a Report on the EDVAC” was sweeping through the country from its Princeton origins. This book outlined the design and construction of the Army computer that succeeded ENIAC. In it, Von Neumann proposed changes to EDVAC that would make it a stored program computer — that is, a computer that treats data and instructions the same.

Continue reading “ILLIAC Was HAL 9000’s Granddaddy”

Teardown: D50761 Aircraft Quick Access Recorder

Everyone’s heard of the “black box”. Officially known as the Flight Data Recorder (FDR), it’s a mandatory piece of equipment on commercial aircraft. The FDR is instrumental in investigating incidents or crashes, and is specifically designed to survive should the aircraft be destroyed. The search for the so-called “black box” often dominates the news cycle after the loss of a commercial aircraft; as finding it will almost certainly be necessary to determine the true cause of the accident. What you probably haven’t heard of is a Quick Access Recorder (QAR).

While it’s the best known, the FDR is not the only type of recording device used in aviation. The QAR could be thought of as the non-emergency alternative to the FDR. While retrieving data from the FDR usually means the worst has happened, the QAR is specifically designed to facilitate easy and regular access to flight data for research and maintenance purposes. Its data is stored on removable media and since the QAR is not expected to survive the loss of the aircraft it isn’t physically hardened. In fact, modern aircraft often use consumer-grade technology such as Compact Flash cards and USB flash drives as storage media in their QAR.

Through the wonders of eBay, I recently acquired a vintage Penny & Giles D50761 Quick Access Recorder. This was pulled out of an aircraft which had been in service with the now defunct airline, Air Toulouse International. Let’s crack open this relatively obscure piece of equipment and see just what goes into the hardware that airlines trust to help ensure their multi-million dollar aircraft are operating in peak condition.

Continue reading “Teardown: D50761 Aircraft Quick Access Recorder”

Recovering Data From A Vintage MFM Drive

Even if you aren’t a vintage computer aficionado, you’re probably aware that older computer hard drives were massive and didn’t hold much data. Imagine a drive that weighs several pounds, and only holds 1/1000th of what today’s cheapest USB flash drives can. But what you might not realize is that if you go back long enough, the drives didn’t just have lower capacity, they utilized fundamentally different technology and relied on protocols which are today little more than historical footnotes.

A case in point is the circa 1984 Modified Frequency Modulation (MFM) drive which [Michał Słomkowski] was tasked with recovering some files from. You can’t just pop this beast into a USB enclosure; copying files from it required an interesting trip down computing’s memory lane, with a sprinkling of modern techniques that are sure to delight hackers who still like to dip their toes into the MS-DOS waters from time to time.

The drive, a MiniScribe 2012, has its own WD1002A-WX1 8-bit ISA controller card. [Michał] is the kind of guy who just so happens to have an ISA-compatible AT motherboard laying around, but he didn’t have the correct cooler for its Pentium processor. He stuck a random heatsink down onto it with a rubber band and set the clock speed as low as possible, which worked well enough to get him through the copying process.

Not wanting to fiddle with floppies, [Michał] then put together a setup which would let him PXE boot MS-DOS 6.22 under Arch Linux. He used PXELINUX, part of the syslinux package, and created an entry for DOS in the configuration file under the pxelinux.cfg directory. He then installed netboot which combines a DHCP and TFTP server into one simple package, and configured it for the MAC address of the AT machine’s 3com 3C905C-TXM network card.

With the hardware and operating system up and running, it was just a matter of getting the files off of the MFM drive and onto something a bit more contemporary. He tried to copy them to a secondary IDE drive, but it seemed there was some kind of conflict as both drives wouldn’t operate at the same time. So he pulled another solution from his bag of tricks: using a USB mass storage device on MS-DOS. By emulating a SCSI drive, he was able to get a standard flash drive plugged into a PCI USB card working, which ultimately dragged these ~35 year old files kicking and screaming into the 21st century.

We love keeping old hardware alive here at Hackaday, and documented methods to not only PXE boot DOS but use USB storage devices when you get it up and running will hopefully inspire some more hackers to blow the dust off that old 386 in the attic.