Open mungewell opened 10 months ago
When returning to Linux, I found that the FLST_SEQ.ZT2
was actually empty. It looks like Guitar-Lab removed the effects...
$ python3 ../zoomzt2.py -s -w -R FLST_SEQ.ZT2
$ hexdump -C FLST_SEQ.ZT2
00000000 3e 3e 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 |>>>.............|
00000010 00 00 00 00 00 00 00 00 00 00 42 59 50 41 53 53 |..........BYPASS|
00000020 2e 5a 44 32 00 00 00 00 00 00 00 00 01 00 00 00 |.ZD2............|
00000030 00 00 00 00 3c 3c 3c 00 00 00 00 00 00 00 00 00 |....<<<.........|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000039f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |..............|
000039fe
So I had to re-install them...
$ python3 ../zoomzt2.py -I EQ_AVN.ZD2 EQ_EVN.ZD2
Installing effect: EQ_AVN.ZD2
Installing effect: EQ_EVN.ZD2
$ python3 ../zoomzt2.py -s -w -R FLST_SEQ.ZT2
Group 2 : FILTER
EQ_AVN.ZD2 (ver= 1.00 ), group= 2 , id= 0x2a00280 , installed= 1
EQ_EVN.ZD2 (ver= 1.00 ), group= 2 , id= 0x2a00282 , installed= 1
$ hexdump -C FLST_SEQ.ZT2
00000000 3e 3e 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 |>>>.............|
00000010 00 00 00 00 00 00 00 00 00 00 42 59 50 41 53 53 |..........BYPASS|
00000020 2e 5a 44 32 00 00 00 00 00 00 00 00 01 00 00 00 |.ZD2............|
00000030 00 00 00 00 3c 3c 3c 00 00 00 00 00 00 00 00 00 |....<<<.........|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3e 3e |..............>>|
00000050 3e 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 |>...............|
00000060 00 00 00 00 00 00 00 00 45 51 5f 41 56 4e 2e 5a |........EQ_AVN.Z|
00000070 44 32 00 00 00 31 2e 30 30 00 01 80 02 a0 02 00 |D2...1.00.......|
00000080 00 00 45 51 5f 45 56 4e 2e 5a 44 32 00 00 00 31 |..EQ_EVN.ZD2...1|
00000090 2e 30 30 00 01 82 02 a0 02 00 00 00 3c 3c 3c 00 |.00.........<<<.|
000000a0 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00002130 00 00 00 00 00 00 |......|
ToneLib-Zoom is not much help either, though might work for OP.
It is possible to navigate and build patches via the Midi interface, however it's quiet 'brutal'... :-(
Firstly you need to know the effect ID in 7-bit values (as will be sent over Midi)
effect = 0x2a00280
print("Effect 0x{:08x} expands to 7-bit ->".format(effect))
print("{:02x}".format(effect & 0x7F))
print("{:02x}".format((effect >> 7) & 0x7F))
print("{:02x}".format((effect >> 14) & 0x7F))
print("{:02x}".format((effect >> 21) & 0x7F))
print("{:02x}".format((effect >> 28) & 0x7F))
Gives
$ python3 effect_num.py
Effect 0x02a00280 expands to 7-bit ->
00
05
00
15
00
The navigate pedal to a preset you don't care about, we'll install the effect in the first (zero-th) slot by sending a SysEx
$ python3 ../zoomzt2.py -c temp.ztpc
$ python3 ../decode_preset.py -s temp.ztpc | head
Name: Em=ty
Patch Volume: 100
Effect 1: 0x02000070
Enabled: True
Param 1: 0
Param 2: 0
Param 3: 0
Param 4: 0
Param 5: 0
Param 6: 0
$ amidi -p hw:1,0,0 -S 'f0 52 00 6e 64 03 00 00 01 00 05 00 15 00 f7'
$ python3 ../zoomzt2.py -c temp.ztpc
$ python3 ../decode_preset.py -s temp.ztpc | head
Name: Em=ty
Patch Volume: 100
Effect 1: 0x02A00280
Enabled: True
Param 1: 24
Param 2: 36
Param 3: 24
Param 4: 24
Param 5: 24
Param 6: 24
The screen is bust on my G1Four (it's the first one I use for doing 'weird' stuff), but reading the 'screen' through SysEx it looks like effect is installed and working
$ amidi -p hw:1,0,0 -S 'F0 52 00 6e 64 02 00 09 00 F7' -r screen.bin -t 2
1023 bytes read
$ python3 ../decode_screens.py screen.bin
---
Effect: A.Vn GEQ (On)
131 : 0.0
270 : 0.0
450 : 0.0
524 : 0.0
1.4k : 0.0
3.0k : 0.0
6.0k : 0.0
VOL : 80
---
However using ToneLib, it shows as 'Bypass'.
Doing the same on the GCE-3_as_G3n was not as successful. It appears that the 'screen' does NOT show the effect name, this is behavior we have seen before...
$ amidi -p hw:1,0,0 -S 'b0 20 20 c0 01'
$ python3 ../zoomzt2.py -c temp.ztpc
$ python3 ../decode_preset.py -s temp.ztpc | head
Name: Empty
Patch Volume: 100
Effect 1: 0x00000000
Enabled: True
Param 1: 0
Param 2: 0
Param 3: 0
Param 4: 0
Param 5: 0
Param 6: 0
$ amidi -p hw:1,0,0 -S 'f0 52 00 6e 64 03 00 00 01 00 05 00 15 00 f7'
$ python3 ../zoomzt2.py -c temp.ztpc
$ python3 ../decode_preset.py -s temp.ztpc | head
Name: Empty
Patch Volume: 100
Effect 1: 0x02A00280
Enabled: True
Param 1: 0
Param 2: 0
Param 3: 0
Param 4: 0
Param 5: 0
Param 6: 0
$ amidi -p hw:1,0,0 -S 'F0 52 00 6e 64 02 00 05 00 F7' -r temp.bin -t 2
1015 bytes read
$ python3 ../decode_screens.py temp.bin
---
Effect: (Off)
:
:
:
:
---
I then confirmed that the ZD2 are (still) installed.
$ python3 ../zoomzt2.py -s -w -R FLST_SEQ.ZT2
Group 2 : FILTER
EQ_AVN.ZD2 (ver= 1.00 ), group= 2 , id= 0x2a00280 , installed= 1
EQ_EVN.ZD2 (ver= 1.00 ), group= 2 , id= 0x2a00282 , installed= 1
So it appears that these ZD2 are somehow incompatible with the G3n... time to look into the Code segment I guess.
To get at the code segment...
$ python3 ../decode_effect.py EQ_AVN.ZD2 -c EQ_AVN.ZD2.code
$ python3 ../decode_effect.py EQ_EVN.ZD2 -c EQ_EVN.ZD2.code
$ mips64-linux-gnuabi64-readelf -a EQ_AVN.ZD2.code > EQ_AVN.ZD2.code.readelf.txt
$ mips64-linux-gnuabi64-readelf -a EQ_EVN.ZD2.code > EQ_EVN.ZD2.code.readelf.txt
EQ_AVN.ZD2.code.readelf.txt EQ_EVN.ZD2.code.readelf.txt
There doesn't seem to be anything (too obviously) calling external SONAMEs, which is the case with the modules of the V3 and V6 voice processors. There could be some data value (minimum supported revision etc) which stops the effect loading.
These symbols look like they are defining the parameters for each of the EQ sliders, so should be possible to duplicate their values into the other EQ effect, if that's all the OP actually needs.
42: 80000468 28 OBJECT LOCAL HIDDEN 13 geq7_freq
43: 800004c8 28 OBJECT LOCAL HIDDEN 13 geq7_q
44: 80000488 28 OBJECT LOCAL HIDDEN 13 geq7_max
45: 800004a8 28 OBJECT LOCAL HIDDEN 13 geq7_min
46: 800004e8 28 OBJECT LOCAL HIDDEN 13 geq7_type
A patched version of decode_bdl.py
could be used for doing this....
$ python3 decode_bdl.py EQ_AVN.ZD2
Table located: geq7_freq 0x80000468
ListContainer:
131.0
270.0
450.0
524.0
1400.0
3000.0
6000.0
Table located: geq7_q 0x800004c8
ListContainer:
5.0
6.5
2.200000047683716
8.0
1.0
6.0
1.0
Table located: geq7_max 0x80000488
ListContainer:
12.0
18.0
12.0
12.0
12.0
12.0
12.0
Table located: geq7_min 0x800004a8
ListContainer:
-12.0
-18.0
-12.0
-12.0
-12.0
-12.0
-12.0
Table located: geq7_type 0x800004e8
ListContainer:
1.401298464324817e-44
1.401298464324817e-44
1.401298464324817e-44
1.401298464324817e-44
1.401298464324817e-44
1.401298464324817e-44
1.1210387714598537e-44
Note: that last table is obviously something other than an array of float32.
For reference here's what the normal G3n EQ has for it's settings...
$ python3 decode_bdl.py ../zoom_fx_AllZDL6/G3n/unzipped/GT_GEQ_7.ZD2
Table located: geq7_freq 0x80000690
ListContainer:
100.0
200.0
400.0
800.0
1600.0
3200.0
6400.0
Table located: geq7_q 0x800006f0
ListContainer:
1.4142135381698608
1.4142135381698608
1.4142135381698608
1.4142135381698608
1.4142135381698608
1.4142135381698608
1.4142135381698608
Table located: geq7_max 0x800006b0
ListContainer:
12.0
12.0
12.0
12.0
12.0
12.0
12.0
Table located: geq7_min 0x800006d0
ListContainer:
-12.0
-12.0
-12.0
-12.0
-12.0
-12.0
-12.0
Table located: geq7_type 0x80000710
ListContainer:
1.401298464324817e-44
1.401298464324817e-44
1.401298464324817e-44
1.401298464324817e-44
1.401298464324817e-44
1.401298464324817e-44
1.1210387714598537e-44
change to decode_bdl.py
tables = ["geq7_freq", "geq7_q", "geq7_max", "geq7_min"]
geq7_freq = [131.0, 270.0, 450.0, 524.0, 1400.0, 3000.0, 6000.0]
geq7_q = [5.0, 6.5, 2.200000047683716, 8.0, 1.0, 6.0, 1.0]
geq7_max = [12.0, 18.0, 12.0, 12.0, 12.0, 12.0, 12.0]
geq7_min = [-12.0, -18.0, -12.0, -12.0, -12.0, -12.0, -12.0]
Also noted is that the ASCII of the 'screen' is stored in another symbol GraphicEQ
. This is about twice the size in the GT_GEQ_7.ZD2
(compared to EQ_AVN.ZD2
) and looks to have the information repeated twice for some reason ??
It might be necessary to hand edit this symbol/values in a Hex-editor. :-(
There are also the 'Text' and 'XML' blocks of the ZD2, but we can automatically copy these with the 'donor' system.
$ python3 ../decode_effect.py -D EQ_AVN.ZD2 -T -X GT_GEQ_7_violin.ZD2 -o GT_GEQ_7_violin.ZD2
$ cp GT_GEQ_7_violin.ZD2 GT_GEQ_7.ZD2
$ python3 ../zoomzt2.py -U GT_GEQ_7.ZD2
Uninstalling effect: GT_GEQ_7.ZD2
$ python3 ../zoomzt2.py -I GT_GEQ_7.ZD2
Installing effect: GT_GEQ_7.ZD2
uploading...
$ amidi -p hw:1,0,0 -S 'f0 52 00 6e 64 03 00 00 01 53 00 00 10 00 f7'
$ amidi -p hw:1,0,0 -S 'F0 52 00 6e 64 02 00 05 00 F7' -r screen.bin -t 2
1015 bytes read
$ python3 ../decode_screens.py screen.bin | head -n 20
---
Effect: Gt GEQ 7 (On)
131 : 0.0
270 : 0.0
450 : 0.0
524 : 0.0
---
Effect: Gt GEQ 7 (Off)
1.4k : 0.0
3.0k : 0.0
6.0k : 0.0
VOL : 80
---
Can't publish the whole ZD2 for copyright reasons, but can upload a binary patch
$ md5sum *.ZD2
da72d92780aff2ed32d156ee3edd06e8 EQ_AVN.ZD2
65c03e7ed20e5d66f085eed21fa26224 EQ_EVN.ZD2
9d1d4743d438fa9ccb8026562577f923 GT_GEQ_7_orig.ZD2
76d39c48b031831fea9fd8374df81a1e GT_GEQ_7_violin.ZD2
$ bsdiff GT_GEQ_7_orig.ZD2 GT_GEQ_7_violin.ZD2 violin.patch
$ gzip violin.patch
Wow, I wasn't expecting it, but happily surprised to see that GuitarLab reports the adjusted values for the sliders...
Figured out why the 'screen' values are duplicated, this effect is 'wide' and uses the Right button as a A/B toggle.
Also noted that although the modified effect has different adjustment range for 270Hz (+/-18dB), this is not shown in Guitar-Lab. Makes me suspicious that there is a bug in effect, and that maybe the Q values aren't different either...
Nice work!
Indeed, all of the A1 FOUR EQ effects are 1U, that is "wide" yet made for 1-screen units. These should be compatible with G1 FOUR and similar. G3n has 3 screens, so these EQ modules won't be compatible as-is.
ToneLib does not support A1 FOUR in general and its specific effects either. Thus you saw these as BYPASS.
So pulling the freqs from the A1 FOUR and plugging them into G3n/G5n "native" GT_GEQ_7.ZD2
module is the way to go. Not sure if this is worth that much of an effort for just an EQ.
There are several "wide" effects for A1 FOUR:
wide | file | size | version | DSP usage | cat | fxmodid |
---|---|---|---|---|---|---|
w | BAGGSEQ.ZD2 | 30831 | 1.01 | 9.36 | FLT | 0x02400030.Baggs EQ |
w | BONE_EQ.ZD2 | 28379 | 1.01 | 9.36 | FLT | 0x02400040.Bone EQ |
w | EQ_HARM.ZD2 | 15765 | 1.00 | 6.77 | FLT | 0x02a00160.Hm GEQ |
w | EQ_AVN.ZD2 | 16750 | 1.00 | 6.77 | FLT | 0x02a00280.A.Vn GEQ |
w | EQ_EVN.ZD2 | 15867 | 1.00 | 6.77 | FLT | 0x02a00282.E.Vn GEQ |
w | EQ_TP.ZD2 | 18488 | 1.00 | 6.77 | FLT | 0x02a00380.Tp GEQ |
w | AWAH_TP.ZD2 | 16901 | 1.00 | 10.17 | FLT | 0x02a00382.Tp A.Wah |
w | EQ_SAX.ZD2 | 15744 | 1.00 | 6.77 | FLT | 0x02a00410.Sax GEQ |
w | ATK_FLT.ZD2 | 23187 | 1.00 | 13.82 | FLT | 0x02a00414.SaxAtkFlt |
w | DIST_VN.ZD2 | 24553 | 1.00 | 19.26 | DRV | 0x03a00280.Vn DIST |
w | CHOHM.ZD2 | 19385 | 1.00 | 20.50 | MOD | 0x06a00160.Hm Chorus |
w | CHOVN.ZD2 | 20005 | 1.00 | 20.50 | MOD | 0x06a00280.Vn Chorus |
w | CHOTP.ZD2 | 19885 | 1.00 | 20.50 | MOD | 0x06a00380.Tp Chorus |
w | CHOSAX.ZD2 | 19417 | 1.00 | 20.50 | MOD | 0x06a00410.SaxChorus |
w | DUALPIT.ZD2 | 30198 | 1.00 | 12.21 | MOD | 0x06a01010.DualPitch |
w | ENVPHA.ZD2 | 24880 | 1.00 | 9.81 | MOD | 0x06a01030.EnvPhaser |
w | RNDMPHA.ZD2 | 18453 | 1.00 | 10.79 | MOD | 0x06a01040.RndPhaser |
w | PERCDLY.ZD2 | 40337 | 1.00 | 15.78 | DLY | 0x08a01000.PercusDly |
Not sure if this is worth that much of an effort for just an EQ.
It seems that Zoom thinks its worth making multiple EQ for different instruments, but maybe they are just padding the list of effects.
Really it's not that much effort given what we know now; and now it's done for the 'violin.patch' all you need is to apply the binary patch file over the top of 'GT_GEQ_7.ZD2'. I even found a Python module to do this... so platform independant, yay!
so these EQ modules won't be compatible as-is
Maybe this is the answer to the incompatibility; in that the single screen effects implement a mechanism where the 4th dial is used to change page to get to the extended settings (ie when then are more than 4 settings to be changed).
IIRIC, the paging also involves injection of Dummy effect (fxid:0x01
) for the "third" page, this is in addition to the Dummy slot added explicitly for "wide" effects.
Technically, it's possible to generate a patch of 5 "wide" effects, thus occupying a total of 10 slots (or 15, counting the injected page-slots); however, the firmware caps the G1 FOUR patches to two wide effect per patch.
Back to the question on what effects actually work, and why the others don't... I wrote a script to install each effect in turn into a patch and see what the 'Display' says (ie does it actually accept the effect as usable). test_effect.py.txt
Run like this...
$ find ../zoom_fx_AllZDL7/A1\ FOUR/unzipped/ -name '*.ZD2' -exec bash -c "echo {}; python3 test_effect.py -id '{}'" \;
../zoom_fx_AllZDL7/A1 FOUR/unzipped/MDL_LG0.ZD2
Installing Effect 0x14400120 into slot-0
Effect: (Off)
../zoom_fx_AllZDL7/A1 FOUR/unzipped/PHASER.ZD2
Installing Effect 0x06000040 into slot-0
Effect: Phaser (On)
...
gce_as_G3n_success_for_A1Four.txt
The ones which work are
Effect: Phaser (On)
Effect: OptComp (On)
Effect: Chamber (On)
Effect: FD-B4x10 (On)
Effect: Octave (On)
Effect: Step (On)
Effect: Plate (On)
Effect: Chorus (On)
Effect: LMT-76 (On)
Effect: HotSpice (On)
Effect: Exciter (On)
Effect: AutoWah (On)
Effect: SeqFLTR (On)
Effect: CloneCho (On)
Effect: Comp (On)
Effect: RndmFLTR (On)
Effect: Spring (On)
Effect: ModDelay (On)
Effect: NoiseGate (On)
Effect: Cry (On)
Effect: FD Spring (On)
Effect: AnalogCho (On)
Effect: GateRev (On)
Effect: Room (On)
Effect: Slicer (On)
Effect: RackComp (On)
Effect: EarlyRef (On)
Effect: WarpPhase (On)
Effect: RingMod (On)
Effect: LowPassFL (On)
Effect: Resonance (On)
Effect: RC Boost (On)
Effect: BendCho (On)
Effect: VinFLNGR (On)
Effect: TS Drive (On)
Effect: ParaEQ (On)
Effect: StonePha (On)
Effect: SuperCho (On)
Effect: FilterDly (On)
Effect: AutoPan (On)
Effect: BlackOpt (On)
Effect: HD Hall (On)
Effect: TapeEcho (On)
Effect: Vibrato (On)
Effect: Church (On)
Effect: PitchSHFT (On)
Effect: Hall (On)
Effect: Air (On)
Effect: Tremolo (On)
Effect: Detune (On)
Effect: TheVibe (On)
Effect: LFO FLTR (On)
Effect: SlowATTCK (On)
Effect: HPS (On)
Effect: GrayComp (On)
Effect: MonoPitch (On)
Effect: StereoCho (On)
Effect: ZNR (On)
Effect: FD-DX1x12 (On)
There are 18 "wide" effects specific to A1 FOUR listed above. Generally, neither should be compatible with G3n/G5n/B3n.
As for the "wide" effects from G1/B1 FOUR, there are already non-1U equivalents for the G3n/G5n/B3n. So those should be used instead.
@nomadbyte I'm not quite following what you are saying.... by 'wide' I mean effects which are designed to show across two LCD screens (ie on G3n/G5n). None of the G1-Four/A1-Four will be 'wide'. As you note the 1U equivalents will use the 4th knob for paging on a single screen.
I double checked my GCE-3_as_G3n and manually removed ALL effects, before installing all that GL7 lists for the A1-Four.
That gives me: FLST_SEQ.ZT2.txt GUARDZDL.ZT2.txt gce_as_G3n_success_for_A1Four.txt
Looks like only 59 (out of the 176 possible) effects actually install, add to patch and report parameters.... this can't be just down to the amount of parameters.
A couple of the effects (AG_PUSL.ZD2 and ANTI_FB.ZD2) only have 1 parameter.
We know the highest byte of the Effect ID is the 'group', do we know what the next byte is (D23..16)?? Seems that most of the A1-Four effects have bits set in this, whereas most of the G3n do not...
Is this a bit field for 'requirements'? https://github.com/mungewell/zoom-zt2/blob/master/zoom_fx_AllZDL7/A1%20FOUR/unzipped/list_sorted.txt https://github.com/mungewell/zoom-zt2/blob/master/zoom_fx_AllZDL7/G3n/unzipped/list_sorted.txt
I mean "wide" as designed to occupy 2 slots (rather 2x4 parameter screens).
These effects usually have 8 parameters. 1U models page these parameters; 3U and more models spread these 8 parameters over 2 screens. Just as I mentioned earlier, 1U models have their own version of such "wide" modules (and blacklist the non-1U modules in GUARDZDL.ZT2
file, along with effects that support delay > 3s).
I think of the highest byte of the Effect ID as category id.
The 7th byte is used more like a mnemonic to further classify the effects: 0x80
:Bass, {0xA0
, 0x40
):Acoustic. This is not a universal scheme, it's just like that for the G5n family/platform.
0x14
),So just running the numbers... and removing the (obvious?) know reasons for not installing - ie '3S' and '1U' effects, and 0x14 group/categories.
We still have the following failing to install. So of these have more than 4 params, but quiet a few have 4 or less.
$ grep -f working_effects.txt -v ../zoom_fx_AllZDL7/A1\ FOUR/unzipped/list_sorted.txt | grep -v "3S.ZD2" | grep -v "1U.ZD2" | grep -v "0x14"
0x01800030 : 160 Comp (v1.40, 12.63%), 0xe0466bc7b7b7c883dc47c9cc195aa35a, ./A1 FOUR/unzipped/160_COMP.ZD2
0x01800040 : DualComp (v1.30, 8.12%), 0x0623cbb370726464fef95e93fc1f68fd, ./A1 FOUR/unzipped/DUAL_CMP.ZD2
0x01800050 : MB Comp (v1.40, 20.84%), 0x2853b07a0b8b5d4b17b7abf741190c37, ./A1 FOUR/unzipped/MB_COMP.ZD2
0x01800060 : DYN Comp (v1.40, 5.66%), 0x838c2b190d1ecd9fc2e7b16d46061614, ./A1 FOUR/unzipped/DCOMP.ZD2
0x01800070 : Glam Comp (v1.30, 12.72%), 0x5ab2cf86de30a1ad44794feed42305e1, ./A1 FOUR/unzipped/GLAMCOMP.ZD2
0x01a01000 : Adv.NR (v1.00, 4.92%), 0xdd031ffef73f6d2a91ae636821ea783d, ./A1 FOUR/unzipped/ADVNR.ZD2
0x02000071 : ParaEQx2 (v1.00, 4.43%), 0x0c8caf402b15a6a293d8c7d3d09d4682, ./A1 FOUR/unzipped/PARAEQ2.ZD2
0x02400001 : AG PU SEL (v1.00, 6.81%), 0x7eebf8398c7a560d7a16e0af171f71b0, ./A1 FOUR/unzipped/AG_PUSL.ZD2
0x02400010 : BaDePiezo (v1.00, 9.68%), 0xf36a21b8fca0f7bf5cc3d2e9dca309d6, ./A1 FOUR/unzipped/DPZ_BA.ZD2
0x02400020 : Fish EQ (v1.00, 6.23%), 0xe220b80a053fe008bc9712b909e2daaa, ./A1 FOUR/unzipped/FISH_EQ.ZD2
0x02400030 : Baggs EQ (v1.01, 8.61%), 0x856c18e315debf2c23397362511fd8e7, ./A1 FOUR/unzipped/BAGGSEQ.ZD2
0x02400040 : Bone EQ (v1.01, 8.61%), 0x9da024d0ece8fe400e252efd6848fdb5, ./A1 FOUR/unzipped/BONE_EQ.ZD2
0x02800010 : BassA-Wah (v1.40, 7.10%), 0x346b6b3c9b2849f30334ba32bfce8ed5, ./A1 FOUR/unzipped/B_ATWAH.ZD2
0x02800020 : Z Tron (v1.30, 6.40%), 0x613a4f60ad45cfe5b0e00c388df0969f, ./A1 FOUR/unzipped/Z_TRON.ZD2
0x02800030 : A-Filter (v1.40, 7.22%), 0xa9e9f0d387ffaf40e2b60b3d77b1a4b5, ./A1 FOUR/unzipped/A_FILTER.ZD2
0x02800040 : Bass Cry (v1.40, 9.68%), 0xf9a8eff68973ae85587719138bd48427, ./A1 FOUR/unzipped/BA_CRY.ZD2
0x02800070 : BassPEQ (v1.40, 4.18%), 0xf11be755bbb11dbc3ebce91a6910a4e6, ./A1 FOUR/unzipped/BA_PEQ.ZD2
0x02800080 : Splitter (v1.40, 5.58%), 0x4267c5eff40e0e22011a4434a5962db3, ./A1 FOUR/unzipped/SPLITTER.ZD2
0x02800090 : Low EQ (v1.40, 4.43%), 0xd26515731123d8806e8284ec2274b923, ./A1 FOUR/unzipped/LOW_EQ.ZD2
0x02800095 : High EQ (v1.30, 3.32%), 0x9f2ec5566c4cd3eaf1f4e6223d0c9c59, ./A1 FOUR/unzipped/HIGH_EQ.ZD2
0x028000a0 : EnvFilter (v1.30, 13.12%), 0xab187e09b5168a4d4c06e3ef18392ee9, ./A1 FOUR/unzipped/ENV_FLTR.ZD2
0x02a00160 : Hm GEQ (v1.00, 6.23%), 0x4e7952cbcbb1545a6a34511d2caed581, ./A1 FOUR/unzipped/EQ_HARM.ZD2
0x02a00162 : Hm A.Wah (v1.00, 8.86%), 0xba1dd89f860e6ff624edc259fe4b1083, ./A1 FOUR/unzipped/AWAH_HM.ZD2
0x02a00164 : Hm Preamp (v1.00, 3.69%), 0x7f7d65b960e7ab82746ef0580e88f2cd, ./A1 FOUR/unzipped/HARM_PRE.ZD2
0x02a00166 : Hm Bullet (v1.00, 9.02%), 0x872d90b3a6c607ef37e2e345a2dbde8c, ./A1 FOUR/unzipped/B_MIC.ZD2
0x02a00280 : A.Vn GEQ (v1.00, 6.23%), 0xda72d92780aff2ed32d156ee3edd06e8, ./A1 FOUR/unzipped/EQ_AVN.ZD2
0x02a00282 : E.Vn GEQ (v1.00, 6.23%), 0x65c03e7ed20e5d66f085eed21fa26224, ./A1 FOUR/unzipped/EQ_EVN.ZD2
0x02a00284 : Vn A.Wah (v1.00, 9.52%), 0xa5b13e77625445c0d44d31284cdea1d1, ./A1 FOUR/unzipped/AWAH_VN.ZD2
0x02a00286 : VnDePiezo (v1.00, 6.03%), 0x15054c10fffe2aece55f3a6d723787a2, ./A1 FOUR/unzipped/PZPREVN.ZD2
0x02a00380 : Tp GEQ (v1.00, 6.23%), 0x356644c445f47da63c0ff816f88d3a75, ./A1 FOUR/unzipped/EQ_TP.ZD2
0x02a00382 : Tp A.Wah (v1.00, 9.35%), 0xadd745ffb74ba14e969effabcb9b3b40, ./A1 FOUR/unzipped/AWAH_TP.ZD2
0x02a00410 : Sax GEQ (v1.00, 6.23%), 0x96fa02a8a112b43613d11c6fbedf9f74, ./A1 FOUR/unzipped/EQ_SAX.ZD2
0x02a00412 : Sax A.Wah (v1.00, 7.06%), 0x10326142baf4c4ff95227d77a4c1fa46, ./A1 FOUR/unzipped/AWAH_SAX.ZD2
0x02a00414 : SaxAtkFlt (v1.00, 12.72%), 0xb81f7722fbc88a4cdbb0ac780315f959, ./A1 FOUR/unzipped/ATK_FLT.ZD2
0x02fffff0 : Anti FB (v1.00, 5.33%), 0x68fec4e5d22f18230462bf7df811c50e, ./A1 FOUR/unzipped/ANTI_FB.ZD2
0x03a00280 : Vn DIST (v1.00, 17.72%), 0x7cc9c92762d200582dfa6ce0a39b4f49, ./A1 FOUR/unzipped/DIST_VN.ZD2
0x06400000 : AG Detune (v1.00, 5.90%), 0x1cff85a688817e4476b7e8674084690a, ./A1 FOUR/unzipped/ACDETUNE.ZD2
0x06400010 : AG Chorus (v1.00, 19.81%), 0x577f811e38e82f81d78b961c848a8c8e, ./A1 FOUR/unzipped/AC_TRCHO.ZD2
0x06800020 : BassStCho (v1.40, 6.89%), 0xd2a1aa6195a39495ba87e0436c8428ad, ./A1 FOUR/unzipped/B_ST_CHO.ZD2
0x06800040 : BaVinFLNG (v1.40, 7.38%), 0xbcf70695d08cd3d69de71d91de586b70, ./A1 FOUR/unzipped/B_VFLNG.ZD2
0x06800050 : Ba Octave (v1.40, 7.46%), 0x97972514cbec1fe3076906beadf5ded7, ./A1 FOUR/unzipped/B_OCTAVE.ZD2
0x06800060 : Ba Detune (v1.40, 12.14%), 0x0434c21005837040465eea99a0bfc878, ./A1 FOUR/unzipped/B_DETUNE.ZD2
0x06800070 : BaMnPitch (v1.40, 10.50%), 0xd919e15fa7f5c8aaae4a1021a8e2abf9, ./A1 FOUR/unzipped/B_PITCH.ZD2
0x06800080 : BassPhase (v1.40, 9.84%), 0xae5447b3f32f81856b00206bed0fddb5, ./A1 FOUR/unzipped/BASS_PHA.ZD2
0x06a00160 : Hm Chorus (v1.00, 18.86%), 0xb37fde87a220cf8b48f3a4635cf643d8, ./A1 FOUR/unzipped/CHOHM.ZD2
0x06a00280 : Vn Chorus (v1.00, 18.86%), 0xac55327f702fdfb8234da62e66c45502, ./A1 FOUR/unzipped/CHOVN.ZD2
0x06a00380 : Tp Chorus (v1.00, 18.86%), 0xa38f8ff22c2688789f16df467db468b8, ./A1 FOUR/unzipped/CHOTP.ZD2
0x06a00410 : SaxChorus (v1.00, 18.86%), 0x7e1028a62c86799c7be55b1b9a26dcc2, ./A1 FOUR/unzipped/CHOSAX.ZD2
0x06a00412 : Sax Growl (v1.00, 10.66%), 0x3028613aa00e51d95d38b22d75452b28, ./A1 FOUR/unzipped/GROWL.ZD2
0x06a01000 : PolyOctUp (v1.00, 25.84%), 0xf9e5e5ee0489e3ff694a5e988395447f, ./A1 FOUR/unzipped/POCT_UP.ZD2
0x06a01001 : PolyOctDw (v1.00, 14.76%), 0xf1ba5f876ac2d7ac4c22cedddd5d9a08, ./A1 FOUR/unzipped/POCT_DWN.ZD2
0x06a01010 : DualPitch (v1.00, 11.24%), 0x8ef957fdf33b09b254a0e65e9ff9b99b, ./A1 FOUR/unzipped/DUALPIT.ZD2
0x06a01020 : Ensemble (v1.00, 29.53%), 0xbf779bb2f6f65028c845bbc54e303b5a, ./A1 FOUR/unzipped/ENSEMBLE.ZD2
0x06a01030 : EnvPhaser (v1.00, 9.02%), 0xe9c09d6058efeac61b25926d62dffa07, ./A1 FOUR/unzipped/ENVPHA.ZD2
0x06a01040 : RndPhaser (v1.00, 9.92%), 0x47937b2218b70274e94b4032ca089dd2, ./A1 FOUR/unzipped/RNDMPHA.ZD2
0x07800010 : StdSyn (v1.30, 20.18%), 0xd0bce6033bc1404447ca2afd20b553d6, ./A1 FOUR/unzipped/STDSYN.ZD2
0x07800020 : SynTlk (v1.30, 20.10%), 0xa916e19318d365d746f5ad42790244b1, ./A1 FOUR/unzipped/SYNTLK.ZD2
0x07800040 : Defret (v1.40, 7.06%), 0x879863552d0733b476e6031bb73e4a39, ./A1 FOUR/unzipped/DEFRET.ZD2
0x07800050 : PH+Dist (v1.40, 17.72%), 0xeaa9b3242583cf5872883131ebddb1bd, ./A1 FOUR/unzipped/PH_DIST.ZD2
0x08400000 : Ac TpEcho (v1.00, 17.64%), 0x8c08dadf02637a57a604e753b8bf188f, ./A1 FOUR/unzipped/AC_TPECH.ZD2
0x08a01000 : PercusDly (v1.00, 14.52%), 0x87100c928a959e362d6f8b172f913830, ./A1 FOUR/unzipped/PERCDLY.ZD2
0x09400000 : ModReverb (v1.00, 17.14%), 0x217e83cc27534431a43ded5f60210148, ./A1 FOUR/unzipped/MOD_REV.ZD2
0x09a01000 : DryPlate (v1.00, 22.31%), 0xd553a6ab16dd6b2c480f11d8baa651d3, ./A1 FOUR/unzipped/DRYPLATE.ZD2
So, if the Effect ID is a determining factor... can we just change that?
$ python3 ../decode_effect.py -s AC_TPECH.ZD2.orig
0x08400000 : Ac TpEcho (v1.00, 17.64%), AC_TPECH.ZD2.orig
$ python3 ../decode_effect.py --force-id 0x08000000 -o AC_TPECH.ZD2.mid AC_TPECH.ZD2.orig
Checksum Recalculated: 0x6f864492
$ python3 ../decode_effect.py -s AC_TPECH.ZD2.mid
0x08000000 : Ac TpEcho (v1.00, 17.64%), AC_TPECH.ZD2.mid
But that does NOT work, the modified Effect still does not install. :-(
Maybe 'Effect ID' is also contained within the ELF binary...
$ python3 ../decode_effect.py -c AC_TPECH.ZD2.code AC_TPECH.ZD2
$ python3 ~/SearchBin-github/searchbin.py -p 08400000 AC_TPECH.ZD2.code
$ python3 ~/SearchBin-github/searchbin.py -p 00004008 AC_TPECH.ZD2.code
Match at offset: 23098 5A3A in AC_TPECH.ZD2.code
Match at offset: 25530 63BA in AC_TPECH.ZD2.code
Reported by user on Reddit, the A1Four effects (
EQ_AVN.ZD2
andEQ_EVN.ZD2
) are not working on his G3n.Using my GCE-3 I was able to confirm the failure. I installed the effects (as the only ones on the device)
There are actually more ZD2 files on the device, but not in the
FLST_SEQ.ZT2
. Not sure whether safe to delete them...I also checked to see if these were listed in the Guard file, they are not.
Then I jumped into Windows and looked with Guitar-Lab. It seemed 'confused', front panel only noted the presence of other effects, but when editing a patch NO effects were present (other than the pseudo Bypass/Rythm/Loopers).