<> <> <> <> <<>> <<>> <<>> 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[$Wait, C[100]], -- wait for the DBus and the memory controller to be intialized <> LIST[$SetMode,C[0]], -- test in Kernel mode 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[$SetMode,C[0]], -- test in Kernel mode LIST[$IOReadAndCheck,C[9H],C[01234567H]], -- for waiting some cycle LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], LIST[$IOReadAndCheck,C[9H],C[01234567H]], 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.