Apollo Guidance Computer Gets The Rust Treatment

Seems like all the cool kids are rewriting legacy C programs in Rust these days, so we suppose it was only a matter of time before somebody decided to combine the memory-safe language with some of the most historically significant software ever written by way of a new Apollo Guidance Computer (AGC) emulator. Written by [Felipe], the Apache/MIT licensed emulator can run either ROM files made from the computer’s original rope core memory, or your own code written in AGC4 assembly language.

It’s worth noting that the emulator, called ragc, needs a bit of help before it can deliver that authentic Moon landing experience. Specifically, the code only emulates the AGC itself and stops short of recreating the iconic display and keyboard (DSKY) module. To interact with the programs running on the virtual AGC you’ll need to also install yaDSKY2, an open source project that graphically recreates the panel Apollo astronauts actually used to enter commands and get data from the computer.

Of course, the next step would be to hack in support for talking to one of the physical recreations of the DSKY that have graced these pages over the years. Given the limitations of the AGC, we’d stop short of calling such an arrangement useful, but it would certainly make for a great conversation starter at the hackerspace.

Thanks for the tip, [CJ].

Sol-20 reproduction

Retro Reproduction Captures The Style Of The Sol-20

In the early years of the computer revolution, a machine like the Sol-20 really stood out. Where most hobbyist machines had front panels that bristled with toggle switches and LEDs, the Sol-20 was a sleek, all-in-one that looked like an electric typewriter in a walnut-trimmed box. Unfortunately, it was also quite expensive, so not that many were sold. This makes them hard enough to find 40 years later that building his own reproduction Sol-20 is about the only way for [Michael Gardi] to have one of his own.

In a lot of ways, the Sol-20 anticipated many of the design elements that would come into play later. Like the Apple and Commodore machines that were coming down the pike, the Sol-20 was intended to be plug and play. [Mike] celebrates that design with a full-size reproduction of the original, concentrating on its unique aesthetic aspects. The reproduction mimics the striking blue case, with its acrylic front panel and walnut sides. The keyboard is also an exact match for the original, in looks if not in function — the capacitive mechanism proved too difficult to replicate, so he opted for a kit using Cherry switches and custom keycaps. [Mike] also used his proven technique for 3D-printing the memorable Sol-20 logo for the front panel, in the correct font and color.

Under the hood, a Raspberry Pi runs an 8080 emulator, which supports a range of virtual devices, including a cassette tape drive and the video output. For fun, [Mike] also imagined what a CRT display for the Sol-20 would have looked like, and added that to his build. It’s a great-looking machine that never was, and we appreciate the attention to detail. We’ve seen that before — his 2/3-scale VT-100 terminal comes to mind, as does his reproduction of a 1960s computer trainer.

Ken Shirriff Breaks Open The Yamaha DX7

For better or worse, this synthesizer was king in the 1980s music scene. Sure, there had been synthesizers before, but none acheived the sudden popularity of Yamaha’s DX7. “Take on Me?” “Highway to the Dangerzone”?  That harmonica solo in “What’s Love Got to Do With It?”  All DX7. This synth was everywhere in pop music at the time, and now we can all get some insight from taking a look at this de-capped chip from [Ken Shirriff].

To be clear, by “look” that’s exactly what we mean in this case, as [Ken] is reverse-engineering the YM21280 — the waveform generator of the DX7 — from photos. He took around 100 photos of the de-capped chip with a microscope, composited them, and then analyzed them painstakingly. The detail in his report is remarkable as he is able to show individual logic gates thanks to his powerful microscope. From there he can show exactly how the chip works down to each individual adder and array of memory.

[Ken]’s hope is that this work improves the understanding of the Yamaha DX7 chips enough to build more accurate emulators. Yamaha stopped producing the synthesizer in 1989 but its ubiquity makes it a popular, if niche, platform for music even today. Of course you don’t need a synthesizer to make excellent music. The next pop culture trend, grunge, essentially was a rebellion to the 80s explosion of synths and neon colors and we’ve seen some unique ways of exploring this era of music as well.

Thanks to [Folkert] for the tip!

N-Gage Controller Uses All The Buttons

If there’s anything you can guarantee about a video game system, it’s that in 20 years after one suffers a commercial failure there will be a tiny yet rabid group of enthusiasts obsessed with that system. It’s true for the Virtual Boy, the Atari Jaguar, and of course, the Nokia N-Gage. For those not familiar, this was a quirky competitor of the Game Boy Advance that was also a cell phone. And for that reason it had more buttons than a four-player arcade cabinet, which has led to things like this custom controller.

Most N-Gage gaming these days takes place on emulators, this build is specifically built for the emulator experience. The original system had so many buttons that it’s difficult to get even a standard 102-key keyboard mapped comfortably to it, so something custom is almost necessary. [Lvaneede], the creator of this project, took some parts from an existing arcade cabinet he had and 3D printed the case in order to craft this custom controller. The buttons he chose are a little stiff for his liking, but it’s much better than using a keyboard.

In the video below, [Lvaneede] demonstrates it with a few of the N-Gage’s games. It seems to hold up pretty well. With backing from Sony and Sega, it’s a shame that these gaming platforms weren’t a bigger hit than they were, but there are plenty of people around with original hardware who are still patching and repairing them so they can still play some of these unique games.

Thanks to [Michael] for the tip!

Continue reading “N-Gage Controller Uses All The Buttons”

