mungewell / zoom-zt2

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

Add support for MS-plus range of pedals #71

Open mungewell opened 1 month ago

mungewell commented 1 month 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 2 days 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 2 days ago

...Perhaps ZIC means Zoom ICon?

Yes. Mentioned this earlier

mungewell commented 2 days 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 1 day 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 1 day ago

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

thammer commented 1 day 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 1 day 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 1 day 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 1 day 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 17 hours 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 17 hours 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 17 hours 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 17 hours 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 17 hours 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 16 hours 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 16 hours 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 15 hours 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 11 hours 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 11 hours 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 11 hours 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 11 hours ago

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

mungewell commented 11 hours 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 11 hours 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 9 hours 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.