Skip to main content

Introducing the TZXDuino

A Giant Leap For Nerd Kind.

I'm not usually one for silliness but Andrew Beer has been working hard in the background trying to programme the Arduino to play ZX Spectrum .TZX files without the need to convert to a .WAV. Today he has managed to do that with some .TZX files but also with .TAP files as well. The code is still very much in the early stages so the compatibility with.TZX files is still relatively low but in theory all .TAP files should work. I only have 5,246 to test.
What's even better is that the code will work on both the Arduitape and the CASDuino hardware by just uploading the programme to the Nano.

Simply download this file, unzip and load in the Arduino IDE.


  1. Hi,

    I am liking the updates.

    Can you confirm that if I upload 'TZXDuino' I still have MSX compatibility?

    I have tried again with my Dragon, but still can't get anything to load. I also tried the physical tapes I have, but I think they are corrupt. Listening to the sounds, they are very quiet and there is lots of distortion.
    I tried converting some .CAS to .WAV for use with an MP3 player but still no luck.
    I think I need to find some native Dragon .WAV files.

    On a better note I managed to make two digital-to-analogue converter boxes to use standard 9-pin joysticks instead of the nasty vacuum formed plastic analogue joystick I have. Just a shame I only have a few cartridge games to use it with!

  2. Okay. First things first.

    You can find Dragon tapes as WAV files on the following link.

    Unfortunately the Nano just hasn't got the memory to allow us to make a universal decoder so TZXDuino will only play Spectrum TZX/TAP files and Amstrad CPC CDT (after being renamed TZX) files. The good news is you just upload the latest CASDuino software to your build and you are back to being able to use it on the MSX again.

    Dragon files are still not working properly but are getting closer or at least they are according XROAR.

  3. Thanks again for your Dragon efforts. - I will try out those WAV's.

    No problem on running Speccy/CPC & MSX in one. I have a couple of SD card solutions for those systems and working tapes!

    It's the MSX & Dragon which I am stuck with.
    It has been great being able to play MSX games. I have been looking to see if 'Penguin Adventure' can be converted into tape file, but I think its ROM is too big. Shame, as it has great graphics :(

    1. You can play Antarctic Adventures. It's quite a small Rom. Go to the following to download a CAS version!qQtFzYiK!gcDKmEHXwRLnWwPMCrGOvn9IPQDPV7rN_yqQxA2H1Rg

    2. If there are any other ROMs you want me to try to convert let me know.

  4. good blog post comment,thank for your sharing


  5. This is working perfectly on both my spectrum(s) and my Dragon 32. I modded the firmware slightly to work with a normal 16x2 (non i2c Lcd), since I did not have any i2c units lying around, and it works like a charm. WELL DONE !!


Post a Comment

Popular posts from this blog

New Firmwares With New Features

Thanks to the help of Rafael Molina Chasserot some new features have been added to the TZXDuino and CASDuino firmwares which has freed up some memory as well, which may lead to more features being added in the future.
A percentage counter and a timer counter have been added to all screens so that you know how much is left of a file to play and how long it has taken to load.
The OLED1306 and PCD8544 use completely new routines for the firmwares saving a lot of memory.
Folder navigation is now different. Rather than using the Menu button on TZXDuino or the Stop button on CASDuino to return to the ROOT directory, if you press the stop button when no file is playing you will go up one folder only making it easier to navigate.

The TZXDuino has had a menu added so that MSX users can set the Baud rate of TSX files so that they can load faster than normal.
A few more emulator only IDs have been fixed so that they are skipped by TZXDuino.

CASduino has had a Baud Rate of 3675 added to…

TZXDuino 1.7

TZXDuino 1.7
This fixes issues with pause lengths that we never noticed before. It should fix games like Top Gun and Street Hawk for the Spectrum and make CDT files behave as they should for the Amstrad CPC.Changes.
*Maximum pause length of 8.3 seconds due to the TimerOne library has been worked around.
*ID20 Pause Block fixed.
*Temporary fix for pause after motor control removed.!aEt1VJKZ!ZFw-fP3bkNTtiPlbG_IllmR94Xni3KvIGUn6Jggfof8

UEF Playback added to TZXDuino

Thanks to the work of Kernel Crash we have added uncompressed UEF playback to TZXDuino. This means that Acorn machines can be added to the list of computers that can use TZXDuino. There is standard mode and a Turbo mode that can be switched on in the menu. The turbo mode loads at 1500 baud and does improve the loading time on an Acorn Electron. There is also a 1550 and 1600 option in the TZXDuino.h file but not all Electrons can handle the faster speed.

You can read Kernel Crash's blog here.

You can download the TZXDuino 1.11 from here.