Tapuino / Tape Emulation Mods: Difference between revisions
Created page with "{{Infobox hardware | name = Tapuino / Tape-Port Emulation Mods | image = 260px | caption = '''Tapuino OLED v1.5''' assembled on a single 5 ร 7 cm PCB | type = External solid-state replacement for Commodore '''Datasette''' | developer = Andrew Beer (โSweetlilmreโ) โ original Tapuino design<br />Community forks: Arananet Reloaded, OpenC64 Tapuino, Tapuino OLED, Tapuino W, etc. | first_released..." ย |
|||
| Line 29: | Line 29: | ||
| '''Tapuino OLED''' || Atmega328P || 128ร32 OLED || micro-SD || Smaller 5 ร 7 cm PCB, rotary encoder option | | '''Tapuino OLED''' || Atmega328P || 128ร32 OLED || micro-SD || Smaller 5 ร 7 cm PCB, rotary encoder option | ||
|- | |- | ||
| '''Tapuino Reloaded''' | | '''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 | | '''Tapuino-W''' || ESP-8266 (NodeMCU) || 128ร64 OLED || micro-SD / Wi-Fi || HTTP file upload, OTA firmware | ||
Revision as of 11:37, 25 April 2025
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
- 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
| 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
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
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
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
- 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
- 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
- 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.