DIRECTORY Cache, CacheTester, Dragon; CacheTesterB: CEDAR PROGRAM IMPORTS Cache, CacheTester SHARES Cache, CacheTester = BEGIN OPEN CacheTester; Chunk1: PROC = { OPEN value; ThreadStart[MCommand, NEW[MCommandRec _ [slave: TRUE, wqCount: 1, wqData: [[shared: TRUE, match: TRUE, WQAddress: 00010030H, WQData0: 00600000H, WQData1: 00600001H, WQData2: 00600002H, WQData3: 00600003H],,,]]]]; C[5]; ThreadStart[MCommand, NEW[MCommandRec _ [slave: TRUE, RQ: TRUE, rqShared: TRUE, rqMatch: TRUE, RQAddress: 00010030H, RQData0: 00600000H, RQData1: 00600001H, RQData2: 00600002H, RQData3: 00600003H]]]; C[6]; ThreadStart[MCommand, NEW[MCommandRec _ [slave: TRUE, WS: TRUE, WSAddress: 00010030H, WSData: 00600004H]]]; C[2]; ThreadStart[MCommand, NEW[MCommandRec _ [slave: TRUE, RQ: TRUE, rqShared: TRUE, rqMatch: TRUE, RQAddress: 00010030H, RQData0: 00600004H, RQData1: 00600001H, RQData2: 00600002H, RQData3: 00600003H]]]; C[6]; ThreadStart[MCommand, NEW[MCommandRec _ [slave: TRUE, CF: TRUE, CFData: 00010000H]]]; C[2]; ThreadStart[PReference, NEW[PReferenceRec _ [command: Store, address: 1, data: 2, rejects: 6, fault: Dragon.Write]]]; ThreadStart[MCommand, NEW[MCommandRec _ [arb: TRUE, IOR: TRUE, IOAddress: 0C0H, IOData:00000002H]]]; C[8]; P[A]; drive.MCmdAB _ TRUE; MCmdAB _ NoOp; E[]; drive.MCmdAB _ FALSE; F[]; ThreadStart[PReference, NEW[PReferenceRec _ [command: IOFetch, address: 0, data: 00050000H, rejects: 5]]]; ThreadStart[MCommand, NEW[MCommandRec _ [arb: TRUE, IOR: TRUE, IOAddress: 0, IOData: 00050000H]]]; C[8]; P[A]; drive.MCmdAB _ TRUE; MCmdAB _ NoOp; E[]; drive.MCmdAB _ FALSE; F[]; ThreadStart[PReference, NEW[PReferenceRec _ [command: IOStore, address: 2, data: 00050001H, rejects: 5]]]; ThreadStart[MCommand, NEW[MCommandRec _ [arb: TRUE, IOW: TRUE, IOAddress: 2, IOData: 00050001H]]]; C[8]; P[A]; drive.MCmdAB _ TRUE; MCmdAB _ NoOp; E[]; drive.MCmdAB _ FALSE; F[]; DoAReset[]; ThreadStart[PReference, NEW[PReferenceRec _ [command: Store, address: 00010000H, data: 00000011H, rejects: 11]]]; ThreadStart[MCommand, NEW[MCommandRec _ [arb: TRUE, IOR: TRUE, IOAddress: 000100C0H, IOData:00020000H, RQ: TRUE, RQAddress:00020000H, RQData0: 00000001H, RQData1: 00000002H, RQData2: 00000003H, RQData3: 00000004H]]]; C[14]; P[A]; drive.MCmdAB _ TRUE; MCmdAB _ NoOp; E[]; drive.MCmdAB _ FALSE; F[]; ThreadStart[PReference, NEW[PReferenceRec _ [command: Fetch, address: 00010010H, data: 00000005H, rejects: 6]]]; ThreadStart[MCommand, NEW[MCommandRec _ [arb: TRUE, RQ: TRUE, RQAddress:00020010H, RQData0: 00000005H, RQData1: 00000006H, RQData2: 00000007H, RQData3: 00000008H]]]; C[14]; P[A]; drive.MCmdAB _ TRUE; MCmdAB _ NoOp; E[]; drive.MCmdAB _ FALSE; F[]; ThreadStart[PReference, NEW[PReferenceRec _ [command: Fetch, address: 00010020H, data: 00000009H, rejects: 6]]]; ThreadStart[MCommand, NEW[MCommandRec _ [arb: TRUE, RQ: TRUE, RQAddress:00020020H, RQData0: 00000009H, RQData1: 0000000AH, RQData2: 0000000BH, RQData3: 0000000CH]]]; C[14]; P[A]; drive.MCmdAB _ TRUE; MCmdAB _ NoOp; E[]; drive.MCmdAB _ FALSE; F[]; ThreadStart[PReference, NEW[PReferenceRec _ [command: Fetch, address: 00010030H, data: 0000000DH, rejects: 6]]]; ThreadStart[MCommand, NEW[MCommandRec _ [arb: TRUE, RQ: TRUE, RQAddress:00020030H, RQData0: 0000000DH, RQData1: 0000000EH, RQData2: 0000000FH, RQData3: 00000010H]]]; C[14]; P[A]; drive.MCmdAB _ TRUE; MCmdAB _ NoOp; E[]; drive.MCmdAB _ FALSE; F[]; ThreadStart[MCommand, NEW[MCommandRec _ [slave: TRUE, RQ: TRUE, rqShared: TRUE, rqMatch: TRUE, RQAddress: 00020000H, RQData0: 00000011H, RQData1: 00000002H, RQData2: 00000003H, RQData3: 00000004H]]]; C[6]; ThreadStart[MCommand, NEW[MCommandRec _ [slave: TRUE, WS: TRUE, WSAddress: 00020000H, WSData: 00200001H]]]; C[2]; ThreadStart[PReference, NEW[PReferenceRec _ [command: Fetch, address: 00010040H, data: 00000011H, rejects: 6]]]; ThreadStart[MCommand, NEW[MCommandRec _ [arb: TRUE, RQ: TRUE, RQAddress:00020040H, RQData0: 00000011H, RQData1: 00000012H, RQData2: 00000013H, RQData3: 00000014H]]]; C[14]; P[A]; drive.MCmdAB _ TRUE; MCmdAB _ NoOp; E[]; drive.MCmdAB _ FALSE; F[]; }; END. †CacheTesterB.mesa Last Edited by: Barth, July 30, 1984 7:39:04 pm PDT Check that a write single causes master to be reset. Κ˜Jšœ™J™3Icode˜KšΟk œ˜%K˜šΠbx œœœ˜Kšœ˜Kšœ˜—K˜Kšœœ ˜K˜J˜šΟnœœ˜Jšœ˜ J˜Jš œœœ œ œo˜ΤJšœ˜Jš œœœœœ œ œj˜ΗJšœ˜Jš œœœœœ-˜kJšœ˜Jš œœœœœ œ œj˜ΗJšœ˜Jš œœœœœ˜UJšœ˜J™JšœœZ˜uJš œœœœœ'˜dJšœ˜Jš œœœœœœ˜IJ™JšœœO˜jJš œœœœœ%˜bJšœ˜Jš œœœœœœ˜IJ˜JšœœO˜jJš œœœœœ%˜bJšœ˜Jš œœœœœœ˜IJ˜J˜ J™J™4J™JšœœV˜qJš œœœœœ*œœi˜ΨJšœ˜Jš œœœœœœ˜IJšœœU˜pJš œœœœœi˜₯Jšœ˜Jš œœœœœœ˜IJšœœU˜pJš œœœœœi˜₯Jšœ˜Jš œœœœœœ˜IJšœœU˜pJš œœœœœi˜₯Jšœ˜Jš œœœœœœ˜IJš œœœœœ œ œj˜ΗJšœ˜Jš œœœœœ-˜kJšœ˜JšœœU˜pJš œœœœœi˜₯Jšœ˜Jš œœœœœœ˜IJ˜J˜J˜—Kšœ˜J˜—…—ψƒ