Facebook Pixel Reviving Frogger's Retro Audio with a Programmable Sound Generator - Using an AY-3-8910 Chip and a Z80 Emulator on a Raspberry Pi | Circuit Cellar - education - Read this story on Magzter.com

Try GOLD - Free

Reviving Frogger's Retro Audio with a Programmable Sound Generator - Using an AY-3-8910 Chip and a Z80 Emulator on a Raspberry Pi

Circuit Cellar

|

February 2025

The Frogger arcade video game is considered one of the best of all time. Chris shares his journey to bring the nostalgic sounds of Frogger back to life using the classic AY-3-8910 sound chip and a modern Raspberry Pi setup with coding insights and a fix to the original game's music glitch.

- Chris Cantrell

Reviving Frogger's Retro Audio with a Programmable Sound Generator - Using an AY-3-8910 Chip and a Z80 Emulator on a Raspberry Pi

I have become that guy—the old man at the office who bores the young engineers with tales of how things used to be. DigiKey? The Internet? Back in my day (the early 1980s), we rode our bikes to RadioShack and browsed racks of electronic components by hand—resistors, capacitors, breadboards, LEDs—you name it. I remember the Forrest Mims engineering notebooks on a shelf as I walked in. These were our definitive guides to electronics, op amps, and logic gates. You can still read them on the Web today. Next to the bookshelf was the wall of chips—analog and digital ICs in cardboard packaging, with transparent plastic bubbles so you could see the parts before you bought them. And don't forget to use your battery-of-the-month-club card to get a free battery when you check out.

It was on that wall of chips that I first met my old friend, the AY-3-8910 programmable sound generator. It's a 40-pin DIP chip, packed with features: three voices, a noise generator, and a complex envelope control. Over the years, it has been with me on many projects, including an LED movie project I wrote about in Circuit Cellar #239, June 2010 [1].

Here I am with another retro project featuring the sound chip. In this article, I'll show you how I used Python to talk to my AY-3-8910 from a Raspberry Pi. That isn't revolutionary; you'll find many hardware and software examples on the Internet. But my project has a cool twist.

I'll show you how I ran the original binary code from the Frogger arcade machine in a Z80 emulator on my Pi. For readers who weren't around in the 1980s, Frogger is an action game, the objective of which is to get several little frogs home safely—by keeping them from drowning in a river, or becoming road kill, or the lunch of a snake or alligator. (You can still buy “refurbished” original Frogger games on Amazon, and can even play it as a board game, on PS1, and online.)

MORE STORIES FROM Circuit Cellar

Circuit Cellar

Circuit Cellar

Vishay Intertechnology Automotive-Grade Optocouplers Deliver High Isolation Voltage Ratings and Distance for EVs and Solar Inverters

Vishay Intertechnology, Inc. introduced two new Automotive-Grade optocouplers with phototransistor output in a widebody package featuring a comparative tracking index (CTI) of 600.

time to read

1 min

July 2026

Circuit Cellar

Circuit Cellar

WWVB Timecode Generator A Tool for Testing Radio-Controlled Clocks

In this article, Robert describes how he built a timecode generator that provides simulated code from WWVB, a radio station operated by the National Institute of Standards and Technology, which is used to synchronize millions of radio-controlled clocks.

time to read

16 mins

July 2026

Circuit Cellar

Circuit Cellar

MCUs at the Heart of the Edge Modern MCUs Go Beyond Simple Process Control

Microcontroller Units (MCUs) are the power at the heart of modern embedded systems.

time to read

2 mins

July 2026

Circuit Cellar

Circuit Cellar

650V ICeGaN Device for Automotive Applications from CGD Helps Increase EV Range

Cambridge GaN Devices (CGD) has developed a 650V GaN IC for automotive applications that addresses automakers' desires to improve inverter efficiency.

time to read

1 min

July 2026

Circuit Cellar

Circuit Cellar

Blues Latest IoT Modules Notecard for Skylo and Notecarrier CX

Satellite comms for IoT projects may seem the domain of enterprise customers, but new modules from Blues can bring satellites within reach even for small professional and research projects.

time to read

22 mins

July 2026

Circuit Cellar

Circuit Cellar

Rust: An Embedded Lightning Rod Nothing Is Quite as It Seems

Linus Torvald’s release of Linux 7.0 announced the finalization of Rust-related projects in the kernel: From now on, the programming language is to be considered a first-class member of Linux.

time to read

10 mins

July 2026

Circuit Cellar

Circuit Cellar

PLS' Debug and Trace Tool UDE Supports ST's Stellar P3E Automotive Microcontroller

The debug, trace, and test tool UDE Universal Debug Engine from PLS Programmierbare Logik & Systeme, has expanded its support to encompass the Stellar P3E.

time to read

2 mins

July 2026

Circuit Cellar

Circuit Cellar

The Tireless Intern: LLM Coding Agents for Embedded Work Using AI Speeds Security Tooling

This article discusses a case study of using a large language model (LLM) to develop a tool for embedded security, that would have otherwise taken several weeks (or months) of effort in a few days.

time to read

10 mins

July 2026

Circuit Cellar

Circuit Cellar

IoT Infrastructure: On-Premises Deployment or Cloud Solution?

Designing an IoT system is not only about sensors and dashboards.

time to read

5 mins

July 2026

Circuit Cellar

Circuit Cellar

Signal-to-Noise Ratio for Voice Activity Detection Devices

Users needs to be able to give AI glasses voice commands and be sure the device is only picking up their speech, not other sounds.

time to read

4 mins

July 2026

Listen

Translate

Share

-
+

Change font size