mungewell / zoom-zt2

Python script to install/remove effects from the Zoom G1Four pedal
MIT License
62 stars 11 forks source link

Add support for MS-plus range of pedals #71

Closed mungewell closed 2 months ago

mungewell commented 6 months ago

As noted in #70 the MS-50G+ appears to be somewhat compatible with the way this project uploads new effects to the G1Four/etc.

Although there is not a source of 'new' effects, this bug will track the required changes, and experiment whether the older effects (ie from G1Four/etc) are actually compatible with the MS-Plus pedals. We have already seen that the Effect IDs used on the MS-G50+ do not align with similar effects on the G1Four, this might be another layer of difficulty...

For reference the older pedals identify as

$ amidi -l
Dir Device    Name
IO  hw:2,0,0  ZOOM G Series MIDI 1

$ amidi -p hw:2,0,0 -S 'F0 7E 7F 06 01 F7' -r temp.bin -t 2; hexdump -C temp.bin 

15 bytes read
00000000  f0 7e 00 06 02 52 6e 00  0c 00 32 2e 30 30 f7     |.~...Rn...2.00.|
0000000f

and GCE-3 as:

$ amidi -l
Dir Device    Name
IO  hw:2,0,0  ZOOM GCE-3

$ amidi -p hw:2,0,0 -S 'F0 7E 7F 06 01 F7' -r temp.bin -t 2; hexdump -C temp.bin 

15 bytes read
00000000  f0 7e 00 06 02 52 6e 00  10 00 31 2e 32 30 f7     |.~...Rn...1.20.|
0000000f
thammer commented 4 months ago

I received my MS-70CDR+ today and was successfully able to transfer the HD Hall Reverb and the Bass Detune effect from the MS-70CDR+ to the MS-50G+ using your zoomzt2-gui.py. The icons/faceplates are missing, though. I think they are stored in separate .ZIC files. Perhaps ZIC means Zoom ICon? I'll have a look at your source code sometime during the weekend and see if I'm able to upload the ZIC-files as well.

nomadbyte commented 4 months ago

...Perhaps ZIC means Zoom ICon?

Yes. Mentioned this earlier

mungewell commented 4 months ago

The command line script has the --install-only option for uploading random files, and it then doesn't attempt to alter the FLST_SEQ.ZT2 file

$ python3 zoomzt2.py --help
usage: zoomzt2 [-h] [-d] [-s] [-b BUILD] [-A ADD] [-v VER] [-i ID] [-D DELETE]
               [-N] [-t TOGGLE] [-w] [-R] [-S]
               [-I | -U | --install-only | --uninstall-only] [-a]
               [-p PATCHDOWN | -P PATCHUP | -c] [--old-patch] [-M MIDISKIP]
               FILE [FILE ...]

positional arguments:
  FILE                  File(s) to process

options:
  -h, --help            show this help message and exit
  -d, --dump            dump configuration to text
  -s, --summary         summarized configuration in human readable form
  -b BUILD, --build BUILD
                        output commands required to build this FLTS_SEQ
  -A ADD, --add ADD     add effect to FLST_SEQ
  -v VER, --ver VER     effect version (use with --add)
  -i ID, --id ID        effect id (use with --add)
  -D DELETE, --delete DELETE
                        delete effect from FLST_SEQ
  -N, --not-add         add effect to FLST_SEQ, but as uninstalled
  -t TOGGLE, --toggle TOGGLE
                        toggle install/uninstall state of effect NAME in
                        FLST_SEQ
  -w, --write           write config back to same file
  -R, --receive         Receive FLST_SEQ from attached device
  -S, --send            Send FLST_SEQ to attached device
  -a, --available       Print out the available diskspace after action
  --old-patch           Use the 'old' method for reading patches
  -M MIDISKIP, --midiskip MIDISKIP
                        Skip devices when connecting, ie when you have
                        multiple pedals

ZD2:
  Process ZDL2 effect file(s)

  -I, --install         Install effect binary to attached device, updating
                        FLST_SEQ
  -U, --uninstall       Remove effect binary from attached device, updating
                        FLST_SEQ
  --install-only        Install effect binary to attached device without
                        affecting FLST_SEQ
  --uninstall-only      Remove effect binary from attached device without
                        affecting FLST_SEQ

ZPTC:
  Process ZPTC patch file

  -p PATCHDOWN, --patchdown PATCHDOWN
                        download specific zptc
  -P PATCHUP, --patchup PATCHUP
                        upload specific zptc
  -c, --curdown         download current zptc
thammer commented 4 months ago

Thanks! That worked like a charm. Now I can see the faceplate/icon as well on the MS-50G+.

PS C:\source\zoom-zt2> python .\zoomzt2.py --install-only .\HDHALL_C.ZIC
Installing effect: .\HDHALL_C.ZIC
uploading...

I have only tried copying a couple of effects so far, but it sure looks like the conclusion is that we can transfer effects back and forth between MS-50G+ and MS-70CDR+.

I'll do some more testing and report my findings here.

Are there any particular effects that you think might cause problems? Perhaps some effects that use impulse responses?

nomadbyte commented 4 months ago

Congrats! Perhaps you can dump a list of the files from MS-70CDR+ using the similar commands as before?

thammer commented 4 months ago

Here's the output from the file listing - 306 files:

