Retro spotlight: Jeri Ellsworth and the FPGA computer

illustrations illustrations illustrations illustrations illustrations illustrations illustrations
post-thumb

Published on 7 March 2024 by Andrew Owen (8 minutes)

Jeri Ellsworth turns 50 this year. Her first job was building and racing cars, but in 2002 she kicked off the FPGA computer revolution with the C-One. Since 2012 she’s been working on augmented reality (AR) at Valve, castAR and now Tilt Five. At around the same time she was working on the C-One, I was working on an enhanced Timex Sinclair 2068. The projects converged in 2011, but I’ll get to that. First, a quick explanation of what an FPGA is and isn’t.

Gate arrays were an approach to designing application-specific integrated circuits (ASICs). Interconnects were added to prefabricated layers of uncommitted logic gates during manufacturing. There were several competing technologies. But initially, Ferranti dominated the market with its uncommitted logic array (ULA). In 1982 this enabled almost the entire logic circuit of the ZX80 computer to be reduced to a single chip. The follow-up, the Timex Sinclair 1000, was a forerunner of modern system-on-a-chip (SoC) designs, consisting of only four chips: CPU, RAM, ROM and ULA. For more details on the ULA and early microcomputer design, I recommend Chris Smith’s “How to Design a Microcomputer” (full disclosure: I edited the book).

The downside of the gate array is that after manufacturing, its behavior can’t be changed. But other companies were developing devices that could be reconfigured. These include programmable array logic (PAL), complex programmable logic devices (CPLDs) and field programmable gate arrays (FPGA). From a simplistic point of view, the main difference between these technologies is the number of logic gates available. By the turn of the century, FPGAs had enough gates to completely recreate a computer as complex as the Commodore 64 (Jeri’s first computer), as the ULA had previously done for the ZX80.

This isn’t emulation. In the strictest sense, an emulator is something that enables a host system to run software designed for a different system. With an FPGA recreation of an existing computer, there is no host. But the line is becoming blurred with FPGA devices that use an ARM SoC running Linux to handle the system I/O.

Now back to Jeri. As a child, she took all her toys apart to find out how they worked. So her single-parent father stopped buying them and instead collected broken electronics. She commandeered her brother’s electronics kit, and soon she had her own pirate radio station. She also got into phone phreaking. Her father taught her to wrench on cars so she could work at the gas station he owned. But he didn’t want her getting hurt, so she traded labor for welding lessons at a machine shop so she could build her first race car. She found a book on racing setups and eventually pestered one of the references so much that he invited her to spend a week with him and his wife and teach her everything she needed to know about racing. Crucially, this included the advice: “If it’s not in the rule book, it’s legal.”

Electronics remained her true calling, and during her racing career in the early 1990s she built a traction control system based around a 6502 microprocessor. Soon she was dominating races and making enough money racing and selling chassis that she felt able to drop out of high school. But when a high school classmate introduced her into the PC-building business, she decided that seemed a much easier way to make money. Having got the business off the ground, she was booted out for being a sweary goth (she went back to being herself after she learned about relatability). She created a rival store and put her former partner out of business in a year. It expanded to five stores, but the internet made it hard to turn a profit. Two of the stores closed, and she gave three away to the employees, one of which was still in business in 2023.

This was around the time FPGAs became generally available, and she began designing boards and reverse engineering old Commodore parts for fun. Her friends and family advised her to go back to school. Instead, she tried to get a job in Silicon Valley. But although she got plenty of interviews, they would end up getting cut short when she revealed that she had dropped out of high school. She ended up working at an electronics store in Oregon for minimum wage. But eventually she caught a break when, having had another interview end early, she met the founder on her way out. He immediately organized a panel interview and she got the job. It was at this time that she started reverse engineering the Commodore 64 in FPGA.

This culminated in the C-One as sold by Individual Computers in Germany from 2002. Originally intended purely as an enhanced Commodore 64, it became the first generally available reconfigurable computer. During the lifetime of the machine new cores were added including Amiga, Amstrad CPC, VIC-20, and in 2011, the ZX Spectrum. The latter was a port of Alessandro Dorigatti’s ZX-One core for the Turbo Chameleon 64, an FPGA cartridge for the Commodore 64, also produced by Individual Computers. In 2009, this was the first hardware implementation of the palette system I designed for the 2068. More on that in a future article.

In 2003 Jeri was approached by a toy company that wanted to do a Commodore 64 in a joystick, but was struggling with emulation. This resulted in her creating the ASIC (her first) used in the C64 Direct-to-TV. Prototyping wasn’t an option, so they went with a pilot run. One day, Jeri got an angry telephone call telling her it didn’t work. She went out to China to find out what was wrong and discovered that the manufacturing partner had cost reduced the board. When they put all the capacitors back onto the board, it worked. Unbeknownst to the toy company, she had buried the ability to turn the board into a full-blown computer. This would potentially have limited the ability to sell it to children. But when it was disclosed in Slashdot, it sold out in a week and all was forgiven. After being told she’d never work in the toy industry again, she went on to work on several other products, including an arcade machine and the Bratz laptop.

But let’s back up a bit. In the late 1990s, a recurring thread on Usenet’s comp.sys.sinclair channel was “let’s make a new ZX Spectrum”. This ignored the fact that people in the Soviet Union (Pentagon, Scorpion and so on) and the Eastern Bloc (Didaktik Gama and so on) had been doing this for years. In fact, back in 1983 Timex had improved the Spectrum’s audio and graphics with the 2068. But the problem with building a new machine was replacing the ULA. Initially this was done in discrete logic. There are now dozens of clones based on Chris Smith’s Harlequin design (included in his book), which was a precursor to his Spectrastick project to make a Spectrum version of the C64 Direct-to-TV. But before the Harlequin came Mike Wynne’s SpeccyBob. At this point I don’t remember if I had asked Mike to add Timex graphics support or if he had already done it. It was made from readily available parts and included IDE disk support. For a time it looked like a good starting point for my project. But I also had my eye on the Peters Plus Sprinter, which used an Altera programmable logic device (PLD). But then in 2013 a group in Spain created the ZX-Uno (originally also called the ZX One until they out about the existing core), which fully implemented my enhanced 2068 design. I’ll revisit the Uno in a future article, suffice it to say that because it was open source it led to many clones, both hobbyist and commercial, until supplies of the Spartan 6 chip dried up.

Back to Jeri. After a stint designing navigation systems for space rockets, she was hired by Valve to research and develop a gaming platform that would appeal to the entire family. That’s where she experienced the social potential of AR first hand. When the entire AR team at Valve was laid off, she convinced CEO Gabe Newell to sell her the technology they’d developed for $100 and founded castAR. Although she’d run a business before, she didn’t trust herself to be CEO and hired a group of executives. The investors wanted a moon shot, the original CEO left, and the board burned through $15 million of venture capital. After the company failed, Atari founder Nolan Bushnell called Jeri to tell her there was always a way, and she should be the leader of the company. So she put together Tilt Five, bought the technology back again and focussed on a single product: a multiplayer AR gaming system that doesn’t give you a headache.

Today, the market is flooded with homebrew computer projects, many using FPGA technology. The ones I’ve been involved in include the Commander X16, Mega 65, ZX-Uno and ZXTRES. And Chris Smith now designs retro consoles for a living. But without Jeri’s pioneering work, I’m not sure any of this would have been possible. As an afterthought, following the Lost Bass Project’s success in returning Paul McCartney’s stolen Hofner bass guitar to him after 50 years, perhaps they could now turn their attention to the one-of-a-kind Commodore 64 bass that Jeri made that was stolen a few years ago.