Reverse-Engineering the HP-75C

or "How Did I Get Myself Into Yet Another Project?"

Key Functions | BASIC Commands | HP-IL Operations | Other HP-75C Resources | Feedback

[Last updated Thursday, 05-May-2016 09:23:00 PDT (Deleted E-mail addresses)]
Denotes information added to this page at the last update.
Hit count since 1 January, 1996: [an error occurred while processing this directive]

HP Basic Command Summary

HP 75 Operations Summary

(From the actual documentation!!)

Essential Key Functions

Key Function
ATTN Power on
SHIFT-ATTN Power off
ATTN (with program running) Break program
TIME Display/Set time
APPT Display/Edit appointments
EDIT Command-line mode
Up-Arrow Up one line in program or catalog listing
Down-Arrow Down one line in program or catalog listing
Left-Arrow One character left
Right-Arrow One character right
I/R Insert or Replace characters
FET Retrieve (fetch) a given line of BASIC code for editing
DEL Delete one character right
CLR Clear command line
SHIFT+LOCK Lock alpha keys in upper-case
LOCK Turn off upper-case if shift-locked
CTL+any letter key Generates a Greek letter or other symbol

HP-BASIC Commands Discovered or Deciphered To Date

Command Function Syntax Invocation
@ used as a command separator to put multiple commands on one line for i=1 to 10 @ print i @ next i N/A
; used in I/O statements to append data without linebreak 10 print "hello ";
20 print "world"
N/A
assignio assign names to connected HP-IL devices
user input      HP75C response
assignio        1 Device(s) on loop
                Device #1 = ':  '
RTN
beep make the speaker go "beep" from command line or program beep; beep N (0<N<1650 step 10); 10 beep N RTN
cat catalog of saved programs cat (shows last program edited); cat all (lists all stored programs) RTN
copy make a copy of a stored program copy 'prog1' to 'prog2' RTN
def fn define a function (see also end def) 10 def fnf(x)= 1/(1/x)
20 input x
30 print fnf(x)
used in programs
delete delete a line or range of lines delete 10; delete 10,100 RTN
dim set the dimensions of an array dim a(5); dim a(5,5) RTN (usually in programs)
disp synonym for print disp "hello "; @ print "world" RTN (usually in programs)
edit edit new or saved program in basic or text mode edit 'program'; edit basic; edit text RTN
end def marks the end of a multiline function 10 def fnq(a$)
20 input "what is your name? ";a$
30 b$="Hi, ";a$ 40 end def 50 print fnq(a$
used in programs
fetch retrieve a specific line of BASIC code for editing (equivalent to the FET key) given:
10 REM line 10
20 REM line 20
30 REM line 30
fetch 20 returns:
20 REM line 20
RTN
goto x jump to the specified line number 10 print "hello "
20 goto 40
30 print "world" 40 print "there"
used in programs
hex$(x$) returns the hex value of a string or sting variable print hex$("A") returns 40, or 64 decimal RTN (usually in programs)
input get user-entered data input a$ RTN (usually in programs)
list lists current program list 10; list 10,100 RTN
mem return current amount of free memory mem RTN
output ? RTN
print display data on LCD (or send to HP-IL?) print "hello"; print i; print a$ RTN (usually in programs)
printer is Assign a previously named HP-IL device as the output device printer is ':aa' RTN
purge erase program or appointment purge 'program'; purge appt RTN
put ? RTN
rem a comment in a program 10 rem this line is a remark RTN (usually in programs)
rename rename a stored program rename 'prog1' to 'prog2' RTN
reset i/o reset the HP-IL bus? RUN
rmd(x,y) ?
run run the current program run; run 'program' RTN
set set the time and date set (in time mode) TIME mode
short a data type?
time returns the system time in seconds since midnight (to three decimal places) time; 10 n=time RTN
work ? RTN
command function syntax invocation

HP-IL Functionality and Interfacing

My most profound thanks to Paolo Marri of Roma, Italy for giving me a couple of HP-IL hints. To wit:

My undying gratitude also to Michael Sperber, of Bubenreuth, Germany for sending me reprints of the Computerclub Deutschland Prisma newsletter, chock-full of HP BASIC program listings. Now, if I can just con one of my German-speaking coworkers into doing some translating for me... .

And there's no way to thank Mark Hardman enough: He sent me reprints of the actual HP-75 documentation!! Also a Yahtzee program he'd written 'way back when. (Mark's given me permission to put his sources on this page, but I'll have to free up some space first.)

To Alex Knight, who happened to have an offline copy of this page lying around when I inadvertantly trashed it: Thanks buddy, you really saved me!

Here's some basic information on the HP-IL interface. (From The HP-IL System: An Introductory Guide to the Hewlett-Packard Interface Loop, by Gerry Kane, Steve Harper, and David Ushijima, OSBORNE/McGraw-Hill, 1982.)

Other HP-75C Resources

Back to my Home Page