On Tue, Jan 28, 2020 at 8:20 AM Jon Elson via cctalk <cctalk@classiccmp.org> wrote:
> Soem years ago I needed to crack the CRC on a Fanuc serial > encoder. Luckily, the CRC value > was just 5 bits. I built a device to read out and store the > data from the encoder on a PC. > Then, I wrote a little c program that had a "universal" CRC > implementation, where the polynomial > was supplied as a command line parameter. > I did basically the same thing in the 1990s to reverse-engineer the 10-bit CRC used in HP series 30 ("Spice") calculators (from the late 1970s) for their ROM test. The series 30 calculators implemented the ROM self-test as a single CPU instruction that took 1025 clock cycles to execute, verifying the CRC of 1024 words of ROM, and returning a pass/fail indication. Later HP calculators did away with the CRC hardware. The HP-41C doesn't have a ROM self-test built in, though there was a diagnostic ROM used within HP, and it used a simple checksum rather than a CRC. The series 10 calculators ("Voyager") had a built-in ROM self-test, which used a simple checksum.