Skip to main content

Trying to make firmware editing more user friendly.

The more I build and try to improve on the various firmwares I've realised that it's not entirely friendly for new users to edit their firmware for their version of device. In an aim to correct that I have added userconfig.h to the various firmwares.
This is just a little settings file that users can change without fear of harming the main programme.
It allows you to set which screen you are using and in future which startup logo for some screens and maybe other settings.

How to use.
At the moment the userconfig.h looks like this

/*                                                             */
/*                                                             */
/*          Configure your screen settings here                */
/*    Delete the // of the lines appropriate to your device    */
/*                                                             */
/*                                                             */

//#define SERIALSCREEN  1           /*For Testing purposes only */

//#define LCDSCREEN16x2   1         /*Set if you are using a 1602 LCD screen */
//#define LCD_I2C_ADDR    0x3f      /*Set the i2c address of your 1602LCD usually 0x27 or 0x3f*/

//#define OLED1306   1              /*Defines if you are using a 128x64 or 128x32 OLED screen */
//#define OLED1306_1.3   1          /* Use this line as well if you have a 1.3" OLED screen */

//#define P8544   1                 /*Set if you are using an 84x48 PCD8544 screen */

//#define LCD_USE_1602_LCD_MODULE  1 /*Not used at the moment */

If you are using a 1602 LCD screen you delete the // from in front of the #define LCDSCREEEN 1602 and the #define LCD_I2C_ADDR settings. You may need to change the 0x3f to 0x27 depending on your screen address.

If you are using an 0.91"/0.96"/1.3" OLED 1306 screen then you should delete the // in front of the #define OLED1306 setting.
If you are using a 1.3" OLED1306 and are missing the first couple of vertical lines on the left of your screen then also delete the // in front of the #define OLED1306_1.3 setting as this should correct the fault.

If you are using the 84*48 "Nokia" type monochrome screen then you should delete the // in front of the #define P8544 setting.

You can download CASDuino 1.19 from here.
You can download TZXDuino 1.10 from here.


  1. bug into printtext() routine CASDuino_v1.19
    if using 128x64 oled screen
    the routine write 20 chars and not 16 chars

    #ifdef OLED1306
    sendStr(" ");//16 blanc

    result chars missing in menu ... "CASDUINO V1.19" = " UINO V1.19"


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

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…