HP Forums

Full Version: hp-71b "HR" & "HMS" functions
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Hello,

Does anyone know how to add the "HR" & "HMS" functions to the hp71b? I realize these functions are available in the JPCROMX.BIN file, as posted previously. However, I do not have a way to add these to my 71b. I have the basic unit with a card reader.

Is it possible to type the code into BASIC, creating these functions in a similar manner as the "Command Stack Extender" program posted previously?

The "Command Stack Extender" program is really useful. Would like to see more programs as such.

Thanks,
Terry Ingram

Hello HP-71 fans,

May be we can turn this question into a micro challenge:
write the smallest DEF FN functions to implement the HR and HMS features on the HP-71B.

J-F

How about one of the many HMS Lex files. You can utilize the "makelex" program to get a LEX file into your 71b by typing the binary code in line by line.

Let me know if you're interested in this path and I can help further.

Andy

Hello Andy,

Yes. I am interested...

I found a file on this site named "hmshrsrc.txt". Is this one of the lex files that you are referring to?

Thanks,

Terry

hmshrsrc.txt is the source code to the LEX file. You would need the Forth/Assembler rom to create a lex file from it.

The makelex program will work on a standard 71b but you'll need the hex listing of the lexfile to use makelex (these come from running dumplex). A lot of lex file's hex listings are on Jake Schartz's CD rom archive of the PPC and DataFile Journals.

Andy

Here is the BASIC program for making LEX files.

0010 SFLAG -1 @ ON ERROR GOTO 30 @ DESTROY ALL 
0020 PURGE DUMMY
0030 ON ERROR GOTO 220
0040 INPUT '# of bytes: ';N
0050 CREATE TEXT DUMMY,N
0060 A=HTD(ADDR$('DUMMY')) @ A1=A @ P$=RPT$("-",16)
0070 Q=1 @ X=0 @ INPUT '000: ',P$;A$ @ C$=A$ @ GOSUB 200
0080 Q=2 @ X=1 @ GOSUB 190
0090 A$=A$&C$ @ A=A+37 @ N=N*2+31 @ Q=3 @ SFLAG 5
0100 FOR X=2 TO N DIV 16-1
0110 GOSUB 190
0120 IF FLAG(5) THEN C$=C$[6]
0130 POKE DTH$(A),C$ @ A=A+16-5*FLAG(5,0) @ NEXT X @ Q=4
0140 DISP DTH$(X)[3]; @ INPUT ': ',P$[1,MOD(N,16)];C$
0150 GOSUB 200
0160 L=LEN(C$) @ IF C$[L,L]='-' THEN C$=C$[1,L-1] @ GOTO 160
0170 POKE DTH$(A),C$ @ POKE DTH$(A1),A$
0180 OFF ERROR @ CFLAG -1 @ END
0190 DISP DTH$(X)[3]; @ INPUT ': ',P$;C$
0200 DISP DTH$(X)[3]; @ INPUT ' ck ','--';C1$
0210 S=0 @ FOR Z=1 TO LEN(C$) @ S=IP(NUM(C$[Z,Z])*Z+S) @ NEXT Z
0220 IF C1$=DTH$(MOD(S,256))[4] THEN RETURN
0230 DISP 'Checksum Error' @ BEEP @ POP @ ON Q GOTO 70,80,110,140
0240 DISP 'Error:'&ERRM$ @ BEEP @ GOTO 180

I have about 30 LEX files I got from the /lif/swap disk library that I striped of headers and trailers. I have some of these on cards the rest are on my PC that I transfer with my IL/RS232 interface.

appt1.lex      setalarm
attnlex.lex attn
beeplex.lex chirp, mgun, sing, zap
bytefcns.lex indir, peekb$, pokeb
chronolx.lex chrono$, chrono
clockdsp.lex
clocklex.lex clock
cmd16lex.lex
cmdlex.lex cmdstk
comlex.lex clock, cmdstkq, cmdstk, cntrstq, crateq, dsp$, lock$, lrateq, pwidthq, widthq
datalex.lex ddelete, dinsert, drecords, expand, reclen, swap
datelex.lex dateadd, datestr$, ddays, dmy, dow$, dow, mdy
dsplex.lex bld, blink, clr, dot, invert, lcd, mirror, nrmal, set, small
dtlex.lex dt
escapelx.lex boldoff, boldon, compress, eightlin, expand, expcmp, normal, perfoff, perfon, sixlin, underoff, underon
findlex.lex find
helplex.lex help
hexlex7.lex esc$, hextoa$, hex$, inhex$
hmslexp.lex hms+, hms-, hms, hr
kbeep.lex
keywait.lex keywait$
listlex.lex listlex$ ("lexfile")
lockoff.lex
menulex.lex menu
noise.lex noise
romcopy.lex
textutil.lex delete, fileszr, insert, replace, search
yesnolex.lex yes/no

Chris

How do you transfer programs to/from your PC using the 82164 and your 71b?

Andy

I use Tony Duell's lifutils suite of programs for Linux.

I tried to find the URL in my bookmarks but a quick scan didn't turn it up.

I have to get my 82164 out of storage and load up the jpc-rom that is available now which has most if not all of the keywords I sited.

Chris

Hello,

you can find "LIF Utilities for linux v1.4" from Tony Duell at the following URL :

http://www.hpcc.org/hpil/lif_utils.html

They are very usefull. If you don't have Linux installed, try Knoppix (http://www.knopper.net/knoppix/index-en.html), the distribution that you can boot from a CD with no install on your hard disk.

Alain

Thanks everyone for the help with the "HR" & "HMS" functions.

I used the MAKELEX program & hex dump of HMSLEX2.

This procedure really works great. Just what I needed.

Would like to understand the underlying process a little better... source code, creating the hex dump, etc.

Thanks,
Terry Ingram