image of READY prompt

Wang2200.org

Listing of file='UTB.LIST' on disk='vmedia/toolbox.wvd.zip'

# Sector 161, program filename = 'UTB.LIST'
0010 REM UTB.LIST  06/01/82  OFF LINE LIST OF SPOOLED T.C. FILES
0020 COM F$8,F1$8, V$(12,2)50,H
0030 IF D1$(10)=" "THEN LOAD T#0,"TBODISKS"8000,8800 BEG 40
0040 SELECT #4 005, #5 215
0050 M=1
0060 DIM A$(4)62,B$(1)1, O$(140)1, M$(1)2, B$1, C$1,D9$3,D5$20
0070 H$=HEX(020402000E)
   : REM /.Highlight
0080 DIM S$20
   : REM /VERTICAL SKIP PARAMETERS
0090 DIM C$(1)24
   : REM /CONTROL VALUES
0100 GOTO 910
   : REM /GOTO SETUP
0110 REM %VARIABLE MEANINGS
0120 REM %0  A$( READ BLOCK AREA,  B$ B$1, B$( ONE BYTE
0130 REM %0 C$( CONTROL VALUES, C9 #CONTROL VALUES
0140 REM %0  O$( OUTPUT AREA, F$ FILE NAME
0150 REM %0  M$( MATCH ARRAY
0160 REM %0 A FIRST REC PTR, D9 DEVICE FLAG
0170 REM %0 Y1 COUNT, Y2 NB BYTES IN BLK, Y3 PTR IN BLK
0180 REM %0 D CURRENT LINE,  E LINES PER PAGE
0190 REM %0  S$ VERTICAL SKIP,    T$( VERTICAL TAB
0200 REM %0  V$( VCT TABLE,   Z$ PRT.ARG2
0210 REM % SPECIAL FUNCTIONS
0220 REM %0 '3 DISPLAY VCT
0230 REM %^.Mainline
0240 KEYIN B$,260,260
0250 RETURN
0260 KEYIN B$,250,270
   : GOTO 260
0270 IF B$>HEX(03)THEN RETURN
   : IF B$=HEX(00)THEN RETURN
   : M=VAL(B$)
   : PRINT "Now mode = ";M
   : RETURN CLEAR
   : GOTO 300
0280 REM %. READ/PRINT LOOP
0290 DATA LOAD DC #1, A$()
   : REM ^ERR 58 SAYS WRONG FORMAT
0300 Y2=VAL(STR(A$(1),2))
0310 Y3=3
0320 MAT COPY A$()<Y3,1> TO B$()<1,1>
   : Y1=VAL(B$(1))
   : REM /.Count
0330 ON M GOSUB 410,380,390
   : GOSUB 240
0340 Y3=Y3+Y1+1
   : IF Y3<>Y2 THEN 320
0350 IF STR(A$(1),1,1)<>HEX(F0)THEN 290
0360 RETURN
0370 REM %.List w/o Controls
0380 PRINT STR(A$(),Y3+1,Y1)
   : RETURN
0390 PRINT "<<Record in Hex notation from file = ";F$;" >>"
   : PRINT HEXOF(STR(A$(),Y3+1,Y1))
   : PRINT
   : RETURN
0400 REM %.List with line control
0410 Y1=Y1-1
   : REM /.Count
0420 MAT COPY A$()<Y3+1,1>TO B$()<1,1>
   : REM /.Isolate line control
0430 B$=B$(1)
   : REM /Vertical line control
0440 PRINT "<<Line control >> = ";B$;
0445 IF B$<"/"OR B$>"M"THEN PRINT "  = x'";HEXOF(B$);"' is invalid";
   : PRINT
0450 MAT COPY A$()<Y3+2,Y1>TO O$()<1,Y1>
   : REM /.Copy data
0460 IF O$(1)<>HEX(0C)THEN 470
   : PRINT "<<<NEW PAGE>>>"
   : PRINT
0470 SELECT PRINT 005(L)
   : PRINT STR(O$(),1,Y1+1)
0480 IF H=1 THEN 640
   : REM /.Jump if CRT output only
0490 MAT SEARCH C$()<1,C9>,=B$ TO M$()
   : REM /Find TAB value
0500 B=VAL(STR(M$(1),2))
   : REM /POSITION OF FOUND VERTICAL TAB
0510 ON B    GOTO 580,580,580,580,580,580,580,580,580,580,580
0520 REM ........../...0...1...2...3...4...5...6...7...8...9
0530 ON B-11 GOTO 630,660,660,660,660,660,660,660,660,660,660,660
0540 REM ..........A...B...C...D...E...F...G...H...I...J...K...L
0550 IF B$="@"THEN 790
   : REM /VERTICAL FORMAT CONTROL RECORD
0560 STOP "NO LINE CONTROL IN RECORD"
0570 REM %^SKIP LINES PRINT LOGIC
   : REM CONTROL= /.123456789
0580 $GIO#5(A000,Z$)O$()<1,Y1>
0590 I=VAL(STR(S$,B,1))
   : IF I=0 THEN 640
0600 IF I+D>ETHEN 630
0610 $GIO#5(400D,Z$)
   : D=D+I
   : IF I=1 THEN 640
0620 FOR B=2 TO I
   : $GIO#5(400A,Z$)
   : NEXT B
   : GOTO 640
0630 $GIO#5(A000400D400C,Z$)O$()<1,Y1>
   : D=1
0640 Y1=Y1+1
   : RETURN
0650 REM % SKIP CHANNEL PRINT LOGIC
   : REM CONTROL= ABCDEFGHIJKL
0660 $GIO#5(A000,Z$)O$()<1,Y1>
0670 REM B$ = CONTROL BYTE
0680 I=VAL(B$)-64
   : B=100*I-99
0690 MAT SEARCH V$()<B+D,100-D >, =B$ TO M$()
0700 I=VAL(STR(M$(1),2))+D
0710 IF I<D THEN 730
   : I=I-D
0720 GOTO 600
0730 PRINT "PRINTER IS AT OR PAST THIS POINT"
   : GOTO 600
0740 REM %^ FORMS CONTROL FROM DATA RECORD
0750 REM BYTE 1 OF RECORD WILL CONTAIN @ AT SYMBOL
0760 REM %0 I PRINT LINE, C$ TAB VALUE
0770 REM Position of non-spaces denotes vertical tab control.
0780 REM Vertical tab values--ABCDEFGHIJKL
0790 B$=" "
   : I=1
   : INIT(".")V$()
   : REM /CLEAR VCT ARRAY
0800 $GIO/005(A000,Z$)O$()<1,64>
   : PRINT
0810 MAT SEARCH O$()<I+1,Y1-I>,<>B$TO M$()
   : REM /FIND NON SPACE
0820 B=VAL(STR(M$(1),2))
   : IF B=0THEN 640
   : REM /B IS REL LINE
0830 I=I+B
   : C$=O$(I)
0840 B=VAL(C$)-64
0850 C=I
   : A=1
   : IF I<51THEN 860
   : C=I-50
   : A=2
   : IF C>50THEN 880
0860 IF B<1THEN 890
   : IF B>12THEN 870
   : STR(V$(B,A),C,1)=C$
   : GOTO 810
0870 IF C$<>"M"THEN 890
   : E=I
   : GOTO 810
0880 PRINT "ILLEGAL LINE=";I
   : STOP "700"
0890 PRINT
   : PRINT "ILLEGAL TAB VALUE=";
   : HEXPRINT C$
   : STOP "710"
0900 REM %^ INITIALIZATION
0910 SELECT PRINT 005
   : PRINT HEX(03);H$,"LIST the stored telecommunications data files";HEX(0F)
0920 REM .?1
0930 A$="LIST FROM disk ="
   : PRINT AT(3,0,20*80);A$
   : GOSUB '98
   : SELECT #1<D1$(D9)>
0940 PRINT AT(1,0,80);A$;" ";D9$
0950 REM .?2
0960 A$="OUTPUT TO  ="
   : PRINT AT(3,0,20*80);A$;" 1=CRT  2=Printer"
   : C$="1"
   : IF H=0THEN C$="2"
0965 LINPUT -C$
   : D4$="CRT"
   : H=1
   : IF C$="1"THEN 970
   : D4$="Printer"
   : H=0
0970 PRINT AT(1,40);A$;" ";D4$
   : IF H=1THEN 1020
0980 A$="PRINTER    ="
   : PRINT AT(3,0,20*80);
   : A=0
   : RESTORE LINE2050
0985 READ P1$
   : IF P1$=" "THEN 990
   : A=A+1
   : PRINT A;" for ";P1$
   : GOTO 985
0990 LINPUT C$
   : CONVERT C$TO C
   : ERRORGOTO 980
0992 IF C<1THEN 980
   : IF C>ATHEN 980
   : RESTORE LINE 2050,C
   : READ P1$
   : GOSUB 2000
   : IF P2$=" "THEN 980
0995 PRINT AT(6,0)
   : PRINT H$;"READY LINE PRINTER ";P1$;HEX(0F)
0998 STOP #
1000 $GIO TOP OF FORM #5(400D 400C)
1010 REM .?3
1020 A$="DATA FILE NAME ="
   : PRINT AT(3,0,20*80);A$
1030 F$=F1$
   : LINPUT -F$
   : F1$=F$
   : D=1
1040 PRINT AT(2,0,80);A$;" ";F$
1050 REM .?4
1060 A$="OUTPUT MODE ="
   : PRINT AT(3,0,20*80);A$
1070 M=1
   : INPUT "MODE  1=With line control  2=w/o line control  3=hex notation "M
1080 M=INT(M)
   : IF M<1OR M>3THEN 1060
   : RESTORE LINE1080,M
1090 READ D5$
   : DATA "With line control","w/o line control","hex notation"
1100 PRINT AT(2,40);A$;M;"=";D5$
   : PRINT AT(3,0,20*80)
1110 PRINT
   : PRINT H$,"<<<<<< TRYING TO READ FILE = ";F$;" >>>>>>";HEX(0F)
1120 E=66
   : REM /LINES PER PAGE
1130 DATA LOAD DC OPEN T #1,F$
   : REM .ERR 80 NO SUCH FILE
1140 A=0
1150 REM VERTICAL SKIP PARAMETERS
1160 C$(1)="/0123456789ABCDEFGHIJKL@"
1170 C9=LEN(C$(1))
   : REM /NUMBER OF CONTROL VALUES
1180 REM S$ NUMBER OF SKIP LINES
1190 S$=HEX(0000010203040506070809)
1200 REM ..../.0.1.2.3.4.5.6.7.8.9
1210 REM VCT TABLE IS 100 ITEMS (LINES) LONG
1220 REM EACH ITEM = CHANNELS PUNCHED AT LINE POSITION
1230 GOSUB 290
1240 F9$=F$
1250 IF NUM(STR(F$,7,2))=2 THEN 1260
   : GOTO 1420
1260 ADD(STR(F$,8,1),01)
   : IF STR(F$,8,1)<HEX(3A)THEN 1110
1270 STR(F$,8,1)="0"
   : ADD(STR(F$,7,1),01)
   : GOTO 1110
1280 REM %^DISPLAY VIRTUAL CARRIAGE TAPE
1290 %#   !    #    !    #    !    #    !    #    !    ## PRINT LINE  1---!---
     -0----!----0----!----0----!----0----!----0  CHANNEL
1300 DEFFN'4
   : PRINT HEX(03);" CARRIAGE TAPE =";M$
1310 PRINTUSING 1290,0,1,2,3,4,"5"
1320 FOR A=1 TO 12
   : PRINT STR(V$(A,1),1,50);"   ";A
   : NEXT A
1330 INPUT "KEY CONTINUE FOR MORE",A
1340 PRINTUSING 1290,5,6,7,8,9,10
1350 FOR A=1 TO 12
   : PRINT STR(V$(A,2),1,50);"   ";A
   : NEXT A
1360 RETURN
1370 REM %0 A A, B B, C C, A$ A$64, B$ B$1, C$ C$1
1380 ON ERROR E$,L$GOTO 1390
1390 IF E$="D82"THEN 1400
   : PRINT "ERR ";E$;" LINE = ";L$;" NOT TRAPPED"
   : END
1400 F$=F9$
   : PRINT "LAST FILE PROCESSED = ";F$
1410 PRINT "NO MORE FILES SEQUENTIALLY STORED"
1420 STOP "KEY '0 TO EXIT   OR   RUN (EXEC) TO RERUN JOB"
1430 DEFFN'0
   : LOAD DC T#0,"START"
2000 P2$=STR(P1$,1,3)
   : P4$=STR(P1$,5,5)
   : P5$=STR(P1$,11,2)
2010 SELECT #5<P2$>
   : $IF OFF #5,2045
   : ERRORRETURN
2020 $OPEN #5
   : $IF OFF  #5,2045
2040 IF P4$="2281"THEN GOSUB 2130
   : IF P4$="2235"THEN GOSUB 2230
   : RETURN
2045 P2$=" "
   : RETURN
2050 DATA "215.2221..11","204.2281..11","216.2231..11"," "
2130 F$=HEX(0D0C020D0C030F)
   : CONVERT STR(P5$,1,3)TO A
   : IF A=11 THEN 2140
   : F$=HEX(020C010200000F)
   : STR(F$,5,2)=BIN(A*48,2)
2140 $GIO#5(010302801212A000,Z$)F$<1,7>
   : RETURN
2230 F$=HEX(0D0C020D0C030F)
   : CONVERT STR(P5$,1,3)TO A
   : IF A=11 THEN 2240
   : F$=HEX(020C010200000F)
   : STR(F$,5,2)=BIN(A*48,2)
2240 $GIO#5(010302801212A000,Z$)F$<1,7>
   : RETURN
2830 STOP