MICHAEL REESE MEDICAL CENTER - - - DEPARTMENT OF MEDICAL PHYSICS COMPUTER BOOTDP.BAS;20 PAGE 1 10 ! decode boostrap as 16 bits 11 dim a$[8],b$[6],c$[132]v,x(16),xx$[132]v 12 dim de(16) : ! Decoding bits for bootstrap bit versus rom bit 13 de(16)=3 : de(15)=2 : de(14)=1 : de(13)=8 : de(12)=7 : de(11)=6 14 de(10)=5 : de(9)=4 : de(8)=11 : de(7)=10 : de(6)=9 : de(5)=0 15 de(4)=15 : de(3)=14 : de(2)=13 : de(1)=12 16 ! de(n)=x means rom bit n = data bit x 20 open #3, "BOOTDP.DAT/RO/LN:132" 25 if end #3 then 200 30 open #4,"BOOTDP.OUT/WR/LN:132" 40 input line #3, xx$ : zz=zz+1 41 if len(xx$)>5 then 45 42 print #4, xx$ 43 goto 40 45 a$=sbs$(xx$,1,8) : b$=sbs$(xx$,9,6) : c$=sbs$(xx$,15) 46 ad=oct(sbs$(a$,5,3)) 47 if ad<128 goto 49 48 ad=ad-128 : goto 47 49 ad=ad*2 50 b=oct(b$) 51 for i=1 to 16 52 x(i)=b-int(b/2)*2 54 if i=11 then let x(i)=1-x(i) : ! invert data bits 10 thru 12 55 if i=12 then let x(i)=1-x(i) : ! (11-13 counting from 1 instead of 0) 56 if i=13 then let x(i)=1-x(i) 57 b=int(b/2) 58 next i 60 for xx=1 to 4 61 print #4, oct$(ad+xx-1);" "; 65 for i=1 to 4 : print #4, frmt$(x(de(21-xx*4-i)+1),1);" "; : next i 70 if xx=4 then print #4,c$; 71 print #4 72 next xx 80 goto 40 200 close 204 print xx$