A project log for Late 90s GPS time unit repair & 1024-week bug fix

Repairing and fixing the firmware of a late 90s GPS time receiver

pastcomputepastcompute 11/28/2021 at 10:320 Comments

Now is 2021-11-28. At the time I created this Hackaday page:

- I have spent about 8 hours over 4 weeks dismantling, waiting for parts, repairing, breaking, and repairing again the switch mode PSU. At that point was when I discovered the device has the 1024 week bug

- I then in the past week spent about 24 hours over a week building an EPROM dumper using just a Raspberry Pi, jumper wires and breadboard, acquainting myself with Ghidra, and reverse engineering enough of the 80C188 code to get to a point where, when I next spend time, I can intercept a call to sprintf() and patch in the time difference to have the correct display come up, also, similarly, report the correct time on the Time of Day serial port of the device. To do this I need to buy, borrow or build an EPROM programmer, or maybe an EPROM emulator to start with :-) That won't fix the GPS location though, it is looking like the GPS position also comes from the internal engine and I can't patch the time in that ...

- then I need to take the 1-PPS output and loop it back into the case so I can hide a raspberry Pi inside it

- also a lot of learning I need to document here

- this is looking like a long term project now so I am going to aim to limit the time to 2-ish hours a week, first catching up the documentation, then, after an EPROM programmer arrives, patching. So sometime in 2022, if I don't stop before then... I have other more important projects, and of course work and family so this needs to take a back seat. It is easy to get sucked into a rabbit hole...