F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 49 52 2E 5A 49 43 00 00 00 00 00 00 66 00 00 52 07 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 4D 4D 59 2E 57 41 56 00 00 00 66 00 00 00 00 05 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 49 4E 46 42 4B 55 50 2E 42 49 4E 00 66 00 00 60 06 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 49 52 30 30 30 2E 5A 49 52 00 00 00 66 00 00 00 40 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 49 52 30 30 31 2E 5A 49 52 00 00 00 66 00 00 00 40 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 49 52 5F 49 4E 46 4F 2E 42 49 4E 00 66 00 00 60 06 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 31 36 30 5F 43 4F 4D 50 2E 5A 44 32 66 00 00 23 7C 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 31 36 30 5F 43 4F 4D 50 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 43 5F 54 50 45 43 48 2E 5A 44 32 66 00 00 16 24 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 43 5F 54 50 45 43 48 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 46 46 4C 4E 47 52 32 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 49 52 5F 43 2E 5A 49 43 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 6F 74 74 6F 6D 5F 42 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 4D 42 45 4E 43 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 4E 41 32 33 34 5F 43 2E 5A 44 32 66 00 00 1D 32 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 4E 41 32 33 34 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 45 5F 43 48 4F 35 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 4E 44 4C 59 5F 43 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 52 4E 5F 43 48 4F 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 50 41 4E 44 4C 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 72 65 6E 61 2E 5A 44 32 00 00 00 66 00 00 20 14 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 72 65 6E 61 2E 5A 49 43 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 4F 54 52 45 4D 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 55 54 4F 50 4E 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 55 54 4F 57 41 48 2E 5A 44 32 00 66 00 00 22 7D 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 55 54 4F 57 41 48 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 5F 46 49 4C 54 45 52 2E 5A 44 32 66 00 00 44 7F 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 5F 46 49 4C 54 45 52 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 41 5F 43 52 59 2E 5A 44 32 00 00 66 00 00 10 77 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 41 5F 43 52 59 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 41 5F 47 45 51 31 55 2E 5A 44 32 66 00 00 5B 06 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 41 5F 47 45 51 31 55 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 41 5F 50 45 51 2E 5A 44 32 00 00 66 00 00 6C 72 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 41 5F 50 45 51 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 79 6E 61 52 65 76 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 45 4E 44 43 5F 43 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 46 46 4C 4E 47 52 32 2E 5A 44 32 66 00 00 0F 21 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 4C 44 56 52 42 31 55 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 49 54 43 52 55 53 48 2E 5A 44 32 66 00 00 67 69 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 49 54 43 52 55 53 48 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 4F 4D 42 45 52 2E 5A 44 32 00 00 66 00 00 38 71 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 4F 4D 42 45 52 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 6F 74 74 6F 6D 5F 42 2E 5A 44 32 66 00 00 4C 67 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 6F 6C 79 46 4C 52 42 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 50 4D 5F 4D 44 4C 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 52 47 54 48 41 4C 4C 2E 5A 44 32 66 00 00 07 0A 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 52 47 54 48 41 4C 4C 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 52 47 54 52 4F 4F 4D 2E 5A 44 32 66 00 00 05 0A 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 52 47 54 52 4F 4F 4D 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 41 54 57 41 48 2E 5A 44 32 00 66 00 00 65 6B 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 41 54 57 41 48 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 43 48 4F 52 55 53 2E 5A 44 32 66 00 00 31 1D 04 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 43 48 4F 52 55 53 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 44 45 54 55 4E 45 2E 5A 44 32 66 00 00 43 0C 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 44 45 54 55 4E 45 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 45 4E 53 4D 42 4C 2E 5A 44 32 66 00 00 27 68 03 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 45 4E 53 4D 42 4C 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 46 4C 4E 47 52 2E 5A 44 32 00 66 00 00 1B 5B 04 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 46 4C 4E 47 52 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 54 43 4C 4F 53 45 54 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 4D 4F 43 54 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 72 65 6D 52 76 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 4F 43 54 41 56 45 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 56 46 4C 4E 47 2E 5A 44 32 00 66 00 00 75 12 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 56 46 4C 4E 47 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 41 56 45 2E 5A 44 32 00 00 00 00 66 00 00 78 45 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 41 56 45 2E 5A 49 43 00 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 45 5F 43 48 4F 35 2E 5A 44 32 00 66 00 00 68 0F 04 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 49 52 5F 43 2E 5A 44 32 00 00 00 66 00 00 57 00 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 4D 42 45 4E 43 5F 43 2E 5A 44 32 66 00 00 0B 58 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 48 41 4D 42 5F 43 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 48 4F 52 55 53 5F 43 2E 5A 44 32 66 00 00 31 76 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 48 4F 52 55 53 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 48 55 52 43 48 5F 43 2E 5A 44 32 66 00 00 13 65 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 48 55 52 43 48 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 4C 4F 4E 45 43 48 4F 2E 5A 44 32 66 00 00 54 78 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 4C 4F 4E 45 43 48 4F 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 6F 6D 62 46 4C 54 52 2E 5A 44 32 66 00 00 62 0A 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 6F 6D 62 46 4C 54 52 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 4F 4D 50 2E 5A 44 32 00 00 00 00 66 00 00 4E 68 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 4F 4D 50 2E 5A 49 43 00 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 4E 44 4C 59 5F 43 2E 5A 44 32 00 66 00 00 5F 23 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 52 4E 54 52 49 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 52 4E 5F 43 48 4F 2E 5A 44 32 00 66 00 00 4C 7E 04 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 50 41 4E 44 4C 5F 43 2E 5A 44 32 66 00 00 64 59 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 52 59 2E 5A 44 32 00 00 00 00 00 66 00 00 64 75 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 52 59 2E 5A 49 43 00 00 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 45 4C 41 59 5F 43 2E 5A 44 32 00 66 00 00 78 18 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 45 4C 41 59 5F 43 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 45 54 55 4E 45 5F 43 2E 5A 44 32 66 00 00 4D 7E 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 45 54 55 4E 45 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 69 72 74 47 61 74 65 2E 5A 44 32 66 00 00 5F 58 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 69 72 74 47 61 74 65 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 52 56 5F 45 43 4F 2E 5A 44 32 00 66 00 00 16 19 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 52 56 5F 45 43 4F 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 41 55 54 4F 50 4E 5F 43 2E 5A 44 32 66 00 00 22 77 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 41 44 4C 59 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 75 61 6C 52 65 76 2E 5A 44 32 00 66 00 00 08 5C 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 75 61 6C 52 65 76 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 41 4C 5F 43 4D 50 2E 5A 44 32 66 00 00 29 77 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 41 4C 5F 43 4D 50 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 4F 50 48 41 31 55 2E 5A 44 32 66 00 00 56 22 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 4F 50 48 41 31 55 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 4F 54 52 45 4D 2E 5A 44 32 00 66 00 00 74 6E 04 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 45 4E 44 43 5F 43 2E 5A 44 32 00 66 00 00 57 6B 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 59 4E 41 44 4C 59 2E 5A 44 32 00 66 00 00 05 1E 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 59 4E 41 44 4C 59 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 79 6E 61 52 65 76 2E 5A 44 32 00 66 00 00 62 73 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 4D 4F 43 54 2E 5A 44 32 00 00 66 00 00 23 21 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 59 4E 46 4C 4E 47 52 2E 5A 44 32 66 00 00 08 19 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 59 4E 46 4C 4E 47 52 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 45 63 68 6F 2E 5A 44 32 00 00 00 00 66 00 00 4F 56 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 45 63 68 6F 2E 5A 49 43 00 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 45 4E 53 45 4D 42 4C 45 2E 5A 44 32 66 00 00 23 67 03 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 45 4E 53 45 4D 42 4C 45 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 42 5F 4F 43 54 41 56 45 2E 5A 44 32 66 00 00 72 63 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 45 52 4C 52 45 46 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 45 58 43 49 54 45 52 2E 5A 44 32 00 66 00 00 3B 68 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 45 58 43 49 54 45 52 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 44 53 50 52 49 4E 47 2E 5A 44 32 66 00 00 3F 39 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 44 53 50 52 49 4E 47 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 4C 41 4E 47 45 52 2E 5A 44 32 00 66 00 00 76 0C 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 4C 41 4E 47 45 52 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 4C 54 44 4C 59 5F 43 2E 5A 44 32 66 00 00 51 23 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 4C 54 44 4C 59 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 4C 54 45 52 50 50 44 2E 5A 44 32 66 00 00 1C 0F 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 4C 54 45 52 50 50 44 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 48 41 4D 42 5F 43 2E 5A 44 32 00 66 00 00 52 41 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 47 41 54 45 52 56 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 47 45 4D 49 4E 4F 53 2E 5A 44 32 00 66 00 00 3E 28 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 47 45 4D 49 4E 4F 53 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 47 52 41 59 43 4F 4D 50 2E 5A 44 32 66 00 00 64 11 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 47 52 41 59 43 4F 4D 50 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 47 54 5F 47 45 51 31 55 2E 5A 44 32 66 00 00 34 0F 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 47 54 5F 47 45 51 31 55 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 43 52 4E 54 52 49 5F 43 2E 5A 44 32 66 00 00 38 2A 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 41 4C 4C 5F 43 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 44 55 41 44 4C 59 5F 43 2E 5A 44 32 66 00 00 39 1C 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 44 48 41 4C 4C 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 4C 44 44 4C 59 5F 4D 2E 5A 44 32 66 00 00 37 0C 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 4C 44 44 4C 59 5F 4D 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 4C 44 56 52 42 31 55 2E 5A 44 32 66 00 00 3A 21 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 45 52 4C 52 45 46 5F 43 2E 5A 44 32 66 00 00 24 23 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 6F 6C 79 46 4C 52 42 2E 5A 44 32 66 00 00 51 5F 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 47 41 54 45 52 56 5F 43 2E 5A 44 32 66 00 00 46 59 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 50 53 5F 43 2E 5A 44 32 00 00 00 66 00 00 2D 01 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 50 53 5F 43 2E 5A 49 43 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 41 4C 4C 5F 43 2E 5A 44 32 00 00 66 00 00 6D 16 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 49 43 45 44 4C 59 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4B 4B 46 4C 4E 47 31 55 2E 5A 44 32 66 00 00 55 2E 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4B 4B 46 4C 4E 47 31 55 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 46 4F 5F 46 4C 54 52 2E 5A 44 32 66 00 00 1E 7F 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 46 4F 5F 46 4C 54 52 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 69 6D 69 74 65 72 2E 5A 44 32 00 66 00 00 49 7A 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 69 6D 69 74 65 72 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 49 4E 45 53 45 4C 2E 5A 44 32 00 66 00 00 59 46 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 49 4E 45 53 45 4C 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 49 43 45 44 4C 59 5F 43 2E 5A 44 32 66 00 00 3F 1B 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 4F 46 49 44 4C 59 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 4F 46 49 5F 52 45 56 2E 5A 44 32 66 00 00 43 6E 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 4F 46 49 5F 52 45 56 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 4F 4F 50 52 4F 4C 4C 2E 5A 44 32 66 00 00 20 61 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 4F 4F 50 52 4F 4C 4C 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 4F 57 50 41 53 53 46 2E 5A 44 32 66 00 00 58 05 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 4F 57 50 41 53 53 46 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 61 6E 67 6C 65 53 70 2E 5A 44 32 66 00 00 14 7B 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 61 6E 67 6C 65 53 70 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 42 5F 43 4F 4D 50 2E 5A 44 32 00 66 00 00 48 6E 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 42 5F 43 4F 4D 50 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 49 52 41 47 45 43 48 2E 5A 44 32 66 00 00 4E 02 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 49 52 41 47 45 43 48 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4C 54 54 50 44 4C 59 2E 5A 44 32 66 00 00 7B 29 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4C 54 54 50 44 4C 59 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4C 4F 46 49 44 4C 59 2E 5A 44 32 00 66 00 00 4F 4D 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4F 44 44 4C 59 32 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4F 44 44 4C 59 5F 43 2E 5A 44 32 66 00 00 02 17 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4F 44 44 4C 59 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4F 44 44 4C 59 32 2E 5A 44 32 00 66 00 00 5A 18 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4F 44 52 45 56 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4F 4E 4F 53 59 4E 2E 5A 44 32 00 66 00 00 25 78 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4F 4E 4F 53 59 4E 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4E 5F 47 41 54 45 2E 5A 44 32 00 00 66 00 00 09 3C 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4E 5F 47 41 54 45 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4F 43 54 41 56 45 5F 43 2E 5A 44 32 66 00 00 45 68 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4F 43 54 41 56 45 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4F 50 54 43 4F 4D 50 2E 5A 44 32 00 66 00 00 2C 70 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4F 50 54 43 4F 4D 50 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4F 72 61 6E 67 4C 69 6D 2E 5A 44 32 66 00 00 31 58 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4F 72 61 6E 67 4C 69 6D 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 41 52 41 45 51 35 47 2E 5A 44 32 66 00 00 64 78 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 41 52 41 45 51 35 47 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 48 44 48 41 4C 4C 5F 43 2E 5A 44 32 66 00 00 2D 2B 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 41 52 54 43 4C 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 4D 4F 44 52 45 56 2E 5A 44 32 00 00 66 00 00 14 32 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 48 41 53 44 4C 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 48 41 53 45 52 5F 43 2E 5A 44 32 66 00 00 75 01 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 48 41 53 45 52 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 49 54 44 4C 59 5F 43 2E 5A 44 32 66 00 00 41 15 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 49 54 44 4C 59 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 4C 54 52 45 56 5F 43 2E 5A 44 32 66 00 00 03 2D 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 4C 54 52 45 56 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 4C 59 4C 49 47 48 54 2E 5A 44 32 66 00 00 25 04 06 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 4C 59 4C 49 47 48 54 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 4C 59 4F 43 54 2E 5A 44 32 00 00 66 00 00 52 6F 05 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 4C 59 4F 43 54 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 50 5F 44 4C 59 5F 4D 2E 5A 44 32 66 00 00 0F 05 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 50 5F 44 4C 59 5F 4D 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 41 43 4B 43 4F 4D 50 2E 5A 44 32 66 00 00 24 08 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 41 43 4B 43 4F 4D 50 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 45 53 4F 4E 41 4E 43 2E 5A 44 32 66 00 00 27 7D 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 45 53 4F 4E 41 4E 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 65 76 65 72 73 52 76 2E 5A 44 32 66 00 00 4E 2A 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 65 76 65 72 73 52 76 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 49 4E 47 4D 4F 44 2E 5A 44 32 00 66 00 00 64 73 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 49 4E 47 4D 4F 44 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 4E 44 4D 46 4C 54 52 2E 5A 44 32 66 00 00 5C 03 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 4E 44 4D 46 4C 54 52 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 4F 4F 4D 5F 43 2E 5A 44 32 00 00 66 00 00 53 16 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 4F 4F 4D 5F 43 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 54 43 4C 4F 53 45 54 2E 5A 44 32 66 00 00 06 33 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 41 52 54 43 4C 5F 43 2E 5A 44 32 66 00 00 2B 2F 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 56 52 53 44 4C 5F 43 2E 5A 44 32 66 00 00 70 18 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 52 56 52 53 44 4C 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 45 51 46 4C 54 52 2E 5A 44 32 00 66 00 00 5A 19 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 45 51 46 4C 54 52 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 68 69 6D 6D 65 72 2E 5A 44 32 00 66 00 00 77 1E 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 68 69 6D 6D 65 72 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 49 4C 4B 59 43 48 4F 2E 5A 44 32 66 00 00 12 1A 05 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 49 4C 4B 59 43 48 4F 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 41 50 42 41 43 4B 2E 5A 44 32 66 00 00 37 4E 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 41 50 42 41 43 4B 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 48 4D 52 5F 50 4C 54 2E 5A 44 32 66 00 00 1A 17 07 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 41 54 44 4C 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 50 48 41 53 44 4C 5F 43 2E 5A 44 32 66 00 00 64 4B 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 49 43 45 52 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 6C 6F 77 46 4C 54 52 2E 5A 44 32 66 00 00 5E 0A 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 6C 6F 77 46 4C 54 52 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 50 42 4B 44 5F 43 2E 5A 44 32 66 00 00 3C 29 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 50 42 4B 44 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 57 41 54 4B 2E 5A 44 32 00 00 66 00 00 36 51 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 57 41 54 4B 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4D 53 5F 44 4C 59 2E 5A 44 32 00 66 00 00 55 67 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4D 53 5F 44 4C 59 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 49 43 45 52 5F 43 2E 5A 44 32 66 00 00 43 00 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4F 46 54 45 43 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4F 46 54 45 43 5F 43 2E 5A 44 32 66 00 00 45 5C 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 50 43 48 4F 4C 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 50 4C 49 54 54 45 52 2E 5A 44 32 66 00 00 70 73 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 50 4C 49 54 54 45 52 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 70 72 69 6E 67 36 33 2E 5A 44 32 66 00 00 1A 33 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 70 72 69 6E 67 36 33 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 50 43 48 4F 4C 5F 43 2E 5A 44 32 66 00 00 3C 5F 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 50 52 49 4E 47 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 42 47 45 51 31 55 2E 5A 44 32 66 00 00 1A 1A 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 42 47 45 51 31 55 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 43 48 4F 5F 43 2E 5A 44 32 00 66 00 00 05 7C 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 43 48 4F 5F 43 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 44 45 4C 41 59 2E 5A 44 32 00 66 00 00 3A 2B 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 44 45 4C 41 59 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 45 50 35 47 2E 5A 44 32 00 00 66 00 00 67 73 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 45 50 35 47 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 47 54 47 45 31 55 2E 5A 44 32 66 00 00 21 07 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 47 54 47 45 31 55 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 4F 4D 50 44 4C 59 2E 5A 44 32 66 00 00 35 1D 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 4F 4D 50 44 4C 59 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 4F 4E 45 50 48 41 2E 5A 44 32 66 00 00 7E 2C 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 54 4F 4E 45 50 48 41 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 50 52 49 4E 47 5F 43 2E 5A 44 32 66 00 00 33 17 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 55 50 45 52 43 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 57 45 4C 4C 56 49 42 2E 5A 44 32 66 00 00 73 08 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 57 45 4C 4C 56 49 42 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 41 50 45 43 48 5F 43 2E 5A 44 32 66 00 00 7D 17 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 41 50 45 43 48 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 47 48 4C 44 44 4C 59 2E 5A 44 32 66 00 00 2E 14 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 47 48 4C 44 44 4C 59 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 55 50 45 52 43 5F 43 2E 5A 44 32 66 00 00 35 0B 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 48 45 56 49 42 5F 43 2E 5A 49 43 66 00 00 0E 15 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 69 6C 65 64 52 6D 2E 5A 44 32 00 66 00 00 4A 15 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 69 6C 65 64 52 6D 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 48 45 56 49 42 5F 43 2E 5A 44 32 66 00 00 42 73 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 50 45 43 33 5F 43 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 52 45 4D 37 30 2E 5A 44 32 00 00 66 00 00 1A 7A 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 52 45 4D 37 30 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 52 45 4D 44 4C 59 2E 5A 44 32 00 66 00 00 4A 0C 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 52 45 4D 44 4C 59 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 52 45 4D 4F 4C 4F 2E 5A 44 32 00 66 00 00 50 58 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 52 45 4D 4F 4C 4F 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 72 65 6D 52 76 2E 5A 44 32 00 00 66 00 00 49 75 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 54 50 45 43 33 5F 43 2E 5A 44 32 00 66 00 00 49 4F 02 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 56 49 42 52 41 54 5F 43 2E 5A 44 32 66 00 00 34 7A 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 56 49 42 52 41 54 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 56 49 4E 46 4C 4E 5F 43 2E 5A 44 32 66 00 00 58 04 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 56 49 4E 46 4C 4E 5F 43 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 56 54 47 43 45 2E 5A 44 32 00 00 00 66 00 00 45 70 03 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 56 54 47 43 45 2E 5A 49 43 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 57 52 50 50 48 41 53 45 2E 5A 44 32 66 00 00 0F 76 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 57 52 50 50 48 41 53 45 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 5A 4E 52 2E 5A 44 32 00 00 00 00 00 66 00 00 43 4D 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 5A 4E 52 2E 5A 49 43 00 00 00 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 5A 5F 4F 52 47 41 4E 2E 5A 44 32 00 66 00 00 31 09 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 5A 5F 4F 52 47 41 4E 2E 5A 49 43 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 5A 5F 54 52 4F 4E 2E 5A 44 32 00 00 66 00 00 47 73 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 5A 5F 54 52 4F 4E 2E 5A 49 43 00 00 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 48 4D 52 5F 50 4C 54 2E 5A 49 43 66 00 00 28 14 00 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 53 4C 41 54 44 4C 5F 43 2E 5A 44 32 66 00 00 20 48 01 00 00 00 00 00 00 00 F7
F0 52 00 6E 60 04 25 00 00 17 00 00 00 00 00 46 4C 53 54 5F 53 45 51 2E 5A 54 32 66 00 00 24 60 00 00 00 00 00 00 00 00 F7
mungewell commented 4 months ago

