mungewell / zoom-zt2

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

Parsing error #8

Closed diogobenica closed 3 years ago

diogobenica commented 4 years ago

I was able to install a new effect but afterwards every time I try to connect do the Zoom G1X Four it raises this parsing error. I tried to factory reset and reinstall the latest firmware 2.0 but the error persists.

Traceback (most recent call last):
  File "zoomzt2-gui.py", line 148, in butConnect
    self.ConnectPedal()
  File "zoomzt2-gui.py", line 242, in ConnectPedal
    self.ReadEffects()
  File "zoomzt2-gui.py", line 260, in ReadEffects
    config = zoomzt2.ZT2.parse(data)
...
construct.core.ConstError: Error in path (parsing) -> header
parsing expected b'\x01' but parsed b'\x00'

Did someone have the same problem?

Running with Python 3.8.3 and all the libs on latest version.

mungewell commented 4 years ago

I looks like (for some reason) that the FLST_SEQ file stored on the pedal doesn't match what we are expecting.... I think the error is coming from this 'const' definition: https://github.com/mungewell/zoom-zt2/blob/master/zoomzt2.py#L19

Are you able to download a copy of FLST_SEQ, either via the 'Files' tab in the GUI or via the command line, so we can see what has happened? zoom_files

C:\Users\simon\Documents\ZoomFW\zoom-zt2-v0.2.0>"c:\Program Files\Python36\python.exe" zoomzt2.py --help
Usage: zoomzt2.py [options] FILENAME

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
  -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
  -I INSTALL, --install=INSTALL
                        Install effect binary to attached device
  -U UNINSTALL, --uninstall=UNINSTALL
                        Remove effect binary from attached device

C:\Users\simon\Documents\ZoomFW\zoom-zt2-v0.2.0>"c:\Program Files\Python36\python.exe" zoomzt2.py -R -w FLST_SEQ.ZT2
diogobenica commented 4 years ago

@mungewell Thanks for the response! Via GUI it didn't show anythiing in effects/files list. But via command line I extracted the file:

FLST_SEQ.ZT2.zip

diogobenica commented 4 years ago

@mungewell I changed the const definition you pointed out to b'\x00' and it worked. The GUI is showing the files and effects.

mungewell commented 4 years ago

Why good that you have a workaround, but 'we' should figure what that '0x01' or '0x00' means. It would be better to define the location as a 'Byte' so that it gets preserved at whatever it actually set...

I note that you had PDL_PIT.ZD2 installed at some point, do you have a G1FourX?

diogobenica commented 4 years ago

@mungewell Yes, I have the G1FourX (with expression pedal). Also, today I was trying to install some effects from G11 and after I got some effects working and some don't (I got a checksum error for some and for others it was installed but don't show in effect list) the byte changed back to b'\x01'! So I don't think is a hard-coded version related byte.

mungewell commented 4 years ago

If you change the 'const' definition to 'byte', it will be preserved at whatever value is read: "unknown" / Byte, # Bug 8

Regarding taking effects from 'better' pedals; we saw before the issue where effect wants to draw on 2 screens, the simpler versions for the G1Four (and friends) have a different name to reflect they only use 1.... I was also reported that some effects from the G5 would not work, assumption is that they need more processor/memory than the G1Four has. https://github.com/mungewell/zoom-zt2/issues/5

A while ago I crafted a list of effects from different devices. It might be nice to improve, and make this an automated process. https://github.com/Barsik-Barbosik/Zoom-Firmware-Editor/issues/12#issuecomment-523738661

paknux commented 4 years ago

Does anyone still keeps the firmware file B1Four version 1.10. I believe the file name is B1_FOUR_v1.10_Win_E.zip. I only have firmware version 2.00. I am confused that the B1Four firmware version 2.00 has the same effect as G1Four. Thanks. Sorry for my bad English.

mungewell commented 4 years ago

@paknux here are the MD5s of the ones have...

