--Author: John Maxwell
--last modified: February 2, 1981 3:28 PM
MusicHardwareDefs: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.