Jump to content

Tapuino / Tape Emulation Mods

From RetroTechCollection
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. โ€”

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.
[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.

See Also

[edit | edit source]