A Nintendo 64 console with modern hardware internals

N64 Mini PC Conversion Includes All The Trimmings

We’ve seen quite a few retro gaming consoles physically modded to house modern emulation hardware, but the NUC-64 by [RetroModder] stands out as one of the most impressive Nintendo 64 guttings that we’ve seen to date.

Observed from the front, the NUC-64 almost resembles a stock Nintendo console. The project’s name is printed across the vestigial cartridge slot, and two suspiciously modern wireless networking antennas can be seen poking out from the back. The console’s modifications are fully revealed when looking at it from the rear – gone is the power brick socket, which now houses the I/O for the replacement motherboard. A custom 3D printed I/O shield keeps everything looking neat and tidy.

Internally, the new hardware is no slouch. The Intel NUC is a small-form-factor PC, and this miniature battlestation sports an 1.6GHz Intel N3700 Pentium processor, 4GB of DDR3 RAM, WiFi/Bluetooth connectivity and an M.2 SSD. This hardware runs circles around the original Nintendo 64, and is more than capable of emulating games from that system.

Most total conversions would call it a day here, however [RetroModder] has taken it a step further by producing a custom PCB that neatly ties together the console’s front I/O. Most importantly, two Mayflash N64-to-USB converters means that your favorite 1990s games can be enjoyed with the original controllers. The original power LED and reset switch are present, as is the sliding power switch which retains its original purpose, thanks to a simple 555 circuit that sends the expected power-on and power-off signals to the motherboard with each slide of the power switch. Additionally, a system of 3D printed mounts and brackets keeps everything secure inside the case.

All the build details can be found here. The NUC-64 follows on from last month’s GamecubePC. The build quality and attention to detail makes this conversion rather special, and it’s clear that a lot of care and planning was taken to pull this off. Hopefully the original N64 hardware can be repurposed as well, perhaps as a new portable console?

Continue reading “N64 Mini PC Conversion Includes All The Trimmings”

Vintage Computers With A Real Turbo

In prior centuries, it was common practice to tie the operation of a program to a computer’s clock speed. As computers got faster and faster, the programs tied to that slower clock speed sometimes had trouble running. To patch the issue temporarily, some computers in the early 90s included a “TURBO” button which actually slowed the computer’s clock speed down in order to help older software run without breaking in often unpredictable ways. [Ted Fried] decided that he would turn this idea on its head, though, by essentially building a TURBO button into the hardware of old computers which would greatly increase the execution speed of these computers without causing software mayhem.

To accomplish this, he is running CPU emulators on Teensys (Teensies?), but they are configured to be a drop-in replacement for the physical CPU of several retro computers such as the Apple II, VIC-20, and Commodore 64 rather than an emulator for an entire system. It can be configured to run either in cycle-accurate mode, making it essentially identical to the computer’s original hardware, or it can be placed into an accelerated mode to take advantage of the Teensy 4.1’s 800 MHz processor, which is orders of magnitude faster than the original hardware. This allows (most of) the original hardware to still be used while running programs at wildly faster speeds without needing to worry about any programming hiccups due to the increased clock speed.

The video below demonstrates [Ted]’s creation running in an Apple II but he has several other cores for other retro computers. It’s certainly a unique way to squeeze more computing power out of these antique machines. Some Apple II computers had a 4 MHz clock which seems incredibly slow by modern standards, so the 800 MHz Teensy would have been considered wizardry by the standards of the time, but believe it or not, it’s actually necessary to go the other direction for some applications and slow this computer down to a 1 MHz crawl.

Continue reading “Vintage Computers With A Real Turbo”

An Emulator For OBP, The Spaceflight Computer From The 1960s

[David Given] frequently dives into retrocomputing, and we don’t just mean he refurbishes old computers. We mean things like creating a simulator and assembler for the OBP spaceflight computer, which was used in the OAO-3 Copernicus space telescope, pictured above. Far from being a niche and forgotten piece of technology, the On-Board Processor (OBP) was used in several spacecraft and succeeded by the Advanced On-board Processor (AOP), which in turn led to the NASA Standard Spaceflight Computer (NSSC-1), used in the Hubble Space Telescope. The OBP was also created entirely from NOR gates, which is pretty neat.

One thing [David] learned in the process is that while this vintage piece of design has its idiosyncrasies, in general, the architecture has many useful features and is pleasant to work with. It is a bit slow, however. It runs at a mere 250 kHz and many instructions take several cycles to complete.

Sample of the natural-language-looking programming syntax for the assembler. (Example from page 68 of the instruction set manual for the OBP.)

One curious thing about the original assembler was documentation showing it was intended to be programmed in a natural-language-looking syntax, of which an example is shown here. To process this, the assembler simply mapped key phrases to specific assembly instructions. As [David] points out, this is an idea that seems to come and go (and indeed the OBP’s successor AOP makes no mention whatsoever of it, so clearly it “went”.) Since a programmer must adhere to a very rigid syntax and structure anyway to make anything work, one might as well just skip dealing with it and write assembly instructions directly, which at least have the benefit of being utterly unambiguous.

We’re not sure who’s up to this level of detail, but embedded below is a video of [David] coding the assembler and OBP emulator, just in case anyone has both an insatiable vintage thirst and a spare eight-and-a-half hours. If you’d prefer just the files, check out the project’s GitHub repository.

Continue reading “An Emulator For OBP, The Spaceflight Computer From The 1960s”