My Favorite HP Calculator Bugs by Joe Horn HP-01 (a) Y2K bug: Can't set the date to 29 Feb 2000. (b) Dividing the running stopwatch by 0 causes a crash so bad that only a hard reset (battery removal) can recover from it. HP-9g (a) Shares some bugs with HP-30S, e.g. "ln(2 + 2*10^(-9)) - ln(2)" returns a negative number. (b) Fails to display some simple fractions, e.g. 7/6 F<>D remains in decimal form. HP-11c (a) Pressing [1][1][.][<--][ENTER] puts 12 on the stack (early models only). (b) [2][.][3][4][CHS][<--][<--][<--][ENTER] puts -3 on the stack. HP-15C Pressing ON+D performs a bit rotation on register X, sometimes resulting in strange objects or non-normalized numbers or even matrices. HP-16C (a) GSB(i) and GTO(i) exist but are not mentioned anywhere in the manual. The keystroke sequence is GSB I and GTO I, respectively. They go to the label whose value is in I. (b) The complement mode shouldn't have any effect on ISZ but it does, since the index register is handled like any other binary value. HP-17BII and 19BII Negative/swap bug (can cause Memory Lost) in early models. HP-25 (a) Shift-Sigma is a programmable hidden NOP. (b) Switching to PRGM mode while holding a key down creates NNN's. HP-28C Coma mode draws MORE power than deep sleep mode (power off). HP-28S version 2BB Creating a 256x256 matrix causes Memory Lost. HP-30s (a) Square root only accurate to 12 digits. (b) Some fractions don't display correctly (e.g. 1/110 is shown as 0/1). HP-32SII (ROM version 0) A fraction bug made flags 8 and 9 almost useless. HP even included an addendum with the manual that suggested that flag 9 not be used at all. Unfortunately they kept sending out that addendum even after they fixed the bug in ROM version 1. HP-35A (early versions) (a) Inaccurate e^x, x^y, and inverse trig functions. (b) Can't square root negative zero. HP-35s VIEW(I) in a program shows wrong name for the stat registers. HP-41 "Bug 9", the catalog bug (allows private programs to be un-privated). This bug is invoked by halting CAT 1 in progam mode, then pressing ALPHA back-arrow. Present in all ROM versions AAA through NFL! HP-45 Hidden stopwatch mode. This bug/feature is accessed via RCL CHS+7+8. HP-49G (a) Keyboard designed by a glue-sniffer. Hard to press; causes sore fingers. Painted rubber keys (!!!) that wear down quickly, leaving the keys blank. Design salesman promised HP 1 million keystrokes before the "protective layer" wore off. He was off by 3 orders of magnitude. That HP believed his ludicrous claim is truly embarrassing. (b) Front of case painted plastic (!!!) that rapidly flakes off, uglifying an already ugly case. (c) Color so offensively cute (metallic glittery-powder-blue) that it was dubbed "Frozen Hamster Butt". (d) Slip-on clear cover that chews into the case and soon no longer holds on. Astoundingly, HP still uses that design in the HP-39G+ and 40G+ (and perhaps others). HP-49g+ Initial keyboard was VERY bad (tactile feedback was loud but not simultaneous with key actuation, and the key hinges easily snapped, rendering that key difficult to use). Improvement took so long that the product was killed soon after the keyboard finally became reliable. Replaced by the 50g. HP-50g The "Busy Bug". Invoked by pressing a key at the same moment that the busy annunciator turns off. Result: the keystroke goes into the key buffer but is not executed until the next system interrupt (e.g. the next keystroke, clock tick, or alarm coming due). HP-65 (a) Lampman Split Logic. More of an unintended feature than a bug; it allows three-way branching by splitting the shift away from shifted functions. Discovered by and named after Dean Lampman. (b) Program line replication by switching to PRGM mode while a program is running. (c) Briefly interrupting battery contact results in random garbage in program memory. Running these "programs" often caused beautiful light shows in the LED display. The best ones got saved on magnetic cards; the most famous was called "Rhapsody in Space" and was featured in "65 Notes". HP-67/97 (a) Putting extremely large and small numbers in the stat registers can create NNN's in the other stat registers. A subsequent RCL Sigma followed by Print Stack can burn out the printer. The NNN's can be recalled to the stack (HP-67 only) by interrupting the View Stack function. These can be used to program very accurate timers and clocks. (b) X can be displayed dynamically in running programs with the unsupported command LBL(i). (c) Inaccuracy in inverse trig functions. HP-71B, ROM BBBB Calendar bug that returned the wrong date much of the time. Fixed in ROM version CDCC. HP-75 (a) Clock bug (reported the wrong time whenever the clock "ticked" during a clock read). (b) If a program contains ROM commands, and the ROM is removed, the ROM commands would be *replaced* in program memory by an error message, permanently destroying the program.