@thammer thanks for the patch, merged.

Can you please confirm the targets bitfield value for the MS-70+? https://github.com/mungewell/zoom-zt2/blob/master/decode_preset.py#L113

thammer commented 4 months ago

Huh. It's the same bit set for the MS-50G+ patch and the MS-70CDR+ patch, 0x040000.

PS C:\source\zoom-zt2-forked\zoom-zt2> python .\decode_preset.py .\ms70p-001.zptc -d       
Container: 
    p = Container:
        l = 404
        v = 2
    length = 404
    version = 2
    fx_count = 4
    targets = Container:
        g5n = 0
        g3n = 0
        g3xn = 0
        b3n = 0
        g1four = 0
        g1xfour = 0
        b1four = 0
        b1xfour = 0
        a1four = 0
        a1xfour = 0
        g11 = 0
        h8 = 0
        g6 = 0
        b6 = 0
        r20 = 0
        b2four = 0
        ms-50+ = 1
    target = 262144
    data = b'\x00\x00\x00\x00\x00\x00' (total 6)
    name = u'C-D-R+    ' (total 10)
    ids = ListContainer:
        117444352
        100663393
        134217850
        150995073
    TXJ1 = Container:
        length = 76
        data = b'\x83R\x81[\x83\x89\x83X\x81A\x83f\x83B\x83\x8c'... (truncated, total 76)
    TXE1 = Container:
        length = 76
        desc = u'This combines chorus, delay and '... (truncated, total 73)
    EDTB = Container:
        length = 96
        effects = ListContainer:
            Container:
                autorev = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'... (truncated, total 24)
                reversed = Container:
                    unknown = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00' (total 9)
                    control = Container:
                        unknown = 0
                        param8 = 0
                        param7 = 0
                        param6 = 0
                        param5 = 0
                        param4 = 0
                        param3 = 0
                        param2 = 100
                        param1 = 80
                        id = 117444352
                        enabled = True
            Container:
                autorev = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x01D'... (truncated, total 24)
                reversed = Container:
                    unknown = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00' (total 9)
                    control = Container:
                        unknown = 0
                        param8 = 0
                        param7 = 0
                        param6 = 0
                        param5 = 80
                        param4 = 81
                        param3 = 7
                        param2 = 32
                        param1 = 95
                        id = 100663393
                        enabled = True
            Container:
                autorev = b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x8d\x8ch\t\x01\x10'... (truncated, total 24)
                reversed = Container:
                    unknown = b'\x00\x00\x00\x00\x00\x00\x00\x00\x01' (total 9)
                    control = Container:
                        unknown = 0
                        param8 = 99
                        param7 = 99
                        param6 = 26
                        param5 = 36
                        param4 = 68
                        param3 = 0
                        param2 = 524
                        param1 = 422
                        id = 134217850
                        enabled = True
            Container:
                autorev = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x014\x08\x00\x00'... (truncated, total 24)
                reversed = Container:
                    unknown = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00' (total 9)
                    control = Container:
                        unknown = 0
                        param8 = 0
                        param7 = 0
                        param6 = 77
                        param5 = 32
                        param4 = 0
                        param3 = 45
                        param2 = 54
                        param1 = 86
                        id = 150995073
                        enabled = True
    PPRM = Container:
        length = 32
        dump = hexundump("""
        0000   00 00 00 00 00 00 00 00 00 80 2C 64 00 00 00 00   ..........,d....
        0010   00 00 00 00 00 00 80 00 00 00 00 00 00 00 80 07   ................
        """)

        unknown = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80,d\x00\x00\x00\x00'... (truncated, total 32)
    NAME = Container:
        length = 32
        name = u'C-D-R+                      ' (total 28)
