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

TZXDuino Firmware 1.16, 1.17, and an updated TZXDuino Instruction Manual

  TZXDuino 1.16 In TZXDuino 1.15.3 I added a bug that lowered the volume of some Spectrum TZX files and all ZX80/81 TZX, O, and P files so they didn't work for many people. I fixed this for 1.16. You can download TZXDuino 1.16 from here.   TZXDuino 1.17 The MAXDuino team added ORIC TAP playback functionality to their firmware which I have adapted to TZXDuino. I don't have an Oric Atmos to test it on so I have been recording the playback and loading on Oricutron and everything I have tried has worked. Obviously things may be different on a real machine. Team MAXDuino have also added a speed up function for Oric TAP files which I will add to TZXDuino 1.18 but so far I have been unable to get it to work correctly. You can download TZXDuino 1.17 from here.   And finally there is the updated instruction manual which now tells you how to access Turbo mode for the Electron, ZX80, and ZX81. It also says for Oric but that has not been implemented yet. You can download the pdf of v1.2 fo

Latest Firmwares

Whilst it may seem there han't been much going on in recent months we have been working behind the scenes on improving and adding more options to the various firmwares and trying to improve the hardware. The main difference with these firmwares is that OLED 1306 screens are now fully working on all of them and that the PCD8544 has added as a screen option. I will go into the hardware changes needed for that at a later date. ArduiTape 1.5 What's New Added support for the PCD7544. Download from here. CASDuino 1.15 What's New Improved support for CoCo and Dragon Added support for OLED1306 and PCD8544. Download from here. TZXDuino 1.8 What's New Added ID2A Added support for PCD8544 Download from here. TZXDuino 1.8.1 What's New TSX support for MSX TSX files added by Natalia Pujol. Not officially supported and any bugs should be reported to her. Download from here.

And Now For Something Completely Amazing.

 When Andrew Beer and I came up with this idea the intention was for people to build their own and many people have but once in a while someone comes up with something so amazing it really needs to be shared. JamHamster came up with the idea of fitting a TZXDuino in a cassette. Originally it was powered by USB and had a 3.5mm Ear socket but it looked amazing. Then he added a battery so that it was self powered. Then he added a head from a CD to cassette adapter. Then he added a switch under that head so that when you press play on the Cassette Recorder it plays the file you've selected. And the TZXCassette was born Because he is a great guy he's also uploaded the instructions on how to build one to Github and you can download the instructions and build your own. Now at the moment there is no REM control it may not work as well with a CPC 464 as it does with with a Spectrum +2 but it is a stunning piece of electrical engineering and a work of art in my opinion.