diff --git a/know-how/hacking/audiomate/_posts/2016-02-01-firmware.md b/know-how/hacking/audiomate/_posts/2016-02-01-firmware.md index 5528f91..8843241 100644 --- a/know-how/hacking/audiomate/_posts/2016-02-01-firmware.md +++ b/know-how/hacking/audiomate/_posts/2016-02-01-firmware.md @@ -81,15 +81,15 @@ Checksum A user called "tidy" has found out what the header bytes are meaning and how checksum is compiled: -> bytes 0-3: file magic `UMDA` -> byte 4: Platform * -> byte 5+7: Customer * * (whatever that means its extracted from decompiling the header parse code) -> byte 6: Model * -> byte 8-10: Version number -> byte 11-12: build number (little endian) -> byte 13: flags seem to have impact on the update process but I'm not sure in which function +> bytes 0-3: file magic `UMDA` +> byte 4: Platform * +> byte 5+7: Customer * * (whatever that means its extracted from decompiling the header parse code) +> byte 6: Model * +> byte 8-10: Version number +> byte 11-12: build number (little endian) +> byte 13: flags seem to have impact on the update process but I'm not sure in which function > byte 14-15: checksum - +> > The checksum is calculated by interpreting the file as a little endian int16 stream, adding up its > values, truncating the 16LSBs after every addition and calculating the value that is missing to > sum up to 0x10000. I.e. if one calculates the checksum as described over the whole file including