Loading Sega Games Off a Vinyl Record [video]

Hacker News Top News

Summary

The author successfully encoded Sega Genesis game data as audio, played it from a vinyl record, decoded it with a Raspberry Pi Pico, and loaded it onto the console, completing a proof of concept.

No content available
Original Article
View Cached Full Text

Cached at: 06/03/26, 03:37 AM

### TL;DR The author successfully encoded Sega Genesis game data as audio, played it through a vinyl record, decoded it with a Raspberry Pi Pico, and loaded it onto the console, completing a proof of concept. ## Project Motivation & Required Hardware The initial idea for this project sounds absurd: playing Sega Genesis games using a vinyl record player. But "yet another crazy idea, just my style." The author had never used a record player before, nor had they ever recorded onto vinyl — but that's where the fun lies. ### Sega Genesis (Mega Drive) - The author jokes that "the Sega Genesis was designed by Mark Twain in 1967." The console has two controller ports, power and reset buttons, and uses a cartridge system. - An RGB upgrade kit was used, connecting via component cables to a capture card and then to a monitor. However, initial issues with 16:9 stretching and flickering took half an hour to fix. ### Vinyl Record Player: P record factory This is a record player and recorder that can create custom 5-inch vinyl records. The kit includes plastic casing, screws, gears, belts, and other parts, but no manual was included (the manual was hidden under the lid inside the box). ## Setting Up the Custom Software Environment To load games from vinyl, the first step was to run custom ROMs on the Genesis. The author used a Mega Everdrive Pro (flash cart), loading homebrew games via SD card. ### Installing the SDK Using SGDK (Sega Genesis Development Kit), written in C. The author ran it in Docker and eventually compiled a test ROM (a sound test: cross key moves cursor, A/B buttons change background color and play a 440Hz tone). ## Loading Games via USB The Everdrive Pro's USB interface provides a communication channel with the console. The author used a Raspberry Pi Pico 2 as an intermediary: - Flashed the Pico with specific firmware (everdrive.h, etc.), enabling it to send ROM data to the Everdrive via USB. - Connected the Pico to the Genesis USB port using a USB OTG cable, allowing ROM deployment from the Pico. ## Testing Audio Data Transfer from Tape Before tackling vinyl, the author first verified the audio decoding workflow using cassette tape. ### Data Encoding Method Digital data must be converted to analog audio waveforms. The author adopted a modem-like approach: bits → audio waveforms, with sampling during playback to recover bits. Recorded onto tape and transmitted at approximately 1200 baud (150 bytes/sec). ### Practical Process - Used an old-school FC data recorder (similar to a cassette tape recorder). - Recorded pure tone tests on tape, then used the Pico's audio input pin to receive the signal, decode it, and send it via USB to the Genesis. - Result: Successfully loaded a fractal plasma demo program. ## Making the Vinyl Record and Loading It Since the tape worked, the next step was vinyl. ### Assembling the P record factory After some effort finding the manual (hidden inside the box), the author assembled the DIY kit. The process included installing the belt, gears, tonearm, etc., and finally succeeded in recording. ### Recording Game Data to Vinyl The game ROM (compressed and optimized for size) was encoded as audio and cut onto a blank vinyl record. The audio track consisted of a series of modulated beeps. ### Playing and Loading - Connected the record player's audio output to the Pico's audio input (via a resistor divider for noise reduction). - The author says: "Used this P record factory thing to record game data onto vinyl, then played it on the Sega Genesis." - Pressed play, the vinyl spun, emitting "pleasant beeps." The Pico decoded the data, pushed it via USB to the Everdrive, and finally the game appeared on the TV screen. ## Conclusion Although the whole idea is "completely useless and stupid," the author proved the concept: vinyl records can simultaneously carry sound and game data, demodulated as audio and loaded onto a Sega Genesis. It's a nostalgic and hilarious tribute to the Sega CD. > Source: [Loading Sega Games Off a Vinyl Record [video] - YouTube](https://www.youtube.com/watch?v=c744iD0_fWU)

Similar Articles

What If Video Games Came on VHS? One Modder Is Finding Out

Hacker News Top

Hardware enthusiast Throaty Mumbo demos GCVHS, an experimental gaming system that encodes executable game data and video streams onto real VHS tapes, getting classics like Doom and Super Mario Bros running via a DE1-SoC FPGA board and RP2350 microcontroller, revisiting the 1987 Action Max concept with genuinely interactive results.

Nintendo Wii U games running from a 1980's Bernoulli disk [video]

Hacker News Top

Using a SCSI-to-USB adapter to connect a 90MB Bernoulli disk from the 1980s to a Wii U, successfully installed and ran the Game Boy Advance game 'Metroid Fusion', demonstrating a compatibility experiment between retro storage media and a modern game console.

Show HN: Pokémon Emerald Ported to Raspberry Pi Pico 2

Hacker News Top

A developer ported Pokémon Emerald to run natively on a Raspberry Pi Pico 2 (RP2350) microcontroller, recompiling the GBA game to Cortex-M33 and reimplementing the PPU on the second core, achieving 60 fps with HDMI output.

The art and engineering of Silpheed

Lobsters Hottest

An in-depth technical analysis of the FMV compression and playback techniques used in the Sega CD game Silpheed, including reverse engineering of its format.

Linux for the Sega MegaDrive

Hacker News Top

A project ports Linux to the Sega MegaDrive console using an EverDrive cartridge, providing build and boot instructions along with a custom QEMU fork for emulation.