The Museum of HP Calculators

HP Forum Archive 13

[ Return to Index | Top of Index ]

HP-85B internal information?
Message #1 Posted by Nelson M. Sicuro (Brazil) on 23 Nov 2003, 2:42 p.m.

Hi all,

Anyone knows anything of the internals of the HP-85B computer/calculator? What is its processor/instruction set? Any ROM dumps? I'm thinking about a HP-85B emulator, does anyone knows if this exists?

Best regards,

Nelson

      
Re: HP-85B internal information?
Message #2 Posted by Gordon on 23 Nov 2003, 3:57 p.m.,
in response to message #1 by Nelson M. Sicuro (Brazil)

Here is an excellent series 80 web site with ROM images and documentation available:
http://www.series80.org/

      
Re: HP-85B internal information?
Message #3 Posted by Vassilis Prevelakis on 25 Nov 2003, 7:02 a.m.,
in response to message #1 by Nelson M. Sicuro (Brazil)

The processor instruction set is described in the HP-85 Assembler ROM Manual which is included in the MoHPC CDROM (roms/85asmrom.pdf)

To the best of my knowledge there is no emulator for any Series 80 computer. The processor architecture is quite strange and even writing machine language programs is non trivial.

**vp

            
Re: HP-85B internal information?
Message #4 Posted by Valentin Albillo on 25 Nov 2003, 7:53 a.m.,
in response to message #3 by Vassilis Prevelakis

Hi, Vassilis:

Vassilis posted:

"The processor architecture is quite strange and even writing machine language programs is non trivial."

Why, Vassilis, writing machine language programs is *never* trivial ! :-) At least for us, puny humans !

I've written machine language programs for quite a variety of CPUs, from the ZX-81 (aka Timex Sinclair 1000 in the US) onwards, and it was never 'trivial', specially if you had to assemble the code by hand, translating opcodes to hexadecimal and manually calculating the jump offsets, as was the case with the ZX-81 before the first rudimentary assemblers did appear.

I did also write a sizable number of 'machine language' routines for the HP-85, implementing a number of new BASIC keywords and frankly, though not exactly trivial, it wasn't that difficult either. The processor's architecture is not so much 'strange' as unique, with its large 8-byte CPU 'registers' and BCD arithmetic.

I remember distinctly it all was very exciting and enjoyable and you felt great when your newly assembled BASIC keyword would perform as expected (or else crash the machine altogether).

Some people went even further: a friend of mine did write a chess program for the HP-85 which made use of a number of chess-specific BASIC keywords written in assembler to generate all legal moves and search/evaluate the tree at assembly speeds. People at HP were amazed when we showed it to them, and used it at trade show demonstrations to help boost sales. And some HP-written assembly-language programs made incredibly amusing and addictive video games, I still fondly remember BATS and MAZE.

The assembly programming model was very similar to that of the HP-75C and HP-71B, you needed to define parse tables, text tables, polls tables, error messages tables, etc, then code your keywords, which usually made a large number of calls to operating system entry points in ROM (specially for parsing), so you didn't need to reinvent the wheel.

I still keep a number of HP-85 'machine language' listings, spefically written for didactic purposes, to be explained in a number of HP-85 programming courses I taught at the time.

Best regards from V.

Edited: 25 Nov 2003, 7:59 a.m.

                  
Re: HP-85B internal information?
Message #5 Posted by Nelson M. Sicuro (Brazil) on 25 Nov 2003, 8:49 a.m.,
in response to message #4 by Valentin Albillo

Hi, Valentin

I'm very interested in learn all I can about the HP-85B (I don't have one). I am a assembler programmer too (6502, Z80, x86, PIC) and started also with a ZX-81 "clone" here in Brazil (and a HP-15C :).

I want to know the assembler instructions and other hardware things (I/O, memory map, ROM dumps?) to *try* to build an emulator.

Is its processor in the saturn family processors?

Thank you very much

Nelson

                        
Re: HP-85B internal information?
Message #6 Posted by Valentin Albillo on 25 Nov 2003, 9:38 a.m.,
in response to message #5 by Nelson M. Sicuro (Brazil)

Hi, Nelson:

Nelson posted:

"I am a assembler programmer too (6502, Z80, x86, PIC) and started also with a ZX-81 "clone" here in Brazil (and a HP-15C :)."

Same here, more or less, except I never wrote anything for the legendary 6502 (but then I did for the HP-85's CPU)

"I want to know the assembler instructions and other hardware things (I/O, memory map, ROM dumps?) to *try* to build an emulator. Is its processor in the saturn family processors?"

No, it's not a 'Saturn' but a 'Capricorn'. If I remember correctly, the Capricorn series does include the HP-85, HP-86, HP-87, and HP-75 families. Among other things, this means that if you can get an Assembler ROM and/or its Manual for *any* of the above models, you're all set up. The Assembler ROM for the HP-86/87 is a lot easier. For the HP-85, there were both an Assembler ROM and a software assembler available on data cartridge. This software assembler was a complex BASIC program plus the STOREBIN binary, which provided the STOREBIN keyword necessary to add the required header to the assembled file and store it on the tape. You would then load it into memory with the standard LOADBIN keyword (the STOREBIN binary also had the SCRATCHBIN keyword, necessary in order to remove the loaded binary from memory to try another). I did all my assembly programming for the HP-85 using this software assembler, it was rather usable if not exactly fast.

Good luck with your HP-85 emulation and

Best regards from V.

                        
More
Message #7 Posted by Valentin Albillo on 25 Nov 2003, 1:05 p.m.,
in response to message #5 by Nelson M. Sicuro (Brazil)

Hi again, Nelson:

Have a look at these links:

Link 1

Link 2

Link 3

Link 4

Link 5

I'll see if I can find some assembler listings and/or materials and, if successful, will post some.

Best regards from V.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall