ok allora ti spiego in modo spiccio la parte del checksum...
Ad ogni file viene assegnato un codice di calcolo che a somma dei bit, dà un determinato valore.
Quel determinato valore è il check-sum (controllo-somma) univioco che, se diverso non viene autenticato dai sistemi di controllo (ECU).
Per questo motivo il cks va corretto in fase di scrittura in quanto i dispositivi fanno scopa solo ed esclusivamente con software riconosciuto.
Un esempio comparativo è su sistemi Windows e Linux, se installi winzip.exe su linux.. salvo emulazione, il sistema dice: ma che è sto coso? che ce devo fa? Visto che quello che per Windows è exe, per Linux è .sh (non proprio cosi ma diciamo in linea di massima)
In forma visiva ti dico che hai 2 zone di checksum nel tuo file
Questa la trovi prima delle mappe pedale ed è il checksum che ti ha stravolto winols
A fine mappa hai un'altra zona checksum come vedi qui sotto
Queste 2 zone sono corrette sia dal programmatore come ben sai in fase di scrittura ma occhio, la prima zona non viene sempre letta dai programmatori in quanto leggono un parziale di file mappa, saltando questa o magari non verificandone l'integrità fai un bel cappero di danno e ti sminchi l'avviamento..
Spero di essere stato abbastanza chiaro sulla questione checksum.. se hai domande, spara!