The application software and configuration files have and adjacent .inf file with version info and CRC Checksum.
That Checksum is based on a standard crc16 algorithm but with a non standard polynomial generator.
In most cases, in order for the system to accept a modified file the checksum must be correct.
Some tests were made with the BootScreen.bmp File (Splash screen when the system boots)
It was found by trial & error that the checksum consists of 2 parts:
- The last 4 chars (ASCII value of a 16 bits word) are a CRC16 of the main file using the internal algorithm.
- The first 4 chars (ASCII value of a 16 bits word) are a CRC16 of the whole .inf file, excluding the first 4 bytes
RT4Inf, a tool to calculate .inf files and crc is available at the page bottom, in the files section. (click on the files button).
example .inf file:
Marelli.bmp.inf
97532424
VER:01.02.06.14.16
TYPE:DATA
COMPRESSED:NO
SIZE:27648
2424 - CRC for the Marelli.bmp file
9753 - CRC for the Marelli.bmp.inf, without the first 4 bytes.