Jump to content

SD2IEC & IEC-2-SD Adapters

From RetroTechCollection
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.

Quick facts
[edit | edit source]
  • β€œ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.

πŸ“œ History

[edit | edit source]
  • 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]

πŸ› οΈ Hardware architecture

[edit | edit source]
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.

βš™οΈ Firmware features

[edit | edit source]
  • 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.

Known limitations

[edit | edit source]
  • 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.

πŸš€ Fast-loader compatibility matrix

[edit | edit source]
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) βœ”

πŸ”Œ Using SD2IEC

[edit | edit source]

<plainlist>

  • 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”.

</plainlist>

πŸ†š Pi1541 / 1541 Ultimate

[edit | edit source]
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 βœ— βœ— βœ”
[edit | edit source]
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

πŸ”§ DIY resources

[edit | edit source]

πŸ“š See also

[edit | edit source]

πŸ“ References

[edit | edit source]
  1. ↑ Pontoppidan, L. β€œMMC2IEC project log”, Usenet comp.sys.cbm, 2007-02-19.
  2. ↑ sd2iec official wiki, β€œDevelopment timeline”.
  3. ↑ Lundsten, P. β€œIEC-2-SD readme”, GitHub, 2019-05-03.
[edit | edit source]