Tapuino / Tape Emulation Mods

The Tapuino is an open-hardware, Arduino-based device that emulates Commodore’s 1530 Datasette mechanism, allowing cassette images (‎*.TAP*, ‎*.PRG*, ‎*.TCRT*) stored on a micro-SD card to be loaded, saved, and fast-forwarded with perfect digital fidelity. Because it plugs into the cassette port rather than the serial IEC bus, Tapuino is an attractive solution for VIC-20 owners and for C64 software that was never released on disk.

Tapuino / Tape-Port Emulation Mods
Caption Tapuino OLED v1.5 assembled on a single 5 × 7 cm PCB
Type External solid-state replacement for Commodore Datasette
Designer Andrew Beer (“Sweetlilmre”) – original Tapuino design
Community forks: Arananet Reloaded, OpenC64 Tapuino, Tapuino OLED, Tapuino W, etc.
Manufacturer Unknown
First released April 2014 – public GitHub release of Tapuino v1.0 firmware
Latest revision Tapuino firmware v2.01 (Feb 2023)
Operating voltage 5 V DC (drawn from cassette port pin 2)
Layers / PCB
Compatibility Commodore 64, 64C, SX-64, VIC-20, C16/+4, PET* (with adaptor) – any IEC-less CBM 8-bit that uses the 1530/1531 Datasette interface
Features
Model No.

History

edit
  • 2014-04 – Tapuino v1.0 published on GitHub; Arduino Pro Mini + 16×2 LCD shield, push-buttons and SD-module.
  • 2015-02 – Hackaday write-up brings wider attention; hundreds of DIY units are built.
  • 2016-17 – “Reloaded” & OLED forks replace the LCD with a 128×32 I²C OLED and move to an Arduino Nano for native USB flashing.
  • 2019 – Tapuino-W adds ESP-8266 Wi-Fi so images can be pushed over the network.
  • 2022 – Tapuino v2.x firmware rewrites the loader to support Turbo-TAPE fast-loaders and arbitrary sample rates up to 100 kHz.

Hardware Overview

edit
Variant MCU / Clock Display Media Notable Features
Tapuino v1.0 Atmega328P @ 16 MHz 16×2 HD44780 LCD micro-SD Through-hole shield stack
Tapuino OLED Atmega328P 128×32 OLED micro-SD Smaller 5 × 7 cm PCB, rotary encoder option
Tapuino Reloaded Atmega328P (Nano) 128×32 OLED micro-SD All-SMD, USB update, protected 5 V regulator
Tapuino-W ESP-8266 (NodeMCU) 128×64 OLED micro-SD / Wi-Fi HTTP file upload, OTA firmware
OpenC64 Datasette Saver STM32F103 0.96" IPS micro-SD Adds over-current & brown-out protection

Electrical Interface

edit

The Tapuino connects to the six-pin cassette port:

  • +5 V (pin 2) – powers the MCU (≈70 mA peak with OLED).
  • GND (pin 1)
  • MOTOR output (pin 5) – emulated by polling; Tapuino ignores the line or gates file play.
  • READ (pin 4) – 0/+5 V pulse stream generated by DAC/bit-bang at original 300 baud or turbo rates.
  • WRITE (pin 3) – edge-captured and stored as WAV-like data when user presses “Record”.
  • SENSE (pin 6) – always pulled low (tape present).

Opto-isolation is optional; most PCBs use 74HC14/LM311 to shape the READ line back to digital logic levels.

Firmware & File Support

edit

Current stock firmware (v2.xx) recognises:

  • .TAP v0/v1 images up to 64 MB.
  • .PRG files auto-wrapped in a minimal TAP header.
  • .TCRT (Tapecart) container – load *instantaneously* via turbo @ 38 kBaud.
  • Partial experimental support for TurboTape, SpeedDOS, Vorpal timing.

Menu navigation is via four push-buttons (Next, Prev, Play, Stop) or a rotary encoder; long-press on STOP enters settings where motor-sense polarity, turbo-boost and LCD contrast can be tweaked.

Building Your Own

edit

A DIY Tapuino can be completed for US$15–20 in parts:

Mandatory
* Arduino Nano (ATmega328P)
* micro-SD module (5 V tolerant)
* 0.96″ monochrome OLED (I²C)
* 74HC14 Schmitt trigger + 2N3904 for READ shaping
* 6-pin edge connector or sacrificial Datasette cable
Optional
* Level-shifting buffer for WRITE
* Protective polyfuse on +5 V line
* 3D-printed enclosure

Gerbers for multiple boards (Reloaded, Mini, Slim) are on GitHub under CERN-OHL-S or GPL-2.0 licences.

Usage Tips

edit
  • Hold Play at power-on to enter fast-loader patch mode – needed for some turbo loaders that poll the keyboard.
  • Keep SD cards formatted as FAT32 with 8.3 filenames; deep directory trees slow the directory parser.
  • You can record real tapes: insert blank SD, press ➤⏺ combo and start the physical tape in the Datasette.
  • For VIC-20, set *AUTO-PRG offset* to $1201 so PRG files auto-run after load.
edit
  • Tapecart Micro-SD – cartridge-sized STM32 design streaming PRGs at 38 kBaud.
  • Casduino / ArduiTape – WAV player on Arduino Nano feeding READ line with pure analogue audio.
  • Super‐SCP TapeCart Deluxe – CPLD-based loader with 2 MB internal flash.
  • Pi1541 “Tape Mode” – Raspberry Pi emulates both IEC disk and cassette via GPIO add-on.

Limitations

edit
  • Will not power a real Datasette motor; cannot be daisy-chained.
  • SAVE speed is limited to original 300 baud even in v2 firmware.
  • Very long turbo loaders (>100 kB/s) may exceed the 16 MHz timer resolution.
  • C16/+4 require a €3 1531-to-1530 passive adaptor due to different pin-out.

See Also

edit