The Hewlett Packard calculators had their binary code inserted into the ROMs as part of the fabrication of the chip. The code was written in assembly language, then heavily tested on hardware simulators. The original HP-35 had a bug in the logarithm code. The bug had to be found and fixed, retested, new ROM chips fabricated and packages. Then owners that wanted it fixed had to mail their calculator back to HP. The unit was opened up, a ROM chip removed, the new ROM soldered in, unit closed up, tested, mailed back. All for free.
There was a very strong demand that this never happen again. I am unaware of any other HP calculator recalls.
Each calculator code was considered complete.<p>The early video games, both console and arcade, were delivered in ROM chips. Also early embedded systems like DVD/CD disk players, televisions, modules in cars, routers, etc.