mungewell / zoom-zt2

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

No ZD2 modules in ACOUSTIC category #50

Open nomadbyte opened 1 year ago

nomadbyte commented 1 year ago

There seem to be no ZD2 modules which reference ACOUSTIC category. Where does this category (and its id) originate from?

https://github.com/mungewell/zoom-zt2/blob/aae4d78a548d638f857cee5df21c3c4dc3c51f26/zoomzt2.py#L52

nomadbyte commented 1 year ago

I figured that this came from the V6/V6-SP vocal processor's effect exploration done in issue #37.

However in ZD2 content the category seems to be named VOCAL (id = 0x1D = 29). In addition to that, some of the V6-specific effects appear to have a different category id taxonomy which conflicts with the one used with G Series.

mungewell commented 1 year ago

IIRC this came from the FW of the AC-2 and AC-3 pedals.

Note: decode_effect.py does not work at present on these ZD2, it looks like they are missing some blocks compared to the other ZD2s.

Reading ./AC-3_Win_v1.10_E/zt2/FLST_SEQ.ZT2...
ListContainer: 
    Container: 
        name = u'' (total 0)
    ListContainer: 
        Container: 
            group = 29
            groupname = (enum) ACOUSTIC 29
            effects = ListContainer: 
                Container: 
                    effect = u'AG_MDL.ZD2' (total 10)
                    version = u'0.03' (total 4)
                    installed = 1
                    id = 16
                    unknown = 0
                    group = 29
...
mungewell commented 1 year ago

Yep, if you want to decode them you can comment out the following...

$ git diff zoomzt2.py
diff --git a/zoomzt2.py b/zoomzt2.py
index 411e2ac..bdba6a7 100644
--- a/zoomzt2.py
+++ b/zoomzt2.py
@@ -149,8 +149,8 @@ ZD2 = Struct(
     "INFO" / INFO,
     "DATA" / DATA,

-    "PRMJ" / PRMJ,
-    "PRME" / PRME,
+    #"PRMJ" / PRMJ,
+    #"PRME" / PRME,

     "hex5" / HexDump(Peek(Bytes(16))),
     "unknown5" / Bytes(16),
nomadbyte commented 1 year ago

Just as I mentioned in #37, it appears that the category-id: 0x1D = 29 is internally referenced in ZD2 modules as __BUILT_IN__. This applies at least to G-model, B-model, V-model (all of it's modules appear to have this reference).

In particular, with G-model and B-model the only modules in this category so far are the BDL modules: (G_OUT_EQ.BDL, B_OUT_EQ.BDL). These are not directly referenced in FLST_SEQ.ZT2, not sure if they are uploadable. Well, B1 FOUR actually has both of these but G1 FOUR has only the G file.

As for the AC-3, indeed, its ZD2 is somewhat different (missing parameter description sections PRMJ/PRME) but otherwise is very much similar. All of the AC-3 modules reference the category (0x1D = 29) as AG.EFX.