image of READY prompt

Wang2200.org

Listing of file='2229FS' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'

# Sector 1446, program filename = '2229FS'
0010 REM % File name "2229FS" - part of 2229 utilities package
0015 REM ST 01/21/1983
0020 REM % Create reference file which contains names of files to back up to t
     ape
0030 COM F$8
   : DIM D$3,N$(2048)8,N1$(2048)3,S(2048),L$(2048)2,W$(2048)4,I$(16),J8$1,J9$1
     ,K$1,T1$30,F1$8,D1$3,Y$1,J$8
0040 J8$=HEX(80)
   : J9$=HEX(96)
   : T1$="REFERENCE FILE CREATOR"
   : PRINT HEX(03020402040E);AT(0,(40-LEN(T1$)/2));T1$
   : L$()=ALL(00)
   : N1$()=ALL(J8$)
   : PRINT HEX(0202020E)
0050 REM % GET DISK ADDRESS
   : PRINT HEX(0F);
0060 IF D$=" "THEN D$="D11"
   : PRINT AT(2,0);HEX(020402000F);
   : LINPUT "Source disk address ",D$
   : SELECT #2<D$>
   : ERRORA=1
   : GOTO 80
0070 VERIFY T#2,(0,0)A
   : ERRORA=1
   : GOTO 80
0080 IF A=0THEN 90
   : PRINT AT(2,25);"Error ";ERR;HEX(07)
   : GOTO 60
0090 PRINT HEX(06)
   : PRINT "Sorting disk catalog - please wait ..."
0100 N$()=ALL(FF)
   : J=1
   : DATA LOAD BA T#2,(0)I$()
   : C=VAL(STR(I$(),2))
   : FOR A=0TO C
   : DATA LOAD BA T#2,(A)I$()
   : FOR B=1TO 16
   : IF A=0AND B=1THEN NEXT B
0110 IF STR(I$(B),1,2)=HEX(1000)THEN 120
   : IF STR(I$(B),1,2)=HEX(1100)THEN 130
   : IF STR(I$(B),1,2)=HEX(1080)THEN 140
   : IF STR(I$(B),1,2)=HEX(1180)THEN 150
   : GOTO 170
0120 STR(N1$(J),2,2)=" D"
   : GOTO 160
0130 STR(N1$(J),2,2)="SD"
   : GOTO 160
0140 STR(N1$(J),2,2)=" P"
   : GOTO 160
0150 STR(N1$(J),2,2)="SP"
   : GOTO 160
0160 STR(N1$(J),1,1)=J8$
   : STR(N$(J),1,8)=STR(I$(B),9,8)
   : S(J)=VAL(STR(I$(B),5,2),2)-VAL(STR(I$(B),3,2),2)+1
   : J=J+1
   : IF J<2048THEN 170
   : PRINT AT(02,0); "CANNOT HAVE MORE THAN 2048 ENTRIES IN INDEX"
   : STOP
   : GOTO 10
0170 NEXT B,A
   : J=J-1
   : REM CORRECT # OF FILES
   : P=INT(J/16)
   : REM GET # OF PAGES FOR DISPLAY
   : IF P=J/16THEN 180
   : ELSE P=P+1
0180 MAT SORTN$()TO W$(),L$()
   : PRINT HEX(06),AT(1,0,)
0190 PRINT AT(12,58);HEX(020402000E);"ACTIVE KEYS";HEX(0F)
   : PRINT AT(14,55);"Cursor Up/Down"
   : PRINT AT(15,55);"Space/Backspace"
   : PRINT AT(16,55);"Insert/Delete"
   : PRINT AT(17,55);"A / Select all files"
   : PRINT AT(18,55);"N / Next Screen"
0200 PRINT AT(19,55);"P / Previous Screen"
   : PRINT HEX(0E);AT(21,55);"Press Run When Done";HEX(0F)
0210 PRINT AT(6,55);"Disk address    ";D$
   : PRINT AT(7,55);"Files selected"
0220 PRINT AT(4,5);HEX(020402000E); "   Name        Type     Sectors";HEX(0F0D
     )
   : J1=1
   : P1=0
   : REM SUBSCRIPT POINTER TO FILES AND CURRENT PAGE
0230 REM CLEAR OLD SCREEN
   : FOR A=6TO 22
   : PRINT HEX(06);AT(A,0,35);
   : NEXT A
0240 C=1
0250 %##############  ###.##%
0260 PRINT AT(J1+5,C);
   : X=VAL(L$(J1+P1*16),2)
   : PRINTUSING 270,STR(N1$(X),1,1),N$(X),STR(N1$(X),2,2),S(X);
0270 % #     ########     ##      #####
0280 J1=J1+1
   : IF J1+P1*16>JTHEN 290
   : IF J1<17THEN 260
0290 J1=1
   : REM CURRENT NAME
   : C=2
0300 X=VAL(L$(J1+P1*16),2)
0310 PRINT AT(J1+5,C);HEX(02050F);
   : KEYIN K$,,330
   : REM % REG KEYS
   : PRINT HEX(06);
   : ON POS(HEX(504E20084182)=K$) GOTO 340,350,370,390,420,490
0320 PRINT HEX(07)
   : GOTO 310
0330 REM % SF KEYS
   : PRINT HEX(06);
   : K$=AND HEX(0F)
   : ON POS(HEX(06050A090203)=K$)GOTO 390,370,460,480,340,350
   : PRINT HEX(07)
   : GOTO 310
0340 REM % PREVIOUS SCREEN
   : IF P1=0THEN 290
   : REM ON FIRST SCREEN
   : P1=P1-1
   : J1=1
   : GOTO 230