PS C:\source\zoom-zt2-forked\zoom-zt2> python .\decode_preset.py .\ms50g-001.zptc -d  
Container: 
    p = Container:
        l = 368
        v = 2
    length = 368
    version = 2
    fx_count = 1
    targets = Container:
        g5n = 0
        g3n = 0
        g3xn = 0
        b3n = 0
        g1four = 0
        g1xfour = 0
        b1four = 0
        b1xfour = 0
        a1four = 0
        a1xfour = 0
        g11 = 0
        h8 = 0
        g6 = 0
        b6 = 0
        r20 = 0
        b2four = 0
        ms-50+ = 1
    target = 262144
    data = b'\x00\x00\x00\x00\x00\x00' (total 6)
    name = u'Krampus Dr' (total 10)
    ids = ListContainer:
        67109137
    TXJ1 = Container:
        length = 92
        data = b'\x8fd\x8c\xfa\x82\xc8\x92\xe1\x88\xe6\x82\xc6\x83u\x83\x89'... (truncated, total 92)
    TXE1 = Container:
        length = 108
        desc = u'This high-gain sound, which uses'... (truncated, total 108)
    EDTB = Container:
        length = 24
        effects = ListContainer:
            Container:
                autorev = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x0c\x0e@\xb4'... (truncated, total 24)
                reversed = Container:
                    unknown = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00' (total 9)
                    control = Container:
                        unknown = 0
                        param8 = 0
                        param7 = 0
                        param6 = 67
                        param5 = 57
                        param4 = 45
                        param3 = 35
                        param2 = 43
                        param1 = 50
                        id = 67109137
                        enabled = True
    PPRM = Container:
        length = 32
        dump = hexundump("""
        0000   00 00 28 00 00 00 00 00 00 00 08 00 00 8C 08 00   ..(.............
        0010   00 00 00 00 02 00 00 00 80 00 00 00 00 00 80 07   ................
        """)

        unknown = b'\x00\x00(\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x8c\x08\x00'... (truncated, total 32)
    NAME = Container:
        length = 32
        name = u'Krampus Drive               ' (total 28)
PS C:\source\zoom-zt2-forked\zoom-zt2> 
thammer commented 4 months ago

@mungewell Thanks for accepting my PR. I'm considering modifying butInstall in zoomzt2-gyi.py so that it looks for a .ZIC file with the same file name as the user specified and automatically installs that on the pedal as well, alongside the .ZD2 file. What are your thoughts on that?

thammer commented 4 months ago

Here are the files that are common for both MS-50G+ and MS-70CDR+

thammer@silversurfer:/mnt/c/source/zoom-zt2-forked/zoom-zt2$ comm -12 <(ls Everything-ms50gp) <(ls Everything-ms70cdrp)
AUTOWAH.ZD2
AUTOWAH.ZIC
BOMBER.ZD2
BOMBER.ZIC
BPM_MDL.ZIC
BRGTHALL.ZD2
BRGTHALL.ZIC
BRGTROOM.ZD2
BRGTROOM.ZIC
B_DETUNE.ZD2
CLONECHO.ZD2
CLONECHO.ZIC
COMP.ZD2
COMP.ZIC
DUMMY.WAV
FLST_SEQ.ZT2
GEMINOS.ZD2
GEMINOS.ZIC
GRAYCOMP.ZD2
GRAYCOMP.ZIC
HDHALL_C.ZD2
HDHALL_C.ZIC
HLDDLY_M.ZD2
HLDDLY_M.ZIC
INFBKUP.BIN
IR.ZIC
IR000.ZIR
IR001.ZIR
IR_INFO.BIN
KKFLNG1U.ZD2
KKFLNG1U.ZIC
LINESEL.ZD2
LINESEL.ZIC
LOOPROLL.ZD2
LOOPROLL.ZIC
LOWPASSF.ZD2
LOWPASSF.ZIC
N_GATE.ZD2
N_GATE.ZIC
PARAEQ5G.ZD2
PARAEQ5G.ZIC
PLYLIGHT.ZD2
PLYLIGHT.ZIC
PLYOCT.ZD2
PLYOCT.ZIC
PP_DLY_M.ZD2
PP_DLY_M.ZIC
RACKCOMP.ZD2
RACKCOMP.ZIC
RINGMOD.ZD2
RINGMOD.ZIC
SEQFLTR.ZD2
SEQFLTR.ZIC
SLWATK.ZD2
SLWATK.ZIC
STEP5G.ZD2
STEP5G.ZIC
STONEPHA.ZD2
STONEPHA.ZIC
SWELLVIB.ZD2
SWELLVIB.ZIC
TREMOLO.ZD2
TREMOLO.ZIC
WRPPHASE.ZD2
WRPPHASE.ZIC
ZNR.ZD2
ZNR.ZIC
thammer commented 4 months ago

... and here are the files that are different, or only present on one of the pedals:

