MusicHardwareDefs.mesa
Copyright (C) 1981, 1984 Xerox Corporation. All rights reserved.
Author: John Maxwell
last modified: February 2, 1981 3: 28 PM
Edited by Doug Wyatt, June 14, 1984 1:02:40 pm PDT
MusicHardwareDefs: CEDAR DEFINITIONS
= BEGIN
MainMusicPTR: POINTER TO POINTER TO MusicIODescriptor = LOOPHOLE[415B];
MusicIODescriptor: TYPE = MACHINE DEPENDENT RECORD[
headOfInputList: EventBufferPTR,
headOfOutputList: EventBufferPTR,
status: Status,
maskForInput: WORD,
maskForOutput: WORD,
microcodeTemps: LONG POINTER TO ARRAY [0..26) OF CARDINAL,
seal: WORD,
time: LONG CARDINAL
];
EventBufferPTR: TYPE = LONG POINTER TO EventBuffer;
EventBuffer: TYPE = MACHINE DEPENDENT RECORD[
chainPTR: EventBufferPTR,
maxLength: CARDINAL, -- = bufferLength
length: CARDINAL,
status: Status,
data: ARRAY[0..bufferLength] OF MusicEvent
];
bufferLength: CARDINAL = 100;
MusicEvent: TYPE = MACHINE DEPENDENT RECORD[
channelWord: ChannelWord,
htoc: CARDINAL
];
KeyState: TYPE = MACHINE DEPENDENT {up(0), illegal(1), pressed(2), down(3)};
ChannelWord: TYPE = MACHINE DEPENDENT RECORD[
channel: [0..16),
key: PACKED ARRAY [0..6) OF KeyState
];
Status: TYPE = MACHINE DEPENDENT RECORD[
f1: [0..37B], iDn: [0..1], iDry: [0..1], iOff: [0..1],
f2: [0..37B], oDn: [0..1], oDry: [0..1], oOff: [0..1]
];
END.