0350 REM % NEXT SCREEN
   : IF P1+1 <PTHEN 360
   : J1=1
   : GOTO 240
0360 P1=P1+1
   : J1=1
   : GOTO 230
0370 REM % SPACE DOWN
   : J1=J1+1
   : IF J1+P1*16>JTHEN 380
   : IF J1<17THEN 300
   : J1=1
   : GOTO 300
0380 J1=1
   : GOTO 300
0390 REM % SPACE REVERSE
   : IF J1=1THEN 400
   : J1=J1-1
   : GOTO 300
0400 IF P1+1=PTHEN 410
   : J1=16
   : GOTO 300
0410 J1=MOD(J,16)
   : GOTO 300
0420 REM % A = ALL
0430 REM % LAST SCREEN PARTIAL
0440 FOR J2=1TO J
   : STR(N1$(J2),1,1)=J9$
   : NEXT J2
   : F=J
   : PRINT AT(7,70);
   : PRINTUSING 470,F
0450 R1=16
   : IF MOD(J,16)<>0AND P1=INT(J/16)THEN R1=MOD(J,16)
   : FOR R=1TO R1
   : PRINT AT(R+5,2);J9$
   : NEXT R
   : GOTO 300
0460 REM % INSERT
   : X=VAL(L$(J1+P1*16),2)
   : IF STR(N1$(X),1,1)=J8$THEN F=F+1
   : STR(N1$(X),1,1)=J9$
   : PRINT AT(J1+5,C);J9$
   : PRINT AT(7,70);
   : PRINTUSING 470,F
   : GOTO 370
0470 %####
0480 REM % DELETE
   : X=VAL(L$(J1+P1*16),2)
   : IF STR(N1$(X),1,1)=J9$THEN F=F-1
   : STR(N1$(X),1,1)=J8$
   : PRINT AT(J1+5,C);J8$
   : PRINT AT(7,70);
   : PRINTUSING 470,F
   : GOTO 370
0490 PRINT HEX(06);AT(1,0,)
   : G,G1=1
0500 IF STR(N1$(G1),1,1)=J8$THEN 510
   : N$(G)=N$(G1)
   : G=G+1
0510 G1=G1+1
   : IF G1<=1000THEN 500
   : G=G-1
   : REM # OF FILES
   : IF G=0THEN 720
   : G1=INT(G/32)*2+3
   : REM # OF SECTORS TO SAVE
0520 PRINT HEX(060202000F);AT(1,0,)
0530 PRINT AT(2,0);
   : LINPUT "Reference file name",-F1$
0540 PRINT AT(3,0);
   : LINPUT "Reference file address ",-D1$
   : SELECT #3<D1$>
   : ERRORA=1
   : GOTO 560
0550 VERIFY T#3,(0,0)A
   : ERRORA=1
   : GOTO 560
0560 IF A=0THEN 570
   : PRINT AT(3,30);"ERROR ";ERR;HEX(07)
   : GOTO 540
0570 LIMITS T#3,F1$,A,B,C,D
   : IF ABS(D)<>1THEN 580
   : PRINT AT(2,25,49);"ERROR - PROGRAM FILE"
   : GOTO 530
0580 PRINT AT(3,30,40)
   : IF D<>0THEN 610
   : REM JUMP IF ALREADY ON DISK
   : PRINT AT(4,0); F1$;" does not exist - OK to create new file (Y/N)";
   : Y$="Y"
   : LINPUT -Y$
   : IF Y$="Y"OR Y$="y"THEN 590
   : GOTO 520
0590 REM EXTRA SECTORS?
0600 DATA SAVE DC OPEN T#3,(G1)F1$
   : LIMITS T#3,F1$,A,B,C,D
   : GOTO 670
0610 PRINT AT(6,0,79);"'";F1$;"' already exists "
   : PRINT "Can file be overwritten (Y OR N)";
   : Y$="N"
   : LINPUT -Y$
   : IF Y$="Y"OR Y$="y"THEN 620
   : GOTO 520
0620 IF G1<=B-A+1THEN 660
   : PRINT AT(6,0,79);"Old file is too small.  "
   : J$="@JUNKAAA"
0630 LIMITS T #3,J$,A,A,A,A
   : IF A=0THEN 640
   : A=POS(-J$<"Z")
   : STR(J$,A,1)=ADD HEX(01)
   : IF A<8 THEN STR(J$,A+1)=ALL("A")
   : GOTO 630
0640 PRINT "Can the file be junked (renamed to ";J$;" & scratched)?";
   : Y$="N"
   : LINPUT -Y$
   : IF Y$="Y"OR Y$="y"THEN 650
   : GOTO 520
0650 SCRATCH T #3,F1$
   : DATA SAVE DC OPEN T #3,F1$,J$
   : SCRATCH T #3,J$
   : PRINT AT(6,0,159);
   : GOTO 590
0660 SCRATCH T#3,F1$
   : DATA SAVE DC OPEN T#3,(F1$)F1$
0670 REM % FILE IS READY TO BE SAVED
   : MAT REDIM N$(G)8
   : REM REMOVE UNUSED SPACE
   : DATA LOAD DC OPEN T#3,F1$
   : ERRORREM
0680 DATA SAVE DC #3,D$,N$()
   : ERRORREM
0690 DATA SAVE DC #3,END
   : ERRORREM
0700 DATA SAVE DC CLOSEALL
   : PRINT
   : PRINT HEX(07);"DONE"
0710 F$=".2229"
   : $PSTAT=".2229"
   : LOAD T"@MENU"
0720 PRINT
   : PRINT "No file names selected"
   : GOTO 710