DIRECTORY Atom; PBusCacheProg3: CEDAR PROGRAM IMPORTS Atom EXPORTS ~ BEGIN C: PROC [c: CARD] RETURNS [rc: REF ANY] = {rc _ NEW[CARD _ c]}; Atom.PutProp[$PBusEmul, $PKList, LIST[ LIST[$ClearFlag, $PBusWriteDone], LIST[$Wait, C[2]], LIST[$WaitSync, $MemReady], LIST[$SetByteSelect,C[0FH]], -- Word selection LIST[$IOWrite,C[9H],C[01234567H]], --AID register LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$SetMode,C[1]], -- test in User mode LIST[$SetByteSelect,C[0FH]], -- Word selection LIST[$ReadAndCheck,C[00112289H],C[01234567H]], LIST[$Write,C[00112288H],C[89ABCDEFH]], -- Now I'm owner LIST[$SetFlag, $PBusWriteDone], LIST[$SetMode,C[0]], -- test in Kernel mode $LoopWait, LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$SkipIfTrue, $DynReadDone], LIST[$Jump, $LoopWait], LIST[$SetMode,C[1]], -- test in User mode LIST[$Write,C[0011228AH],C[0AABBCCDDH]], -- WriteSingle gen LIST[$SetMode,C[0]], -- test in Kernel mode LIST[$IOReadAndCheck,C[9H],C[01234567H]], $StopSimul, $Nop, LIST[$Jump, $Nop] ]]; END. BPBusCacheProg3P.mesa Copyright Ó 1987, 1988 by Xerox Corporation. All rights reserved. Created by Jean Gastinel, May 21, 1988 6:20:57 pm PDT Jean Gastinel June 2, 1988 2:23:57 pm PDT LIST[$Wait, C[100]], -- wait for the DBus and the memory controller to be intialized Testing for OwnerShip Terminate Simul ʘcodešœ™KšœB™BKšœ5™5Kšœ*™*K™—K™K™KšÏk ˜ Kšœ˜KšÑbln Ïnœœ˜Kšœ˜ Kšœ˜šœ˜K˜—˜KšŸœœœœœœ œœ˜?K˜K˜šœ!œ˜&Kšœ˜#Kšœœ˜Kšœ˜KšœœÏc?™VK˜Kšœ™K™Kšœœ œ˜4Kšœœ# ˜8Kšœœ(˜.K™Kšœœ ˜.Kšœ˜Kšœœ œ˜4Kšœœ+˜1Kšœœ% ˜=Kšœœ˜!Kšœœ ˜0K˜Kšœ ˜ Kšœœ(˜.Kšœœ˜"Kšœœ˜K™Kšœœ ˜.Kšœœ& ˜>K˜K™Kšœœ ˜0Kšœœ(˜.Kš ˜Kšœ˜Kšœ ˜ K˜Kšœœ ˜Kšœ˜K˜——K˜Kšœ˜—…—zÒ