thammer@silversurfer:/mnt/c/source/zoom-zt2-forked/zoom-zt2$ diff Everything-ms50gp Everything-ms70cdrp | sort
Binary files Everything-ms50gp/FLST_SEQ.ZT2 and Everything-ms70cdrp/FLST_SEQ.ZT2 differ
Binary files Everything-ms50gp/SWELLVIB.ZD2 and Everything-ms70cdrp/SWELLVIB.ZD2 differ
Only in Everything-ms50gp: 7HEVN_LT.ZD2
Only in Everything-ms50gp: 7HEVN_LT.ZIC
Only in Everything-ms50gp: 7HEVN_LT.ZIR
Only in Everything-ms50gp: ACOSIM.ZD2
Only in Everything-ms50gp: ACOSIM.ZIC
Only in Everything-ms50gp: AIR5G.ZD2
Only in Everything-ms50gp: AIR5G.ZIC
Only in Everything-ms50gp: ANA234CH.ZD2
Only in Everything-ms50gp: ANA234CH.ZIC
Only in Everything-ms50gp: ANDLY_M.ZD2
Only in Everything-ms50gp: ANDLY_M.ZIC
Only in Everything-ms50gp: AUTOPAN.ZD2
Only in Everything-ms50gp: AUTOPAN.ZIC
Only in Everything-ms50gp: BGMK1_LT.ZD2
Only in Everything-ms50gp: BGMK1_LT.ZIC
Only in Everything-ms50gp: BGMK1_LT.ZIR
Only in Everything-ms50gp: BGMK3_LT.ZD2
Only in Everything-ms50gp: BGMK3_LT.ZIC
Only in Everything-ms50gp: BGMK3_LT.ZIR
Only in Everything-ms50gp: BGTHRTTL.ZD2
Only in Everything-ms50gp: BGTHRTTL.ZIC
Only in Everything-ms50gp: BLACKOPT.ZD2
Only in Everything-ms50gp: BLACKOPT.ZIC
Only in Everything-ms50gp: CRNTRI5G.ZD2
Only in Everything-ms50gp: CRNTRI5G.ZIC
Only in Everything-ms50gp: DELAY_M.ZD2
Only in Everything-ms50gp: DELAY_M.ZIC
Only in Everything-ms50gp: DETUNE5G.ZD2
Only in Everything-ms50gp: DETUNE5G.ZIC
Only in Everything-ms50gp: DIST1_5G.ZD2
Only in Everything-ms50gp: DIST1_5G.ZIC
Only in Everything-ms50gp: DISTPL5G.ZD2
Only in Everything-ms50gp: DISTPL5G.ZIC
Only in Everything-ms50gp: DUADLY_M.ZD2
Only in Everything-ms50gp: DUADLY_M.ZIC
Only in Everything-ms50gp: DYNDRIVE.ZD2
Only in Everything-ms50gp: DYNDRIVE.ZIC
Only in Everything-ms50gp: DZ_DRVLT.ZD2
Only in Everything-ms50gp: DZ_DRVLT.ZIC
Only in Everything-ms50gp: DZ_DRVLT.ZIR
Only in Everything-ms50gp: EARLYREF.ZD2
Only in Everything-ms50gp: EARLYREF.ZIC
Only in Everything-ms50gp: EGFLTR1U.ZD2
Only in Everything-ms50gp: EGFLTR1U.ZIC
Only in Everything-ms50gp: EPSTMP5G.ZD2
Only in Everything-ms50gp: EPSTMP5G.ZIC
Only in Everything-ms50gp: FDBMANLT.ZD2
Only in Everything-ms50gp: FDBMANLT.ZIC
Only in Everything-ms50gp: FDBMANLT.ZIR
Only in Everything-ms50gp: FDDLXRLT.ZD2
Only in Everything-ms50gp: FDDLXRLT.ZIC
Only in Everything-ms50gp: FDDLXRLT.ZIR
Only in Everything-ms50gp: FDMSTRLT.ZD2
Only in Everything-ms50gp: FDMSTRLT.ZIC
Only in Everything-ms50gp: FDMSTRLT.ZIR
Only in Everything-ms50gp: FD_TWRLT.ZD2
Only in Everything-ms50gp: FD_TWRLT.ZIC
Only in Everything-ms50gp: FD_TWRLT.ZIR
Only in Everything-ms50gp: FLTDLY_M.ZD2
Only in Everything-ms50gp: FLTDLY_M.ZIC
Only in Everything-ms50gp: GOLD_DRV.ZD2
Only in Everything-ms50gp: GOLD_DRV.ZIC
Only in Everything-ms50gp: GTGEQ75G.ZD2
Only in Everything-ms50gp: GTGEQ75G.ZIC
Only in Everything-ms50gp: HALL5G.ZD2
Only in Everything-ms50gp: HALL5G.ZIC
Only in Everything-ms50gp: HOTSPICE.ZD2
Only in Everything-ms50gp: HOTSPICE.ZIC
Only in Everything-ms50gp: HPS.ZD2
Only in Everything-ms50gp: HPS.ZIC
Only in Everything-ms50gp: HW100_LT.ZD2
Only in Everything-ms50gp: HW100_LT.ZIC
Only in Everything-ms50gp: HW100_LT.ZIR
Only in Everything-ms50gp: KRMPS_LT.ZD2
Only in Everything-ms50gp: KRMPS_LT.ZIC
Only in Everything-ms50gp: KRMPS_LT.ZIR
Only in Everything-ms50gp: LMT1176.ZD2
Only in Everything-ms50gp: LMT1176.ZIC
Only in Everything-ms50gp: MACH30LT.ZD2
Only in Everything-ms50gp: MACH30LT.ZIC
Only in Everything-ms50gp: MACH30LT.ZIR
Only in Everything-ms50gp: MODDLY_M.ZD2
Only in Everything-ms50gp: MODDLY_M.ZIC
Only in Everything-ms50gp: MS1959LT.ZD2
Only in Everything-ms50gp: MS1959LT.ZIC
Only in Everything-ms50gp: MS1959LT.ZIR
Only in Everything-ms50gp: MS45OSLT.ZD2
Only in Everything-ms50gp: MS45OSLT.ZIC
Only in Everything-ms50gp: MS45OSLT.ZIR
Only in Everything-ms50gp: MS800_LT.ZD2
Only in Everything-ms50gp: MS800_LT.ZIC
Only in Everything-ms50gp: MS800_LT.ZIR
Only in Everything-ms50gp: MUDDY_LT.ZD2
Only in Everything-ms50gp: MUDDY_LT.ZIC
Only in Everything-ms50gp: MUDDY_LT.ZIR
Only in Everything-ms50gp: NYC_MUFF.ZD2
Only in Everything-ms50gp: NYC_MUFF.ZIC
Only in Everything-ms50gp: OCTAVE5G.ZD2
Only in Everything-ms50gp: OCTAVE5G.ZIC
Only in Everything-ms50gp: OCTFUZZ.ZD2
Only in Everything-ms50gp: OCTFUZZ.ZIC
Only in Everything-ms50gp: ORG120LT.ZD2
Only in Everything-ms50gp: ORG120LT.ZIC
Only in Everything-ms50gp: ORG120LT.ZIR
Only in Everything-ms50gp: PHASER.ZD2
Only in Everything-ms50gp: PHASER.ZIC
Only in Everything-ms50gp: PITDLY_M.ZD2
Only in Everything-ms50gp: PITDLY_M.ZIC
Only in Everything-ms50gp: POLEX_LT.ZD2
Only in Everything-ms50gp: POLEX_LT.ZIC
Only in Everything-ms50gp: POLEX_LT.ZIR
Only in Everything-ms50gp: RAZORDRV.ZD2
Only in Everything-ms50gp: RAZORDRV.ZIC
Only in Everything-ms50gp: RCBST5G.ZD2
Only in Everything-ms50gp: RCBST5G.ZIC
Only in Everything-ms50gp: RCTORGLT.ZD2
Only in Everything-ms50gp: RCTORGLT.ZIC
Only in Everything-ms50gp: RCTORGLT.ZIR
Only in Everything-ms50gp: REDCR5G.ZD2
Only in Everything-ms50gp: REDCR5G.ZIC
Only in Everything-ms50gp: REDLM_LT.ZD2
Only in Everything-ms50gp: REDLM_LT.ZIC
Only in Everything-ms50gp: REDLM_LT.ZIR
Only in Everything-ms50gp: ROOM5G.ZD2
Only in Everything-ms50gp: ROOM5G.ZIC
Only in Everything-ms50gp: RVRSDL_M.ZD2
Only in Everything-ms50gp: RVRSDL_M.ZIC
Only in Everything-ms50gp: SLAPBKD.ZD2
Only in Everything-ms50gp: SLAPBKD.ZIC
Only in Everything-ms50gp: SLICER.ZD2
Only in Everything-ms50gp: SLICER.ZIC
Only in Everything-ms50gp: SOFTEC5G.ZD2
Only in Everything-ms50gp: SOFTEC5G.ZIC
Only in Everything-ms50gp: SPRING5G.ZD2
Only in Everything-ms50gp: SPRING5G.ZIC
Only in Everything-ms50gp: SQUEAK5G.ZD2
Only in Everything-ms50gp: SQUEAK5G.ZIC
Only in Everything-ms50gp: STEREOCH.ZD2
Only in Everything-ms50gp: STEREOCH.ZIC
Only in Everything-ms50gp: SUPERCHO.ZD2
Only in Everything-ms50gp: SUPERCHO.ZIC
Only in Everything-ms50gp: SWEETDRV.ZD2
Only in Everything-ms50gp: SWEETDRV.ZIC
Only in Everything-ms50gp: TAPECH_M.ZD2
Only in Everything-ms50gp: TAPECH_M.ZIC
Only in Everything-ms50gp: TB_MK15.ZD2
Only in Everything-ms50gp: TB_MK15.ZIC
Only in Everything-ms50gp: THEVIBE.ZD2
Only in Everything-ms50gp: THEVIBE.ZIC
Only in Everything-ms50gp: TPEC3_M.ZD2
Only in Everything-ms50gp: TPEC3_M.ZIC
Only in Everything-ms50gp: TS_DRIVE.ZD2
Only in Everything-ms50gp: TS_DRIVE.ZIC
Only in Everything-ms50gp: UK30A_LT.ZD2
Only in Everything-ms50gp: UK30A_LT.ZIC
Only in Everything-ms50gp: UK30A_LT.ZIR
Only in Everything-ms50gp: VELVT_LT.ZD2
Only in Everything-ms50gp: VELVT_LT.ZIC
Only in Everything-ms50gp: VELVT_LT.ZIR
Only in Everything-ms50gp: VIBRATO.ZD2
Only in Everything-ms50gp: VIBRATO.ZIC
Only in Everything-ms50gp: VINFLNG5.ZD2
Only in Everything-ms50gp: VINFLNG5.ZIC
Only in Everything-ms50gp: VIOLTD5G.ZD2
Only in Everything-ms50gp: VIOLTD5G.ZIC
Only in Everything-ms50gp: WAVSHPR.ZD2
Only in Everything-ms50gp: WAVSHPR.ZIC
Only in Everything-ms50gp: XTSBL_LT.ZD2
Only in Everything-ms50gp: XTSBL_LT.ZIC
Only in Everything-ms50gp: XTSBL_LT.ZIR
Only in Everything-ms50gp: ZEN_DRV.ZD2
Only in Everything-ms50gp: ZEN_DRV.ZIC
Only in Everything-ms70cdrp: 160_COMP.ZD2
Only in Everything-ms70cdrp: 160_COMP.ZIC
Only in Everything-ms70cdrp: AC_TPECH.ZD2
Only in Everything-ms70cdrp: AC_TPECH.ZIC
Only in Everything-ms70cdrp: AIR_C.ZD2
Only in Everything-ms70cdrp: AIR_C.ZIC
Only in Everything-ms70cdrp: AMBENC_C.ZD2
Only in Everything-ms70cdrp: AMBENC_C.ZIC
Only in Everything-ms70cdrp: ANA234_C.ZD2
Only in Everything-ms70cdrp: ANA234_C.ZIC
Only in Everything-ms70cdrp: ANDLY_C.ZD2
Only in Everything-ms70cdrp: ANDLY_C.ZIC
Only in Everything-ms70cdrp: APANDL_C.ZD2
Only in Everything-ms70cdrp: APANDL_C.ZIC
Only in Everything-ms70cdrp: AUTOPN_C.ZD2
Only in Everything-ms70cdrp: AUTOPN_C.ZIC
Only in Everything-ms70cdrp: A_FILTER.ZD2
Only in Everything-ms70cdrp: A_FILTER.ZIC
Only in Everything-ms70cdrp: Arena.ZD2
Only in Everything-ms70cdrp: Arena.ZIC
Only in Everything-ms70cdrp: BA_CRY.ZD2
Only in Everything-ms70cdrp: BA_CRY.ZIC
Only in Everything-ms70cdrp: BA_GEQ1U.ZD2
Only in Everything-ms70cdrp: BA_GEQ1U.ZIC
Only in Everything-ms70cdrp: BA_PEQ.ZD2
Only in Everything-ms70cdrp: BA_PEQ.ZIC
Only in Everything-ms70cdrp: BENDC_C.ZD2
Only in Everything-ms70cdrp: BENDC_C.ZIC
Only in Everything-ms70cdrp: BFFLNGR2.ZD2
Only in Everything-ms70cdrp: BFFLNGR2.ZIC
Only in Everything-ms70cdrp: BITCRUSH.ZD2
Only in Everything-ms70cdrp: BITCRUSH.ZIC
Only in Everything-ms70cdrp: B_ATWAH.ZD2
Only in Everything-ms70cdrp: B_ATWAH.ZIC
Only in Everything-ms70cdrp: B_CHORUS.ZD2
Only in Everything-ms70cdrp: B_CHORUS.ZIC
Only in Everything-ms70cdrp: B_DETUNE.ZIC
Only in Everything-ms70cdrp: B_ENSMBL.ZD2
Only in Everything-ms70cdrp: B_ENSMBL.ZIC
Only in Everything-ms70cdrp: B_FLNGR.ZD2
Only in Everything-ms70cdrp: B_FLNGR.ZIC
Only in Everything-ms70cdrp: B_MOCT.ZD2
Only in Everything-ms70cdrp: B_MOCT.ZIC
Only in Everything-ms70cdrp: B_OCTAVE.ZD2
Only in Everything-ms70cdrp: B_OCTAVE.ZIC
Only in Everything-ms70cdrp: B_VFLNG.ZD2
Only in Everything-ms70cdrp: B_VFLNG.ZIC
Only in Everything-ms70cdrp: Bottom_B.ZD2
Only in Everything-ms70cdrp: Bottom_B.ZIC
Only in Everything-ms70cdrp: CAVE.ZD2
Only in Everything-ms70cdrp: CAVE.ZIC
Only in Everything-ms70cdrp: CE_CHO5.ZD2
Only in Everything-ms70cdrp: CE_CHO5.ZIC
Only in Everything-ms70cdrp: CHAMB_C.ZD2
Only in Everything-ms70cdrp: CHAMB_C.ZIC
Only in Everything-ms70cdrp: CHORUS_C.ZD2
Only in Everything-ms70cdrp: CHORUS_C.ZIC
Only in Everything-ms70cdrp: CHURCH_C.ZD2
Only in Everything-ms70cdrp: CHURCH_C.ZIC
Only in Everything-ms70cdrp: CRNTRI_C.ZD2
Only in Everything-ms70cdrp: CRNTRI_C.ZIC
Only in Everything-ms70cdrp: CRN_CHO.ZD2
Only in Everything-ms70cdrp: CRN_CHO.ZIC
Only in Everything-ms70cdrp: CRY.ZD2
Only in Everything-ms70cdrp: CRY.ZIC
Only in Everything-ms70cdrp: CombFLTR.ZD2
Only in Everything-ms70cdrp: CombFLTR.ZIC
Only in Everything-ms70cdrp: DELAY_C.ZD2
Only in Everything-ms70cdrp: DELAY_C.ZIC
Only in Everything-ms70cdrp: DETUNE_C.ZD2
Only in Everything-ms70cdrp: DETUNE_C.ZIC
Only in Everything-ms70cdrp: DRV_ECO.ZD2
Only in Everything-ms70cdrp: DRV_ECO.ZIC
Only in Everything-ms70cdrp: DUADLY_C.ZD2
Only in Everything-ms70cdrp: DUADLY_C.ZIC
Only in Everything-ms70cdrp: DUAL_CMP.ZD2
Only in Everything-ms70cdrp: DUAL_CMP.ZIC
Only in Everything-ms70cdrp: DUOPHA1U.ZD2
Only in Everything-ms70cdrp: DUOPHA1U.ZIC
Only in Everything-ms70cdrp: DUOTREM.ZD2
Only in Everything-ms70cdrp: DUOTREM.ZIC
Only in Everything-ms70cdrp: DYNADLY.ZD2
Only in Everything-ms70cdrp: DYNADLY.ZIC
Only in Everything-ms70cdrp: DYNFLNGR.ZD2
Only in Everything-ms70cdrp: DYNFLNGR.ZIC
Only in Everything-ms70cdrp: DirtGate.ZD2
Only in Everything-ms70cdrp: DirtGate.ZIC
Only in Everything-ms70cdrp: DualRev.ZD2
Only in Everything-ms70cdrp: DualRev.ZIC
Only in Everything-ms70cdrp: DynaRev.ZD2
Only in Everything-ms70cdrp: DynaRev.ZIC
Only in Everything-ms70cdrp: ENSEMBLE.ZD2
Only in Everything-ms70cdrp: ENSEMBLE.ZIC
Only in Everything-ms70cdrp: ERLREF_C.ZD2
Only in Everything-ms70cdrp: ERLREF_C.ZIC
Only in Everything-ms70cdrp: EXCITER.ZD2
Only in Everything-ms70cdrp: EXCITER.ZIC
Only in Everything-ms70cdrp: Echo.ZD2
Only in Everything-ms70cdrp: Echo.ZIC
Only in Everything-ms70cdrp: FDSPRING.ZD2
Only in Everything-ms70cdrp: FDSPRING.ZIC
Only in Everything-ms70cdrp: FLANGER.ZD2
Only in Everything-ms70cdrp: FLANGER.ZIC
Only in Everything-ms70cdrp: FLTDLY_C.ZD2
Only in Everything-ms70cdrp: FLTDLY_C.ZIC
Only in Everything-ms70cdrp: FLTERPPD.ZD2
Only in Everything-ms70cdrp: FLTERPPD.ZIC
Only in Everything-ms70cdrp: GATERV_C.ZD2
Only in Everything-ms70cdrp: GATERV_C.ZIC
Only in Everything-ms70cdrp: GT_GEQ1U.ZD2
Only in Everything-ms70cdrp: GT_GEQ1U.ZIC
Only in Everything-ms70cdrp: HALL_C.ZD2
Only in Everything-ms70cdrp: HALL_C.ZIC
Only in Everything-ms70cdrp: HLDVRB1U.ZD2
Only in Everything-ms70cdrp: HLDVRB1U.ZIC
Only in Everything-ms70cdrp: HPS_C.ZD2
Only in Everything-ms70cdrp: HPS_C.ZIC
Only in Everything-ms70cdrp: HolyFLRB.ZD2
Only in Everything-ms70cdrp: HolyFLRB.ZIC
Only in Everything-ms70cdrp: ICEDLY_C.ZD2
Only in Everything-ms70cdrp: ICEDLY_C.ZIC
Only in Everything-ms70cdrp: LFO_FLTR.ZD2
Only in Everything-ms70cdrp: LFO_FLTR.ZIC
Only in Everything-ms70cdrp: LOFIDLY.ZD2
Only in Everything-ms70cdrp: LOFIDLY.ZIC
Only in Everything-ms70cdrp: LOFI_REV.ZD2
Only in Everything-ms70cdrp: LOFI_REV.ZIC
Only in Everything-ms70cdrp: Limiter.ZD2
Only in Everything-ms70cdrp: Limiter.ZIC
Only in Everything-ms70cdrp: MB_COMP.ZD2
Only in Everything-ms70cdrp: MB_COMP.ZIC
Only in Everything-ms70cdrp: MIRAGECH.ZD2
Only in Everything-ms70cdrp: MIRAGECH.ZIC
Only in Everything-ms70cdrp: MLTTPDLY.ZD2
Only in Everything-ms70cdrp: MLTTPDLY.ZIC
Only in Everything-ms70cdrp: MODDLY2.ZD2
Only in Everything-ms70cdrp: MODDLY2.ZIC
Only in Everything-ms70cdrp: MODDLY_C.ZD2
Only in Everything-ms70cdrp: MODDLY_C.ZIC
Only in Everything-ms70cdrp: MODREV.ZD2
Only in Everything-ms70cdrp: MODREV.ZIC
Only in Everything-ms70cdrp: MONOSYN.ZD2
Only in Everything-ms70cdrp: MONOSYN.ZIC
Only in Everything-ms70cdrp: MangleSp.ZD2
Only in Everything-ms70cdrp: MangleSp.ZIC
Only in Everything-ms70cdrp: OCTAVE_C.ZD2
Only in Everything-ms70cdrp: OCTAVE_C.ZIC
Only in Everything-ms70cdrp: OPTCOMP.ZD2
Only in Everything-ms70cdrp: OPTCOMP.ZIC
Only in Everything-ms70cdrp: OrangLim.ZD2
Only in Everything-ms70cdrp: OrangLim.ZIC
Only in Everything-ms70cdrp: PARTCL_C.ZD2
Only in Everything-ms70cdrp: PARTCL_C.ZIC
Only in Everything-ms70cdrp: PHASDL_C.ZD2
Only in Everything-ms70cdrp: PHASDL_C.ZIC
Only in Everything-ms70cdrp: PHASER_C.ZD2
Only in Everything-ms70cdrp: PHASER_C.ZIC
Only in Everything-ms70cdrp: PITDLY_C.ZD2
Only in Everything-ms70cdrp: PITDLY_C.ZIC
Only in Everything-ms70cdrp: PLTREV_C.ZD2
Only in Everything-ms70cdrp: PLTREV_C.ZIC
Only in Everything-ms70cdrp: RESONANC.ZD2
Only in Everything-ms70cdrp: RESONANC.ZIC
Only in Everything-ms70cdrp: RNDMFLTR.ZD2
Only in Everything-ms70cdrp: RNDMFLTR.ZIC
Only in Everything-ms70cdrp: ROOM_C.ZD2
Only in Everything-ms70cdrp: ROOM_C.ZIC
Only in Everything-ms70cdrp: RTCLOSET.ZD2
Only in Everything-ms70cdrp: RTCLOSET.ZIC
Only in Everything-ms70cdrp: RVRSDL_C.ZD2
Only in Everything-ms70cdrp: RVRSDL_C.ZIC
Only in Everything-ms70cdrp: ReversRv.ZD2
Only in Everything-ms70cdrp: ReversRv.ZIC
Only in Everything-ms70cdrp: SHMR_PLT.ZD2
Only in Everything-ms70cdrp: SHMR_PLT.ZIC
Only in Everything-ms70cdrp: SILKYCHO.ZD2
Only in Everything-ms70cdrp: SILKYCHO.ZIC
Only in Everything-ms70cdrp: SLAPBACK.ZD2
Only in Everything-ms70cdrp: SLAPBACK.ZIC
Only in Everything-ms70cdrp: SLATDL_C.ZD2
Only in Everything-ms70cdrp: SLATDL_C.ZIC
Only in Everything-ms70cdrp: SLICER_C.ZD2
Only in Everything-ms70cdrp: SLICER_C.ZIC
Only in Everything-ms70cdrp: SLPBKD_C.ZD2
Only in Everything-ms70cdrp: SLPBKD_C.ZIC
Only in Everything-ms70cdrp: SMS_DLY.ZD2
Only in Everything-ms70cdrp: SMS_DLY.ZIC
Only in Everything-ms70cdrp: SOFTEC_C.ZD2
Only in Everything-ms70cdrp: SOFTEC_C.ZIC
Only in Everything-ms70cdrp: SPCHOL_C.ZD2
Only in Everything-ms70cdrp: SPCHOL_C.ZIC
Only in Everything-ms70cdrp: SPLITTER.ZD2
Only in Everything-ms70cdrp: SPLITTER.ZIC
Only in Everything-ms70cdrp: SPRING_C.ZD2
Only in Everything-ms70cdrp: SPRING_C.ZIC
Only in Everything-ms70cdrp: STBGEQ1U.ZD2
Only in Everything-ms70cdrp: STBGEQ1U.ZIC
Only in Everything-ms70cdrp: STCHO_C.ZD2
Only in Everything-ms70cdrp: STCHO_C.ZIC
Only in Everything-ms70cdrp: STDELAY.ZD2
Only in Everything-ms70cdrp: STDELAY.ZIC
Only in Everything-ms70cdrp: STGTGE1U.ZD2
Only in Everything-ms70cdrp: STGTGE1U.ZIC
Only in Everything-ms70cdrp: STOMPDLY.ZD2
Only in Everything-ms70cdrp: STOMPDLY.ZIC
Only in Everything-ms70cdrp: SUPERC_C.ZD2
Only in Everything-ms70cdrp: SUPERC_C.ZIC
Only in Everything-ms70cdrp: Shimmer.ZD2
Only in Everything-ms70cdrp: Shimmer.ZIC
Only in Everything-ms70cdrp: SlowFLTR.ZD2
Only in Everything-ms70cdrp: SlowFLTR.ZIC
Only in Everything-ms70cdrp: Spring63.ZD2
Only in Everything-ms70cdrp: Spring63.ZIC
Only in Everything-ms70cdrp: TAPECH_C.ZD2
Only in Everything-ms70cdrp: TAPECH_C.ZIC
Only in Everything-ms70cdrp: TGHLDDLY.ZD2
Only in Everything-ms70cdrp: TGHLDDLY.ZIC
Only in Everything-ms70cdrp: THEVIB_C.ZD2
Only in Everything-ms70cdrp: THEVIB_C.ZIC
Only in Everything-ms70cdrp: TPEC3_C.ZD2
Only in Everything-ms70cdrp: TPEC3_C.ZIC
Only in Everything-ms70cdrp: TREM70.ZD2
Only in Everything-ms70cdrp: TREM70.ZIC
Only in Everything-ms70cdrp: TREMDLY.ZD2
Only in Everything-ms70cdrp: TREMDLY.ZIC
Only in Everything-ms70cdrp: TiledRm.ZD2
Only in Everything-ms70cdrp: TiledRm.ZIC
Only in Everything-ms70cdrp: TremRv.ZD2
Only in Everything-ms70cdrp: TremRv.ZIC
Only in Everything-ms70cdrp: VIBRAT_C.ZD2
Only in Everything-ms70cdrp: VIBRAT_C.ZIC
Only in Everything-ms70cdrp: VINFLN_C.ZD2
Only in Everything-ms70cdrp: VINFLN_C.ZIC
Only in Everything-ms70cdrp: VTGCE.ZD2
Only in Everything-ms70cdrp: VTGCE.ZIC
Only in Everything-ms70cdrp: Z_ORGAN.ZD2
Only in Everything-ms70cdrp: Z_ORGAN.ZIC
Only in Everything-ms70cdrp: Z_TRON.ZD2
Only in Everything-ms70cdrp: Z_TRON.ZIC
thammer commented 4 months ago

