image of READY prompt

Wang2200.org

Listing of file='@MOVE' on disk='vmedia/701-2118K.wvd.zip'

# Sector sector 618, program filename = '@MOVE   '
0010 REM -- @MOVE -- MOVES DISK FILE TO ANOTHER SURFACE   6/6/78 BP & 04/16/79
      DA & 03/30/79 RD
0020 REM RUNS ONLY ON 2200VP, 2200MVP
0030 PRINT HEX(03)
   : PRINT AT(1,16);"***** MOVE SYSTEM FILE *****"
   : PRINT
0040 COM I$3,O$3
0050 DIM Z$3,N$8,Q$1,A$(256)1,I1$8,O1$8,Y$1
0060 DIM Z$3,Z1$2,J$8,E$1,B$10
0070 $GIO/005(7601,B$)
   : B$=AND HEX(10)
   : IF STR(B$,,1)=HEX(10)THEN A=80
   : ELSE A=64
   : A2=3*A
   : A5=5*A
   : REM A = SCREEN WIDTH
   : SELECT PRINT 005(A),LIST 005(A),CO  005(A)
0080 RESTORE
   : IF O$<>" "THEN 90
   : I$="310"
   : O$="320"
0090 READ I1$
   : IF I1$=" "THEN 80
0100 PRINT AT(5,0,A);AT(7,0,A5);AT(9,0);
   : GOSUB 370
   : PRINT AT(3,0,31);
   : Z$=I$
   : LINPUT "INPUT ADDRESS "-Z$
   : GOSUB '100(1,Z$)
   : IF E$<>" "THEN 100
   : I$=Z$
   : PRINT AT(6,0,A);
0110 PRINT AT(9,0,A2);AT(4,0,A);
   : PRINT "FILE NAME      ";I1$
   : PRINT AT(7,0,A);
   : Y$="N"
   : LINPUT "  DO YOU WANT TO MOVE THIS FILE?"-Y$
   : IF Y$<>"Y"THEN 90
   : PRINT AT(6,0,A);
   : LIMITS T#1,I1$,L1,L2,L3,L4
   : ERRORL4=0
0120 IF L4<>0 THEN 130
   : PRINT AT(6,0);"'";I1$;"' DOES NOT RESIDE ON PLATTER /";I$;"."
   : GOTO 100
0130 PRINT AT(6,0,A2); AT(9,0,A2);
   : GOSUB 370
   : PRINT AT(3,32,32);
   : Z$=O$
   : LINPUT "OUTPUT ADDRESS "-Z$
   : GOSUB '100(2,Z$)
   : IF E$<>" "THEN 130
   : O$=Z$
   : PRINT AT(6,0,A);
0140 PRINT AT(9,0,A2);AT(4,32,32);
   : O1$=I1$
   : LINPUT "FILE NAME      "-O1$
0150 PRINT AT(6,0,A);
   : LIMITS T#2,O1$,L5,L6,L7,L8
   : ERRORL8=0
0160 IF L8<>0 THEN 190
   : PRINT AT(6,0,A);"'";O1$;"' DOES NOT RESIDE ON PLATTER /";O$;"."
   : PRINT "IS IT OK TO CREATE NEW FILE (Y OR N)";
   : Y$="N"
   : LINPUT -Y$
   : IF Y$<>"Y" THEN 100
0170 O=0
   : REM *****INPUT "CHANGE FILE SIZE BY HOW MANY SECTORS (default = 0)",O
0180 IF ABS(L4)=1THEN SAVE T #2,(L2-L1-2+O)O1$ 10,10
   : ELSE DATA SAVE DC OPEN T#2,(L2-L1+1+O)O1$
   : LIMITS T#2,O1$,L5,L6,L7,L8
   : GOTO 240
0190 PRINT AT(6,0,A2);"'";O1$;"' ALREADY EXISTS ON PLATTER /";O$;"'."
   : PRINT "CAN FILE BE OVERWRITTEN (Y OR N)";
   : Y$="N"
   : LINPUT -Y$
   : IF Y$<>"Y" THEN 100
