image of READY prompt

Wang2200.org

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

# Sector 273, program filename = 'PROGCOMP'
0010 REM "PROGCOMP" WITH VP VERBS T.OLSEN 11/13/80 PROG/SYSTEM COMPARE
0020 REM %REQUIREMENTS
   : REM %0 /215 PRINTER, #0 (CASSETTE)
0030 REM %0 #1 PROG #1 DISK, #2 PROG #2 DISK, OP5 SORT ROM
0040 DIM D$(10)64,E$42, E$(50)42,A1$(4)64, A2$(4)64, B1$(255)1, B2$(255)1, H1$
     1, H2$1
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 P$( PROGRAM NAMES, 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
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
   : PRINT TAB(M);
   : HEXPRINT L$;
   : 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$,(####)
   : Q$=STR(Q$,POS(Q$<>"0"))
   : IF Q$<>" "THEN 220
   : 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
   : PRINT B$(J);
   : IF B$(J)<>HEX(22)THEN 300
   : GOTO 200
0310 PRINT " %";
0320 J=J+1
   : IF B$(J)=HEX(0D)THEN 280
   : PRINT B$(J);
   : IF B$(J)<>":"THEN 320
   : RETURN
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)
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)
   : HEXPRINT L$
   : 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
   : IF D1=0THEN 490
   : DATA LOAD BA T#1,(A1,A1)A1$()
   : GOTO 500
0490 DATA LOAD BTA1$()
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
   : IF D2=0THEN 530
   : DATA LOAD BA T#2,(A2,A2)A2$()
   : GOTO 540
0530 DATA LOAD BTA2$()
0540 MAT COPY A2$()<2,255>TO B2$()
   : H2$=A2$(1)
   : AND (H2$,F0)
   : RETURN
0550 B2=B2+1
   : MAT COPY B2$()<B2,256-B2>TO B2$()
   : RETURN
0560 L$="#1"
   : GOTO 580
0570 L$="#2"
0580 PRINT "EOF ";L$
   : GOSUB 350
   : PRINT "EOF ";L$
   : SELECT PRINT 005(64)
   : 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 MAT COPY B1$()TO B$()
   : L$="#1"
   : GOSUB 360
   : L1$=L$
0620 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=1 TO 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 H9GOTO 610
   : SELECT PRINT 005
   : PRINT
   : PRINT "Pause in ";P1$;"---";P2$;HEX(0D);
0722 $IF OFF /001,722
   : PRINT TAB(8);HEX(0D)
   : KEYIN R$,723,723
0723 GOTO 610
0730 E=0
   : IF P7+1<P8THEN 1280
   : P7=1
   : N=N-1
   : IF N>0THEN 735
   : STOP "END OF JOB"
0735 ON P6 GOTO 1270
   : J=0
   : LIMITS T#1,P1$,A1,Z1,Z2
   : LIMITS T#2,P2$,A2,Z1,Z2
   : GOTO 990
0740 SELECT PRINT 005(64),INPUT 001
   : PRINT HEX(03);"PROGRAM COMPARISON"
   : PRINT " NOTE-- TO COMPARE SYSTEMS WITH INPUT VIA DATA STATMENTS "
   : PRINT " ENTER THE NAME  DATA  AS THE 1ST PROGRAM NAME FOR #1"
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
   : D=1
   : PRINT "0=TAPE  OR DISKS"
   : PRINT "1=(F)310 2=(R)B10 3=(F)320 4=(R)B20 5=(F)330 6=(R)B30 7=(T)350",C$
     ;D;
   : INPUT D
   : ON D+1GOTO 860,790,800,810,811,812,813,820
   : GOTO 780
0790 SELECT #1 310
   : GOTO 830
0800 SELECT #1 B10
   : GOTO 830
0810 SELECT #1 320
   : GOTO 830
0811 SELECT #1 B20
   : GOTO 830
0812 SELECT #1 330
   : GOTO 830
0813 SELECT #1 B30
   : GOTO 830
0820 SELECT #1 350
0830 D1=1
   : INPUT "PROGRAM #1 NAME",P1$
0840 IF P1$="DATA" THEN 860
0850 LIMITS T #1,P1$,A1,Z1,Z2
0860 PRINT "SECOND PROGRAM--#2"
0870 D2=0
   : D=3
   : PRINT "0=TAPE  OR DISKS"
   : PRINT "1=(F)310 2=(R)B10 3=(F)320 4=(R)B20 5=(F)330 6=(R)B30 7=(T)350",C$
     ;D;
   : INPUT D
   : ON D+1GOTO 940,880,890,900,901,902,903,910
   : GOTO 870
0880 SELECT #2 310
   : GOTO 920
0890 SELECT #2 B10
   : GOTO 920
0900 SELECT #2 320
   : GOTO 920
0901 SELECT #2 B20
   : GOTO 920
0902 SELECT #2 330
   : GOTO 920
0903 SELECT #2 B30
   : GOTO 920
0910 SELECT #2 350
0920 D2=1
   : IF P1$="DATA"THEN 1240
   : P2$=P1$
   : INPUT "PROGRAM #2 NAME",P2$
0930 LIMITS T #2,P2$,A2,Z1,Z2
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 "???","???","???","???","???","???"
1220 STOP "3500--ILLOGICAL NO CR ON RECORD"
1230 REM % PROCESSING OF SYSTEM USING STORED DATA STATEMENTS
1240 P6,P7,P8=1
   : PRINT "SYSTEM COMPARISON USING DATA STATEMENTS"
1250 READ E$
   : P$=E$
   : PRINT P8;E$
   : IF P$=" "THEN 1260
   : GOSUB 1340
   : 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)
   : P1$,P2$=P$
   : J=0
   : GOSUB 1340
   : PRINT
   : PRINT HEX(0E);" ** PROGRAMS **"
1300 SELECT PRINT 005
   : PRINT HEX(03);
   : GOSUB 1330
   : GOSUB 350
   : IF P7>1THEN 1320
1310 FOR P7=1 TO P8-1
   : PRINT P7;E$(P7)
   : NEXT P7
   : P7=1
   : PRINT
1320 GOSUB 1330
   : GOTO 1020
1330 PRINT
   : PRINT HEX(0E);"PROGRAM=";P7;P$
   : PRINT E$
   : PRINT
   : SELECT PRINT 005
   : RETURN
1340 LIMITS T#1,P$,A1,Z1,Z2
   : LIMITS T#2,P$,A2,Z1,Z2
   : RETURN
9000 DATA "CIO*010  DISK SEND"
9010 DATA "CIO*040 DISK RCV"
9020 DATA " "