public void OnIOWrite(int location, int value) { int function = 0; IOHardware hardware = DecodeIOPort(location, ref function); switch (hardware) { case IOHardware.GateArray: { m_gate_array.OnIOWrite(value); } break; case IOHardware.CRTC: { m_crtc.OnIOWrite(function, value); } break; case IOHardware.ROMSelect: { m_memory.SelectUpperROM(value); } break; case IOHardware.PPI8255: { m_ppi.IOWrite(function, value); } break; default: { } break; } }