image of READY prompt

Wang2200.org

Listing of file='COPY020A' on disk='vmedia/701-2048D.wvd.zip'

# Sector 192, program filename = 'COPY020A'
0010 REM COPY020A,00-00(06/07/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0270 DIM C1$(4)64,C2$(4)64,N1$8,B$(2,14)8
0280 DEFFNN(C0)=C0-INT((C0-1)/14)*14
   : C0=1
   : INIT(00)N$
   : PRINT HEX(01);TAB(64)
   : PRINT "MOUNT PLATTERS AT THE INDICATED ADDRESSES",TAB(64)
0330 KEYIN Q6$,330,330
   : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$
   : PRINT HEX(010A),TAB(64),TAB(64),TAB(64)
0380 GOSUB '91
   : IF N$=HEX(0000000000000000)THEN 510
   : IF F=2THEN 460
   : PRINT HEX(01);"COPYING FILE NUMBER";C0-1,TAB(64)
   : PRINT "INPUT FILE NAME = ";N$,"OUTPUT FILE NAME = ";N1$;TAB(64)
   : PRINT TAB(64)
   : GOSUB 880
   : IF Q6$="E"THEN 380
0460 IF F=1THEN 380
   : PRINT HEX(01);"VERIFYING FILE NUMBER";C0-1,TAB(64)
   : PRINT "INPUT FILE NAME = ";N$,"OUTPUT FILE NAME = ";N1$;TAB(64)
   : GOSUB 590
   : GOTO 380
0510 DEFFN'15
   : PRINT HEX(030A);"MOUNT ISS PLATTER"
0530 KEYIN Q6$,530,530
   : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$
   : COM CLEAR N$()
   : LOAD DC T#0,"START040"
0590 GOSUB '229(3,N1$)
   : IF R2$=HEX(10)THEN 700
   : PRINT HEX(010A);"FILE - ";N1$;" - DOES NOT EXIST ON OUTPUT PLATTER.";TAB(
     63)
0620 KEYIN Q6$,620,620
   : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$
   : GOTO 680
0650 PRINT HEX(010A);"FILE - ";N1$;" - DOES NOT VERIFY";TAB(64)
0660 KEYIN Q6$,660,660
   : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$
0680 Q6$="E"
   : RETURN
0700 LIMITS T#2,N$,X1,Y1,Z1
   : LIMITS T#3,N1$,X2,Y2,Z2
   : FOR I=1TO Z1-1
   : DATA LOAD BA T#2,(X1,X1)C2$()
   : DATA LOAD BA T#3,(X2,X2)C1$()
   : IF I<>1THEN 800
   : IF STR(R9$(R6),2,1)=HEX(80)THEN 840
0800 IF C1$(1)<>C2$(1)THEN 650
   : IF C1$(2)<>C2$(2)THEN 650
   : IF C1$(3)<>C2$(3)THEN 650
   : IF C1$(4)<>C2$(4)THEN 650
0840 NEXT I
   : RETURN
0880 GOSUB '229(3,N1$)
   : IF STR(M$,10)="REPLACE"THEN 910
   : IF M$<>"REPLACE"THEN 930
0910 IF R2$=HEX(00)THEN 950
   : GOTO 1010
0930 IF R2$=HEX(00)THEN 1010
0950 PRINT HEX(010A);"FILE - ";N$;" - CAN NOT BE COPIED";TAB(63)
0960 KEYIN Q6$,960,960
   : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$
   : Q6$="E"
   : GOTO 1520
1010 LIMITS T#2,N$,X1,Y1,Z1
   : A=Z1+E
   : IF E>=0THEN 1070
   : A=Y1-X1+1
1070 IF STR(M$,10)="REPLACE"THEN 1090
   : IF M$<>"REPLACE"THEN 1130
1090 LIMITS T#3,N1$,X2,Y2,Z2
   : IF Y2-X2+1<ATHEN 950
   : GOTO 1210
1130 DATA LOAD BA T#3,(0,I)R9$()
   : AND (STR(R9$(1),3,1),7F)
   : AND (STR(R9$(1),5,1),7F)
   : IF A>256*VAL(STR(R9$(1),5,1))+VAL(STR(R9$(1),6,1))-(256*VAL(STR(R9$(1),3,
     1))+VAL(STR(R9$(1),4,1)))THEN 950
   : DATA SAVE DC OPEN T#3,A,N1$
   : LIMITS T#3,N1$,X2,Y2,Z2
1210 DATA LOAD BA T#2,(X1,X1)C1$()
   : Q6$=C1$(1)
   : AND (STR(Q6$,1,1),40)
   : IF STR(Q6$,1,1)<>HEX(40)THEN 1290
   : STR(C1$(1),2,8)=N1$
1290 DATA SAVE BA T#3,(X2,X2)C1$()
   : IF Z1-1<2THEN 1390
   : FOR I=2TO Z1-1
   : DATA LOAD BA T#2,(X1,X1)C1$()
   : DATA SAVE BA T#3,(X2,X2)C1$()
   : NEXT I
1390 DATA LOAD BA T#2,(Y1,Y1)C1$()
   : STR(C1$(1),1,1)=HEX(A0)
   : GOSUB '229(2,N$)
   : IF STR(R9$(R6),2,1)=HEX(00)THEN 1510
   : GOSUB '229(3,N1$)
   : STR(R9$(R6),1,2)=HEX(1080)
   : DATA SAVE BA T#3,(R3,R)R9$()
   : STR(C1$(1),1,1)=HEX(20)
1510 DATA SAVE BA T#3,(Y2,Y2)C1$()
1520 RETURN
1550 DEFFN'91
   : IF M$="ALL"THEN 1740
   : IF STR(M$,1,8)<>"INDIRECT"THEN 1680
   : IF C0>1THEN 1600
   : LIMITS T#2,N$(1,1),Z,Z1,Z1
1600 IF FNN(C0)<>1THEN 1630
   : DATA LOAD DA T#2,(Z,Z)B$()
   : IF END THEN 1720
1630 N$=B$(1,FNN(C0))
   : N1$=B$(2,FNN(C0))
   : IF N$<>" "THEN 1770
   : C0=C0+1
   : GOTO 1600
1680 IF C0>CTHEN 1720
   : N$=N$(1,C0)
   : N1$=N$(2,C0)
   : GOTO 1770
1720 INIT(00)N$
   : RETURN
1740 GOSUB '90(2,N$)
   : N1$=N$
   : IF N5<0THEN 1740
1770 C0=C0+1
   : RETURN
1810 DEFFN'90(N,N$)
   : GOSUB '229(N,N$)
   : N5,N1=0
   : IF R6<>0THEN 1870
   : R=0
   : GOTO 2000
1870 IF R6=16THEN 1980
   : R6=R6+1
1890 FOR N0=R6TO 16
   : IF (N0-1)+ABS(R-1)=0THEN 1970
   : IF STR(R9$(N0),1,1)=HEX(21)THEN 1970
   : ON VAL(STR(R9$(N0),1,1))-15GOTO 1940,1970
   : GOTO 1960
1940 N$=STR(R9$(N0),9,8)
   : N1=1
1960 N0=16
1970 NEXT N0
1980 IF N1=1THEN 2040
   : IF R>=R4THEN 2030
2000 DATA LOAD BA T#N,(R,R)R9$()
   : R6=1
   : GOTO 1890
2030 INIT(00)N$
2040 RETURN
2050 DEFFN'229(R9,R9$)
   : DATA LOAD BA T#R9,(0,R3)R9$()
   : AND (STR(R9$(1),2,1),7F)
   : R4=VAL(STR(R9$(1),2,1))
   : R1$=R9$
   : XOR (STR(R1$,2),R1$)
   : R2$=STR(R1$,8,1)
   : R3$=HEX(0000)
   : ADDC(R3$,R2$)
   : ADDC(R3$,R2$)
   : ADDC(R3$,R2$)
2060 ADD(STR(R3$,1,1),STR(R3$,2,1))
   : R3=VAL(R3$)
   : R3=R3-INT(R3/R4)*R4
   : R5=R3
2070 DATA LOAD BA T#R9,(R3,R)R9$()
   : R6=0
   : FOR R7=1TO 16
   : IF R3<>0THEN 2080
   : IF R7<>1THEN 2080
   : R7=2
2080 R2$=STR(R9$(R7),1,1)
   : IF R2$=HEX(00)THEN 2100
   : IF R2$=HEX(10)THEN 2090
   : IF R2$<>HEX(11)THEN 2110
2090 IF STR(R9$(R7),9,8)<>R9$THEN 2110
   : R6=R7
2100 R7=16
2110 NEXT R7
   : IF R2$=HEX(00)THEN 2120
   : IF R6<>0THEN 2120
   : R2$=HEX(00)
   : R3=R3-1
   : IF R3=R5THEN 2120
   : IF R3>=0THEN 2070
   : R3=R4-1
   : GOTO 2070
2120 RETURN