Skip to main content
Sega Genesis Games Loaded Off a Vinyl Record: How the Hack Works

Sega Genesis Games Loaded Off a Vinyl Record: How the Hack Works

A modder revives 1980s audio-loading on a 1989 console

A hardware modder showed off a Sega Genesis cartridge that loads ROMs from a vinyl record. Here is the encoding behind it and what the 4-minute Sonic 1 load actually proves.

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 sizeBitsLoad 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

Citations and sources

This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.

Products mentioned in this article

Live prices from Amazon and eBay — both shown for every product so you can pick the channel that fits.

SpecPicks earns a commission on qualifying purchases through both Amazon and eBay affiliate links. Prices and stock update independently.

Find this retro hardware on eBay

Pre-2012 hardware isn't sold new on Amazon. eBay is the primary marketplace for the SKUs discussed in this article — auctions and Buy-It-Now listings update continuously.

Search eBay for "Sega Genesis" Live listings →

SpecPicks earns a commission on qualifying eBay purchases via the eBay Partner Network. Prices and availability change frequently.

Frequently asked questions

Can the vinyl-loading cartridge damage my Sega Genesis?
No. The cartridge appears to the Genesis as a normal ROM cartridge — read-only from the console's perspective. The audio decoding and SRAM writes happen entirely on the cartridge's microcontroller; the Genesis itself just reads bytes from what looks like cartridge ROM. If the load is interrupted or noisy, you get a hang or a corrupted game image, but no hardware damage. Reset the console and reload the record to recover.
Why use vinyl instead of a faster medium like USB or SD card?
Purely as an art project and engineering stunt. Vinyl is roughly 1,000x slower than even a microSD card for storing 4 MB of data, with much higher error rates. The point is not speed; the point is to revive a 1980s data-distribution technique (audio-frequency modulation) on a console that was designed specifically to avoid it. Practical Genesis modders use flash carts or microSD-backed cartridges for ROM loading.
Will a kit ever ship for this?
Probably not as an off-the-shelf product. The cartridge plus the cost of cutting a vinyl record per ROM makes it economically unattractive at retail. Lojack has published the schematic and encoder source on GitHub, so DIY builders can replicate the project for the cost of parts and a custom vinyl mastering run, which typically requires a $200+ short-run pressing service for a small batch.
Does this work with any audio source?
Yes — the cartridge accepts any line-level audio input via a 3.5mm jack. Lojack has demonstrated the same cartridge booting from a smartphone audio file, a cassette tape, and the vinyl record. Anything that can play the encoded waveform at approximately correct speed will load the game. The vinyl record is the distribution stunt; the underlying technology is medium-agnostic.
How is this related to historical computer cassette loading?
It is a direct descendant of the Kansas City Standard, the audio-frequency-modulation encoding the BBC Micro, ZX Spectrum, Commodore 64, and dozens of other early home computers used to load programs from cassette tape in the late 1970s and early 1980s. The vinyl variant adds RIAA inverse equalization to handle the vinyl mastering EQ curve. Functionally it is the same technique — encode bytes as alternating audio tones — adapted for a different physical medium with different frequency response characteristics.

Sources

— SpecPicks Editorial · Last verified 2026-06-07

More guides & deep dives from the SpecPicks archive

Browse all articles & guides →

More reviews from the SpecPicks archive

Browse all reviews →