image of READY prompt

Wang2200.org

Listing of file='CROSSRF' on disk='vmedia/tbo_81.wvd.zip'

# Sector 438, program filename = 'CROSSRF'
0010 REM 03/03/81  CROSSnK + CROSSRF +CROSSRF0 T.OLSEN WANG R&D
0025 COM R0$16,S3,I$(1)52,V2$1
   : I$(1)=HEX(3A0D222F23D7FF9AA2D2)
   : STR(I$(1),11)="FRTECPBADGHIJKLMNOQSUVWXYZ"
   : STR(I$(1),37)=HEX(E1E48A8B8CE8DFEAA89786A195969B9C)
   : R0$=HEX(010D0220033A04270523062F07402020)
0090 V1=E9
   : V2=F9
   : V3=D9
   : V4=T9
   : V5=X9
   : V6=Q9
0100 GOTO 480
0110 REM ..refer to %CROSS for descriptive material
0450 IF D=0THEN 460
   : DATA LOAD BA T#2,(A,A)A$()
   : GOTO 470
0460 DATA LOAD BTA$()
0470 MAT COPY A$()TO B$()
   : H$=B$(1)
   : AND (H$,F0)
   : RETURN
0480 SELECT PRINT 005(64)
   : PRINT HEX(03)
   : GOSUB '15
   : P6,P5=1
   : REM /LISTING+SUMMARY
   : M1,M=5
   : L9=56
   : REM /LINES/PAGE
   : GOSUB 1220
0490 RESTORE
   : Z=1
0500 READ C$
   : C$(Z)=C$
   : Z=Z+1
   : IF Z<123THEN 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
   : 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
   : J,S2=0
   : 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
   : D=3
   : PRINT "INPUT MEDIA=","0=TAPE OR --DISKS"
   : PRINT "1=(F)310 2=(R)B10   3=(F)320 4=(R)B20  5=(F)330  6=(R)B30  7=350",
     C$;D;
   : INPUT D
   : ON D+1GOTO 830,560,570,580,590,600,610,615
   : GOTO 550
0560 SELECT #2310
   : GOTO 620
0570 SELECT #2B10
   : GOTO 620
0580 SELECT #2320
   : GOTO 620
0590 SELECT #2B20
   : GOTO 620
0600 SELECT #2330
   : GOTO 620
0610 SELECT #2B30
   : GOTO 620
0615 SELECT #2350
0620 P7=0
0630 DEFFN'1
   : IF D=0THEN 550
   : ON P7GOTO 640
   : E$=" "
   : PRINTUSING 632,J+1;
   : INPUT " DISK PROGRAM NAME+COMMENTARY. S.F.'1 ON ERROR 80)",E$
   : GOTO 650
0632 %##
0640 READ E$
   : PRINT E$
0650 IF E$=" "THEN 770
   : IF E$="DATA"THEN 820
   : IF E$="ALL"THEN 680
   : IF E$="CLEAR"THEN 671
   : IF E$<>"^"THEN 660
   : J=J-1
   : IF J>0THEN 630
   : J=0
   : GOTO 630
0660 P$=E$
   : LIMITS T#2,P$,S,Q,P
0670 J=J+1
   : P$(J)=P$
   : BIN(STR(P$(J),9))=D
   : E$(J)=STR(E$,9)
   : GOTO 630
0671 IF D6=0THEN 660
   : P$=" "
   : PRINT "CLEAR MEANINGS"
   : GOTO 670
0680 S$=" "
   : INPUT "COMMON ID",S$
   : 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 780
   : IF L$<>HEX(0000)THEN 720
   : G=16
0720 NEXT G
   : NEXT Z
0730 IF H=JTHEN 630
   : Z=H
   : FOR G=HTO J
   : IF P$(G)>P$(Z)THEN 740
   : 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 ON P7GOTO 620
   : IF J=0THEN 550
   : P7=J
   : GOTO 840
0780 P$=STR(A$(G),9,8)
   : IF S$=" "THEN 790
   : IF STR(P$,1,LEN(S$))<>STR(S$,1,LEN(S$))THEN 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$
   : GOTO 720
0820 P7=1
   : PRINT "USING DATA STMTS"
   : GOTO 640
0830 E,P7=1
   : PRINT "HOW MANY FILES","(DEFAULT)=";P7;
   : INPUT P7
0840 SELECT PRINT 005(64)
0850 GOSUB '3
   : IF Z9=0THEN 1410
0860 PRINT "YOU NEED DIFFERENT DIMENSIONS"
   : PRINT "SELECTPRINT 215---S.F.'3 FOR LIST"
   : STOP "SET NEW VALUES STATED IN STMTS 20-70"
0870 DEFFN'3
   : IF V1=E9THEN 880
   : Z9=1
   : PRINT "SET E9=";E9,"E$(";E9;")42","P$(";E9;")9"
0880 IF V2=F9THEN 890
   : Z9=1
   : PRINT "SET F9=";F9,"F$(";F9+1;",1)3"
0890 IF V3=D9THEN 900
   : Z9=1
   : PRINT "SET D9=";D9,"D$(";D9;")20"
0900 IF V4=T9THEN 910
   : Z9=1
   : PRINT "SET T9=";T9,"T$(";T9;",255)4","T1$(";T9;",255)2   T2$(";T9;",255)2
     "
0910 IF V5=X9THEN 920
   : Z9=1
   : PRINT "SET X9=";X9,"X0$(";X9+1;")21"