@mungewell I felt a strong need to backup all files on my MS-50G+ and MS-70CDR+ pedals, in case I mess something up while moving effects back and forth. I added support for downloading all files on the pedal to a directory, in this commit: https://github.com/thammer/zoom-zt2/commit/702c06b35cdff132fe0da1887445bfa13dd8caf0

Typical usage:

PS C:\source\zoom-zt2-forked\zoom-zt2> python .\zoomzt2.py --download-all Everything
Downloading all files to directory "Everything"
Downloading file 7HEVN_LT.ZD2 -> Everything\7HEVN_LT.ZD2
Downloading file 7HEVN_LT.ZIC -> Everything\7HEVN_LT.ZIC
Downloading file 7HEVN_LT.ZIR -> Everything\7HEVN_LT.ZIR
Downloading file ACOSIM.ZD2   -> Everything\ACOSIM.ZD2
Downloading file ACOSIM.ZIC   -> Everything\ACOSIM.ZIC
Downloading file AIR5G.ZD2    -> Everything\AIR5G.ZD2
Downloading file AIR5G.ZIC    -> Everything\AIR5G.ZIC
... etc.

Let me know if you want any of the changes in my fork integrated in your repo, and I'll make PRs.

thammer commented 4 months ago

One major difference between the two pedals seems to be the number of effects using impulse responses. IR000.ZIR and IR001.ZIR are common and identical on both pedals. I don't know what these are. Perhaps some impulse responses shared between multiple effects? The MS-70CDR+ doesn't have any effects using dedicated impulse responses as far as I can tell. The MS-50G+ has 22.