0200 IF L2-L1 <= L6-L5 THEN 230
   : PRINT AT(6,0,A2);"OLD FILE IS TOO SMALL.  "
   : J$="@JUNKAAA"
0210 LIMITS T #2,J$,L9,L9,L9,L9
   : IF L9=0THEN 220
   : I=POS(-J$<"Z")
   : STR(J$,I,1)=ADD HEX(01)
   : IF I<8 THEN STR(J$,I+1)=ALL("A")
   : GOTO 210
0220 PRINT "CAN THE FILE BE JUNKED (RENAMED TO ";J$;" & SCRATCHED)?";
   : Y$="N"
   : LINPUT -Y$
   : IF Y$<>"Y"THEN 100
   : SCRATCH T #2,O1$
   : DATA SAVE DC OPEN T #2,O1$,J$
   : SCRATCH T #2,J$
   : PRINT AT(6,0,A2);
   : GOTO 150
0230 SCRATCH T#2,O1$
   : IF ABS(L4)=1THEN SAVE T #2,(O1$)O1$9,9
   : ELSE DATA SAVE DC OPEN T#2,(O1$)O1$
0240 REM % FILE IS READY FOR COPY
0250 PRINT AT(6,0,A5);AT(11,0,A);
   : Q$="N"
   : LINPUT "IS IT OK TO MOVE "-Q$
   : IF Q$="Y" THEN 290
   : IF Q$<>"N" THEN 250
   : PRINT AT(6,0,)
   : GOTO 90
0290 PRINT AT(11,0,A);"MOVING FILE '";I1$;"' ON /";I$;" TO FILE '";O1$;"' ON /
     ";O$;"...";
   : D=L5
   : M=MIN(L2-L1-1,L6-L5-1)
   : FOR S=L1 TO L1+M
   : DATA LOAD BA T#1,(S)A$()
   : DATA SAVE BA T#2,(D,D)A$()
   : NEXT S
   : M=(L6-L5)-(L2-L1)
   : IF M<=0 THEN 300
   : A$()=ALL(00)
   : FOR S=1TO M
   : DATA SAVE BA T#2,(D,D)A$()
   : NEXT S
0300 DATA LOAD BA T#1,(L2)A$()
   : DATA SAVE BA T#2,(L6)A$()
0310 PRINT AT(11,0,A);"VERIFYING FILE...";
   : VERIFY T#2,(L5,L6)
0320 PRINT AT(11,0,A);"MOVE '";O1$;"' & VERIFY COMPLETE";HEX(07)
0330 GOTO 90
0340 DATA "@@","@MOVE","@FORMAT","@P","@\","@A","@B","@C","@D"," "
0350 REM % SELECT DISK
0360 DEFFN'100(Z,Z$)
   : E$=" "
   : MAT SEARCH "310B10320B20330B30350B50360B60370B70D10D11D20D21D30D31D50D51D
     60D61D70D71",=STR(Z$) TO Z1$ STEP 3
0365 ON (2+VAL(Z1$,2))/3 SELECT #Z/310;#Z/B10;#Z/320;#Z/B20;#Z/330;#Z/B30;#Z/3
     50;#Z/B50;#Z/360;#Z/B60;#Z/370;#Z/B70;#Z/D10;#Z/D11;#Z/D20;#Z/D21;#Z/D30;
     #Z/D31;#Z/D50;#Z/D51;#Z/D60;#Z/D61;#Z/D70;#Z/D71
   : ELSE E$="E"
   : RETURN
0370 PRINT "PLATTER ADDRESS CHOICES:"
   : PRINT "   310  B10  320  B20  330  B30    350  B50  360  B60  370  B70"
   : PRINT "   D10  D11  D20  D21  D30  D31    D50  D51  D60  D61  D70  D71"
   : RETURN