Since my Vibe is now at 282K miles, I figured it was about time to revist this thread
I have a spare 03 cluster, pegged at 299,999. I was able to use the PR93C46.exe program and the simple parallel port interface to reprogram the odometer on the cluster. Used a clip instead of either removing the chip or soldering wires directly to it. Pretty easy. The hard part was finding a PC old enough to still have a LPT parallel port. I set the BIOS to have the LPT as a bi directional port instead of just a prointer port, not sure if that was necessary, and didn't try it in printer port mode.
bongo, thanks for the key to the buttons in that program.
The page that bongo linked had a slight change to the LPT interface from the one that sektor posted. They recommended not connecting LPT pin 9 - D7 to chip pin 8 Vcc, stating that putting power on the chip while programming was risky. I did not hook up that LPT pin 9 to chip pin 8 and the software and interface worked just fine. I say leave that one line disconnected.
i found that while the six digit mileage was rendered in three bytes using the translation that sektor posted, the byte order was backwards. For example, using sektor's table, a mileage of 123456 would translate to ED CB A9, it had to be entered into the ROM as A9 CB ED on mine, the fourth byte of each of the three instances of the odometer count was FF
I set the odometer to a value of 321456, and when I put it back in the car, it still displayed 299,999, and it stayed at 299,999 while I drove it for a few miles, so there's no easy way to get it to actually read more than 299,999
When I first hooked it up, the value stored in the odometer corresponded to 300,078. It may be that although the display stops incrementing at 299,999, the actual count may still increase and contain the actual cumulative value. But that is just conjecture. Doesn't do a whole lot of good, still can't understand why the display is designed to stop at 299999.
Anyway, in 18K miles when my current cluster hits the max, I'm ready to reset it to 0 and start over.