<> <> <> <> DIRECTORY Basics USING [bytesPerWord], DiskFace USING [Type], PupType USING [maxOldGatewayBytes]; TeledebugProtocol: DEFINITIONS = { CorePage, DiskPage: TYPE = LONG CARDINAL; Flag: TYPE = WORD; Label: TYPE = ARRAY [0..10) OF UNSPECIFIED; Page: TYPE = ARRAY [0..256) OF WORD; CoreStoreRequest: TYPE = MACHINE DEPENDENT RECORD [ page: CorePage, flags: Flag, data: Page]; CoreStoreAcknowledgement: TYPE = MACHINE DEPENDENT RECORD [ page: CorePage, flags: Flag]; -- vacant flag if failure (not mapped) CoreFetchRequest: TYPE = MACHINE DEPENDENT RECORD [page: CorePage]; <> CoreFetchAcknowledgement: TYPE = MACHINE DEPENDENT RECORD [ page: CorePage, flags: Flag, data: Page]; <> DiskAddressSetRequest: TYPE = MACHINE DEPENDENT RECORD [ page: DiskPage, device: DiskFace.Type, deviceOrdinal: CARDINAL]; <> DiskAddressSetAcknowledgement: TYPE = MACHINE DEPENDENT RECORD [ page: DiskPage, device: DiskFace.Type, deviceOrdinal: CARDINAL]; DiskStoreRequest: TYPE = MACHINE DEPENDENT RECORD [ label: Label, data: Page]; <> DiskStoreAcknowledgement: TYPE = MACHINE DEPENDENT RECORD [ label: Label, garbage: ARRAY [0..0) OF UNSPECIFIED]; <> <> DiskFetchAcknowledgement: TYPE = MACHINE DEPENDENT RECORD [ label: Label, data: Page]; <> <> <> noLabel: Label = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]; vacantFlag: Flag = 60000B; -- writeProtected+dirty=vacant <> MaxSize: TYPE = CARDINAL [0..PupType.maxOldGatewayBytes/Basics.bytesPerWord]; coreStoreRequestSize: MaxSize = SIZE[CoreStoreRequest]; coreStoreAcknowledgementSize: MaxSize = SIZE[CoreStoreAcknowledgement]; coreFetchRequestSize: MaxSize = SIZE[CoreFetchRequest]; coreFetchAcknowledgementSize: MaxSize = SIZE[CoreFetchAcknowledgement]; diskAddressSetRequestSize: MaxSize = SIZE[DiskAddressSetRequest]; diskAddressSetAcknowledgementSize: MaxSize = SIZE[DiskAddressSetAcknowledgement]; diskStoreRequestSize: MaxSize = SIZE[DiskStoreRequest]; diskStoreAcknowledgementSize: MaxSize = SIZE[DiskStoreAcknowledgement]; diskFetchAcknowledgementSize: MaxSize = SIZE[DiskFetchAcknowledgement]; }.....