I’ve recently updated the HP-65 emulator. The new version says "1.02" if you choose [Menu/Display] [About].
Tag Archives: hp65internals
HP-65 – Testing Subroutines
An emulator is supposed to mimic the behaviour of the real thing. It should do the same things, in the same way and give the same outcomes. But sometimes they don’t quite match. Continue reading HP-65 – Testing Subroutines
HP-65 Number Entry Microcode
Here’s what happens when you press 123.45 EEX 78 CHS. Continue reading HP-65 Number Entry Microcode
HP-65 Number Entry
Here’s what happens internally when you enter a number into a HP-65 calculator: Continue reading HP-65 Number Entry
HP-65 GTO
The GTO function is pretty straight forward in the HP-65 calculator. Here’s how it works: Continue reading HP-65 GTO
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? Continue reading HP-65 Error Display
The Real HP-65 R/S Sequence
Now that the HP-65 Delayed Select Group instruction is behaving just like the real thing, it becomes possible to see what the real microcode does for the [R/S] key and as a program step. Here’s the details: Continue reading The Real HP-65 R/S Sequence
A Better HP-65 Emulator
I was wrong. The HP-65 microcode available on the internet works fine. See HP-65 R/S. It’s the emulators that are broken (slightly). See HP-65 Delayed Select Group. Here’s how I fixed mine: Continue reading A Better HP-65 Emulator
HP-65 Delayed Select Group
The HP-65 “delayed select group” microinstruction doesn’t behave the way you’d expect. I don’t know whether its behaviour changed for the ’65 or if it was like this on the earlier calculators too. Here’s what it doesn’t and what it does … Continue reading HP-65 Delayed Select Group
HP65 Microcode R/S Infinite Loop
As discussed in HP-65 R/S, the commonly available microcode for the HP-65 calculator goes into an (almost?) infinite loop if you press the [R/S] key. Here’s what it looks like: Continue reading HP65 Microcode R/S Infinite Loop
HP-65 R/S
The [R/S] key is supposed to allow you to Run and Stop a user entered program. That, by itself, is useful. However, it also allows you to stop a program at a predetermined point and allow data to be keyed in. That is also very useful. When you’ve keyed in (or calculated) the value, you just press [R/S] to resume the program.
But it doesn’t work. Continue reading HP-65 R/S
HP-65 RTN
The RTN key does a return from a subroutine. It also stops a main program and, if nothing’s running at all, it will take you to the “top of memory marker” (“00 00” in w/prgm mode).
Here’s how it does all that: Continue reading HP-65 RTN
HP-65 – Pressing the [A] key
When you press the [A] key the HP-65 calculator starts looking for a “LBL A” in program memory and then runs it. Unlike the HP-67 which has a “(use) default functions” flag, the HP-65 fires up with its default functions entered into program memory. This simplifies the ’65 processing for [A].
Here’s what happens: Continue reading HP-65 – Pressing the [A] key
HP-65 – The s8 “Running” Flag
It looks like s8 controls whether a program runs or not. Here’s why: Continue reading HP-65 – The s8 “Running” Flag
HP-65 Display X in FIXed mode
Here’s how we get X displayed when we’re in FIXed display mode. Continue reading HP-65 Display X in FIXed mode
HP-65 Key Press Routine
Here’s how we get from a key press to the HP-65 (or emulator) actually doing something … Continue reading HP-65 Key Press Routine
HP-65 Microcode – STO and RCL
Interestingly, all of the STO and RCL instructions in program memory goto the same microcode address. Also of interest is these instructions show the clash between “merged” keystrokes and unmerged ones: STO and RCL are merged keycodes (one step for two key presses); but not all of them are merged. (I think they ran out of available codes before they ran out of key sequences and decided to keep what they could.) As a result, you can see the behaviour of both approaches in the same instruction. Continue reading HP-65 Microcode – STO and RCL
HP-65 Program Code Jump Table
When the HP-65 runs program steps it gets a program code (0-63) from program memory and then does something depending on the program code. Continue reading HP-65 Program Code Jump Table
HP-65 Display Program Step
How does the HP-65 display a program step? If you run the HP-65 emulator with logging turned on and flick the switch to W/PRGM you’ll see. Here’s the details: Continue reading HP-65 Display Program Step
HP65 s3 – W/PRGM
The HP-65 calculator has an internal set of status flags known as the “s register”. “s3” is one of those flags but it behaves a bit strangely … Continue reading HP65 s3 – W/PRGM