image of READY prompt

Wang2200.org

Listing of file='TBO.CRF2' on disk='vmedia/toolbox.wvd.zip'

# Sector 849, program filename = 'TBO.CRF2'
0010 REM TBO.CRF2 07/18/88 T.OLSEN 3 of 4 Basic-2 Cross-reference lister
0025 COM R0$16,S3,I$(1)52,V2$1
   : I$(1)=HEX(3A0D222F23D7FF9AA2D2)
   : STR(I$(1),11)="FRTECPBLADSGHIJKMNOQUVWXYZ"
   : STR(I$(1),37)=HEX(E1E48A8B8CE8DFEAA89786A195969B9C)
   : R0$=HEX(010D0220033A04270523062F07402020)
0030 IF D1$(10)=" "THEN LOAD T#0,"TBODISKS"8000,8800BEG 90
0090 V1=E9
   : V2=F9
   : V3=D0
   : V4=T9
   : V5=X9
   : V6=Q9
0100 GOTO 480
0110 REM ..refer to %CROSS for descriptive material
0450 DATA LOAD BA T#2,(A,A)A$()
0470 MAT COPY A$()TO B$()
   : H$=B$(1)
   : AND (H$,F0)
   : RETURN
0480 SELECT PRINT 005(64)
   : GOSUB '15
   : P6,P5=1
   : REM /LISTING+SUMMARY
   : M1,M=5
   : L9=56
   : REM /LINES/PAGE
0490 RESTORE
   : Z=1
0500 READ C$
   : C$(Z)=C$
   : Z=Z+1
   : IF Z<125THEN 500
   : $IF ON /000,1450
0510 INPUT "DATE",D$
   : D6,D7,D8=0
   : INPUT "1=SAVE MEANINGS THRU ALL PROGRAMS",D6
0520 C$="DEFAULT="
   : PRINT "For annotation KEY--0=Summary only  1=In Listing  2=In Margin";C$;
     Q1;
   : INPUT Q1
0530 M2=35
   : M9=77
   : IF P5=0THEN 540
   : J=0
   : PRINT "PAPER WIDTH  NARROW=0  WIDE=1  ";C$;J;
   : INPUT J
   : IF J=0THEN 540
   : M2=70
   : M9=115
0540 M3=M1+M2
   : P4,J,S2=0
   : PRINT "List mode      KEY--0=List + XRef   1=List only   2=XRef only"
   : PRINT C$;P4;
   : INPUT P4
   : IF P4<0 THEN 540
0544 PRINT "START STMT",C$;S2;
   : INPUT S2
   : IF S2=0THEN 550
   : STR(D$,LEN(D$)+2)="PARTIAL LISTING**"
0545 S3=9999
   : INPUT "END STMT",S3
   : IF S3<S2THEN 540
0550 DEFFN'0
   : GOSUB '98
   : D=D9
0580 SELECT #2<D1$(D)>
0620 P7=0
0630 DEFFN'1
   : IF D=0THEN 550
   : ON P7GOTO 640
   : E$=" "
   : PRINTUSING "##",J+1;
   : INPUT " Disk Program Name+commentary. S.F.'1 ON ERROR 80)",E$
   : GOTO 650
0640 READ E$
   : PRINT E$
0650 IF E$=" "THEN 655
   : IF E$="DATA"THEN 820
   : IF E$="ALL"THEN 675
   : IF E$="ALL-"THEN 675
   : IF E$="CLEAR"THEN 670
   : IF E$<>"^"THEN 660
   : J=J-1
   : IF J<1THEN J=0
   : GOTO 630
0655 ON P7GOTO 620
   : IF J=0THEN 550
   : GOTO 1410
0660 P$=E$
   : IF P$="CLEAR"THEN 670
   : LIMITS T#2,P$,S,Q,P,P
   : IF P<>1THEN 630
0665 J=J+1
   : P$(J)=P$
   : BIN(STR(P$(J),9))=D
   : E$(J)=STR(E$,9)
   : GOTO 630
0670 IF D6=0THEN 660
   : P$=" "
   : PRINT "CLEAR meanings"
   : GOTO 665
0675 X=0
0680 P$=" "
   : LINPUT "COMMON ID",-P$
   : S$=P$
   : IF E$="ALL"THEN 685
   : IF P$=" "THEN IF X=0THEN 630
   : IF P$=" "THEN 685
   : X=X+1
   : X$(X)=P$
   : IF X<Q9THEN 680
