NefMoto

Technical => Flashing and Chipping => Topic started by: adrian0521 on October 06, 2020, 05:58:23 PM



Title: EPROM Checksum Challange
Post by: adrian0521 on October 06, 2020, 05:58:23 PM
Hi,
I am working on a 35 old BMW instrument cluster that has an EPROM that controls RPM speed.
The dump is only 64 bit listed below,

B0 15 00 00 A0 56 1A 7B

It will not work if I change any bit. So, there is checksum in it.

I tried many methods (Checksum, Checksum xor, checksum Mod, checksum 2s complement, LRC, CRC, ) to figure out what checksum algorithm was applied but no success.
I appreciate any insight and expertise that you can provide.
Thank you,
Ad


Title: Re: EPROM Checksum Challange
Post by: nyet on October 06, 2020, 07:22:18 PM
Do you know for sure which bits are unused and could be candidates for part of the CS?


Title: Re: EPROM Checksum Challange
Post by: adrian0521 on October 07, 2020, 09:11:49 AM
Appreciate your reply.
I do not know for sure. I have no information or datasheet about this eprom. I built an emulator that uses to the same code to make the cluster to work as it should.
However, once I change any bit in the code the cluster stop working. Therefore, I assumed that there is CS somewhere in this eprom code. 

Do you know for sure which bits are unused and could be candidates for part of the CS?


Title: Re: EPROM Checksum Challange
Post by: prj on October 07, 2020, 12:56:08 PM
Which value do you want to change in the list?
I would increment/decrement the 7B at the end by the same amount as you increment/decrement the value.
If it's an additive sum of any kind, it'll pass.

That said, your best bet is to dump the uC.