image of READY prompt

Wang2200.org

Listing of file='@MOVEFIL' on disk='vmedia/701-2294M.wvd.zip'

# Sector 1071, 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