Post Reply 
HP-71 PLEX & LEXCAT
11-04-2020, 02:02 PM (This post was last modified: 11-04-2020 03:54 PM by KimH.)
Post: #1
HP-71 PLEX & LEXCAT
NEVER MIND - Sorry!

In the DATAFILE V8N4 P28 I found the answer - it was PEEKUTIL which had the XFN920##



in the amazing Online-LIF-Disk-Project archive I have searched for and found a function in the CHUU02, PLEX, which is a Basic program (By John Baker). I have "CALL"ed it.
It generates a long and interesting list for each LEX-File I have on my TITAN.

I tried MATHLEX and ULIB52, just to learn

I can see each "function" the lexfile has, couldn't do that before, so that is cool!

BUT

I struggle to understand the significance of the various messages it generates. I was hoping to be able to see what type of arguments a function would require.

Example in ULIB52 is CLOCK. It can be used with ON/OFF or simply toggles without an argument/modifier.

Other functions like SYSTEM I am not able to decipher

Is there anyone of y'all who has a description of what PLEX is used for and how to read it?

I have also tried LEXCAT, but it has XROMS 92004 (could be REV$), 90002 and 92006 (??) etc, even worse, one of the functions I have on my EMU71 is called CPUV (the one which tells m whether the TITAN unit has a newer CPU) is recognized in the BASIC code Smile

No obvious way for me to tell what they could be - maybe there is a hint or even a list which I can use as X-Ref. I did try the JPC rom, could have been that one, but no.

Any help is appreciated

Code:
>LIST LEXCAT
10 INPUT 'LEX File: ';F$ @ CALL LEXCAT(F$)
20 SUB LEXCAT(F$) @ ON ERROR GOTO 290 @ Y=NOT LEN(F$) @ IF Y THEN 60
30 IF XFN92004(HTD(ADDR$(F$))+16,2)#8 THEN DISP 'ERR:Not LEX file' @ END 
40 S=HTD(ADDR$(F$))+37 @ F$=(F$&RPT$(" ",7))[1,8]
50 C=S+25+NOT XFN92004(S+11)*79 @ T$=DTH$(C)&XFN92006(S,6) @ GOTO 90
60 A=HTD(XFN113001('BFC'))+7 @ ON ERROR GOTO 100
70 T$=XFN92006(A,11) @ C=HTD(T$[1,5]) @ F$=XFN92007(C-62-NOT XFN92004(C-14)*79,8)
80 P$=ADDR$(F$) @ PRINT 
90 PRINT F$;
100 PRINT TAB(11);"ID=";T$[10] @ M=HTD(T$[8,9]) @ B=XFN92002(C-13,4)
110 IF XFN92004(C-5,5) THEN PRINT "(";CPUV(C-5,5);")  Poll Handler"
120 IF XFN92004(B,2)=255 THEN 300
130 L=XFN92004(B-1)+1 @ W$=XFN92007(B,L/2) @ S$=XFN92006(B+L,2) @ D=C+(HTD(S$)-M)*9
140 PRINT "(";CPUV(D+3,5);") "; @ B=B+L+3
150 IF NOT HTD(S$) THEN PRINT " -- ";W$;" ffn" @ GOTO 120
160 PRINT " ";S$;" ";W$; @ E=XFN92004(D+8) @ IF NOT E THEN PRINT " postfix" @ GOTO 120
170 IF E#15 THEN 250
180 E=RMD(XFN92002(D+3,5,-2),1048576) @ P=XFN92004(E) @ Q=XFN92004(E+1)
190 IF Q THEN PRINT "("; ELSE PRINT " fn" @ GOTO 120
200 FOR I=1 TO Q @ IF I#1 THEN PRINT ",";
210 E=E-1 @ X=XFN92004(E) @ IF I>P THEN PRINT "?";
220 IF X>11 THEN PRINT "#/$"; ELSE IF X>7 THEN PRINT "#"; ELSE PRINT "$";
230 IF RMD(X,4) THEN PRINT "()";
240 NEXT I @ PRINT ")" @ GOTO 120
250 IF NOT BIT(E,3) THEN PRINT " ~P";
260 IF NOT BIT(E,2) THEN PRINT " ~I";
270 IF NOT BIT(E,0) THEN PRINT " ~K";
280 PRINT @ GOTO 120
290 DISP 'ERR:';ERRM$ @ BEEP @ END 
300 IF KEY$="#38" THEN END 
310 IF NOT HTD(T$[10]) THEN END 
320 IF Y THEN A=A+11 @ GOTO 70
330 IF XFN92004(S+6,5) THEN S=XFN92002(S+6,5) @ F$='' @ GOTO 50
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HP-71 PLEX & LEXCAT - KimH - 11-04-2020 02:02 PM
RE: HP-71 PLEX & LEXCAT - rprosperi - 11-04-2020, 03:55 PM
RE: HP-71 PLEX & LEXCAT - KimH - 11-04-2020, 04:37 PM
RE: HP-71 PLEX & LEXCAT - Joe Horn - 11-04-2020, 04:11 PM
RE: HP-71 PLEX & LEXCAT - KimH - 11-04-2020, 04:38 PM



User(s) browsing this thread: 1 Guest(s)