zoom-zt2
zoom-zt2 copied to clipboard
Effect installed but not available for use - Recti Org on B1XFour
Following on from a report on Reddit, I have confirmed that the " Recti ORG" effect (RCTORG1U.ZD2) can be installed to the pedal. but is not available for use... https://www.reddit.com/r/zoommultistomp/comments/11cp6jf/missing_effect_no_found/
I don't have a B1XFour, but confirmed with GCE-3 configured as such. Which unfortunately makes it a little harder to control via the command line.
A patch with (just) this effect installed: B1XFour_Recti.ztpc.gz
$ python3 decode_effect.py -c RCTORG1U.ZD2.code RCTORG1U.ZD2
$ /usr/bin/arm-linux-gnueabi-objdump -T RCTORG1U.ZD2.code
RCTORG1U.ZD2.code: file format elf32-little
DYNAMIC SYMBOL TABLE:
00006540 l DF .text 00000000 .hidden __c6xabi_divd
00006ae0 l DF .text 00000000 .hidden __c6xabi_divf
80000bd8 l DO .const 00000000 .hidden $C$T0
00006de4 l DF .text 00000000 .hidden TBL_TO_VAL_double
00006e84 l DF .text 00000000 .hidden TBL_TO_VAL
80000c20 l DO .const 00000005 .hidden _picFsw_9
80000c18 l DO .const 00000005 .hidden _picFsw_8
80000c10 l DO .const 00000005 .hidden _picFsw_7
80000c08 l DO .const 00000005 .hidden _picFsw_6
80000c00 l DO .const 00000005 .hidden _picFsw_5
80000be0 l DO .const 00000006 .hidden _picFsw_4
80000bf8 l DO .const 00000005 .hidden _picFsw_3
80000bf0 l DO .const 00000005 .hidden _picFsw_2
80000be8 l DO .const 00000005 .hidden _picFsw_1
80000ba8 l DO .const 00000014 .hidden RECTORNG_OVS_COE_an
80000b90 l DO .const 00000018 .hidden RECTORNG_OVS_COE_bn
80000288 l DO .const 00000000 .hidden $C$T161
80000000 l DO .const 00000288 .hidden _Fx_AMP_RECTORNG_Coe
800008a8 l DO .const 00000038 .hidden RECTORNG_Mode_clip_3_tbl
80000ab8 l DO .const 00000028 .hidden RECTORNG_Mode_POST_HPF2_tbl
80000630 l DO .const 00000078 .hidden RECTORNG_Mode_Adjust_Post_tbl
80000b00 l DO .const 00000018 .hidden RECTORNG_Mode_DistPost_0_tbl
80000b78 l DO .const 00000018 .hidden RECTORNG_Mode_OVS_TONE_1_0_tbl
80000a90 l DO .const 00000028 .hidden RECTORNG_Mode_AddFilter_tbl
80000b60 l DO .const 00000018 .hidden RECTORNG_Mode_OVS_TONE_0_4_tbl
80000b48 l DO .const 00000018 .hidden RECTORNG_Mode_OVS_TONE_0_3_tbl
80000b30 l DO .const 00000018 .hidden RECTORNG_Mode_OVS_TONE_0_2_tbl
80000b18 l DO .const 00000018 .hidden RECTORNG_Mode_DistPre_0_tbl
80000bd0 l DO .const 00000008 .hidden RECTORNG_Mode_clip_3_gain_tbl
80000a60 l DO .const 0000002c .hidden RECTORNG__MODERN__PRSNC_Gain_tbl
80000a30 l DO .const 0000002c .hidden RECTORNG_Presence_Gain_tbl
80000760 l DO .const 00000058 .hidden RECTORNG_master_tbl
80000708 l DO .const 00000058 .hidden RECTORNG_bass_tbl
800007b8 l DO .const 00000058 .hidden RECTORNG_middle_tbl
80000810 l DO .const 00000058 .hidden RECTORNG_treble_tbl
800008e0 l DO .const 0000002c .hidden RECTORNG_Gain_DWN_ATT_tbl
80000a00 l DO .const 0000002c .hidden RECTORNG_Gain_clip_1_gain_tbl
800009d0 l DO .const 0000002c .hidden RECTORNG_Gain_OVS_TONE_0_1_Gain_tbl
800009a0 l DO .const 0000002c .hidden RECTORNG_Gain_OVS_TONE_0_1_Freq_tbl
80000970 l DO .const 0000002c .hidden RECTORNG_Gain_OVS_TONE_0_0_Trim_tbl
80000940 l DO .const 0000002c .hidden RECTORNG_Gain_OVS_TONE_0_0_Gain_tbl
80000910 l DO .const 0000002c .hidden RECTORNG_Gain_OVS_TONE_0_0_Freq_tbl
80000ae0 l DO .const 0000001b .hidden _PrmPic_P_SOLO
80000868 l DO .const 0000003a .hidden _PrmPic_Treble
80000c28 l DO .fardata 0000006c .hidden _FswPrmPic
800006a8 l DO .const 0000005c .hidden picTotalDisplay_RECTORNG
00006f20 l DF .text 00000000 .hidden GetString_offset1
00005e30 l DF .text 00000000 .hidden Fx_AMP_RECTORNG_ToneStack_3_edit
00005ab4 l DF .text 00000000 .hidden Fx_AMP_RECTORNG_Gain_edit
00005fd8 l DF .text 00000000 .hidden Fx_AMP_RECTORNG_Presence_edit
00006f36 l DF .text 00000000 .hidden GetString_Mode
00006110 l DF .text 00000000 .hidden Fx_AMP_RECTORNG_mode_edit
00000000 l DF .text 00000000 .hidden Fx_AMP_RECTORNG
00006480 l DF .text 00000000 .hidden Fx_AMP_RECTORNG_init
000059e0 l DF .text 00000000 .hidden Fx_AMP_RECTORNG_onf
00005928 l DF .text 00000000 .hidden Fx_AMP_RECTORNG_output_edit
80000500 l DO .const 00000130 .hidden effectTypeImageInfo
80000298 l DO .const 00000268 .hidden RECTORNG
80000bc0 l DO .const 0000000e .hidden disp_prm_Mode
00000000 l D .bss 00000000 .hidden __TI_STATIC_BASE
ffffffff l D *ABS* 00000000 .hidden __TI_pprof_out_hndl
ffffffff l D *ABS* 00000000 .hidden __TI_prof_data_size
ffffffff l D *ABS* 00000000 .hidden __TI_prof_data_start
00006f94 g DF .text 00000000 .protected Dll_RECTORNG
There doesn't appear to be a "NEEDED" library dependency (as in #37). So what else could prevent the effect from functioning?
$ /usr/bin/arm-linux-gnueabi-readelf -a RCTORG1U.ZD2.code > RCTORG1U.ZD2.code.txt
readelf: Warning: Virtual address 0xbbd8 not located in any PT_LOAD segment.
I'd ask the user if the installed effect can be used on-device, that is not from the GL? The official editors filter the lists by model, which, well, makes sense.
I thought it was the general understanding that the side-loaded effects attach user to the device's UI for patch management, which is not too bad, IMO. A little price to pay for not acquiring the additional devices. Otherwise, ZOOM's offering is very much comprehensive.
I believe that they user is seeing a failure on his pedal. Using my GCE-3 and some 'script-foo' it does appear that it is NOT working on my pedal...
$ amidi -p hw:1,0,0 -S 'b0 20 04 c0 07'
$ python3 zoomzt2.py -c temp.ztpc
$ python3 decode_preset.py -s temp.ztpc
Name: Recti
Patch Volume: 100
Effect 1: 0x04000071
Enabled: True
Param 1: 0
Param 2: 52
Param 3: 65
Param 4: 67
Param 5: 62
Param 6: 70
Param 7: 62
Param 8: 2
Effect 2: 0x00000000
[snip]
$ amidi -p hw:1,0,0 -S 'F0 52 00 6e 64 02 00 06 00 F7' -r temp.bin -t 2
1183 bytes read
$ python3 decode_screens.py temp.bin
---
Effect: (Off) <--- note effect NOT listed.
:
:
:
:
---
Effect: Bypass (Off)
:
:
:
:
---
[snip]
Does it work on your GCE-3
in G1/G1X FOUR
or A1/A1X FOUR
mode? Not in GL, but using the pedal's physical UI.
RCTORG1U.ZD2
v1.0 is defined for H8
and R20
, apart from G1/G1X FOUR
. That means, it's reasonable to expect it to work on B1/B1X FOUR
as well, as the H8
set mostly is a combination of G/B/A1 FOUR
lists.
GCE-3 pretending to be G1XFour works...
$ python3 zoomzt2.py -P 48 58_Recti_G1XFour.ztpc
$ amidi -p hw:2,0,0 -S 'b0 20 04 c0 07'
$ python3 zoomzt2.py -c test.ztpc
$ python3 decode_preset.py -s test.ztpc| head
Name: Recti
Patch Volume: 100
Effect 1: 0x04000071
Enabled: True
Param 1: 0
Param 2: 52
Param 3: 65
Param 4: 67
Param 5: 62
Param 6: 70
$ amidi -p hw:2,0,0 -S 'F0 52 00 6e 64 02 00 06 00 F7' -r temp.bin -t 2
1183 bytes read
$ python3 decode_screens.py temp.bin | head
---
Effect: Recti ORG (On)
Mode : VNTG
Bass : 52
MID : 65
Treble : 67
PRSNC : 62
Gain : 70
VOL : 62
---
As noted on Reddit post, there are actually 3 versions of this effect
$ grep -i rect zoom_fx_AllZDL7/master.txt
0x04000070 : Recti ORG (v1.20, 29.12%), 0x59547f3ad6185a3313e2216d101762bd
0x04000071 : Recti ORG (v1.00, 29.12%), 0xe8186d7b69875e5b518b7cf5d3f16037
0x04000072 : Recti ORG (v1.00, 25.72%), 0xfb1d36bb494e08bab5f2e786cdf940e8
GCE-3 as A1XFour does not work...
$ python3 decode_preset.py -t 512 -p 760 -o recti_a1XFour.ztpc 58_Recti_G1XFour.ztpc
$ python3 zoomzt2.py -P 48 recti_a1XFour.ztpc
$ amidi -p hw:2,0,0 -S 'b0 20 04 c0 07'
$ python3 zoomzt2.py -c test.ztpc
$ python3 decode_preset.py -s test.ztpc| head
Name: Recti
Patch Volume: 100
Effect 1: 0x04000071
Enabled: True
Param 1: 0
Param 2: 52
Param 3: 65
Param 4: 67
Param 5: 62
Param 6: 70
$ amidi -p hw:2,0,0 -S 'F0 52 00 6e 64 02 00 06 00 F7' -r temp.bin -t 2
1183 bytes read
$ python3 decode_screens.py temp.bin | head
---
Effect: (Off)
:
:
:
:
---
Effect: Bypass (Off)
:
:
I also checked GUARDZDL....
$ strings GUARDZDL.ZT2 | grep ORG
RCT_ORG.ZD2
ORG_120.ZD2
$ python3 zoomzt2.py -s -R FLST_SEQ.ZT2 | grep ORG
RCTORG1U.ZD2 (ver= 1.00 ), group= 4 , id= 0x4000071 , installed= 1
Maybe one of these only exists in the G1(X)Four FW...
$ grep FUNC RCTORG1U.ZD2.code.all | grep -v LOCAL
227: 00006d60 0 FUNC GLOBAL HIDDEN 4 TBL_TO_VAL_int
228: 00006de4 0 FUNC GLOBAL HIDDEN 4 TBL_TO_VAL_double
229: 00006e84 0 FUNC GLOBAL HIDDEN 4 TBL_TO_VAL
231: 00006f94 0 FUNC GLOBAL PROTECTED 4 Dll_RECTORNG
233: 00006f90 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_dummy_edi
235: 00005ab4 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_Gain_edit
239: 00005928 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_output_ed
242: 00006480 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_init
243: 000034e0 0 FUNC GLOBAL HIDDEN 4 RECTORNG_EQ_Calc_OVS
246: 00006450 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_Level_edi
250: 00005a34 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_Adjust_Pr
255: 00005fd8 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_Presence_
256: 00005e30 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_ToneStack
261: 000059e0 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_onf
263: 00006110 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG_mode_edit
271: 00000000 0 FUNC GLOBAL HIDDEN 4 Fx_AMP_RECTORNG
272: 00007040 0 FUNC GLOBAL HIDDEN 4 __c6xabi_call_stub
273: 00007040 0 FUNC GLOBAL HIDDEN 4 __call_stub
274: 00006540 0 FUNC GLOBAL HIDDEN 4 __c6xabi_divd
278: 00006ae0 0 FUNC GLOBAL HIDDEN 4 __c6xabi_divf
279: 00006fc0 0 FUNC GLOBAL HIDDEN 4 __c6xabi_frcmpyd_div
280: 00007000 0 FUNC GLOBAL HIDDEN 4 __c6xabi_llshru
283: 000070a0 0 FUNC GLOBAL HIDDEN 4 __c6xabi_push_rts
284: 00007080 0 FUNC GLOBAL HIDDEN 4 __pop_rts
285: 00007080 0 FUNC GLOBAL HIDDEN 4 __c6xabi_pop_rts
286: 000070a0 0 FUNC GLOBAL HIDDEN 4 __push_rts
64: 00006f94 0 FUNC GLOBAL PROTECTED 4 Dll_RECTORNG
Maybe it's about G_OUT_EQ.BDL
, though I thought B1(X) FOUR
has both this one and B_OUT_EQ.BDL
?
How about the MACH301U.ZD2
, it's another AMP from G1 FOUR
?
So here's a summary of the official AMP effects for the "Four" pedals.
$ grep -e "^0x04" master.txt | cut -d "," -f 3 | sort > picklist.txt
$grep -f picklist.txt G1\ FOUR/unzipped/list_sorted.txt
0x04000011 : MS 800 (v1.00, 31.99%), 0x82664cd7b11d72f9565cfeae097d4f15, ./G1 FOUR/unzipped/MS800_1U.ZD2
0x04000019 : MS 1959 (v1.00, 31.50%), 0x597f7d0f4ca000402b52a3c1fcc65806, ./G1 FOUR/unzipped/MS19591U.ZD2
0x0400001b : MS 45os (v1.00, 31.50%), 0xe06bba97b1dbadfa0642a38b5e0be457, ./G1 FOUR/unzipped/MS45OS1U.ZD2
0x04000021 : FD TWNR (v1.00, 31.00%), 0x0cc17aa01611c2d3e82ffa5f434c5720, ./G1 FOUR/unzipped/FD_TWR1U.ZD2
0x04000028 : FD B-MAN (v1.10, 29.94%), 0x9e4ffc80c113ada4a630201035f70bd6, ./G1 FOUR/unzipped/FDBMAN1U.ZD2
0x0400002c : FD DLXR (v1.10, 31.00%), 0x5e32e24c9d540969bac4cbeef199e50a, ./G1 FOUR/unzipped/FDDLXR1U.ZD2
0x0400002d : FD MASTER (v1.00, 29.12%), 0xbffa0b16ed0a22a94ac62974e66aa434, ./G1 FOUR/unzipped/FDMSTR1U.ZD2
0x04000031 : UK 30A (v1.00, 37.57%), 0x069fd6d8b9f7b1a4ccdde64933d449b3, ./G1 FOUR/unzipped/UK30A_1U.ZD2
0x04000041 : BG MK1 (v1.00, 35.76%), 0x0b1638adca69f9a14a4d8a9e8e6452a0, ./G1 FOUR/unzipped/BGMK1_1U.ZD2
0x04000043 : BG MK3 (v1.00, 35.93%), 0x357721f986e94d8fda9675529efed73e, ./G1 FOUR/unzipped/BGMK3_1U.ZD2
0x04000051 : XtasyBlue (v1.00, 35.27%), 0xe0a478ef77b59a5c7d759ab5b15fe424, ./G1 FOUR/unzipped/XTSBLU1U.ZD2
0x04000061 : HW 100 (v1.00, 28.46%), 0xea83815ec36d43a21f1a7a7130fc9b6b, ./G1 FOUR/unzipped/HW100_1U.ZD2
0x04000071 : Recti ORG (v1.00, 29.12%), 0xe8186d7b69875e5b518b7cf5d3f16037, ./G1 FOUR/unzipped/RCTORG1U.ZD2
0x04000081 : ORG120 (v1.00, 33.63%), 0x001f065772a9b3972c2a5501dd698318, ./G1 FOUR/unzipped/ORG1201U.ZD2
0x04000091 : DZ DRV (v1.00, 27.72%), 0x73f4fe475cdc06a83bfe41820555bb26, ./G1 FOUR/unzipped/DZ_DRV1U.ZD2
0x040000a1 : MATCH30 (v1.00, 34.86%), 0x1557365fe45e0153cdf59e4144474bdc, ./G1 FOUR/unzipped/MACH301U.ZD2
$ grep -f picklist.txt B1\ FOUR/unzipped/list_sorted.txt
0x04800011 : AMPG SVT (v1.00, 21.98%), 0x8931f927d548f686f34ca7a902fa5a63, ./B1 FOUR/unzipped/SVT_1U.ZD2
0x04800021 : BMAN100 (v1.00, 32.40%), 0x7d84e4a01bd5d41f7d0f311580b29683, ./B1 FOUR/unzipped/BMN1001U.ZD2
0x04800031 : SMR400 (v1.00, 24.61%), 0x4565ebfbb26153941b05acede989cdab, ./B1 FOUR/unzipped/SWR4001U.ZD2
0x04800041 : AG 750 (v1.00, 23.30%), 0xe11fe6459541fec423b4313807bddd31, ./B1 FOUR/unzipped/AG750_1U.ZD2
0x04800051 : TE400SMX (v1.00, 18.78%), 0x23f1ce8bd02b9f8b39e592364375dd1a, ./B1 FOUR/unzipped/TE400_1U.ZD2
0x04800061 : AC 370 (v1.00, 26.74%), 0xa3f2212e60c0c8a64ce323da52269038, ./B1 FOUR/unzipped/AC370_1U.ZD2
0x04800070 : Mini MkB (v1.20, 11.56%), 0x014c1b4fcfd04a5eb139e10b1a25eb7a, ./B1 FOUR/unzipped/MINIMARK.ZD2
0x04800081 : EBH360 (v1.00, 21.82%), 0x226b7e9e60fbd604ce9e7072ee7af13c, ./B1 FOUR/unzipped/EBH3601U.ZD2
0x04800091 : FlipTop (v1.00, 17.55%), 0x12049c2024d17e66c91247e40d247e3e, ./B1 FOUR/unzipped/B15N_1U.ZD2
$ grep -f picklist.txt A1\ FOUR/unzipped/list_sorted.txt
0x04000028 : FD B-MAN (v1.10, 29.94%), 0x9e4ffc80c113ada4a630201035f70bd6, ./A1 FOUR/unzipped/FDBMAN1U.ZD2
0x0400002c : FD DLXR (v1.10, 31.00%), 0x5e32e24c9d540969bac4cbeef199e50a, ./A1 FOUR/unzipped/FDDLXR1U.ZD2
Did you try to see if MACH301U.ZD2
works ok on your GCE-3
in B1 FOUR
mode?
P.S. the aggregated effects list also denotes if a given effect belongs to B/A sets.
Why do it manually, when you can script instead.. ;-) do_it.sh.txt
$ bash do_it.sh > g1xfour.txt
$ grep "Effect:" g1xfour.txt | uniq
Effect: MS 800 (Off)
Effect: (Off)
Effect: FD TWNR (Off)
Effect: FD B-MAN (Off)
Effect: FD DLXR (Off)
Effect: FD MASTER (Off)
Effect: UK 30A (Off)
Effect: BG MK1 (Off)
Effect: BG MK3 (Off)
Effect: XtasyBlue (Off)
Effect: HW 100 (Off)
Effect: Recti ORG (Off)
Effect: ORG120 (Off)
Effect: DZ DRV (Off)
Effect: MATCH30 (Off)
Effect: AMPG SVT (Off)
Effect: AMPG SVT (On)
Effect: BMAN100 (Off)
Effect: SMR400 (Off)
Effect: AG 750 (Off)
Effect: TE400SMX (Off)
Effect: TE400SMX (On)
Effect: AC 370 (Off)
Effect: Mini MkB (On)
Effect: EBH360 (Off)
Effect: EBH360 (On)
Effect: FlipTop (On)
$ grep "Effect:" gce3_as_a1four.txt | uniq
Effect: (Off)
Effect: FD B-MAN (Off)
Effect: FD DLXR (Off)
Effect: (Off)
$ grep "Effect:" gce-3_as_b1xfour.txt | uniq
Effect: (Off)
Effect: AMPG SVT (Off)
Effect: AMPG SVT (On)
Effect: BMAN100 (Off)
Effect: SMR400 (Off)
Effect: SMR400 (On)
Effect: AG 750 (Off)
Effect: AG 750 (On)
Effect: TE400SMX (Off)
Effect: TE400SMX (On)
Effect: AC 370 (Off)
Effect: AC 370 (On)
Effect: Mini MkB (On)
Effect: EBH360 (Off)
Effect: EBH360 (On)
Effect: FlipTop (Off)
Effect: FlipTop (On)
So pretty much, these seem to match the official allocation.
For the G1XFour (real hardware) there are a couple of AMPs which don't work, they don't work on either GCE-3 setting either...
Effect 1: 0x04000019
Effect: (Off)
Effect 1: 0x0400001B
Effect: (Off)
0x04000019 : MS 1959 (v1.00, 31.50%), 0x597f7d0f4ca000402b52a3c1fcc65806, ./G1 FOUR/unzipped/MS19591U.ZD2
0x0400001b : MS 45os (v1.00, 31.50%), 0xe06bba97b1dbadfa0642a38b5e0be457, ./G1 FOUR/unzipped/MS45OS1U.ZD2
Looks like I missed copying these to the test directory.
I'm not sure what is being done here. Could you roughly explain the objective and the findings?
Just scripted up what I did manually before... 1). Upload all the AMP effects, and dump 'FLTS_SEQ.ZT2' to confirm that they have actually installed. 2). Download current patch, and then create multiple copies with all effects forced to particular value. 3). For each of the new patches; upload to location '47', then select and read back 'current' patch to confirm. Then download the 'screen' via midi and decode.
The txt
files show the full action, just summarized to confirm effects which DO display via the 'screen'.
The next question, I guess, is to see if there is a 'marker' in the ZD2 which might explain.
We can also transplant the code from one effect into another. This might help tell us whether the 'issue' is within the actual code, or the other parts of the ZD2.
If I understood it correctly, some of G1 FOUR
native effects did not appear to work on your GCE-3
set up as G1X FOUR
. If that's the case, then this is rather unexpected. Maybe there is some issue in the way the GCE-3
set up?
... For the G1XFour (real hardware) there are a couple of AMPs which don't work, they don't work on either GCE-3 setting either...
FYI: On real G1 FOUR
hw, the MS19591U.ZD2
works no problem, it's actually installed by default. Same with MS45OS1U.ZD2
, which needs to be installed manually, but works too. Both of these are also defined in FLST_SEQ.ZT2
for G1X FOUR
, so it's reasonable to expect they should work ok on it too. The md5 checksums match, just checked. Maybe something gets messed up in the scripts. Just for the test, you could try enabling these effects via the official editor (GL or ToneLib) with either "empty" (just with BYPASS.ZD2
entry section) or default FLST_SEQ.ZT2
.
I didn't test 'gce-3_as_g1four', I used my real G1XFour.
The mistake with MS19591U.ZD2 and MS45OS1U.ZD2 was mine, I failed to copy them to the local drive (and therefore they were not uploaded to pedal).
Fixed results: g1xfour.txt
Ok. So all native AMP effects should work ok on the real G1X FOUR
, but do they work ok on GCE-3
in G1X FOUR
mode?
Also, it looks like in your new G1X FOUR
test results the FD_TWR1U.ZD2
(0x04000021
) is not being recognized either. This one is also installed by default, so should work ok. So should be all the effects "native" to the model.
As for B-AMPs, the BMN1001U.ZD2
works ok on G1 FOUR
, just as SVT_1U.ZD2
. Yet your test succeeds only for the SVT_1U.ZD2
.
... do_it.sh.txt
Looks like there's a off-by-one problem in the script. I understand that you're sending the patch file into the patch number 48. Then "refresh" it to reload into current, but select it as a different patch number (57):
amidi -p hw:2,0,0 -S 'b0 20 04 c0 07' # this selects patch 57 (bank_msb:00, bank_lsb:04, progid:07 @bankid:5)
Instead, the command should be:
amidi -p hw:2,0,0 -S 'b0 20 03 c0 08' ## patch 48
Not sure if I should say "well spotted" :-)... This is actually a bug/deficiency with the ZoomZT2 code, in that different pedals have different arrangements of groups for patches. I didn't progress figuring it out.
The said, we/the script confirms that the correct patch is set by download the current ('-c') patch - showing that the change has be set.
For the 'screens' the On/Off state of the patch is unpredictable - this maybe that the parameters are left at invalid settings.
Sorry for bothering you, guys, but is there any progress on that?
I'm thinking about buying a B1x4 pedal as a temporary dual guitar/bass solution (already have g1four, but it's not available at the moment) and thinking if it will fit my needs.
@a13 Слава Україні!
FWIW, B1/B1X FOUR and G1/G1X FOUR already share quite a few effect modules by default. I'm not sure if you've tried it already yourself on your G1 FOUR, it has no trouble running B1 FOUR "specific" modules (at least as of fw v2.00). So it's reasonable to expect that B1 FOUR should be able to run G1 FOUR "specific" modules just as well. In fact, so far there has not been much feedback about it being otherwise. I guess, @shooking did some tests using these scripts with B1X FOUR, maybe he could chime in on that.
Mind that B1 FOUR on-board EQ uses somewhat different frequencies, more optimized for Bass, than G1 FOUR. Technically, this could be compensated by using a separate EQ module, though it will take up a slot.
Also, you need to realize that any side-loaded effect modules will not be visible in the GuitarLab, because it filters the modules by model. This pretty much ties the patch management to the device's controls or this and similar third-party scripts. It may be possible to use GL/ToneLib but only with "native" modules.
HI @a13 @nomadbyte - I made a video on how to change the pedals as follows https://www.youtube.com/watch?v=lmNNdbnqz8c&t=6s
I am sure @mungewell can do this all from the CLI - but I wanted to show folks how they can plan what they want from each pedal. Interestingly enough someone else was attempting to solder a pot onto the PCB - I pointed them at this thread.
I gave my G1XFour away to a youth at the church - he was interested in learning guitar and I only got the pedal to play hacking. I did noticed the BDLs but I didnt realise they made that much difference to the EQ. I guess it is like a firmware version of changing the caps in a Cry Baby :-)
For what it's worth, I use the G5n as my main pedal. Loaded all the bass FX I need and I havent noticed any lack of bass via front of house speakers - there again I got me a Hartke 410XL for £30 and driving that via a Fender Champion 110 generates a ton of bass!
If I wanted to control the pedal but from a G1Four or B1Four then I would instead add an ADC to the Pi4, read in pedal values, modify my GUI to allow choice of parameter(s) and some path (maybe I want linear up on one and exp down on another?), and send the parameter changes via midi.
I also managed to get my PCB working for Zoom remote control - basically breakout the 3.3v lines from Zoom into a 25 pin D Sub, DuPont those into a header - PCB then allows monetary guitar footswitches turn all the front panel modes (looper, rhythm, mem, settings, FX1 - 5, Tuner (sends FS1 and 2), and P1 - P4 up/down plus sends Bluetooth to a page turner (song down, page back, page forward, song up).
Controlled via an ESP32 - I can also accept signals in to control the pedal (not written yet but functionality is there). Likely I will either install a 5 pin midi and decode in the loop - send NRPNs to do the business or use midi over Bluetooth (except I want the page turner - so only if both can be supported).
Video coming out tomorrow - https://youtu.be/9oaGytZxghs
Not sure if I should say "well spotted" :-)... This is actually a bug/deficiency with the ZoomZT2 code, in that different pedals have different arrangements of groups for patches. I didn't progress figuring it out.
The said, we/the script confirms that the correct patch is set by download the current ('-c') patch - showing that the change has be set.
For the 'screens' the On/Off state of the patch is unpredictable - this maybe that the parameters are left at invalid settings.
Hi @mungewell - not sure if you mean "07" and "44" command - to determine the num patches/banks and patch size - we spoke about this a while back - I would LOVE for zoomzt2 to do what i hacked into your code
https://github.com/shooking/ZoomPedalFun/wiki/De-re-B1XFour
https://github.com/shooking/ZoomPedalFun/blob/88ab53dad0b936ca02d42a2f33d036155a03f3d1/python/zoomzt2_shooking.py#L410
I call this the Lewis (Hamilton) - 0x44 data = [0x52, 0x00, 0x6e, 0x44]
The more complicated answer involves admitting that we didn't figure out the issue with 'RectiOrg' (and other Amp effects). I will note that the MS series have a separate DLL which are used with the Guitar amps/effects, and perhaps somehow the same exists on the newer pedals.
On the issue of frequency bands/ranges - I had a recent discussion somewhere on modifying effects, and confirmed that the frequencies are set in the ZD2 code section as a list of float32. I'll see if I can find a link to post. This raises the possibility of converting 'guitar' effects to work better with basses.
[edit - add link] https://www.reddit.com/r/zoommultistomp/comments/1193amb/comment/jal2bu1/?utm_source=reddit&utm_medium=web2x&context=3
@shooking I do remember the thing about reading patch size, and I hacked in some support for this... but the logic may not be the best.
https://github.com/mungewell/zoom-zt2/commit/8647dc4be78856e628e47269cb2a8e40201eb123
Excellent work. I haven't used my Pi this year - looks like I need to dust it off. Why is 127 the multiple and not 128 BTW? My thinking was this is 7 bit midi so 128 rather than 256. What did I miss?
...I will note that the MS series have a separate DLL which are used with the Guitar amps/effects, and perhaps somehow the same exists on the newer pedals.
MS series is ZDL-based (multistomps like MS-70CDR), so it's not directly compatible with ZD2 systems as G1/B1 FOUR, G5n etc.
If you're referring to the additional DRV/BASS ZDL modules on MS-50G/60B resp., those are separate ZDL files:
CMN_DRV.ZDL (zdlfxid:0x0f000000, size: 22933)
CMN_BASS.ZDL (zdlfxid:0x0f000010, size: 14571)
@nomadbyte Yep, those files... also mentioned here: https://github.com/Barsik-Barbosik/Zoom-Firmware-Editor#getting-started
Obviously we can't add a ZDL, but perhaps there is something that's linked or expected to be present that we have not accounted for.
@shooking probably a bug...
Rereading the original post, the user reported:
"...the Recti Org effect doesn't actually work or show up on the B1X FOUR pedal in practise. I figured i had something to do with the fact that when installing through zt2 it appears on the effects tab but not on the files. It is meant to show up in both places..."
and your followup:
"...Then back to Windows for GL to confirm "Missing Effect Not Found" in the patch editor."
I get to think that GL issue is a red herring here. The side-loaded "non-native" effects should not be visible in GL or ToneLib, these editors filter the effects list by model. Thus, installed or not, the Recti Org
effect is not defined as "native" to B1X FOUR, so it will not be visible/available from GL editor and will be reported "MISSING", if referenced in a patch.
For this reason, using GL to diagnose this issue is not a valid approach, unless you want to test your install script correctness in respect to "native" target (i.e. side-load Recti Org
onto G1X FOUR real or emulated on GCE-3, or similarly, the Bass-"native" SVT_1U.ZD2
onto B1X FOUR).
Instead of the GL approach, I would suggest to try to side-load another "non-native" AMP onto B1X FOUR (real or emulated). For example, try MACH301U.ZD2
, it's "native" to G1 FOUR, just as Recti Org
RCTORG1U.ZD2
is. Then see if the side-loaded effect is available for use on the pedal screen, not via GL. No need to push a patch, it's possible to just select the installed effect using the buttons.