//Sun-Proms.bcpl--Sun3MBEthernetboardProms//LastmodifiedFebruary10,19844:00PMbyBoggs//Sun-Rev-B&CadLink-Rev-0boardsrequireahardwarechange:(TXMultibus/Fifointerlock)//isolateU308pin4;connectittoU308pin25(P.Read/)//Otherknownhardwarefixes://isolateU511pin4;connectittoU111pin12(T.AbortAck/)//isolateU513pin2;connectittoU317pin9(TX.Jam)external[Ws;OpenFile;Puts;Closes;Allocate;Free;sysZone]static[memory;mbFile]structureString[lengthbyte;char^1,1byte]manifest[high=1;low=0]//-----------------------------------------------------------------------------------------letSunProms()be//-----------------------------------------------------------------------------------------[mbFile=OpenFile("Sun-Proms.mb")DoMemory("TX",256,8,TX)DoMemory("NewTX",256,8,NewTX)DoMemory("Ctrl",32,40,Ctrl)Puts(mbFile,0)//0=endoffileCloses(mbFile)]//-----------------------------------------------------------------------------------------andDoMemory(name,nAddr,nData,Proc)be//-----------------------------------------------------------------------------------------//nAddrisnumberofaddresses//nDataisnumberofoutputbits[Ws("*N");Ws(name)Puts(mbFile,4)//4=definememorymemory=memory+1Puts(mbFile,memory)Puts(mbFile,nData)ifname>>String.lengthgr1thenfori=1toname>>String.length-1by2doPuts(mbFile,name>>String.char^ilshift8+name>>String.char^(i+1))Puts(mbFile,(name>>String.length&1)eq0?0,name>>String.char^(name>>String.length)lshift8)Puts(mbFile,2)//2=setcurrentmemoryPuts(mbFile,memory)Puts(mbFile,0)//locationcounter pï_,îâîÇ î¼î3î î @î#î(¨î,Ÿï]…îµîšîžî{î xî"µî&î)Žî,:î.6ï[Ýîµîšî¬ îDî$ î(|î-E î.nî4wî9™ïZ6îµîÍ ïXŽîµîîbîî‹î9î#Pî$¦î&Uî* î,~î.cïVçîµîšî‘îî ïU@îµîîbîî‹î9î#Pî$¦î&Uî* î,~î.cïS˜îµîîbîî‹î9î#Pî$¦î&Uî* î,~ î-³ïPIîµî÷ îÞîÁîXî"áî'©î-…î19î6† ïLúîµî> î&îîÕ ïI¬îµîrîŠ îrî«î"5î'®î*¾ ïF]îµîD î+îQ î6îäî… î!j î"ž ïCîµð[ïAfîµî± î;ï?¿îµð[ï>îµ ï