I've disassembled the routine that load the JNX files on GPS (starting from AlexWhiter work) and here i propose another version, that use a little numer of bytes and solve some not optimal thing in the jnx firmware patch.
This is the patch (Dakota 20, firmware version 580). Installed on GPS obviously works perfectly.
Code:
Please Login or Register to see the links
As in AlexWhiter patch, the first byte at address CC7AC bypass the Demo JNX handling. Differently from AlexWhiter patch, the second one at CC9F1 bypass the Garmin Hash CRC32 test result. The following 2 bytes at CC9FB bypass completely all the code written for JNX Signature test, and that solution are a little bit better respect original patch, because otherwise the remaining executed code in original patch call the memory heap routines to allocate and lock a zero lenght block of memory and than read from the JNX a zero lenght block of bytes. Sure that original patch is working, but i think that a more clean approch is better.
The last byte at CCAAE, like original patch, bypass the JNX Device Id test matching.
We also can save 3 bytes of patch and the result are more simple to patch because no procedure call is involved (as into the original patch that implies to patch 4 bytes that change from a firmware version to another).