0920 IF V6=Q9THEN 930
   : Z9=1
   : PRINT "SET Q9=";Q9,"Q$(1,";Q9+1;")4","X$(";Q9+1;")21"
0930 RETURN
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("
1090 DEFFN'2
   : H=0
1100 PRINT HEX(03);"FIGURE NEW DIMENSIONS"
   : PRINT
   : GOSUB '13
   : PRINT "KEY S.F. '4 TO GET BACK TO MAIN-LINE"
1110 H=H+1
   : ON H GOTO 1120,1130,1140,1150,1160,1170
1120 PRINT "UNIQUE VARIABLES=";Q9;"OR";
   : INPUT Q9
   : GOTO 1100
1130 PRINT "SPECIAL FUNCTIONS=";F9;"OR";
   : INPUT F9
   : GOTO 1100
1140 PRINT "STMT REFS =255*";T9;"OR";
   : INPUT T9
   : GOTO 1100
1150 PRINT "VAR.REFS>10=";X9;"OR";
   : INPUT X9
   : GOTO 1100
1160 PRINT "ANNOTATION=";D9;"OR";
   : INPUT D9
   : GOTO 1100
1170 PRINT "PROGRAM NAMES=";E9;"OR";
   : INPUT E9
   : H=0
   : GOTO 1100
1180 DEFFN'4
   : GOSUB '3
   : IF Z9=1THEN 860
   : GOTO 100
1190 DEFFN'13
   : PRINT "TABLE CAPACITY","  YOU CHANGE","NUMBER","MEMORY"
   : PRINT "UNIQUE VARIABLES   Q9 Q$() X$()",Q9,Q9*25+25
   : PRINT "SPECIAL FUNCTIONS  F9 F$()",F9,F9*3+3
1200 PRINT "STMT REFERENCES    T9 T$()",255*T9,T9*8*255,,"  T1$() T2$()"
   : PRINT "VARIABLE REFS.>10  X9 X0$()",X9,X9*21+21
1210 PRINT "ANNOTATION","   D9  D$()",D9,D9*20
   : PRINT "PROGRAM FILES","   E9 E$() P$()",E9,E9*51
   : GOSUB 1220
   : RETURN
1220 PRINT "DIMENSIONED THIS WAY YOU NEED A 2200 ";
   : G=4886
   : REM /MINIMAL TABLES
1222 REM Z=END FOLLOWING TEXT ENTRY IN CROSSRF0
1225 Z=9102
   : C$="VP or MVP"
   : $IF ON /000,1228
   : Z=9187
   : C$="T or C+OP5"
1228 PRINT C$;" PROCESSOR WITH A MEMORY OF ";
1230 Q=G+Z+(Q9*25)+(F9*3)+((T9-1)*8*255)+(X9*21)+((D9-1)*20)+((E9-1)*51)
   : Z=INT(Q/1024)
   : PRINT Q;"BYTES OR ";Z;"K";
   : IF Q<Z*1024THEN 1240
   : PRINT "+";
1240 PRINT
   : RETURN
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 "CROSSRF USES A 16K MINIMUM 2200T OR 2200B/C+OP.5"
   : PRINT "1. INPUT IS PROGRAM FILES FROM DISK OR CASSETTE"
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. ENTRIES"
1390 PRINT "'0 CHANGE DISK MEDIA","'1 IN DISK FILE NAMES"
   : PRINT "'2 FIGURE NEW CAPACITIES","'3 DETAIL CHANGES FROM '2"
   : PRINT "'10 SUMMARY TO PRINTER/CONTINUE","'11 SUMMARY ONLY"
1400 PRINT "'12 WRITE-UP",,"'13 CAPACITIES"
   : PRINT "'14 LIST OPTIONS",,"'15 S.F. ACTION"
   : RETURN
1402 % #### ## #########
1405 PRINT HEX(0C030E);"CROSSRF PROGRAM LISTING INDEX"
   : PRINT
   : PRINT HEX(0E);D$
   : PRINTUSING 1402,"DISK","#";"PROGRAM"
   : FOR J=1 TO P7
   : PRINTUSING 1402,VAL(STR(P$(J),9)),J,STR(P$(J),1,8);
   : PRINT E$(J)
   : NEXT J
   : RETURN
1410 E=1
   : REM /EVEN PAGE FLAG  SET =0 TO SUPPRESS FEATURE
1420 GOSUB 1405
   : PRINT "TURN PRINTER ON"
   : SELECT PRINT 215
   : ON P5+1GOTO 1425,1422
   : SELECT PRINT 204
1422 PRINT
   : IF P7<4THEN 1425
   : GOSUB 1405
1425 SELECT PRINT 005
   : $IF ON /000,1440
1430 LOAD DC T#0,"CROSSRF0"
1435 REM USE CROSSRFV FOR VP LIST OF MVP PROGRAMS GLOBAL VARIABLES ETC
1440 LOAD DC T#0,"CROSSRFV"
1450 P5=1
   : INPUT "Output to 0=CRT 1=215 2=204",P5
   : GOTO 510
3000 DEFFN'5
   : SELECT PRINT 005(80)
   : PRINT HEX(03);"BASIC-2 Verb atoms"
3020 B$=HEX(80)
   : FOR A=1 TO 122
   : PRINT HEXOF(B$);"=";STR(C$(A),1,10);"       ";
   : ADD(B$,01)
   : NEXT A
3030 RETURN