HP85 Basic¶
Preliminary listing of HP85(-family?) BASIC programs.
Usage¶
from autoarchaeologist.vendor.hp import hp85_basic
…
self.add_examiner(*hp85_basic.ALL)
Notes¶
We may need to recursively evaluate the stack, for instance so BEEP can see if it has optional arguments in conditional contexts.
We will need a separate class for each ROM. It may then make sense to handle the base set as “ROM#0”.
Test input¶
hp9133a_st506_2.bin
Documentation¶
https://www.kaser.com/hp85/listings/MSROM85B.zip
According to this snippet:
061521 ! 061521 !Summary of disk file types and type-table lookup: 061521 ! type=377 --> next available file 061521 ! type=0 --> empty (hole) file 061521 ! type bit set (msb7 to lsb0) 061521 ! 2 --> **** extended file type(GRAF,ASCI,etc.) 061521 ! 3 --> BPGM 061521 ! 4 --> DATA 061521 ! 5 --> PROG 061521 !
The file types for the HP80 series is a bitmap, and that seems to jive.
LIF filesytems seems to be called “INTERCHANGE DISC” in that code and this snippet:
061716 !CONVERTS 2-BYTE INTERCHANGE DISC TYPE TO 061716 !1-BYTE DISC TYPE. […] 061716 !NOTE: -16001 <= INTERCHANGE CAPR TYPES <= -20000 (octal) 061716 ! i.e. CAPR FILE TYPE - 20000 --> INTERCHANGE CAPR TYPE
Indicates that the HP80 series occupies the 0xe000…0xe3ff range of file types in LIF.
https://www.series80.org/Images/
List of ROM images