Listing of file='@MOVE' on disk='vmedia/701-2118M.wvd.zip'
# Sector 774, program filename = '@MOVE' 0010 REM -- @MOVE -- MOVES DISK FILE TO ANOTHER SURFACE 6/17/80 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","@2273VFU","@BACKUP","@RECOVER","@MOVEFIL","@ MENU",".STARTD",".SYSVPB","@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