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…

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.

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