HP-65 Error Display

What causes the HP-65 display to flash? What triggers it, how is it done in the microcode, and how does it get out of it again?

According to the manual, “The display blinks when any of several improper operations are attempted. Pressing any key stops the blinking without otherwise performing the key function.”

It goes on to list the improper operations. These include the obvious “0 1/x” and “5 CHS √” but also “Magnetic card read – Blank card; bit or word dropped during reading”.

The error routine is at 00451:

00451 c + 1 -> c[xs]     ; C= 00000000000101
00452 0 -> s10
00453 if s5 = 0
00454 goto 00750
00455 c + 1 -> c[x]      ; C= 00000000000102
00456 goto 00451

It loops through that 100 times then it flashes the display:

00457 goto 00732
00732 disptoggle         ; flash display
00733 goto 00622

Address 00622 takes us back to the error routine:

00622 12 -> p
00623 if s0 = 0
00624 goto 00452
00452 ... (we're back in the delay loop)

The way out of the flashing display error routine is to press any key. That sets s0 to 1 and the “00623 if s0 = 0” progresses to 00625 which looks like:

00625 p + 1 -> p         ; P= 13
00626 if p # 12
00627 goto 00625
; P= 14, 15, 0, 1, 2, ..., 11, 12

00630 0 -> s0
00631 if s10 = 0
00632 goto 00641
00641 if s5 = 0
00642 goto 00734
00643 goto 00737
00737 1 -> f3            ; f= ...3.5..
00740 clearstatus        ; S= ............
00741 goto 00620
00620 if s8 = 0          ; if not running
00621 goto 00531

display:
00531 ...

The whole thing is triggered by s5 = 1. This makes s5 the “error” flag.

You can see s5 being set in:
65-0-a.txt, and
65-5-chs-f-root.txt.

It's only fair to share...Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInShare on StumbleUponDigg thisPin on PinterestEmail this to someone

Leave a Reply

Your email address will not be published. Required fields are marked *