Re: HP-85B internal information? Message #4 Posted by Valentin Albillo on 28 Nov 2003, 4:38 a.m., in response to message #3 by Vassilis Prevelakis
Hi, Vassilis:
Vassilis posted:
"If I have a (say) HP-85 binary program that I want to run on the HP87, then all I need to do is disassemble the
binary and feed the assembler source into the HP87 assembler. Does this sound right? Can this be done with ROMs as well?"
As mentioned in my previous post, there's the problem that all system calls (there will be a lot in most any binary program) will have different addresses and some may have
different syntax, parameters, and results, or even do not exist altogether. The resulting source code would most likely not compile, but even if it did, the resulting binary would be 99.9999% sure to crash the machine on execution.
Consider, for instance, the case for handling BASIC variables (perhaps passed as arguments to the binary or used to return results). HP-85's variables must have names which are either single letters (A..Z) or letter-digit (A0, Z7), disregarding capitalization, plus you can't have string arrays DIM A$(10,10). On the other hand, the HP-86/87 does allow longer names, with capitalization (Cost = 23), and string arrays. It's obvious that all routines having to do something with variable names (parsing, etc) or string arrays, are going to be very different among both operating systems.
Also, any routines dealing with the CRT, either alpha text or graphics, will be vastly different as well, any printing operations intended for the HP-85 built-in printer will not automatically translate to their corresponding HP-IB printers counterparts, same for mass storage operations used with the built-in tape drive which won't translate to their Mass Storage ROM equivalents, etc.
In short, I don't think that you can feed HP-85 assembler source code to the HP-86/87 Assembler ROM and expect it to compile and/or run without extensive modifications.
There's also the problem of documentation: if I remember correctly, the HP-86/87 Assembler ROM Owner's Manual was dreadful, specially from the standpoint of *completeness*. Only a few dozens of the miriad of potentially callable internal system's routines were even mentioned in the manual or documented, and even that very scarcely. So you were on your own trying to accomplish anything, absolutely lacking most any necessary information. I don't know if this documentation problem was ever solved, either by further materials from HP or else through User Clubs.
Best regards from V.
|