SD2IEC & IEC-2-SD Adapters
|
| Caption
|
TFW8b SD2IEC v5B – turnkey unit with OLED, buttons and IEC-passthrough
|
| Type
|
SD-card IEC serial mass-storage adapter (1541-compatible subset)
|
| Designer
|
Community project originated as MMC2IEC by Lars Pontoppidan (2007); maintained by Ingo Korb (sd2iec firmware)
|
| Manufacturer
|
Unknown
|
| First released
|
2008 (sd2iec v0.1)
|
| Latest revision
|
sd2iec firmware v1.1.1 (March 2024)
|
| Operating voltage
|
+5 V from IEC bus • on-board 3.3 V LDO for SD-card
|
| Layers / PCB
|
—
|
| Compatibility
|
C64 / C64C / SX-64 / C128 / VIC-20 (CR) / Plus-4 / PET (via IEEE–IEC adapter)
|
| Features
|
—
|
| Model No.
|
uIEC/SD, SD2IEC (v4–v5B), SD2IEC Slim/OLED, IEC-2-SD ARM, SaRuMan-SD, numerous DIY
|
The SD2IEC family—and its ARM-based off-shoots usually sold as IEC-2-SD—are open-hardware adapters that let Commodore 8-bit machines read and write FAT/FAT32-formatted SD-cards through the standard IEC serial bus.
Acting as a *smart* disk-drive clone they implement the most-used 1541/1571/1581 DOS commands (LOAD, SAVE, directory, block API, ↑, ←, etc.) plus a small command channel interpreter that maps files and sub-directories to disk images on the card.
- “Loader-ready in < 1 s” – no mechanical spin-up / head-seek delays.
- Capacity: 32 GB+ per card, thousands of ‘‘D64/D71/D81’’ images or plain PRGs.
- Speed: ≈ 45× stock 1541 with JiffyDOS fast-loader (≈ 12 kB s-1).
- Firmware upgradable from the C64 itself (`LOAD "FW.BIN",8,1` & `RUN`).
- 100 % open-source: hardware KiCad / Eagle files & AVR/ARM firmware on GitHub.
- 2006-07 – MMC2IEC — Lars Pontoppidan prototypes an ATmega32 board that translates IEC ↔ SPI-MMC.[1]
- 2008 – sd2iec — Ingo Korb forks the code, adds FAT32, long filenames, D71/D81 and renames the firmware sd2iec.[2]
- 2010-12 – Commercial kits — Jim Brain's uIEC/SD and NKC Electronics sell through-hole DIY modules.
- 2014-15 – TFW8b v4/v5 — TheFutureWas8bit releases compact SMD units with button board & OLED.
- 2018 – IEC-2-SD (STM32) — Petter Lundsten ports the protocol to the STM32 “Blue Pill”, bringing USB mass-storage gadget mode.[3]
| Variant |
MCU |
Clock |
RAM |
Notes
|
| Classic SD2IEC |
ATmega1284P |
20 MHz crystal |
16 KB |
SPI→SD, UART→debug, optional OLED/I²C
|
| uIEC/SD |
ATmega644P |
16 MHz |
4 KB |
2× micro-SD sockets, daughter-card form factor
|
| IEC-2-SD |
STM32F103C8T6 |
72 MHz |
20 KB SRAM |
USB-C, full-speed USB gadget (card seen as drive on PC)
|
| SaRuMan-SD |
ATmega1284P |
24 MHz (X-tal) |
16 KB |
Sidekick64 plug-on module, exposed JTAG
|
Most boards power entirely from the +5 V IEC bus (≈ 100 mA). A 3 V LDO or DC/DC step-down supplies the SD slot. Level-shifting is done by resistor networks or BSS138 FETs depending on revision.
- DOS Commands: `LOAD, SAVE, OPEN, B-A (block execute), VALIDATE`, etc.
- Disk image hot-swap using buttons (NEXT / PREV) or via `OPEN 15,"CD:somedir"`.
- Long-file-name to C64 PETSCII mapping (configurable).
- GEOS support (`U0>M0`) and native fast-loader patches for JiffyDOS, Final Cartridge III, Epyx FastLoad, SJLoad, etc.
- Config file `sd2iec.cfg` – set default device #, Jiffy mode, drive # mapping, LED polarity.
- IEC passthrough so real 1541s can daisy-chain behind the adapter.
- No true 6502-cycle-exact 1541 CPU emulation ⇒ copy-protected titles that rely on drive-side code or nibble-level flux patterns fail.
- Relative files not supported.
- Burst-mode fast-loaders designed for the 1571/1581 may require a parallel-IEC mod or fail altogether.
- Command channel buffers are 254 bytes – very long `@` commands can overflow.
| Loader |
Stock C64 |
JiffyDOS |
SD2IEC (AVR) |
IEC-2-SD (STM32)
|
| JiffyDOS (KERNAL) |
✗ |
✔ |
✔ 45× |
✔ 45×
|
| Epyx FastLoad (cart) |
✔ 5× |
✔ 5× |
✔ 30× |
✔ 35×
|
| Final Cartridge III |
✔ 6× |
✗ |
✔ 32× |
✔ 34×
|
| Dolphin DOS |
✗ |
✗ |
— |
—
|
| Fast Load V5 PAL |
✔ |
✔ |
⚠ (needs ``OPEN15,"UX"` patch) |
✔
|
- Device number – shipped as *8*; change with `OPEN15,8,15,"U0>"+CHR$(10+new#):CLOSE15`.
- Browse directories – `LOAD"$",8` or use FB64 file-browser PRG on the card root.
- Mount D64 image – `OPEN1,8,15,"CD:DEMOS/DISK1.D64":CLOSE1`.
- Swap image – front buttons (NEXT/PREV) or `OPEN15,"XS:next":CLOSE15`.
- Firmware update – copy `firmware.bin` to card root → reset while holding “NEXT”.
| Feature |
SD2IEC / IEC-2-SD |
Pi1541 |
1541 Ultimate-II+
|
| MCU / SoC |
8-bit AVR / STM32 |
Raspberry Pi (ARM) |
FPGA (Cyclone III)
|
| Cycle-exact 6502 emulation |
✗ |
✔ |
✔
|
| Copy-protected G64 / TAP |
✗ |
✔ |
✔
|
| Price (2024) |
US$25-60 |
US$60-90 |
US$200+
|
| Plug-and-play (no Pi setup) |
✔ |
⚠ SD card image & config needed |
✔
|
| Real-time clock, Ethernet, RAM-expansion |
✗ |
✗ |
✔
|
| Brand / Model |
Notes |
Approx. price (2024)
|
| TheFutureWas8bit SD2IEC v5B |
OLED, 3 buttons, IEC thru, 3-D printed shell |
£34 GB
|
| Retro-Port uIEC/SD |
Daughter-card w. 6-pin header, fits internal C64 installs |
US$44
|
| Pi1541 Zero (not SD2IEC) |
Cycle-exact but needs Pi Zero – see separate page |
€49
|
| IEC-2-SD “BluePill edition” |
STM32, USB-C, optional OLED, DIY kit |
€29 kit / €45 built
|
- ↑ Pontoppidan, L. “MMC2IEC project log”, Usenet comp.sys.cbm, 2007-02-19.
- ↑ sd2iec official wiki, “Development timeline”.
- ↑ Lundsten, P. “IEC-2-SD readme”, GitHub, 2019-05-03.