I've finally managed to get hold of a CPC464 so I can see what compatibility is like with TZXDuino.
One of the first things I did was add a DIN so that I could connect the TZXDuino to it. Rather than the normal 5-pin DIN that the CPC664/6128 use I decided that as I already have the cable for the MSX I would add an 8 pin DIN.
After some testing I found the best places to solder the connections and now it is up and running with full motor control.
As there are no TOSEC like downloads for CDT files I have been using both CPCRulez and CPCPower for the downloads.
TZXDuino compatibility is quite good with CDT files although there are a few that use the ID15 block which currently is not compatible but I did notice some issues.
Some games seemed to have insufficient pause blocks and whilst they worked on emulators they did not with either TZXDuino or WinTZX playback. These were quite easily fixed by adding a pause block to the CDT file (Aliens, Ghouls and Ghosts, Turbo Outrun).
Others however posed greater difficulty with the latest version of the firmware (Rainbow Islands, and Salamander). These contained a Speedlock 1 followed by a Speedlock 2 block and adding a pause block between them sometimes worked and sometimes didn't. I've now gone back on some of the improvements that were made to the speed of the TZXDuino to something more akin to version 1.0 and added "newTime += 12" back to the Wave function in TZXProcessing and this has had some success but it is erratic. Unfortunately I'm no longer sure as to whether it's my fault due to how I've wired in the DIN or if it's due to the TZXDuino code itself. I will however keep on persevering.