thammer@silversurfer:/mnt/c/source/zoom-zt2-forked/zoom-zt2$ diff Everything-ms50gp Everything-ms70cdrp | sort | grep -i zir
Only in Everything-ms50gp: 7HEVN_LT.ZIR
Only in Everything-ms50gp: BGMK1_LT.ZIR
Only in Everything-ms50gp: BGMK3_LT.ZIR
Only in Everything-ms50gp: DZ_DRVLT.ZIR
Only in Everything-ms50gp: FDBMANLT.ZIR
Only in Everything-ms50gp: FDDLXRLT.ZIR
Only in Everything-ms50gp: FDMSTRLT.ZIR
Only in Everything-ms50gp: FD_TWRLT.ZIR
Only in Everything-ms50gp: HW100_LT.ZIR
Only in Everything-ms50gp: KRMPS_LT.ZIR
Only in Everything-ms50gp: MACH30LT.ZIR
Only in Everything-ms50gp: MS1959LT.ZIR
Only in Everything-ms50gp: MS45OSLT.ZIR
Only in Everything-ms50gp: MS800_LT.ZIR
Only in Everything-ms50gp: MUDDY_LT.ZIR
Only in Everything-ms50gp: ORG120LT.ZIR
Only in Everything-ms50gp: POLEX_LT.ZIR
Only in Everything-ms50gp: RCTORGLT.ZIR
Only in Everything-ms50gp: REDLM_LT.ZIR
Only in Everything-ms50gp: UK30A_LT.ZIR
Only in Everything-ms50gp: VELVT_LT.ZIR
Only in Everything-ms50gp: XTSBL_LT.ZIR
thammer@silversurfer:/mnt/c/source/zoom-zt2-forked/zoom-zt2$ comm -12 <(ls Everything-ms50gp) <(ls Everything-ms70cdrp) | grep -i zir
IR000.ZIR
IR001.ZIR
thammer commented 4 months ago

I wonder what these files are as well: IR.ZIC, IR_INFO.BIN. They are present on both pedals. Have you guys figured out how to convert the ZIC icon files to a more common image format?

thammer commented 4 months ago

I'm able to download effects from the MS-50G+ and install them to the MS-70CDR+. I did a quick A/B test on the audio after the install, and it sounds like it's identical on the 2 pedals.

* Connect MS-50G+ 
PS C:\source\zoom-zt2-forked\zoom-zt2> python .\zoomzt2.py --effectdown WAVSHPR.ZD2 --include-zic 
Downloading effect: "WAVSHPR.ZD2"
Downloading icon:   "WAVSHPR.ZIC"
* Connect MS-70CDR+
PS C:\source\zoom-zt2-forked\zoom-zt2> python .\zoomzt2.py --install WAVSHPR.ZD2 --include-zic --available                 
Installing effect: WAVSHPR.ZD2
uploading...
Percentage disk use: 82.66315095583388
Uploading icon: WAVSHPR.ZIC
Percentage disk use: 82.72907053394857
thammer commented 4 months ago

Copying effects that use impulse responses from the MS-50G+ to the MS-70CDR+ does not work. The audio turns off as soon as the effect with the IR is selected on the MS-70CDR+, and the pedal must be restarted for the audio to get back on. This doesn't work:

* Connect MS-50G+
PS C:\source\zoom-zt2-forked\zoom-zt2> python .\zoomzt2.py --effectdown 7HEVN_LT.ZD2 --include-zic --include-zir
Downloading effect: "7HEVN_LT.ZD2"
Downloading icon:   "7HEVN_LT.ZIC"
Downloading IR:     "7HEVN_LT.ZIR"
* Connect MS-70CDR+
PS C:\source\zoom-zt2-forked\zoom-zt2> python .\zoomzt2.py --install 7HEVN_LT.ZD2 --include-zic --include-zir
Installing effect: 7HEVN_LT.ZD2
uploading...
Uploading icon: 7HEVN_LT.ZIC
Uploading impulse response: 7HEVN_LT.ZIR
nomadbyte commented 4 months ago

...Here's the output from the file listing - 306 files:

Attached is the list of MS-70CDR+ files: ms-70cdrplus-files.txt TOTAL: 306 files, 4459076 bytes

Some details (similarly to MS-50G+ file listing):

extension description
.ZD2 effect module
.ZIC effect icon (Zoom ICon format)
.ZIR IR data (Zoom format)
.ZT2 effect module sequence list (FLST_SEQ.ZT2)

Notably, this list includes such files as:

IR.ZIC
DUMMY.WAV
INFBKUP.BIN
IR000.ZIR
IR001.ZIR
IR_INFO.BIN

My guess, these are also present on MS-50G+ but get filtered somehow.

Also, there are clearly model-specific versions of some effects. For example,

MS-70CDR+ MS-50G+
AIR_C.ZD2 AIR5G.ZD2
CRNTRI_C.ZD2 CRNTRI5G.ZD2
DETUNE_C.ZD2 DETUNE5G.ZD2
... ...

There are more, with similar and other name patterns.

mungewell commented 4 months ago

Regarding ZIR and code dependencies; I had a clumsy look at how the Vocal processors worked, and found that many of effects had shared library dependence. [Edit] #37 [edit 2] - specifically "audio is cut" https://github.com/mungewell/zoom-zt2/issues/37#issuecomment-964843601

It may be that there are modules/effects which need to be loaded in the pedals memory before the failing effects can be loaded. Or it might be that there is code built into the FW image. Also check the equivalent to G_OUT_EQ.BDL to see if it forefills any dependencies.

thammer commented 4 months ago

