Skip to main content

MapleTape - Moving towards combining firmwares.

One of my desires when I first thought about this project was to have something for everyone and for users to just be able to put their files onto an SD card and go but to remain cheap. The Arduino Nano was the perfect starting place for that but it quickly showed it's limitations, so now we're trying to port the firmwares over to the Maple Leaf Mini using the STM32Duino add on to the Arduino IDE.

It's still very much a work in progress and there has been a slight hardware change, the original SD card readers we used are not compatible with the Maple Mini, but we have managed to get the Maple Mini version of ArduiTape working and playing .WAV files. Unlike ArduiTape you are not restricted to the frequency of .WAVs you can play and you also do not require a low pass filter to play the .WAVs

What you need.
Maple Leaf Mini
1602 I2C LCD 

TF Micro SD Card Module Mini SD Card Module Memory Module
LM386 Amplifier Module
5 button button board (See earlier blogs for instructions).
3.5mm Audio Jack
2.5mm Audio Jack

Optional: Veroboard and 40 pin IC DIP socket.

I connected my Maple Mini to a piece of Veroboard as I could then add more pins to connect to for 5v and GND which gave me more flexibility.
Normally the Maple Mini is a 3.3v board so you can't power the 1602 from the VCC pins as normal but I have found that if you use a mini USB cable to power the Maple that 5v comes out of the VIN pin and so you're actually able to power the 1602 and the LM386 from that.

Connections
SD card
MOSI        -> Pin 4
MISO        -> Pin 5
SCK/CLK -> Pin 6
CS            -> Pin 8
3.3v          -> VCC
GND         -> GND

1602 I2C LCD
GND         -> GND
VCC         -> VIN

SDA         -> Pin 15
SCL          -> Pin 16

Button Board
Down       -> Pin 17
Up            -> Pin 18
Stop         -> Pin 19

Play          -> Pin 20
Menu        -> Pin 22
GND         -> GND


LM386
VCC         -> VIN
IN             -> Pin 27
GND         -> GND

GND         -> GND

2.5mm Audio
Active pins-> Pin 21
GND          -> GND



Using the Arduino IDE with STM32duino installed you can upload this sketch with it's improved TMRpcm library and play 8-bit wavs.

Next step

Now that I have MapleTape working (Doesn't stop when it gets to the end of the file yet but it basically works) I can try to port CASDuino and TZXDuino over using the same hardware.
Once that is done I can try combining CAS and TZXDuino first and then add MapleTape to it so that all three firmwares will be on one board which will bring me closer to my original idea.

Comments

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.

TZXDuino
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
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.https://mega.nz/#!aEt1VJKZ!ZFw-fP3bkNTtiPlbG_IllmR94Xni3KvIGUn6Jggfof8

Finally the PCD8544. Almost.

For the last few months I've been talking about how to add the PCD8544 (also known as the Nokia) screen to the devices.
Unfortunately this has not been as easy as I'd first hoped largely due to differences in the screens. Some work well with the standard 5v of the Arduino Nano, others need the voltage in to be 3.3v. Some need resistors others don't. Finally however I can start to write things up properly though.
The software has been written and is fully functioning for a while and whilst there are no improvements in what the ArduiTape/CASDuino/TZXDuino can do, it does use less memory than the other screens and looks a little nicer, in my opinion.


CASDuino Turns Two.
I have been reminded by my Facebook posts that today I completed my first CASDuino specific PP9 build two years ago today.
I used the PP9N Evatron case as I was inspired by one of the TAPuino builds and it's a nice case to work with.
Certain small things have changed since then, button caps, reset switch, diffe…