I have successfully re-programmed the PIC32 on an I/O board which the game would not recognize and had the warn LED blinking. With board on bench, 5V applied, I used avrdude 5.1 on a 64 bit Win 10 with the avrdude.conf from Linux package 6.3 .
I used the update.hex (renamed to hpio.hex) from the last of the released updates.
The board is now recognized and works in the game.
Pickit was useless, old avrdude binaries baked into the Utilite the same and would not use recent .conf, Linux machines also no good. Windows with 5.1 and 6.3 .conf was the combination that worked.
The command issued below declares the part to be programmed "-p 32MX795F512L", the programmer to use "-c stk500v2", it then erases then re-programs the PIC with the file hpio.hex "-U flash:w:hpio.hex" using com port 3 "-P COM3" and uses the specified .conf from the *nix 6.3 package " -C avrdude.conf"
Command:
avrdude -p 32MX795F512L -c stk500v2 -U flash:w:hpio.hex -P COM3 -C avrdude.conf
Result:
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.09s
avrdude: Device signature = 0x504943
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "hpio.hex"
avrdude: input file hpio.hex auto detected as Intel Hex
avrdude: writing flash (520196 bytes):
Writing | ################################################## | 100% 6.20s
avrdude: 520196 bytes of flash written
avrdude: verifying flash memory against hpio.hex:
avrdude: load data flash data from input file hpio.hex:
avrdude: input file hpio.hex auto detected as Intel Hex
avrdude: input file hpio.hex contains 520196 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 95.71s
avrdude: verifying ...
avrdude: 520196 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.