Offset to firmware version used in tools/hextosyx.cpp is wrong (0x130 should be 0x100)
stevenreddie opened this issue · 0 comments
stevenreddie commented
I don't know how important this is, but I just happened to notice it. The code that picks up the firmware version and puts it in the header of the syx file references the 3 bytes starting at offset 0x130. I suspect that 0x130 may be the correct location for the Launchpad S firmware, but for the Launchpad Pro the version data apparently starts at 0x100 (VMA 0x08006500).
Here are the relevant lines of hexdumps for three different firmware images:
$ hexdump -Cv Launchpad\ Pro-1.0.173.syx.bin | grep "^000001[03]0"
00000100 73 01 00 00 00 00 00 00 5f f8 08 f1 03 2a c9 b2 |s......._....*..|
00000130 14 f0 03 0f fa d1 4f f0 01 33 03 fb 01 f3 1f e0 |......O..3......|
$ hexdump -Cv resources/Launchpad\ Pro-1.0.154.syx.bin | grep "^000001[03]0"
00000100 54 01 00 00 00 00 00 00 5f f8 08 f1 03 2a c9 b2 |T......._....*..|
00000130 14 f0 03 0f fa d1 4f f0 01 33 03 fb 01 f3 1f e0 |......O..3......|
$ hexdump -Cv build/launchpad_pro.syx.bin | grep "^000001[03]0"
00000100 00 00 00 00 00 00 00 00 5f f8 08 f1 70 47 70 47 |........_...pGpG|
00000130 a2 f1 3f 03 9b b2 3e 2b c2 f1 3f 02 8b bf 18 46 |..?...>+..?....F|
I have verified that the change works by uploading to my hardware.