LockerGnomeFor serious tech professionals with a silly side.
Subscribe

Search

Retrocommodore 64esp32open source

Meatloaf, an ESP32 on a Commodore 64's IEC serial port, loads programs from any URL and presents them as a period floppy drive

The open-source firmware turns a $15 microcontroller into a disk drive that answers LOAD commands from web, FTP and SMB servers, unpacking a ZIP and a disk image on the fly, with nothing extra running on the Commodore.

Stained-glass panel of Chris Pirillo at a chunky brown home computer, a cable from its side running up to a small circuit board that glows with a beam from a cloud.
Illustration: LockerGnome

The pitch in the README is short. “It is a disk drive. LOAD"$",8 works. LOAD"*",8 works. Your existing software does not know the difference.”

That last part is the whole trick. A Commodore 64 doesn’t know what’s on the other end of its serial cable. It asks device 8 for a file by name, and whatever answers, answers. Meatloaf answers, and it reads the filename as a path. So this works from plain BASIC:

LOAD"HTTP://SERVER.COM/FILES/GAME.ZIP/DISK.D64/START.PRG",8

The developer, Jaime Idolpx, parses that “right to left,” and every piece of the path can be a container. The firmware fetches the ZIP over HTTP, decompresses it as it streams, reads the D64 disk image’s directory out of the decompressed bytes and sends START.PRG down the wire. “No unpacking step, no temporary files, nothing to copy to an SD card first.” It’s the same idea as opening a file inside a ZIP in your file manager, except the computer asking is from 1982 and has 64 KB of RAM.

The list of what it reads goes well past HTTP: HTTPS, FTP, SFTP, SMB shares, NFS and TNFS, plus tape images and even .p64 files, which are raw magnetic flux from a 1541 that the ESP32 decodes one track at a time. It can answer on any device number from 4 to 30, so one board is 26 drives at once, each with its own disk mounted. It’s also a printer on device 4, a clock and a WiFi modem. A JSON parser lets unmodified BASIC v2 talk to REST APIs, and the repo ships BASIC programs for Wikipedia, live aircraft tracking and a chat client for OpenAI or a local Ollama model.

Typing out a long URL on a C64 keyboard gets old, so there are short codes. LOAD"ML:HERO",8 asks the Meatloaf server to look the code up and redirect to the full address. On the project’s hackaday.io page, idolpx calls that “Short enough for a forum post, a tweet, a video caption, or a label on the disk box.”

Building one is three parts from AliExpress: an ESP32-S3 dev module for $4.48, five 6-pin DIN plugs for $3.21 and two meters of six-core wire for $7.32. “About $15 all in,” the README says, “and the plugs and wire make five IEC pigtails — one for you and four for your friends.” You solder a plug to the board, open flash.meatloaf.cc in Chrome, Brave or Edge, and the firmware installs from the browser “in about a minute.” Deadline from CityXen walks through the build on video.

Play the video on YouTube

Speed is where it’s still settling in. “A stock 1541 moves about 300 bytes per second,” and Meatloaf supports the fixes people bolted on back then: JiffyDOS, Epyx FastLoad, Final Cartridge 3, Action Replay 6. It also recognizes 65 fast-loader routines across 19 families that games and demos upload into the drive’s own RAM. Most of that layer is new, though. The README says the code is “written and building on every board, but have not yet been driven from a real C64.”

Meatloaf isn’t alone. SD2IEC has put memory cards behind the Commodore’s serial port for years, and the README says up front that Meatloaf is “similar to SD2IEC and its clones.” Meatloaf’s code also feeds Commodore FujiNet, and FujiNet code goes back into Meatloaf. What’s different is that the drive does the network work itself, so a forty-year habit of typing LOAD and waiting is enough to pull something off the open internet.

The open question is speed. The fast loaders that only run on real 1541 hardware are the ones that matter for demos, and those are the ones still waiting on someone to plug in a real C64 and try them.

More Retro

Every Retro story →