@nomadbyte Thanks for the file listings. It looks like there are 34 effects that are common between the two pedals (identical names, or identical with 5G or _C postfix). There are 38 effects in the MS-50G+ that are not IR effects and that are not present on the MS-70CDR+. If I add up the file sizes for these unique effects, I end up at 971,177 bytes. The free space for files on the MS-70CDR is 1,071,580 bytes. In other words, it looks like there is space on the MS-70CDR+ for all the 38 compatible (non-IR) effects from the MS-50G+. Note: The numbers and effect names might be off by one or two since I have already been experimenting with copying files back and forth a little bit, but the conclusion still stands, AFAICS. It'd be nice with a second verification of these lists.

Common effects:
AIR
AUTOWAH
BOMBER
BRGTHALL
BRGTROOM
CLONECHO
COMP
CRNTRI
DETUNE
GEMINOS
GRAYCOMP
HALL
HLDDLY_M
HPS
KKFLNG1U
LINESEL
LOOPROLL
LOWPASSF
N_GATE
OCTAVE
PHASER
PLYLIGHT
PLYOCT
PP_DLY_M
RACKCOMP
RINGMOD
ROOM
SEQFLTR
SLICER
SLWATK
SOFTEC
SPRING
STONEPHA
SWELLVIB
Unique non-IR effects on the MS-50G+:
ACOSIM
ANA234CH
ANDLY_M
AUTOPAN
BGTHRTTL
BLACKOPT
DELAY_M
DIST1_5G
DISTPL5G
DUADLY_M
DYNDRIVE
EARLYREF
EGFLTR1U
EPSTMP5G
FLTDLY_M
GOLD_DRV
GTGEQ75G
HOTSPICE
LMT1176
MODDLY_M
NYC_MUFF
OCTFUZZ
PARAEQ5G
PITDLY_M
RAZORDRV
RCBST5G
REDCR5G
RVRSDL_M
SLAPBKD
SQUEAK5G
STEP5G
STEREOCH
SUPERCHO
SWEETDRV
TAPECH_M
TB_MK15
THEVIBE
TPEC3_M
mungewell commented 4 months ago

@nomadbyte didn't we have suggestions that some endings to effect names was indicative of less memory on the target pedal... maybe the '5G' means more RAM on the MS-50G+.

thammer commented 4 months ago

@mungewell I also see these two endings for effect files:

mungewell commented 4 months ago

@thammer BTW decode_effect.py has some useful flags ;-)

$ python3 decode_effect.py --summary --md5sum ZNR.ZD2
0x01000040 : ZNR.ZD2, ZNR (v1.50 4.35%), c4e49825f7b7b77e8ce766175d5bd972
mungewell commented 4 months ago

@thammer from experience with A1Four Zoom added a lot of effects with slightly adjusted tonal properties, your MS-70+/MS-50+ effects might only be different for eq values.

You can list/pull the symbols via

$ python3 decode_bdl.py --help
usage: decode_bdl [-h] [-o OUTPUT] [-l] FILE

positional arguments:
  FILE                  File to process

options:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        output adjusted BDL to FILE
  -l, --list            list available symbols

Needs some extra libs, which might not be available on Windows.

nomadbyte commented 4 months ago

...maybe the '5G' means more RAM on the MS-50G+.

In the G5n line, indeed, there were hardware differences, which allowed B3/G5n to handle longer delay times and other things that needed longer buffer. This could be seen from the FX list, where the max param values would differ.

With Multistomps+ the params can be checked too, though historically the Multistomps hardware was very much the same. So my guess, these differences are rather related to some firmware differences or may just be packaging, so that each model has its specific pool of effect modules. The fxids are likely different in these cases.

mungewell commented 2 months ago

Got my hands on a MS-60B+....

$ amidi -l
Dir Device    Name
IO  hw:2,0,0  ZOOM MS Plus Series MIDI 1

$ amidi -p hw:2,0,0 -S 'F0 7e 00 06 01 f7' -t 2 -r all_call.bin ; hexdump -C all_call.bin
15 bytes read
00000000  f0 7e 00 06 02 52 6e 00  27 00 31 2e 31 30 f7     |.~...Rn.'.1.10.|
0000000f
mungewell commented 2 months ago

@thammer

Since you have the MS-50G+ and MS-70CDR+, can you please do a summary ('-s -m') print of the effects on each?

Like https://github.com/mungewell/zoom-zt2/blob/master/zoom_fx_ms-plus/ms-60b/effects_sort.txt

mungewell commented 2 months ago

Closing, as I pushed a release with Thomas' changes. Feel free to re-open this or another ticket if I've/We've missed something import

tklutey commented 1 week ago

@thammer I am in the process of trying to load effects onto an MS-70CDR+ -- I tried loading ACOSIM.ZD2 from https://andresdemarco.info/ZOOMFIRMWARE/ZD2/G1Xfour/ but it is not showing up on my device even though I correctly uploaded the ZD2 and ZIC files and can see them on the device when I view in the GUI. My guess is that it's not working because of some difference in how it's formatted for the G1X4.

Would you mind uploading the ACOSIM.ZD2 from the MS-50G+ so I can test to see if uploading the binary from that device makes the difference?

mungewell commented 1 week ago

@tklutey It appears that the ZD2 effects have a byte (or two) which specify which pedal, or maybe pedal series, they are for.

I did some work on this and was able to upload G1Four effects to my MS-60B+. See: https://github.com/mungewell/zoom-zt2/issues/87#issuecomment-2365380593

The key here is the --force-target 0xa0 --force-id 0x09000050, which the script uses to re-configure the effect. You'll need to use the 'target' as appropriate for the MS-75CDR+.

The ID of the various effects seem to overlap between differrent pedals, perhaps this is Zoom's idea to slow us down...

tklutey commented 1 week ago

@mungewell thanks for the quick response!

I just want to make sure that I have the correct arguments for target and ID.

Here's the output of a hexdump for the BOMBER.ZD2 that came with the pedal:

(env) ➜  zoom-zt2 git:(master) ✗ hexdump -C BOMBER.ZD2| head
00000000  5a 44 4c 46 78 00 00 00  bc 1e 73 78 90 00 00 00  |ZDLFx.....sx....|
00000010  01 00 01 00 01 00 00 00  80 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  80 00 00 00 00 00 00 00  |................|
*
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  01 31 2e 31 30 00 00 07  |.........1.10...|
00000060  40 00 00 07 42 6f 6d 62  65 72 00 00 93 1e df 53  |@...Bomber.....S|
00000070  46 58 00 00 00 00 00 b3  1e bf ff e5 00 00 00 00  |FX..............|
00000080  49 43 4f 4e b6 00 00 00  42 4d b6 00 00 00 00 00  |ICON....BM......|
00000090  00 00 3e 00 00 00 28 00  00 00 18 00 00 00 1e 00  |..>...(.........|

And here's the actual binary of BOMBER.ZD2 if that helps: https://drive.google.com/file/d/1ZrpyuXBl5OSvGu08GuJkGc5b840joPKl/view?usp=drive_link

From this, are you able to tell what the force-target should be?

And then for the ID, is it okay to stick with the same one that the downloaded effect has as long as it doesn't collide with one of the stock effects on the pedal?

mungewell commented 1 week ago

The --dump option will list all the parameters/characteristics (that we know) of a ZD2. I wasn't able to download 'bomber', but here's how to find out from a MS-60B+ effect.

$ python3 decode_effect.py --dump DEFRET.ZD2 | grep target
    target = 160 

$ hexdump -C DEFRET.ZD2 | head -n 2
00000000  5a 44 4c 46 78 00 00 00  79 2a 9a 45 a0 00 00 00  |ZDLFx...y*.E....|
                                               ^^
00000010  00 00 00 00 01 00 00 00  00 00 00 00 00 00 00 00  |................|
mungewell commented 1 week ago
zoom_fx_ms-plus$ find . -name effects_sort.txt -exec grep -Hi BOMBER {} \;
./ms-60bp/effects_sort.txt:0x09000040 : BOMBER.ZD2, Bomber (v1.10 8.45%), c0743e090025b1bbd919ad9f3133fdef
./ms-50gp/effects_sort.txt:0x07000040 : BOMBER.ZD2, Bomber (v1.10 8.45%), 53acfcca8a8df53b3e3f1552f0ce069e
./ms-70cdrp/effects_sort.txt:0x07000040 : BOMBER.ZD2, Bomber (v1.10 8.45%), 53acfcca8a8df53b3e3f1552f0ce069e

zoom_fx_ms-plus$ find . -name effects_sort.txt -exec grep -Hi ACOSIM {} \;
./ms-50gp/effects_sort.txt:0x030001a0 : ACOSIM.ZD2, Aco.Sim (v1.10 12.80%), 1e16ca1ab0ab71ae00cbbbbca72919e4

zoom_fx_ms-plus$ find . -name effects_sort.txt -exec grep -Hi 0x030001a0 {} \;
./ms-50gp/effects_sort.txt:0x030001a0 : ACOSIM.ZD2, Aco.Sim (v1.10 12.80%), 1e16ca1ab0ab71ae00cbbbbca72919e4

Looks like ID should be 0x030001a, and that doesn't appear to clash with any other (official) effect on the MS-plus range, although the 0x03 group might not be recognized by the MS-70CDR+.

mungewell commented 1 week ago

Assuming that the file you referenced is from the MS-70CDR+

zoom_fx_ms-plus/ms-70cdrp$ python3 ../../decode_effect.py --dump BOMBER.ZD2 | grep 'target'
    target = 144

zoom_fx_ms-plus/ms-70cdrp$ hexdump -C BOMBER.ZD2 | head -n 2
00000000  5a 44 4c 46 78 00 00 00  bc 1e 73 78 90 00 00 00  |ZDLFx.....sx....|
                                               ^^
00000010  01 00 01 00 01 00 00 00  80 00 00 00 00 00 00 00  |................|
mungewell commented 1 week ago

Note: This 'BOMBER' file is exactly the same (same MD5 sum) on the MS-50G+ and the MS-70CDR+, from the lists that @thammer provided... don't know whether that's relevant to what you are attempting.

tklutey commented 1 week ago

Sweet! I got it to work by running:

python3 decode_effect.py --force-target 0x90 -o ACOSIM.ZD2 ACOSIM-G.ZD2