dvhdr / launchpad-pro

Open source firmware for the Launchpad Pro grid controller
BSD 3-Clause "New" or "Revised" License
442 stars 101 forks source link

Offset to firmware version used in tools/hextosyx.cpp is wrong (0x130 should be 0x100) #30

Closed stevenreddie closed 6 years ago

stevenreddie commented 7 years ago

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.