e7c925175ce5f40535c018e9c703e77f  ./G3n_v2.00_Win_E/ZOOM G3n System v2.00 Updater.exe
3ed9492d306cf113f6badd9be370147b  ./AC-2_Win_v1.10_E/ZOOM AC-2 System v1.10 Updater.exe
98d8a2f25a2b407c058f3969c8927361  ./AC-3_Win_v1.10_E/ZOOM AC-3 System v1.10 Updater.exe
0e2de9c0b9470e5e3ec74e0dc9c0ec30  ./B1X_FOUR_v2.00/ZOOM B1X FOUR System v2.00 Updater.exe
71bea98da8d1cb6e9cf6519a93034a20  ./B1_FOUR_v1.10_Win_E/ZOOM B1 FOUR System v1.10 Updater.exe
9e970afdf810edf549a7329502f5e2e4  ./B1_FOUR_v2.00/ZOOM B1 FOUR System v2.00 Updater.exe
92526cf83a2e2d83444306a0e3e77e35  ./B3n_v2.00_Win_E/ZOOM B3n System v2.00 Updater.exe
f7caa2cbdf0b1c8beb561f6c356988da  ./B3n_v2.20_Win_E/ZOOM B3n System v2.20 Updater.exe
02ecfcb13f15b5cd58bab8504bb0ce0e  ./B3n_v2.20_Win_E/ZOOM B3n System v2.20 Updater_mod.exe
30815190af7e9f3195c4d83243629aa6  ./G3n_v2.20_Win_E/ZOOM G3n System v2.20 Updater.exe
3ccb7c9d8713f9e1cb94de0f201cd37f  ./G5n_v3.00_Win_E/ZOOM G5n System v3.00 Updater.exe
af9a84229ea8364e77f3879dffcadb8f  ./G1X_FOUR_v1.10_Win_E/ZOOM G1X FOUR System v1.10 Updater.exe
f7478aec394aae73ca6896ad089ac1c8  ./G1X_FOUR_v2.00/ZOOM G1X FOUR System v2.00 Updater.exe
cd69303a6071a016ee098eb3038280e7  ./G1_FOUR_v1.10_Win_E/mod_20190822/ZOOM G1 FOUR System v1.10 Updater.exe
cd69303a6071a016ee098eb3038280e7  ./G1_FOUR_v1.10_Win_E/ZOOM G1 FOUR System v1.10 Updater.exe
36c1f36352916eca0211063ecc7855f7  ./G1_FOUR_v2.00/ZOOM G1 FOUR System v2.00 Updater.exe

Yes, I also noticed that the B1Four has the 'wrong' embedded FX. I have found a few older F/W via the Way Back Machine https://web.archive.org/web/*/zoom.jp

paknux commented 4 years ago

Thank you very much @mungewell for your fantastic work...

I finally found the firmware file B1Four version 1.10 although it is for Japanese Windows (B1 FOUR_v1.10_Win_J.zip) but it can be installed on my B1Four without any problems .. I also downloaded Firmware G1 FOUR_v1.10_Win_J and G1 FOUR_v1.10_Win_E.

Then I install firmware v1.10 (B1 FOUR_v1.10_Win_J.zip) into my B1Four. This is actually a downgrade process of my B1Four firmware, from version 2.00 to version 1.10. And it happens very smoothly and with the same procedure when upgrading the firmware. Nothing special.

After that, i try to removing some unused effects in B1 Four with Zoom GuitarLab to free up some space. But what happened is, Guitar Lab always tries to reinstall the deleted effects. So the best way is to remove effect with the zoom-zt2 application. I even only use zoomzt2-gui.exe to remove and install the * .ZD2 effect

And then the miracle happened.... Finally the effect *.ZD2 from G1Four, G3N, and G5N firmware can be installed and appears both on my B1Four LCD screen and in GuitarLab.... yeeeeaaahhh... ... I was really amazed...

I've tried several * .ZD2 guitar effects from G1Four, G3N and G5N to put in my B1Four. Of course after I removed some of the effects from B1Four:

Dynamic: N_GATE.ZD2 (G3N) RACKCOMP.ZD2 (G1Four)

Filter: GTGEQ71U.ZD2 (G1 Four)

Amps: ORG1201U.ZD2 (G1Four) RCTORG1U.ZD2 (G1Four) MS800_1U.ZD2 (G1Four) FD_TWR1U.ZD2 (G1Four)

Cabinets: ORG_4X12.ZD2 (G1Four) RCT4X12.ZD2 (G1Four) MS4X12.ZD2 (G1Four) HW4X12.ZD2 (G1Four) MK3_1X12.ZD2 (G3N)

Drive: MTLWRLD.ZD2 (G5N) GOLD_DRV.ZD2 (G1Four) REDCRUNC.ZD2 (G1Four)

Delay: PPDLY_3S.ZD2 (G1Four)

Reverb: HALL.ZD2 (G1Four)

All these guitar effects are still in my B1 Four now side by side with the bass effects. GuitarLab reports Used Memory = 99%.

Ahhh... apparently the secret is just to use firmware v1.10 or maybe lower version (v1.00) in my B1Four. Previously when my B1 Four firmware was still v2.00 I always failed to use injected * .ZD2 effect. Effect installed and injected successfully in my B1Four, but does not appear in the LCD menu and cannot be used

It seems that zoomcorp is asking us to upgrade to firmware version 2.00 to avoid this... LOL..

Is it okay if I want to share the link for the firmware here? I'm afraid it violates the terms on Github.

This is a display of my B1 Four's LCD and a view of the guitar effects in GuitarLab: Picture of my B1 Four's LCD screen Picture of my GuitarLab screen

Once again I want to say so many many thanks for your hard work and also for all the people who helped make the zoom-zt2 application.