HP Forums

Full Version: fixes for HP-45 and HP-55 simulators
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

I've been playing with the HP-45 and HP-55 simulators---very
interesting! It turns out there are some errors in the assembly code as transcribed from the listings in the patents:

hp45.asm:
---------

99c99
< if a[x] >= 1
---
> if a[xs] >= 1

hp55.asm:
---------

67c67
< ofl: delayed select rom 3
---
> ofl: delayed select rom 5
1601c1601
< ent14: c -> a[x]
---
> ent14: 0 -> a[x]
2012c2012
< c + 1 -> c[w]
---
> c + c -> c[w]
2025c2025
< c + 1 -> c[w]
---
> c + c -> c[w]
3115,3116c3115,3116
< out1: c - 1 -> c[xs]
< out2: c - 1 -> c[xs]
---
> out1: c - 1 -> c[x]
> out2: c - 1 -> c[x]

They were found by hacking up an OCR to look at the '1's and '.'s in the patent TIFFs, so these are probably all the mistakes.

The HP-55 now works under casmsim, at least in ordinary "run" mode. I don't know how to emulate the timer-program-run switch, though. Something to do with S3 or S8, maybe, but exactly what is not clear from the code (which could do with a few comments).

A modified xio.c to display the HP-55 keyboard is available here, along with revised hp45.asm and hp55.asm:

http://www.pmonta.com/calculators

Cheers,
Peter Monta