0685 DATA LOAD BA T#2,(0,A)A$()
   : AND (STR(A$(1),1,1),7F)
   : H=J+1
0690 FOR Z=VAL(STR(A$(1),1,1))TO VAL(STR(A$(1),2,1))-1
   : Q=1
   : IF Z>0THEN 700
   : Q=2
   : PRINT "SEARCHING"
   : GOTO 710
0700 DATA LOAD BA T#2,(A,A)A$()
0710 PRINT "CAT.SECTOR=";A,,HEX(0C)
   : FOR G=QTO 16
   : L$=STR(A$(G),1,2)
   : IF L$=HEX(1080)THEN 770
   : IF L$=HEX(0000)THEN G=16
0720 NEXT G
   : NEXT Z
0730 IF H=JTHEN 630
   : Z=H
   : FOR G=HTO J
   : IF P$(Z)>P$(G)THEN Z=G
0740 NEXT G
   : IF H=ZTHEN 760
   : XOR (P$(H),P$(Z))
   : XOR (P$(Z),P$(H))
   : XOR (P$(H),P$(Z))
0750 XOR (E$(H),E$(Z))
   : XOR (E$(Z),E$(H))
   : XOR (E$(H),E$(Z))
0760 H=H+1
   : GOTO 730
0770 P$=STR(A$(G),9,8)
   : IF X>0THEN 775
   : IF S$=" "THEN 790
   : IF STR(P$,1,LEN(S$))<>STR(S$,1,LEN(S$))THEN 720
   : GOTO 790
0775 REM .ALL-
   : FOR S=1TO X
   : S$=X$(S)
   : IF STR(P$,1,LEN(S$))=STR(S$,,LEN(S$))THEN 780
   : NEXT S
   : GOTO 790
0780 REM .Exclude
   : S=X
   : NEXT S
   : GOTO 720
0790 PRINT "KEY '-' TO SKIP ";P$,HEX(0C)
   : KEYIN B$,800,800
0800 KEYIN B$,810,550
   : GOTO 800
0810 IF B$="-"THEN 720
   : J=J+1
   : P$(J)=P$
   : BIN(STR(P$(J),9,1))=D
   : PRINT J,"DISK=";D,"PROGRAM ";P$
   : E$=" "
   : INPUT "+ COMMENTARY",E$
   : E$(J)=E$
   : IF J<E9THEN 720
   : Z=999
   : NEXT Z
   : STOP "# files at max. - Key CONTINUE"
   : GOTO 1410
0820 P7=1
   : PRINT "USING DATA STMTS"
   : GOTO 640
