Listing of file='RCDI010A' on disk='vmedia/701-2048D.wvd.zip'
# Sector 636, program filename = 'RCDI010A' 0010 REM RCDI010A,00-00(02/18/76),12003A - COPYRIGHT WANG LABS. INC., 1976 0040 COM R1$8,R2$1,R3$2,R9$8,R9$(16) : COM B$(16,16)1,A1,A2,I$3 : DIM Q6$64 : PRINT HEX(03) 0090 GOSUB '243("ENTER THE DISK ADDRESS.",3) : IF STR(Q6$,1,1)="B"THEN 120 : IF STR(Q6$,1,1)<>"3"THEN 150 0120 I$=Q6$ : GOSUB '97(I$) : IF Q6$="Y"THEN 190 0150 GOSUB 1270 : GOTO 90 0190 GOSUB '248(7,20,9) : PRINT "DISK ADDRESS = ";I$ : GOSUB '98(250,2,I$) : LOAD DC T#0,"SELECT"250,250 0250 % SELECT #2 GOES HERE 0260 GOSUB '98(280,3,I$) : LOAD DC T#0,"SELECT"280,280 0280 % SELECT #3 GOES HERE 0300 GOSUB '245("ENTER THE HIGHEST SECTOR ADDRESS OF THE DISK.",5,0) : A2=Q9 : GOSUB '248(8,20,0) : PRINT "HIGHEST SECTOR ADDRESS =";A2 0340 GOSUB '245("ENTER THE NUMBER OF INDEX SECTORS. (0=UNKNOWN)",3,0) : A1=Q9 : IF A1>=A2THEN 380 : IF A1<256THEN 400 0380 GOSUB 1270 : GOTO 340 0400 IF A1<>0THEN 570 : PRINT HEX(010A);"MOUNT INPUT DISK";TAB(64) : GOSUB '254 : PRINT HEX(01);,"FINDING NUMBER OF INDEX SECTORS";TAB(64),TAB(64),TAB(64) 0460 DATA LOAD BA T#2,(A1,A1)B$() : AND (B$(1,1),C0) : IF B$(1,1)=HEX(40)THEN 530 : IF B$(1,1)<>HEX(80)THEN 460 : DATA LOAD BA T#2,(A1,A3)B$() : AND (B$(1,1),F0) : IF B$(1,1)<>HEX(80)THEN 460 0530 A1=A1-1 : PRINT HEX(01);TAB(64),"REMOUNT ISS PLATTER IF REMOVED.";TAB(64) : KEYIN Q6$,660,660 : GOSUB '254 0570 GOSUB '248(9,20,0) : PRINT "NUMBER OF INDEX SECTORS =";A1 : COM CLEAR I$ : LOAD DC T#0,"RCDI020A" 0640 DEFFN'15 : PRINT HEX(030A);"REMOUNT ISS PLATTER IF REMOVED." 0660 KEYIN Q6$,660,660 : GOSUB '254 : COM CLEAR R1$ : LOAD DC T#0,"START040" 0710 DEFFN'242(W0,Q6$) : IF W0<=0THEN 750 : INIT(Q6$)Q6$ : PRINT STR(Q6$,1,W0); 0750 RETURN 0770 DEFFN'254 : GOSUB '248(2,0,1) : INPUT "KEY RETURN(EXEC) TO RESUME ",Q6$ : W4$=Q6$ : GOSUB '248(1,0,3) : Q6$=W4$ : RETURN 0850 DEFFN'243(Q6$,Q0) : GOSUB 1300 0870 SELECT CO 205 : Q6$=" " : INPUT Q6$ : IF Q0=0THEN 1370 : IF LEN(Q6$)<=Q0THEN 1370 : GOSUB 1270 0940 DEFFN'244(Q0) : GOSUB 1350 : GOSUB 1320 : GOTO 870 0990 DEFFN'245(Q6$,Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 1300 1020 IF ABS(Q2)+ABS(Q3)=0THEN 1060 : GOSUB '242(ABS(Q2)+2,HEX(09)) : PRINT "/" : GOTO 1070 1060 PRINT ,," " 1070 GOSUB 1350 : SELECT CO 205 : Q9,W0=-1E-99 : INPUT Q9 : IF W0=Q9THEN 1150 : IF ABS(Q2)+Q3=0THEN 1250 : IF Q9>=0THEN 1220 : IF Q2<=0THEN 1220 1150 GOSUB 1270 1170 DEFFN'246(Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 1350 : GOSUB 1320 : GOTO 1020 1220 IF ABS(Q9)>=10^ABS(Q2)THEN 1150 : W0=ABS(Q9*10^Q3) : IF INT(W0)<>W0THEN 1150 1250 GOSUB '248(3,0,1) : RETURN 1270 GOSUB '248(3,0,1) : PRINT "RE-ENTER" : RETURN 1300 SELECT PRINT 005(64),CO 005 : PRINT HEX(010A);STR(Q6$,1); 1320 SELECT PRINT 005(64),CO 005 : GOSUB '242(Q0+2,"-") : PRINT TAB(64) 1350 PRINT HEX(010A0A) : RETURN 1370 PRINT HEX(0A);TAB(64) : SELECT PRINT 005(64),CO 005 : RETURN 1410 DEFFN'248(Q6,Q7,Q8) : GOSUB 1540 : IF Q8<1THEN 1510 : GOSUB 1510 : SELECT PRINT 205 : PRINT TAB(64-Q7) : IF Q8<2THEN 1510 : FOR W0=2TO Q8 : PRINT HEX(0A);TAB(64) : NEXT W0 1510 PRINT HEX(01) : GOSUB '242(Q7,HEX(09)) : GOSUB '242(Q6,HEX(0A)) 1540 SELECT PRINT 005(64),CO 005 : RETURN 1580 DEFFN'97(Q6$) : STR(Q6$,4)=HEX(00300131023203330434053506360737083809390A410B420C430D440E 450F462020) : $TRAN(Q6$<2,2>,Q6$<4>)R : IF STR(Q6$,2,1)>HEX(0F)THEN 1720 : IF STR(Q6$,3,1)>HEX(0F)THEN 1720 : ROTATE(STR(Q6$,2,1),4) 1650 STR(Q6$,4,1)=STR(Q6$,2,1) : OR (STR(Q6$,4,1),STR(Q6$,3,1)) : $GIO(02000316122273404400,Q6$) : IF STR(Q6$,8,1)<>HEX(00)THEN 1720 : Q6$="Y" : RETURN 1720 Q6$="N" : F$="N" : RETURN 1770 DEFFN'98(Q8,Q9,Q6$) : R9$(1)=HEX(20FF0000A5D7313331300D0000FE) : PACK(####)STR(R9$(1),3,2)FROMQ8 : CONVERT Q9TO STR(R9$(1),7,1),(#) : STR(R9$(1),8,3)=Q6$ : LIMITS T#0,"SELECT",Q8,Q9,Q9 : DATA SAVE BA T#0,(Q8+1,Q9)R9$() : RETURN