Spice self-test

Bill asked me about the self-test feature of the Spice series calculators (HP-3xE/C, such as HP-33C). I used the self-test to dump the ROMs by passively monitoring the bus. The processor has a single instruction to compute some kind of check over 1K*10 of ROM, but it seems to only produce a pass/fail result, and it is not clear exactly what kind of check it is.

I tried computing simple additive checksums with and without end-around carry, and that didn’t produce consistent results among the various 1K blocks. Since the architecture is bit-serial, they could have implemented a CRC quite efficiently, though they could have used almost any CRC width and polynomial.

I’m considering writing a program to try a brute-force search of all CRC polynomials of orders from 1 to 20 bits. There’s probably little chance of the polynomial being of order less than 8, but it doesn’t take long to test all the short ones.

This entry was posted in Calculators, Nonpareil. Bookmark the permalink.

Leave a Reply