Listing of file='@MOVEFIL' on disk='vmedia/701-2118M.wvd.zip'
# Sector 795, program filename = '@MOVEFIL' 0010 REM %"@MOVEFIL". 08/18/80. MOVE SPECIFIED FILE 0020 LOAD T"@MOVE1"10,40BEG 90 0030 REM %VARIABLES 0040 REM REM A1$-Input address : REM C1$-Input name : REM A2$-Output address : REM C2$-Output name 0050 DIM A1$3,A2$3,T$1,C1,C2 0060 DIM C1$8,C2$8,C3$8,C0$8,A4$5,A3$3,A5$3 0070 DIM S$(24,2)8,S$3,N$8,N3$8,P1$1,Q1$1,Q$1,Q6$2,L$2,E$49,S1$3,S2$3,N1$8,N2$ 8,N4$8,N5$8,N6$8 0090 PRINT HEX(020D0C030F020402000F); 0100 PRINT HEX(060E);TAB(30);"MOVE FILE UTILITY";HEX(0F) : REM % INIT : S$(),C1$,C2$,C3$,N3$=ALL(00) : A9=0 : T$="W" : A1$="D11" : A2$="D10" : A5$,A3$=" " 0120 REM %INPUT 0130 $CLOSE : PRINT HEX(06);AT(1,0,) 0140 PRINT AT(2,0,80); : LINPUT "Input address: "-A1$ : GOSUB '100(A1$) : IF Q$<>" "THEN 130 : IF A1$=A3$AND Q$=" "THEN 170 : A3$=A1$ 0150 PRINT HEX(06);AT(5,0);"W = WANG 2200 type";AT(6,0);"I = IBM 3741 type" 0160 PRINT AT(4,0,80); : LINPUT "Input platter type: "-T$ : C1=POS("IWiw"=T$) : IF C1=0THEN 160 : PRINT HEX(06);AT(4,0,); : C1,C2=MOD(C1,2)*2^14 : GOSUB '105(1,A1$,C1) : IF Q$=" "THEN 170 : A3$=" " : GOTO 140 0170 $OPEN #1 : REM READ INDEX : GOSUB '115(1,0,A1$,C1) : IF Q$<>" "THEN 140 : I1=VAL(STR(S$(),2)) 0180 PRINT AT(8,0,80); : REM NEXT NAME : GOSUB '130(0,1,C3$,A9,I1-1,A1$,C1) : IF Q$<>" "THEN 185 : C1$,C2$,C3$=N3$ : A9=S9 : IF R3<0OR STR(N3$,,5)="@SPAN"THEN 180 : GOTO 200 0185 A9=0 : C3$=ALL(00) : GOSUB '130(1,1,"@SPAN001",0,I1-1,A1$,C1) : C1$,C2$=" " : IF R3<0THEN 180 : IF Q$<>" "THEN 200 : C1$,C2$=N3$ 0190 REM SPAN FILE : GOSUB '115(1,R4,A1$,C1) : C2$=STR(S$(),9,8) : PRINT HEX(0E);AT(8,0,80);"File @SPAN001";" contains a portion of file ";C 2$; 0200 PRINT HEX(06);AT(4,0,320); : LINPUT "Input file name: "-C1$ : IF C1$=" "THEN 180 : IF STR(C1$,,5)="@SPAN"AND STR(C1$,6)<>"001"THEN 200 : C0$=C1$ : PRINT HEX(06);AT(6,0,80);"Getting file parameters"; 0210 IF C1$<>N3$OR Q$<>" "THEN GOSUB '130(1,1,C1$,0,I1-1,A1$,C1) : IF Q$=" "AND C1$="@SPAN001"THEN 230 : ELSE IF Q$=" "THEN 260 : IF C1$="@SPAN001"THEN 250 : C1$="@SPAN001" : A9=0 0220 REM LOOK FOR "@SPAN001" : GOSUB '130(1,1,C1$,A9,I1-1,A1$,C1) : IF Q$="N"THEN 250 0230 REM SPAN FILE. REAL PARM : GOSUB '115(1,R4,A1$,C1) : REM NAME : Q$="N" : C2$=STR(S$(),9,8) : IF C2$<>C0$AND C0$<>"@SPAN001"THEN 250 : Q$=" " : C1$=N3$ 0240 A3=VAL(STR(S$(),5),2) : A5=VAL(STR(S$(),3),2)-A3 : GOTO 270 0250 REM : PRINT HEX(07);AT(10,0); : LINPUT "File does not exist in source platter. Key RETURN to try again",P 1$ : PRINT AT(10,0,160); : C1$=" " : GOTO 200 0260 REM REGULAR FILE PARMS. : C2$=N3$ : A3=R6 : A5=R5-R4-R6+1 0270 PRINT HEX(0E);AT(8,0,); : IF STR(C0$,,5)<>"@SPAN"THEN 280 : PRINT "File ";C0$;" contains a portion of file ";C2$; 0280 PRINT AT(9,0);"Currently,";A3;"sectors are used in file ";C2$;" and";A5;" are free."; 0290 PRINT HEX(0F);AT(6,0,80); : CONVERT A5TO A4$,(#####) : LINPUT "Extra Sectors: "-A4$ : CONVERT A4$TO A4 : ERRORGOTO 280 0300 IF A4<0OR A4+A3>2^16-1THEN 290 : PRINT HEX(06);AT(6,0,) 0305 REM %OUTPUT : IF A5$<>" "THEN 380 0310 PRINT AT(2,40,40); : LINPUT "Output address: "-A2$ : GOSUB '100(A2$) : IF Q$<>" "THEN 310 : IF A2$=A5$AND Q$=" "OR A2$=A1$THEN 340 : A5$=A2$ 0320 PRINT HEX(06);AT(5,38,42);TAB(40);"W = WANG 2200 type";AT(6,40,);"I = IBM 3741 type" : T$="W" 0330 PRINT AT(4,40,40); : LINPUT "Output platter type: "-T$ : C2=POS("IWiw"=T$) : IF C2=0THEN 330 : PRINT HEX(06);AT(4,40,); : C2=MOD(C2,2)*2^14 0340 GOSUB '105(2,A2$,C2) : IF Q$=" "THEN 342 : A5$=" " : GOTO 310 0342 $OPEN #2 : REM READ INDEX : GOSUB '115(2,0,A2$,C2) : IF Q$<>" "THEN 310 : REM SIZE : I4=VAL(STR(S$(),2)) 0350 IF C2=0THEN 380 : PRINT AT(7,40); : Q1$="N" : F=1 : IF STR(S$(),,2)<>HEX(000D)AND STR(S$(),5,2)<>HEX(03E9)THEN PRINT HEX(0E); "Your platter needs to be initialized";HEX(0F); : ELSE F=0 : IF F=1THEN Q1$="Y" : PRINT AT(5,38); : LINPUT "Do you want to initialize the platter?"-Q1$ : ON POS("YyNn"=Q1$)GOTO 370,370,360,360 : ELSE GOTO 350 0360 ON F+1GOTO 380 : PRINT AT(8,40); : LINPUT "Mount a new platter and key RETURN",P1$ : GOTO 320 0370 PRINT HEX(06);AT(5,38,);TAB(40);"Initializing output platter" : GOSUB '240(A2$) 0380 PRINT HEX(06);AT(4,40,); : LINPUT "Output file name: "-C2$ : PRINT HEX(06);AT(6,30,50);"Scanning output index"; : GOSUB '130(1,2,C2$,0,I4-1,A2$,C2) : PRINT AT(6,30,50); : IF Q$="N"THEN 400 0390 Q1$="N" : PRINT AT(6,30);"File ";C2$;" already exists. OK to overwrite?"; : LINPUT Q1$ : ON POS("YyNn"=Q1$)GOTO 400,400,380,380 : ELSE GOTO 390 0400 PRINT AT(6,30,50); : REM CALL 'MOVE' : GOSUB '255(C1$,A1$,C1,A4,C2$,A2$,C2) : GOTO 180 0410 REM END : PRINT HEX(020D0C0F) : END