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.
๐ History
[edit | edit source]- 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 | edit source]| 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 | edit source]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 | edit source]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 | edit source]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 | edit source]- 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.
โ๏ธ Alternatives & Related Projects
[edit | edit source]- 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 | edit source]- 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.