image of READY prompt

Wang2200.org

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

# Sector 651, program filename = 'RCDI020A'
0010 REM RCDI020A,00-00(02/18/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0040 DIM N$(2)8,C$1,D0$2,D$2,D1$2,A$,F$2,C1$1,C2$1
0050 %     ######    #########    #####    #####    #####
0060 N$(2)="/*0000*/"
   : D,D1=0
   : F1=A1
   : PRINT HEX(01),TAB(64),"MOUNT INPUT DISK",TAB(64)
0100 KEYIN Q6$,100,100
   : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$
   : PRINT HEX(01);,"RECONSTRUCTING DISK INDEX";TAB(64),TAB(64),TAB(64)
   : SCRATCH DISK T#2,LS=A1,END =A2
   : I=A1
0150 DATA LOAD BA T#2,(I,I1)B$()
   : AND (B$(1,1),F0)
   : F1=I
   : IF B$(1,1)<>HEX(80)THEN 320
   : F$=HEX(1000)
   : GOSUB '99(HEX(A0),I)
   : IF C$="E"THEN 660
   : D1=D1+1
0260 D=D+1
   : CONVERT DTO STR(N$(2),3,4),(####)
   : N$(1)=N$(2)
   : GOTO 440
0320 IF B$(1,1)=HEX(40)THEN 340
   : IF B$(1,1)<>HEX(50)THEN 660
0340 F$=HEX(1080)
   : MAT COPY B$()<2,8>TO N$()<1,8>
   : C1$=HEX(20)
   : IF B$(1,1)=HEX(40)THEN 400
   : C1$=HEX(30)
0400 GOSUB '99(C1$,I)
   : IF C$="E"THEN 660
   : D1=D1+1
0440 GOSUB '229(3,N$(1))
   : IF R2$<>HEX(00)THEN 260
   : FOR I1=2-SGN(R3)TO 16
   : IF STR(R9$(I1),1,1)<>HEX(00)THEN 500
   : I2=I1
   : I1=16
0500 NEXT I1
   : GOSUB '98(F1)
   : STR(R9$(I2),3,2)=A$
   : GOSUB '98(I-1)
   : STR(R9$(I2),5,2)=A$
   : STR(R9$(I2),1,2)=F$
   : STR(R9$(I2),9,8)=N$(1)
   : DATA SAVE BA T#R9,(R3,R)R9$()
   : DATA LOAD BA T#R9,(0,R)R9$()
   : BIN(STR(R9$(1),3,1))=INT(I/256)
0600 BIN(STR(R9$(1),4,1))=I-INT(I/256)*256
   : DATA SAVE BA T#R9,(0,R)R9$()
   : PRINT HEX(010A0A)
   : PRINTUSING 50,"FILE #","FILE NAME","START","  END"," USED"
   : PRINTUSING 50,D1,N$(1),F1,I-1,VAL(D0$)*256+VAL(STR(D0$,2,1))
   : I=I-1
0660 I=I+1
   : IF I<=A2THEN 150
0680 DEFFN'15
   : PRINT HEX(03);"MOUNT ISS PLATTTER"
0700 KEYIN Q6$,700,700
   : INPUT "KEY RETURN(EXEC) TO RESUME",Q6$
   : COM CLEAR R1$
   : LOAD DC T#0,"START040"
0760 DEFFN'99(C$,I3)
   : C2$=C$
   : AND (C2$,D0)
   : I3=I3+1
   : D0$=HEX(0002)
   : IF I3>A2-1THEN 960
0820 DATA LOAD BA T#2,(I3,I3)B$()
   : ADDC(D0$,01)
   : AND (B$(1,1),F0)
   : IF B$(1,1)=C2$THEN 820
   : IF B$(1,1)=C$THEN 890
   : C$="E"
   : RETURN
0890 B$(1,2)=D0$
   : B$(1,3)=STR(D0$,2,1)
   : DATA SAVE BA T#2,(I3,I3)B$()
   : C$=" "
   : I=I3
   : RETURN
0960 RETURN CLEAR
0970 GOTO 680
1000 DEFFN'98(A)
   : BIN(A$)=INT(A/256)
   : BIN(STR(A$,2,1))=A-VAL(A$)*256
   : RETURN
1050 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$)
1210 ADD(STR(R3$,1,1),STR(R3$,2,1))
   : R3=VAL(R3$)
   : R3=R3-INT(R3/R4)*R4
   : R5=R3
1290 DATA LOAD BA T#R9,(R3,R)R9$()
   : R6=0
   : FOR R7=1TO 16
   : IF R3<>0THEN 1370
   : IF R7<>1THEN 1370
   : R7=2
1370 R2$=STR(R9$(R7),1,1)
   : IF R2$=HEX(00)THEN 1460
   : IF R2$=HEX(10)THEN 1430
   : IF R2$<>HEX(11)THEN 1470
1430 IF STR(R9$(R7),9,8)<>R9$THEN 1470
   : R6=R7
1460 R7=16
1470 NEXT R7
   : IF R2$=HEX(00)THEN 1600
   : IF R6<>0THEN 1600
   : R2$=HEX(00)
   : R3=R3-1
   : IF R3=R5THEN 1600
   : IF R3>=0THEN 1290
   : R3=R4-1
   : GOTO 1290
1600 RETURN