Bug in IFI Loader

Working on Linux Loader
I can’t figure out this discontinuity, I think its an IFI bug, port scanner with IFI Loader download

Data Line
:10096000040EDB2A050E01E3DB2A060EDB2A070E46

Request: 12/28/2003 9:50:19 PM.014399064 (+0.0300447000 seconds)
0F 0F 02 02 60 09 00 05 04 0E DB 2A 05 05 0E 01 …`…Û
E3 DB 2A 06 0E DB 2A 07 0E 52 04 ãÛ
…Û*…R.

OF OF -> header02
02 -> Write09
60 -> Memory address
00 -> Unused
52 -> checksum
04 -> end
Two extra 5’s are in there, compared to data, checksum is invalid off by 10.

What I think it should be…
0F 0F 02 02 60 09 00 04 0E DB 2A 05 0E 01 …`…Û
E3 DB 2A 06 0E DB 2A 07 0E 52 04 ãÛ
…Û*…R.

Checksum works, matches data in as well ^

Answer: 12/28/2003 9:50:19 PM.044443764 (+0.0000000000 seconds)
0F 0F 02 FE 04 …þ.
How is it confirmed okay with an Invalid checksum?

ReceivedRequest: 12/28/2003 9:50:19 PM.044443764 (+0.0000000000 seconds)
0F 0F 01 10 60 09 00 86 04 …..†. VerifyAnswer: 12/28/2003 9:50:19 PM.054458664 (+0.0000000000 seconds) 0F 0F 01 10 60 09 00 05 04 0E DB 2A 05 05 0E 01 ....…Û… E3 DB 2A 06 0E DB 2A 07 0E 45 04 ãÛ…Û*…E.
Invalid checksum again on receive to verify call?

Request: 12/28/2003 9:50:19 PM.184652364 (+0.1301937000 seconds)
0F 0F 02 02 70 09 00 01 E3 DB 2A ED D7 05 04 0E …p…ãÛ*Ã$@—…
DB CF 2B F0 05 05 0E DB CF 42 04 ÛÏ+ð…ÛÏB.
Continue on, write next batch, ignore previous!?

Kinda unclear, no real documentation. I think it’s just a bug in the IFI Loader, not sure. Or they don’t have actual implemented verification, unless the verification could have been done at the end. Would have to rescan for that, it didn’t capture the whole download only like 75% of it.

Ryan,

It’s a documented feature if you know where to look :D.

-Kevin

The 0x05 is an excape sequence. The byte following it is one of the commands the the serial bootloader uses. So the 0x05 is ignored for purposes of the CRC

See here: http://www.microchip.com/download/appnote/pic16/00851b.pdf (page 3 in particular)

I’ve already decoded the data stream… all the information you need is in that document except for 2 changes which i noted here: http://www.chiefdelphi.com/forums/showthread.php?p=196395#post196395

If you have any questions feel free to ask me…