//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 .n4w9Z6 Xb9#P$&U* ,~.cV U@b9#P$&U* ,~.cSb9#P$&U* ,~ -PI X"'-196 L> & Ir r"5'* F]D +Q 6 !j " C[Af ;?[>