image of READY prompt

Wang2200.org

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

# Sector 31, program filename = 'TBO.CMPS'
0010 REM .TBO.CMPS 04/25/89 Compare Program/Systems
0015 IF D1$(10)=" "THEN LOAD T#0,"TBODISKS"8000,8800BEG 50
0020 REM %Requirements
   : REM %0 /215 Printer, #0 Sys.disk
0040 DIM D$(10)64,E$80,E$(500)30,A1$(4)64,A2$(4)64,B1$(255)1,B2$(255)1,H1$1,H2
     $1,L4$4
0050 P,P9,L,L1,L2,M=0
   : DIM D$64,D0$1,H$1,P$8,C$11,C$(128)10,M$(1)2,L1$2,L2$2,L$2,B$(255)1,V$1,Q$
     4,B$1
   : C,J,Z=0
   : GOTO 740
   : REM %List logic variables
0060 REM %0 H8  RUN/PAUSE flag, P8 # programs, P7 Program #
0070 REM %0 B$ B$1, B$( Text area, C Column ctr, C$ Prt. word
0080 REM %0 C$( ATOM table, D$( Printer comments, H$ Header byte, J Ptr
0090 REM %0 L Lines/page, L$ STMT line, L1 L1, L2 L2, M Margin
0100 REM %0 P Page, P$ Program name, N # copies, P6 Mode
0110 REM %0 P9 Current line #, V$ VERB atom, Z Z
   : REM %List logic
0115 REM %0 #1 Prog #1 Disk, #2 Prog #2 Disk
0120 Z=LEN(C$)
   : C=C+Z
   : IF C<78THEN 130
   : PRINT
   : PRINT TAB(M);
   : C=M+Z
0130 PRINT C$;
   : RETURN
0140 GOSUB 350
   : PRINT L$;"--";
   : J=2
   : STR(L$,1,1)=B$(J)
   : STR(L$,2,1)=B$(J+1)
   : J=J+2
0150 GOSUB 330
   : C=M+6
   : HEXUNPACKL$TO L4$
   : PRINT TAB(M);L4$;
   : IF V$=HEX(D8)THEN 310
   : PRINT TAB(M+6);
   : GOTO 170
0160 J=J+3
0170 B$=B$(J)
   : IF B$>=HEX(80)THEN 210
   : IF B$=HEX(0D)THEN 280
0180 IF B$=HEX(22)THEN 290
0190 C$=B$
   : GOSUB 120
0200 J=J+1
   : GOTO 170
0210 IF B$<>HEX(FF)THEN 230
   : UNPACK(##)B$(J+1)TO L1
   : UNPACK(##)B$(J+2)TO L2
   : CONVERT L2+L1*100TO Q$,(####)
   : IF Q$="0000"THEN Q$="0"
   : ELSE Q$=STR(Q$,POS(Q$<>"0"))
0220 C$=Q$
   : GOSUB 120
   : GOTO 160
0230 IF B$=HEX(A2)THEN 240
   : IF B$<>HEX(D8)THEN 260
0240 B$=B$(J)
   : AND (B$,7F)
   : C$=C$(VAL(B$)+1)
   : GOSUB 120
   : PRINT " ";
   : C=C+1
0250 J=J+1
   : B$=B$(J)
   : IF B$>HEX(7F)THEN 240
   : IF B$=HEX(0D)THEN 280
   : IF B$=":"THEN 170
   : C$=B$
   : GOSUB 120
   : GOTO 250
0260 AND (B$,7F)
   : C$=C$(VAL(B$)+1)
   : GOSUB 120
0270 IF Z=1THEN 200
   : IF STR(C$,Z,1)="("THEN 200
   : PRINT " ";
   : C=C+1
   : GOTO 200
0280 PRINT
   : RETURN
0290 PRINT HEX(22);
0300 J=J+1
   : C$=B$(J)
   : IF C$<HEX(10)OR C$>HEX(7F)THEN C$="."
   : PRINT C$;
   : IF C$<>HEX(22)THEN 300
   : GOTO 200
0310 PRINT " %";
0320 J=J+1
   : IF B$(J)=HEX(0D)THEN 280
   : PRINT B$(J);
   : GOTO 320
0330 IF B$(J)<>" "THEN 340
   : J=J+1
   : GOTO 330
0340 V$=B$(J)
   : PRINT
   : RETURN
0350 IF H9=0THEN 355
   : SELECT PRINT 215(79)
   : $PSTAT="ProgComp"
   : $OPEN /215
0355 RETURN
0360 SELECT PRINT 005
   : IF L$="#1"THEN 370
   : PRINT TAB(32);
0370 PRINT L$;" IS ON LINE=";
   : STR(L$,1)=B$(2)
   : STR(L$,2)=B$(3)
   : HEXUNPACKL$TO L4$
   : PRINT L4$
   : RETURN
0380 REM %BUFFER LOGIC
   : REM %BUFFER VARIABLES
0390 REM %0 D Device, D0$ HEX(0D), E End flag, M$( Search result
0400 REM %0 A1$( #1 Read area, A2$( #2 Read area
0410 REM %0 A1 #1 Sector, A2 #2 Sector
0420 REM %0 B1$( #1 text, B2$( #2 text, B1 #1 ptr, B2 #2 ptr
0430 REM %0 D1 #1 Device, D2 #2 Device
0440 REM %0 H1$ #1 Header byte, H2$ #2 Header byte
0450 REM %0 L1$ #1 line, L2$ #2 line, Z1 #1 W/A, Z2 #2 W/A
0460 REM %0 P1$ #1 Name, P2$ #2 Name
0470 IF B1=2THEN 480
   : IF B1$(B1)=HEX(FD)THEN 480
   : IF B1$(B1)=HEX(FE)THEN 560
   : MAT COPY B1$()<B1,256-B1>TO B1$()
   : B1=2
   : RETURN
0480 B1=2
   : DATA LOAD BA T#1,(A1,A1)A1$()
0500 MAT COPY A1$()<2,255>TO B1$()
   : H1$=A1$(1)
   : AND (H1$,F0)
   : RETURN
0510 IF B2=2THEN 520
   : IF B2$(B2)=HEX(FD)THEN 520
   : IF B2$(B2)=HEX(FE)THEN 570
   : MAT COPY B2$()<B2,256-B2>TO B2$()
   : B2=2
   : RETURN
0520 B2=2
   : DATA LOAD BA T#2,(A2,A2)A2$()
0540 MAT COPY A2$()<2,255>TO B2$()
   : H2$=A2$(1)
   : AND (H2$,F0)
   : RETURN
0560 L$="#1"
   : IF L1$=HEX(FFFF)THEN RETURN
   : L1$=HEX(FFFF)
   : GOTO 580
0570 L$="#2"
   : IF L2$=HEX(FFFF)THEN RETURN
   : L2$=HEX(FFFF)
0580 SELECT PRINT 005
   : PRINT L$;"**EOF on disk ";
   : IF L$="#1"THEN PRINT D1$(D1);" ";P1$
   : ELSE PRINT D1$(D2);" ";P2$
0582 IF H9=0THEN 585
   : GOSUB 350
   : PRINT L$;"**EOF on disk ";
   : IF L$="#1"THEN PRINT D1$(D1);" ";P1$
   : ELSE PRINT D1$(D2);" ";P2$
0585 SELECT PRINT 005(80)
   : ON EGOTO 730
   : E=1
   : RETURN
0590 MAT COPY B1$()TO B$()
   : L$="#1"
   : GOSUB 140
   : B1=J+3
   : GOSUB 470
   : RETURN
0600 MAT COPY B2$()TO B$()
   : L$="#2"
   : GOSUB 140
   : B2=J+3
   : GOSUB 510
   : RETURN
   : REM %MAIN LOOP
0610 IF L1$=HEX(FFFF)THEN 620
   : MAT COPY B1$()TO B$()
   : L$="#1"
   : GOSUB 360
   : L1$=L$
0620 IF L2$=HEX(FFFF)THEN 630
   : MAT COPY B2$()TO B$()
   : L$="#2"
   : GOSUB 360
   : L2$=L$
0630 IF STR(L1$,1,2)<STR(L2$,1,2)THEN 710
0640 IF STR(L1$,1,2)>STR(L2$,1,2)THEN 720
0650 REM SAME LINE NUMBER
0660 MAT SEARCHB1$()<1,255>,=D0$TO M$()
   : Z1=256*VAL(M$(1))+VAL(STR(M$(1),2))
   : IF Z1=0THEN 1220
0670 MAT SEARCHB2$()<1,255>,=D0$TO M$()
   : Z2=256*VAL(M$(1))+VAL(STR(M$(1),2))
   : IF Z2=0THEN 1220
0680 IF Z1<>Z2THEN 700
   : FOR Z=1TO Z1
   : IF B1$(Z)<>B2$(Z)THEN 690
   : NEXT Z
   : B1=B1+Z+1
   : B2=B2+Z+1
   : GOSUB 470
   : GOSUB 510
   : GOTO 610
0690 Z=Z1
   : NEXT Z
0700 GOSUB 590
   : GOSUB 600
   : GOTO 721
0710 REM #1 REFERENCE IS LOWER
   : GOSUB 590
   : GOTO 721
0720 REM #2 REFERENCE IS LOWER
   : GOSUB 600
0721 ON H8GOTO 610
   : ON H9GOTO 610
   : SELECT PRINT 005
   : PRINT
   : PRINT "Pause in ";P1$;" vs. ";P2$;"  Press RETURN to continue or RUN to b
     ypass pause";HEX(0D);
0722 $IF OFF /001,722
   : PRINT TAB(79);HEX(0D)
   : KEYIN R$,723,723
0723 IF R$=HEX(82)THEN H8=1
   : GOTO 610
0730 L1$,L2$=HEX(0000)
   : H8,E=0
   : IF P7+1<P8THEN 1280
   : P7=1
   : N=N-1
   : IF N>0THEN 735
   : $PSTAT="CompDone"
   : IF H9=0THEN 734
   : SELECT PRINT 215
   : PRINT HEX(0C);
   : FOR Z=1TO 36
   : PRINT HEX(0A);
   : NEXT Z
   : PRINT
   : SELECT PRINT 005
   : $CLOSE/215
0734 STOP "END OF JOB"
0735 IF P6>0THEN 1270
   : J=0
   : LIMITS T#1,P1$,A1,Z1,T1
   : LIMITS T#2,P2$,A2,Z1,T2
   : GOTO 990
0740 SELECT PRINT 005(80),INPUT 001
   : PRINT HEX(0D0C030E);"PROGRAM or SYSTEM COMPARISON"
   : PRINT ".respond filename for single program comparison"
0742 PRINT ".SYSTEM COMPARISON is via list of DATA statements at 9000+"
   : PRINT ".respond DATA      if DATA format is filename text"
   : PRINT ".respond DATA LIST if DATA format is filenam1 filenam2"
0745 PRINT "Key S.F. '1 to pickup in entry of program names"
   : RESTORE
   : Z=1
0750 READ C$
   : C$(Z)=C$
   : Z=Z+1
   : IF Z<129THEN 750
   : C$="DEFAULT="
0760 N,H9,Z=1
   : INIT(20)D$()
0763 INPUT "KEY 0 if output to CRT",H9
   : IF H9=0THEN 770
0764 INPUT "# OF COPIES",N
0765 INPUT "COMMENT",D$(Z)
   : IF D$(Z)=" "THEN 770
   : Z=Z+1
   : IF Z<11THEN 765
0770 DEFFN'1
   : PRINT "FIRST PROGRAM---#1"
0780 D1=0
   : GOSUB '98
   : SELECT #1<D1$(D9)>
0830 D1=D9
   : INPUT "PROGRAM #1 NAME",P1$
0840 P6=0
   : IF P1$="DATA"THEN P6=1
   : IF P1$="DATA LIST"THEN P6=2
   : IF P6>0THEN 860
0850 LIMITS T#1,P1$,A1,Z1,T1
0860 PRINT "SECOND PROGRAM--#2"
0870 D2=0
   : GOSUB '98
   : SELECT #2<D1$(D9)>
0920 D2=D9
   : IF P6>0THEN 1240
   : P2$=P1$
   : INPUT "PROGRAM #2 NAME",P2$
0930 LIMITS T#2,P2$,A2,Z1,T2
0940 REM
0950 L=55
   : REM /LINES/PAGE
   : M=5
   : REM /MARGIN
0980 PRINT "READY LINE PRINTER"
0990 Z=1
   : GOSUB 350
   : PRINT HEX(0C0E);"PROGRAM COMPARISON"
   : PRINT
1000 IF D$(Z)=" "THEN 1010
   : PRINT TAB(5);D$(Z)
   : Z=Z+1
   : IF Z<11THEN 1000
1010 PRINT
   : PRINT HEX(0E);"  ** PROGRAM **"
   : PRINT
   : PRINT TAB(20);"#1=";P1$
   : PRINT TAB(20);"#2=";P2$
1020 SELECT PRINT 005
   : D0$=HEX(0D)
   : P=0
   : B1,B2=2
   : GOSUB 470
   : GOSUB 510
   : B1,B2=2
   : GOSUB 470
   : GOSUB 510
1030 GOTO 610
1040 DATA "LIST","CLEAR","RUN","RENUMBER","CONTINUE","SAVE"
1050 DATA "LIMITS","COPY","KEYIN","DSKIP","AND","OR","XOR"
1060 DATA "TEMP","DISK","TAPE","TRACE","LET","FIX(","DIM","ON"
1070 DATA "STOP","END","DATA","READ","INPUT","GOSUB","RETURN"
1080 DATA "GOTO","NEXT","FOR","IF","PRINT","LOAD","REM","RESTORE"
1090 DATA "PLOT","SELECT","COM","PRINTUSING","MAT","REWIND","SKIP"
1100 DATA "BACKSPACE","SCRATCH","MOVE","CONVERT","PLOT"," STEP"
1110 DATA " THEN"," TO","BEG","OPEN","CI","R","D","CO"," ","OFF"
1120 DATA "DBACKSPACE","VERIFY","DA","BA","DC","FN","ABS(","SQR("
1130 DATA "COS(","EXP(","INT(","LOG(","SIN(","SGN(","RND(","TAN("
1140 DATA "ARC","#PI","TAB(","DEFFN","TAN(","SIN(","COS(","HEX("
1150 DATA "STR(","ATN(","LEN(","RE","#","%","P","BT","G","VAL(","NUM("
1160 DATA "BIN(","POS(","LS=","ALL","PACK","CLOSE","INIT","HEX"
1170 DATA "UNPACK","BOOL","ADD","ROTATE","$"
1180 DATA "ERROR","ERR","DAC","DSC","SUB"
1190 DATA "LINPUT","VER(","ELSE","SPACE","ROUND"
1200 DATA "AT(","HEXOF","MAX(","MIN(","MOD("
1210 DATA "DATE","TIME","???","???","???","???"
1220 STOP "3500--ILLOGICAL NO CR ON RECORD"
1230 REM % PROCESSING OF SYSTEM USING STORED DATA STATEMENTS
1240 P7,P8=1
   : PRINT "SYSTEM COMPARISON USING DATA STATEMENTS"
1250 READ E$
   : P$=E$
   : PRINT P8;E$
   : IF P$="CLEAR"THEN 1250
   : IF P$=" "THEN 1260
   : GOSUB 1335
   : IF T1<>T2THEN 1250
   : IF T1<1THEN 1250
   : E$(P8)=E$
   : P8=P8+1
   : GOTO 1250
1260 PRINT "READY LINE PRINTER"
1270 P7,J=0
   : IF P6=0THEN 990
   : GOSUB 350
   : PRINT HEX(0C0E);"SYSTEM COMPARISON"
   : PRINT
   : Z=1
1275 IF D$(Z)=" "THEN 1280
   : PRINT TAB(5);D$(Z)
   : Z=Z+1
   : IF Z<11THEN 1275
1280 P7=P7+1
1290 P$,E$=E$(P7)
   : J=0
   : GOSUB 1335
   : PRINT
   : PRINT HEX(0E);" ** PROGRAMS **"
1300 SELECT PRINT 005
   : PRINT HEX(03);
   : GOSUB 1330
   : GOSUB 350
   : IF P7>1THEN 1320
1310 FOR P7=1TO P8-1
   : PRINT P7;E$(P7)
   : NEXT P7
   : P7=1
   : PRINT
1320 IF T1=2THEN 6000
   : GOSUB 1330
   : GOTO 1020
1330 PRINT
   : PRINT HEX(0E);"PROGRAM=";P7;P$
   : PRINT E$
   : PRINT D$
   : PRINT
   : SELECT PRINT 005
   : RETURN
1335 P1$=SELECT #1
   : P2$=SELECT #2
   : D$="Disk "&P1$&" vs. "&P2$
   : P1$,P2$=P$
   : IF P6=2THEN P2$=STR(E$,10)
1340 LIMITS T#1,P1$,A1,Z1,Z2,T1
   : ERRORGOTO 1370
1350 LIMITS T#2,P2$,A2,Z1,Z2,T2
   : ERRORGOTO 1380
1360 RETURN
1370 PRINT "#1 File ";P$;" not found"
   : RETURN CLEAR
   : GOTO 1250
1380 PRINT "#2 Program ";P$;" not found"
   : RETURN CLEAR
   : GOTO 1250
5990 REM %.Compare DATA files
6000 PRINT
   : PRINT HEX(0E);"DATA file=";P7;P$
   : PRINT E$
   : PRINT D$
   : PRINT
   : SELECT PRINT 005
6010 LIMITS T#1,P1$,A1,E1,Z2,T1
   : LIMITS T#2,P2$,A2,E2,Z2,T2
6015 F=0
6020 IF E1-A1<>E2-A2THEN PRINT "Sizes differ"
6030 DATA LOAD BA T#1,(A1,A1)A1$()
6040 DATA LOAD BA T#2,(A2,A2)A2$()
6050 IF A1$()<>A2$()THEN F=F+1
6060 IF A1<E1THEN 6030
   : IF F=0THEN 6070
   : PRINT F;" are unequal"
   : KEYIN K$
6070 GOTO 730
9000 DATA "FileNam1-FileNam2 Differing file names","FileName Text description"
     ," "