zoom-zt2 icon indicating copy to clipboard operation
zoom-zt2 copied to clipboard

Effect installed but not available for use - Recti Org on B1XFour

Open mungewell opened this issue 1 year ago • 48 comments

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

RECTI RECTI2

mungewell avatar Mar 02 '23 01:03 mungewell

$ 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.

RCTORG1U.ZD2.code.txt

mungewell avatar Mar 02 '23 01:03 mungewell

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.

nomadbyte avatar Mar 02 '23 18:03 nomadbyte

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]

mungewell avatar Mar 02 '23 20:03 mungewell

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.

nomadbyte avatar Mar 02 '23 23:03 nomadbyte

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

mungewell avatar Mar 03 '23 01:03 mungewell

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)
 : 
 : 

mungewell avatar Mar 03 '23 02:03 mungewell

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

mungewell avatar Mar 03 '23 02:03 mungewell

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

mungewell avatar Mar 03 '23 02:03 mungewell

Maybe it's about G_OUT_EQ.BDL, though I thought B1(X) FOUR has both this one and B_OUT_EQ.BDL?

nomadbyte avatar Mar 03 '23 02:03 nomadbyte

How about the MACH301U.ZD2, it's another AMP from G1 FOUR?

nomadbyte avatar Mar 03 '23 02:03 nomadbyte

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

mungewell avatar Mar 04 '23 00:03 mungewell

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.

nomadbyte avatar Mar 04 '23 04:03 nomadbyte

Why do it manually, when you can script instead.. ;-) do_it.sh.txt

$ bash do_it.sh > g1xfour.txt

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)

gce3_as_a1four.txt

$ grep "Effect:" gce3_as_a1four.txt | uniq
Effect:  (Off)
Effect: FD B-MAN (Off)
Effect: FD DLXR (Off)
Effect:  (Off)

mungewell avatar Mar 04 '23 17:03 mungewell

gce-3_as_b1xfour.txt

$ 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)

mungewell avatar Mar 04 '23 18:03 mungewell

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.

mungewell avatar Mar 04 '23 18:03 mungewell

I'm not sure what is being done here. Could you roughly explain the objective and the findings?

nomadbyte avatar Mar 04 '23 18:03 nomadbyte

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.

mungewell avatar Mar 04 '23 19:03 mungewell

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.

nomadbyte avatar Mar 04 '23 20:03 nomadbyte

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

mungewell avatar Mar 04 '23 21:03 mungewell

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.

nomadbyte avatar Mar 04 '23 21:03 nomadbyte

... 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

nomadbyte avatar Mar 05 '23 01:03 nomadbyte

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.

mungewell avatar Mar 05 '23 16:03 mungewell

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 avatar Mar 21 '23 09:03 a13

@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.

nomadbyte avatar Mar 21 '23 16:03 nomadbyte

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]

shooking avatar Mar 21 '23 17:03 shooking

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

mungewell avatar Mar 21 '23 18:03 mungewell

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?

shooking avatar Mar 21 '23 18:03 shooking

...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 avatar Mar 21 '23 18:03 nomadbyte

@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...

mungewell avatar Mar 21 '23 20:03 mungewell

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.

nomadbyte avatar Mar 22 '23 01:03 nomadbyte