Skip to main content

Firmware Updates And Dragon CAS File Information

Firmware Updates

Primarily I have updated the firmwares to include RGB I2C 16x2 LCD screen but there have also been some improvements made to TZXDuino and CASDuino.


Arduitape 1.8 can be downloaded from here.

CASDuino 1.22.1can be downloaded from here.

Changes.
Added RGB I2C 16x2 LCD
Speed improvements
Improved compatibility with TOSEC Dragon CAS files

TZXDuino 1.15.1 can be downloaded from here.

Changes
Added RGB I2C 16x2 LCD
Improved UEF support



Dragon CAS file information.


This is a bit of boring technical information in regards to Dragon CAS files from TOSEC and why they didn't work before.

Unlike MSX CAS files Dragon and CoCo CAS files start with a byte hex value of 55. To be recognised as a CAS file by emulators it only needs to have one byte with hex value of 55 at the beginning. To be recognised as a Dragon/CoCo CAS file by CASDuino it requires a minimum of 8 bytes with a hex value of 55 bytes. To be recognised by a real computer it requires around a second of audio tone that's the equivalent of the tone a byte of 55 makes.

Here are some images of the Hexadecimal values of a correct CAS file.









As you can see the file contains a lot of bytes with a Hex value of 55. This file will work properly on the CASDuino and a real computer.
However the TOSEC archive of Dragon CAS files has been optimised for use with emulators which read a single Hex value of 55 and automatically fills in the missing bytes.

This is what a TOSEC CAS file can look like.



This would be recognised as a Dragon CAS file by the old version of CASDuino but does not load on a real machine.
With the new Dragon Process in the new version, using code from MAXDuino and fixed by myself, the missing bytes are added and the file should load on a real machine. This has fixed many CAS files from the TOSEC archive but there are some that are even more optimised and only have two or three bytes of Hex value 55 at the start and even these are not recognised by CASDuino. These can be fixed by inserting five or six bytes of 55 at the beginning of a file with a Hex Editor but this is only to recommended if you are brave of heart and have a backup of the CAS file.

Hope you find this information not too boring.

Comments

  1. Hi,
    I get some errors by updateing the arduitape firmware from 1.7 to 1.8:
    In file included from D:\Users\markus\Documents\Arduino\libraries\TMRpcm/TMRpcm.h:17:0,
    from D:\Users\markus\Downloads\ArduiTape_v1_8\ArduiTape_v1_8\ArduiTape_v1_8.ino:8:
    C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:63:7: error: 'SdVolume' does not name a type; did you mean 'FatVolume'?
    SdVolume volume;
    ^~~~~~~~
    FatVolume
    C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:71:37: error: 'SD_CHIP_SELECT_PIN' was not declared in this scope
    boolean begin(uint8_t csPin = SD_CHIP_SELECT_PIN);
    ^~~~~~~~~~~~~~~~~~
    In file included from D:\Users\markus\Downloads\ArduiTape_v1_8\ArduiTape_v1_8\ArduiTape_v1_8.ino:8:0:
    D:\Users\markus\Documents\Arduino\libraries\TMRpcm/TMRpcm.h:93:26: error: reference to 'File' is ambiguous
    boolean searchMainTags(File xFile, char *datStr);
    ^~~~
    In file included from D:\Users\markus\Documents\Arduino\libraries\SdFat\src/FatLib/FatLib.h:27:0,
    from D:\Users\markus\Documents\Arduino\libraries\SdFat\src/SdFat.h:33,
    from D:\Users\markus\Downloads\ArduiTape_v1_8\ArduiTape_v1_8\ArduiTape_v1_8.ino:7:
    D:\Users\markus\Documents\Arduino\libraries\SdFat\src/FatLib/ArduinoFiles.h:122:7: note: candidates are: class File
    class File : public FatFile, public Stream {
    ^~~~
    In file included from D:\Users\markus\Documents\Arduino\libraries\TMRpcm/TMRpcm.h:17:0,
    from D:\Users\markus\Downloads\ArduiTape_v1_8\ArduiTape_v1_8\ArduiTape_v1_8.ino:8:
    C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:28:9: note: class SDLib::File
    class File : public Stream {
    ^~~~
    In file included from D:\Users\markus\Downloads\ArduiTape_v1_8\ArduiTape_v1_8\ArduiTape_v1_8.ino:8:0:
    D:\Users\markus\Documents\Arduino\libraries\TMRpcm/TMRpcm.h:93:26: error: 'File' has not been declared
    boolean searchMainTags(File xFile, char *datStr);
    ^~~~
    Additional to the manual installed Lib TMRpcm in Version 1.1.0
    Can you help me?
    Bye
    Markus

    ReplyDelete
  2. Solved ... wrong firmware :-)

    ReplyDelete
    Replies
    1. I'm glad it was an easy fix.
      Tbh there is no real need to update from 1.7 to 1.8 as it will do nothing for the majority. Keeping the IDE and libraries up to date always helps though.

      Delete

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 v...

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.

New CAS/TZXDuino firmware

New firmware . TZXDuino 1.15.3 Adapted the MAXDuino ID19 code and TurboMode for ZX80/81. To access Turbo Mode for ZX80/81 and Electron please switch Turbo Mode On in the menu Also added UEF Chunk 117 which allows for differing baudrates in BBC UEFs. Added a Spectrum Font for OLED 1306 users converted by Brendan Alford. Option added to userconfig.h Added File scrolling by holding up or down buttons. By Brendan Alford. Download from here. CASDuino 1.24 Added a Spectrum Font for OLED 1306 users converted by Brendan Alford. Option added to userconfig.h Added File scrolling by holding up or down buttons. By Brendan Alford. Download from here.