shooking / ZoomPedalFun

A collection of tips and tricks for Zoom B1On, B1XFour and G1XFour pedals.
Creative Commons Zero v1.0 Universal
63 stars 3 forks source link

GCE-3 - What's a 'ZSPF' file? #5

Open mungewell opened 2 years ago

mungewell commented 2 years ago
$ hexdump -C 10440710.ZSPF 
00000000  5a 53 50 46 e8 00 00 00  48 44 49 46 24 00 00 00  |ZSPF....HDIF$...|
00000010  14 00 00 00 00 00 7a 43  07 03 07 03 04 00 01 01  |......zC........|
00000020  01 01 01 00 96 00 01 00  03 00 02 00 00 00 00 00  |................|
00000030  5a 49 46 00 60 00 00 00  01 00 00 00 00 00 00 00  |ZIF.`...........|
00000040  01 00 00 00 00 00 00 00  80 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000080  00 00 00 00 00 00 00 00  03 00 00 00 00 00 00 00  |................|
00000090  50 49 46 00 20 00 00 00  01 00 00 00 00 00 00 00  |PIF. ...........|
000000a0  02 00 00 00 00 00 00 00  07 00 00 00 00 00 00 00  |................|
000000b0  41 50 49 46 38 00 00 00  50 44 50 00 10 00 00 00  |APIF8...PDP.....|
000000c0  00 00 00 00 00 00 00 00  42 44 50 00 10 00 00 00  |........BDP.....|
000000d0  00 00 00 00 00 00 00 00  47 44 50 00 10 00 00 00  |........GDP.....|
000000e0  00 00 00 00 00 00 00 00  5a 44 4c 54 00 00 00 00  |........ZDLT....|
000000f0
shooking commented 2 years ago

So I believe these are the firmwares for the various machines. Let me check later tonight. I need to re generate them because when I first did it I have already modified one of the GCE-3 emulations and it lost the patches.

shooking commented 2 years ago

ok I was able to check after work today. The files are physically ZSP files. These the the emulations of the pedals in a GCE-3. If I had to guess - Zoom SImulate Pedal

They seem to contain a "brainwash" of the GCE-3. So if I addFX to a GCE-3 on a Pi, move it back to PC GuitarLab then I sometimes lose my FX. This seems different to ToneLib - for addFX it ignores them. After interaction the FXs are still there. It seems to be "these are the FX I am installing" (put width to 24 - ZTYP 20 00 00 padding 00 27 19 C0

mungewell commented 2 years ago

Thanks for checking.

Obviously such a small file can not contain the FW. Perhaps they just contain a reference about which part of the FW blob to run, ie 'reset and run from location 0x12345678...'

The text 'markers' seem to suggest the structure, should be easy enough to parse and compare the files.

mungewell commented 2 years ago

Tried to fit some logic to the structure, but I may be well off/confused.... https://github.com/mungewell/zoom-zt2/blob/argparse/decode_zsp.py

The bit with size/count in Nybles is very weird.