0940 DATA "LIST","CLEAR","RUN","RENUMBER","CONTINUE","SAVE"
0950 DATA "LIMITS","COPY","KEYIN","DSKIP","AND","OR","XOR"
0960 DATA "TEMP","DISK","TAPE","TRACE","LET","FIX(","DIM","ON"
0970 DATA "STOP","END","DATA","READ","INPUT","GOSUB","RETURN"
0980 DATA "GOTO","NEXT","FOR","IF","PRINT","LOAD","REM","RESTORE"
0990 DATA "PLOT","SELECT","COM","PRINTUSING","MAT","REWIND","SKIP"
1000 DATA "BACKSPACE","SCRATCH","MOVE","CONVERT","PLOT"," STEP"
1010 DATA " THEN"," TO","BEG","OPEN","CI","R","D","CO","LGT(","OFF"
1020 DATA "DBACKSPACE","VERIFY","DA","BA","DC","FN","ABS(","SQR("
1030 DATA "COS(","EXP(","INT(","LOG(","SIN(","SGN(","RND(","TAN("
1040 DATA "ARC","#PI","TAB(","DEFFN","TAN(","SIN(","COS(","HEX("
1050 DATA "STR(","ATN(","LEN(","RE","#","%","P","BT","G","VAL(","NUM("
1060 DATA "BIN(","POS(","LS=","ALL","PACK","CLOSE","INIT","HEX"
1070 DATA "UNPACK","BOOL","ADD","ROTATE","$","ERROR","ERR","DAC"
1080 DATA "DSC","SUB","LINPUT","VER(","ELSE","SPACE","ROUND","AT(","HEXOF(","M
     AX(","MIN(","MOD(","DATE","TIME"
1250 DEFFN'14
   : PRINT "LIST OPTIONS"
1260 PRINT "THE CROSS-REFERENCE PROGRAM INTERPRETS PAGE FORMATTING IN A"
   : PRINT "BASIC PROGRAM FILE--"
   : PRINT "VARIATIONS MAY BE ENTERED IN REM% STATEMENTS"
1270 PRINT "1. REM%^+COMMENT   PAGE EJECT THEN PRINT"
   : PRINT "2. REM%D+COMMENT   SPACE THEN PRINT, WHERE D IS 1 TO 9 LINES"
   : PRINT "3. REM%+ COMMENT   NOTE COMMENTS ARE PRINTED IN EXPANDED TYPE"
1280 PRINT "4. (COLON) REM/ WILL BE LISTED ON LINE OF PRIOR INSTRUCTION"
1290 PRINT "5. REM%0 FOR ENTERING DATA INTO THE VARIABLE MEANINGS TABLE."
1300 PRINT "  REM%0NAME MEANING,NAME2 MEANING,...ETC."
   : PRINT "  NAMES CAN BE OF VARIABLES, SPECIAL FUNCTIONS, OR # REFS."
1310 PRINT "6. NOTE*** COMMENTS ENTERED AFTER GOTO OR RETURN STATEMENTS"
   : PRINT "   DO NOT AFFECT THE EXECUTION TIME OF A PROGRAM."
   : RETURN
1320 DEFFN'12
   : PRINT ,"CROSSRF--CROSS-REF. WITH MEANINGS"
   : PRINT "1. INPUT is program files from disk"
1330 PRINT "2. OUTPUT is 80 or 132 column printer pages"
   : PRINT "3. Variable meanings may be by REM%0 stmts."
1340 PRINT "  The meanings table is cleared after a SUMMARY."
   : PRINT "  A SUMMARY occurs only if there are variables in a program."
1350 PRINT "4. It is efficient to store the meanings as a separate file."
   : PRINT "  Such a file might contain a complete program write-up"
   : PRINT "  and a description of all variables used."
   : RETURN
1360 DEFFN'10
   : PRINT "'10 IS ACTIVE ONLY IN CROSSRF OVERLAY"
   : RETURN
1370 DEFFN'11
   : PRINT "'11 IS ACTIVE ONLY IN CROSSRF OVERLAY"
   : RETURN
1380 DEFFN'15
   : PRINT "CROSSRF  -- S.F. Entry points"
1385 PRINT "From prompt module:"
1386 PRINT "'0  Change Disk Media"
   : PRINT "'1  Pick-up prompting in program names"
1392 PRINT "'5   display VERB atoms";TAB(40);"'15  Show S.F. actions"
1394 PRINT "'12  Write-up";TAB(40);"'14  List options"
1395 PRINT "From cross-reference listing mainline:"
1396 PRINT "'10  Summary to Printer/CONTINUE";TAB(40);"'11  Summary only"
1400 PRINT
   : RETURN
1402 % ## ####  ---  ### ########
1405 PRINT HEX(0C030E);"CROSSRF PROGRAM LISTING INDEX"
   : PRINT
   : PRINT HEX(0E);D$
   : PRINTUSING 1402," ","DISK","No.","PROGRAM"
   : FOR J=1 TO P7
   : G=VAL(STR(P$(J),9))
   : PRINTUSING 1402,G,D1$(G),J,STR(P$(J),1,8);
   : PRINT E$(J)
   : NEXT J
   : RETURN
1410 P7=J
   : SELECT PRINT 005(64)
1415 E=0
   : REM /.Even page listings  0=Disable  1=Enable
1420 GOSUB 1405
   : IF P5=0THEN 1425
   : PRINT "TURN PRINTER ON"
   : ON P5SELECT PRINT 215;PRINT 204;PRINT 216
   : PRINT
   : IF P7>3THEN GOSUB 1405
1425 IF P4=2THEN P5=-P5
   : SELECT PRINT 005
1440 LOAD DC T#0,"TBO.CRF3"
1450 P5=1
   : INPUT "Output to 0=CRT 1=215 2=204 3=216",P5
   : GOTO 510
3000 DEFFN'5
   : SELECT PRINT 005(80)
   : PRINT HEX(03);"BASIC-2 Verb atoms"
   : B$=HEX(80)
   : FOR A=1 TO 124
   : PRINT HEXOF(B$);"=";STR(C$(A),1,10);"       ";
   : ADD(B$,01)
   : NEXT A
   : RETURN