TZXduino ported to "Blue Pill" STM32 board

Similar projects worth following
TZXduino and its variants (CASduino, Maxduino) are tape emulators built upon an Arduino board. The device can read files from an SD card to provide a sound output that can be read by retro computers (Zeddies, MSX, Amstrad CPC and others).
The current software uses most of the resources of the ATMega328, not leaving too much room for improvements.
The present project provides a port of the TZXduino code to the "Blue Pill" STM32 board that is as cheap as an Arduino but provide more power (better CPU, more FLASH, more SRAM) while still supported by the Arduino IDE.

Preliminary schematic for the OLED version

  • Reading the SD card

    danjovic04/06/2020 at 05:13 0 comments

    With the aid of a logic analyzer I Have found that the chip select signal was coming from another pin than the expected.

    Now the SD card is working.

  • First boot

    danjovic01/04/2020 at 16:30 0 comments

    It took me a long run to adapt the code, but I could finally boot in on the Blue Pill.

    Steps involed:

    • Download and install STM32 duino
    • Include directives for every hardware dependent instruction (same code can still be compiled to Mega328 based Arduino) 
    • Fiddle with one configuration defitinion for SDFat library
    • Adapt the code to compile for newer PCD8455 display library

View all 2 project logs

  • 1
    Arduino Configuration

    Board shall be configured as Generic STM32F103C series

View all instructions

Enjoy this project?



Alexey Voronin wrote 01/04/2020 at 19:54 point

Good Old School !!!
In my "nanocomputer" (#Homebrew CP/M-computer powered by Arduino Nano) I also made it possible to write and read memory images using an audio signal (I tested using the linear output / input of a "big" computer, it remains to find the old tape recorder that I used with the ZX Spectrum in 199x). But I used format with 128 byte blocks and pauses between them - this is due to the fact that I use I2C RAM, and the "nanocomputer" must have time to write a data block into memory during a pause between blocks.

  Are you sure? yes | no

danjovic wrote 01/04/2020 at 21:42 point

Thanks! I believe that the TZX file format can be used with your nanocomputer, as it contains not only the bits in the file but also information on the waveform (  

  Are you sure? yes | no

Alexey Voronin wrote 01/05/2020 at 08:09 point

I follow the principle KISS :-) and use a simpler format:

  Are you sure? yes | no

danjovic wrote 01/04/2020 at 19:00 point

I know the board was named after 'The Matrix' but the pun is irresistible, lol!!

  Are you sure? yes | no

Starhawk wrote 01/04/2020 at 17:29 point

LOL @ header image!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates