internal void Device_RaiseIRQ(ADevice device)
{
int device_index = -1;
for (int i = 0; i < m_Devices.Length; i++)
if (m_Devices[i] == device)
device_index = i + 1;
if (device_index == -1) {
// device raising irq does not exist on bus - should never occur
}
else {
if (!m_DevicesRaisingIRQ.Contains((ushort)device_index))
m_DevicesRaisingIRQ.Add((ushort)device_index);
}
}