The FORTH/Assembler ROM
for the HP-71B

New: revision B


Return to main page

HP-71B FORTH/Assembler ROM presentation

The FORTH/Assembler ROM is 48KB ROM extension of the HP-71B. It provides a FORTH implementation dedicated to the HP-71B specificities and, maybe more interesting, a resident assembler to develop LEX and BIN files on the HP-71B itself.


FORTH/Assembler ROM Documentation and Literature


FORTH/Assembler LEX Source Files (FORTH/Assembler Pac rev.A)




The FORTH/Assembler Pac Revision B - Dec. 2020


This revision provides updated versions of the soft-configured 16K ROM and hard-configured 32K ROM for use in emulators.

Although the soft-configured part can be installed alone in a physical HP-71B, it has little interest without the hard-configured part.

The hard-configured part can only be used with software emulators and in ROM emulators.



Soft-configured ROM part



FORTH1B    LEX    3460 12/19/20 17:46            Updated version 1B

EDTEXT     BASIC  6790 02/23/84 12:00            Unchanged

EDKEYS     KEY      54 02/23/84 12:00            Unchanged

EDLEX      LEX    2384 02/23/84 12:00            Shrink version w/o SCROLL/MSG$

DBGLEX     LEX     141 02/23/84 12:00            Unchanged

KEYBOARD   LEX    1401 06/25/86 14:44            Updated to version C

STRUTIL    LEX    1856 05/05/86 18:18            Combined STRINGLX & CUSTUTIL LEX


The FORTH1B LEX corrects the problem of HP-71B crash if the hard-configured part of the FORTH/Assembler is missing.

Now, a "XWORD Not Found" error is generated when executing FORTH or FORTHX without the hard-configured part installed.


The STRUTIL LEX provides the following utility keywords (part of the User Library 1):

52/01 KEYWAIT$

52/02 SCROLL

52/03 MSG$(#)

52/04 INLINE

52/05 KEYNAM$(#)

52/06 KEYNUM($)

52/07 STD$(#)

52/08 LTRIM$($,?$)

52/09 RTRIM$($,?$)

52/0A TRIM$($,?$)

52/0B RPT$($,#)

52/0C REV$($)

52/0D LWRC$($)

52/0E LWC$($)

52/0F ROT$($,#)

52/10 SPAN($,$,?#)

52/11 MEMBER($,$,?#)

52/12 SBIT$($,#,?#,?#)

52/13 SBIT($,#,#)


Only the two keywords SCROLL and MSG$ were previously provided by EDLEX in the FORTH Pac A.



Hard-configured part


The hard-configured part includes the corrections of the two main bugs of the assembler:

the B=B+B A opcode now has the correct opcode class,

the D1=AS opcode is now correctly assembled.



Version B - Dec. 2020:




Please contact me if you have any suggestions, bug fixes or enhancements to propose!


If you want to modify and re-assemble the FORTH LEXs, you may need the following tools:
(these are 16-bit DOS applications, use DOSBox on 64-bit systems)

You can also refer to this updated Entry Point List:



If you have more information on the FORTH/Assembler ROM history, or if you have bug reports or suggestions for improvement, please contact me:

J-F Garnier, 2020