<> <> <> <<>> <> <<>> DIRECTORY Atom, DynaBusInterface, Rope; DynMapCacheProg: CEDAR PROGRAM IMPORTS Atom EXPORTS ~ BEGIN Quad: TYPE = DynaBusInterface.Quad; Cmd: TYPE = DynaBusInterface.Cmd; L: PROC [c: BOOL] RETURNS [rc: REF ANY] = {rc _ NEW[BOOL _ c]}; C: PROC [c: CARD] RETURNS [rc: REF ANY] = {rc _ NEW[CARD _ c]}; Q: PROC [c: Quad] RETURNS [rc: REF ANY] = {rc _ NEW[Quad _ c]}; Com: PROC [c: Cmd] RETURNS [rc: REF ANY] = {rc _ NEW[Cmd _ c]}; R: PROC [c: Rope.ROPE] RETURNS [rc: REF ANY] = {rc _ NEW[Rope.ROPE _ c]}; regAd: CARD = 0A080H; aidR: NAT=0; shP: NAT=1; shM: NAT=2; byP: NAT=3; byM: NAT=4; byB: NAT=5; vpP: NAT=6; vpM: NAT=7; <> Atom.PutProp[$Simul2Sender, $PKList, LIST[ $Init, $StartStop, $ReceiveAll, LIST[$Wait, C[300]], -- for waiting for DBus initialization <<>> LIST[$IOWriteRqst, Q[[ 0, 0, regAd, aidR ]],-- register Q[[ 0, 0, 0, 13H ]]], -- data $WaitMsgSent, $WaitMsgReceived, -- echo of above $IOWriteRqst $WaitReply, -- ************************************* LIST[$IOReadRqst, Q[[ 0, 0, regAd, aidR ]]],-- register $WaitMsgSent, $WaitMsgReceived, -- echo of above $IOWriteRqst $WaitReply, -- ************************************* LIST[$WaitIOReadRplyandCheck, -- a RBRply occurs. Q[[ 0, 0, regAd, aidR ]], -- address Q[[ 0, 0, 0, 13H ]]], -- data <<>> <<>> $Nop, LIST[$Jump, $Nop] ]]; END.