HP-35/45 Simulator for PDP-8
Kyle Owen
kylevowen at gmail.com
Tue Sep 13 18:30:29 CDT 2016
On Tue, Sep 13, 2016 at 2:55 PM, Klemens Krause <
krause at informatik.uni-stuttgart.de> wrote:
>
> First PAL8 complained about "IFNZER". PAL8 wants "IFNZRO"!
> After changing this, assambly was successfull, and I could start the
> program on the straight-8. All seemed to be ok, with the exception,
> that sine (keyboard I) and roll (keyboard L) do not work with your
> new version. These keys are just ignored.
> Same behaviour on my 8/E, no difference to the straight-8.
>
Huh, palbart understands both IFNZER and IFNZRO, so I'll fix it to use the
latter.
The keys were updated for the HP-35 and HP-45 to be more intuitive for the
commonly-used functions, 'S' and 'R' are now sine and roll, which were
formerly store and recall. Store and recall are now '<' and '>',
respectively. Look in the code for the key lookup table; I have an ASCII
table of keys arranged in the HP-35/45 keyboard pattern. Both the HP-35
only and HP-35/45 versions use the same keyboard code.
Another issue: your BSWSUB has still the bug, that
> DCA BSWTMP
> SNL
> CMA
> DCA BSWLNK
> CLL / THIS MUST BE!
>
> the CLL is missing. Without this, the bit 0 on entry of this routine
> is inverted, when the link is set on entry.
> Remember, the link is not a carry!
>
Hmm. Sounds like I need some more complicated test vectors! Either that or
the link is never set prior to entry, which I doubt. I'll look at adding
Doug's new code to the mix. Nice work, Doug!
Next question: my hp35 has 36 keys. The 36th key is not accessible
> for normal users. It's hidden below the "ENTER" key. What does this
> key do? If I remember right, it's a kind of debug-key. I believe it
> shifts the whole register including exponent and signs digit by digit
> to the left.
Sounds like Eric has answered your question, but no, this simulator doesn't
support the extra button without changing one line of code; I can add that
as an option if interested for the HP-45 portion, but I'd think the
stopwatch mode serves zero purpose on this simulator, as it would never run
anywhere close to the accurate time anyways.
Kyle
More information about the cctech
mailing list