A hardware modder demonstrated a Sega Genesis loading game ROMs from a vinyl record over the weekend, using a custom cartridge that listens to audio output, decodes it as data, and writes it into onboard SRAM. The hack is a clever stunt — slow, fragile, and impractical — but it revives a 1980s data-encoding technique that briefly shipped on dozens of European 8-bit computers. Per Ars Technica's coverage and the modder's own GitHub repo, the prototype boots Sonic 1 from a 33⅓ RPM record in roughly four minutes.
What actually happened
The mod author, who goes by lojack on his project page, designed a cartridge PCB that combines three things: a small microcontroller (a STM32-class chip) that handles audio sampling and decoding, 128 KB of SRAM that holds the decoded ROM image, and standard Genesis cartridge edge-connector traces.
The audio input comes from a 3.5mm jack on the cartridge edge — you connect any line-level audio source: a turntable preamp, a phone, a tape deck, anything that outputs analog audio. The microcontroller samples at roughly 48 kHz, decodes the bitstream using a Kansas City Standard variant tuned for vinyl's frequency response, and writes the decoded bytes into SRAM.
The Genesis CPU sees the SRAM as a normal cartridge ROM. Once the load finishes — about four minutes for a 512 KB Sonic 1 image — you press reset, the BIOS jumps to the cartridge header, and the game plays normally.
Why this is a callback to the 1980s
Loading software from audio is not new. It is how a generation of European 8-bit machines distributed games. The BBC Micro, the Sinclair ZX Spectrum, and the Commodore 64 all booted from cassette tape, and dozens of magazines distributed games on flexi-disc vinyl records you could play through a tape recorder cable.
The technique is called audio-frequency modulation, and the standard most early home computers used — the Kansas City Standard — encodes ones and zeros as alternating bursts of 2400 Hz and 1200 Hz tones. Slow (300 baud nominal, often pushed to 1500 baud with platform-specific encodings), error-prone, and dependent on tape head alignment, but cheap. Cassettes were a tenth the price of floppy drives in 1983.
Bringing the technique to a 1989 console is unusual. The Genesis shipped with proper ROM cartridges precisely because Sega had moved past audio-loading; it never needed the encoding, and no commercial Genesis title ever used it. That is the joke: applying a 1980s budget-loading trick to a console built specifically to avoid such tricks.
How the cartridge works
The hardware lives in roughly $15 of parts:
- STM32F411 microcontroller — handles ADC sampling, bitstream decoding, and SRAM writes.
- Standard cartridge edge connector PCB.
- 128 KB battery-backed SRAM (one chip).
- 3.5mm input jack with a small op-amp buffer to handle line-level signals.
- A reset push-button on the cartridge shell so you can re-trigger the boot ROM after loading.
The encoding decision matters more than the hardware. Vinyl records have a known frequency response curve (the RIAA equalization curve) that boosts highs in playback to compensate for lows-favoring recording. A naive Kansas City Standard tone would smear in vinyl mastering and demodulate poorly.
Lojack's encoder pre-distorts the audio file by applying inverse RIAA before cutting the record, then uses a slightly wider tone gap (1000 Hz / 2500 Hz instead of 1200/2400) to give the demodulator more margin against wow and flutter — the slow speed variations every turntable has. The result is a Kansas-Standard-like encoding tuned specifically for vinyl playback through a typical home turntable.
Loading speed and capacity
A 33⅓ RPM record at the modified Kansas-Standard rate carries roughly 2,000 bits per second of usable data after error correction. A 512 KB Sonic 1 ROM is 4,194,304 bits, so a complete load takes:
| ROM size | Bits | Load time at 2,000 bps |
|---|---|---|
| 128 KB (early Genesis launch titles) | 1,048,576 | ~8.7 minutes |
| 256 KB (mid-generation games) | 2,097,152 | ~17.5 minutes |
| 512 KB (Sonic 1, Phantasy Star) | 4,194,304 | ~35 minutes |
| 1 MB (Streets of Rage 2 era) | 8,388,608 | ~70 minutes |
Lojack's published "four minutes for Sonic" demo uses a heavily compressed ROM and a fast variant of the encoding that pushes the data rate to ~14 kbps. Standard vinyl audio bandwidth tops out around 16 kHz, so 14 kbps with two-tone FSK is close to the theoretical ceiling — and explains why most early 1980s standards stayed below 2 kbps for reliability.
The crowd reaction
r/Genesis, r/RetroGaming, and a thread on Hacker News all picked it up within hours of the demo video. The popular take: a wonderfully impractical art project that nonetheless solves a fun engineering problem.
A few practical questions came up in the threads:
Can you damage the console? No — the cartridge is read-only to the Genesis. The console boots normally and runs whatever SRAM contains. If the load is incomplete, you get garbage and a hang; reset and reload.
Will piracy concerns be raised? Probably not in a meaningful way. The ROMs being loaded are the same ROMs the modder owns physical cartridges of, distributed in audio form on the same vinyl record as a kind of artistic medium. The novelty is not in distributing the ROM; it is in the distribution medium being a record.
Does it work with other audio sources? Yes. The video shows the same cartridge booting from a smartphone audio file, a cassette tape, and the vinyl record. Anything that can play back the encoded waveform at roughly correct speed will work.
The bigger pattern
This is a piece of a broader trend in 2026: retro hardware modders revisiting 1980s data-distribution techniques because they make for striking demos. A team in 2025 published a Game Boy that boots from QR codes printed on its own startup screen, captured by a custom cartridge with an LED sensor. Another project earlier this year encoded ZX Spectrum cassettes onto modern hard drives as .wav files for "authentic" loading times.
The common thread is interest in the slow, fragile distribution mediums of pre-internet computing. They are bad in every measurable way — slower, less reliable, capacity-constrained — but the physical artifact (a record, a tape, a printed page) carries its own appeal that a microSD card does not.
What this means if you collect retro consoles
Probably nothing for your day-to-day collection. The vinyl-loading cartridge is a one-off art piece; lojack has not announced a kit, and the parts cost plus the vinyl-mastering cost make it impractical to mass-produce.
But the hack does highlight the cartridge-side flexibility you have if you want to build something similar. A standard Sega Genesis cartridge connector is documented, the bus protocol is simple, and the parts to build a custom cartridge are inexpensive. If you have ever wanted to make a cartridge that boots from a USB stick, a serial port, or a Wi-Fi connection, the same approach applies — just swap the audio decoder for whatever input you prefer.
The retro-modding community has been building these for years. Flash carts have been a staple since the late 2000s. What lojack's project adds is a piece of slow, deliberate showmanship — a reminder that a cartridge connector is just a memory bus, and what you stick behind it is a creative choice.
Common pitfalls if you try to replicate this
- Skipping the RIAA pre-emphasis: A naive cut record will demodulate at roughly 30% error rate. The inverse RIAA filter in the encoder is non-optional.
- Cheap turntables: Wow and flutter on a budget USB turntable corrupt the bitstream. A direct-drive deck with ±0.1% speed accuracy is the practical minimum.
- Line-level vs phono-level confusion: Vinyl phono cartridges output ~5 mV; the modded cartridge's input expects line level (~1 V). You need a phono preamp in between.
- Skipping the error-correction layer: Lojack's bitstream uses Reed-Solomon block codes. Stripping that to save time means a single dust speck on the record kills the load.
- Trying to load very large ROMs: A 1 MB ROM at 2 kbps takes over an hour. Even at 14 kbps it takes 10 minutes per side of vinyl. Plan for the side flips.
When NOT to bother
If you want to play Sonic, just buy a Sega Genesis Mini or a Super NES Classic Edition and be done. The vinyl loader is for the joy of building it, not for actually playing.
If you want a retro audio-storage demo, a cassette load on an actual 1980s ZX Spectrum is cheaper, faster, and more authentic to the era the technique came from. The cassette / vinyl distinction matters mostly as a stunt: vinyl is the prestige medium audiophiles associate with high-quality audio, which makes "this record plays a video game" funnier than "this tape plays a video game."
What hardware to look at if this hook interests you
For retro console collection if you do not own one yet:
- Sega Genesis Mini — official Sega re-release with 42 built-in titles. The easiest way to get the genuine Genesis feel without sourcing a 1989 unit.
- Super NES Classic Edition — the other half of the 16-bit-era classics. Pair with a Genesis Mini for the full retro-console experience.
- Raspberry Pi 4 8GB — for a RetroPie or Batocera build that emulates the whole 8- and 16-bit catalog at once.
A short history of audio-loaded computing
For anyone unfamiliar with how widespread audio-storage computing once was, a quick tour helps explain why the Genesis vinyl hack is funny rather than just baffling.
The earliest home computers — the Altair 8800, the Apple I, the Commodore PET — used standard cassette tape recorders as their primary storage. You connected an audio cable from the computer to a recorder's microphone jack, played a tape, and the computer demodulated the audio into bytes. The original BASIC code Bill Gates and Paul Allen sold for the Altair shipped on paper tape; cassette tape came right after.
In Europe through the mid-1980s, magazines distributed games on cassette. Crash, Your Sinclair, and Computer & Video Games covers regularly came with cassettes glued to the front. A 48 KB Spectrum game loaded in roughly four minutes if your tape head was clean — slightly slower than lojack's vinyl Sonic 1.
Flexi-disc vinyl distribution was rarer but real. The most famous example is Thompson Twins' 1984 <em>Adventure Game</em>, a Spectrum game pressed onto a 7-inch single and bundled with a pop song. Smash Hits magazine occasionally included flexi-discs with games on the B-side. A handful of UK record shops in 1984-1986 sold "play and load" records that you could either listen to as music or pipe through a tape recorder cable to load a small program.
In Japan, the NHK FM radio network broadcast computer programs over the air in the early 1980s. You would tune in at a scheduled time, hit record on your cassette deck, and after fifteen minutes of beeps and warbles, you had a new BASIC program to load.
The Sega Genesis arrived in 1988-1989 specifically as a clean break from this. Cartridge ROM was faster, more reliable, harder to copy, and a more premium delivery medium for the price tier. Sega's marketing emphasized "no loading times" as a key advantage over the disc-based Mega-CD add-on. To turn the Genesis back into an audio-loaded machine is a small, deliberate inversion of that history — which is why retro-modder Twitter loved it.
Bottom line
A clever, slow, fragile demo that revives a 1980s loading trick on a console that never needed it. The cartridge will not ship at retail and the load times are atrocious, but the engineering — RIAA pre-emphasis, modified Kansas City Standard, vinyl-tuned error correction — is genuinely interesting and broadly applicable to any "boot from analog medium" project.
For the rest of us, it is a reminder that a console's cartridge slot is open hardware territory, and the boundary of what counts as "loading a game" is wherever you want to draw it.
Related guides
- Build a Raspberry Pi Carputer for Your Daily Driver (2026)
- Run a Local LLM on a Raspberry Pi 4 8GB: What Works in 2026
- Build a Live ADS-B Flight Tracker on a Raspberry Pi 4 in 2026
- Build a Plex Media Server on a Raspberry Pi 4 8GB in 2026
Citations and sources
- Ars Technica — technology coverage — initial coverage of the vinyl-loading Genesis cartridge stunt.
- Wikipedia — Kansas City Standard — background on the original audio-tape encoding standard the hack adapts.
- Wikipedia — RIAA equalization — explanation of the vinyl-mastering EQ curve the modder had to invert.
This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.
