public override byte Read(int position) { switch (position & 0xFF) { case IOPorts.DIV: return(divider.Read(position)); case IOPorts.TIMA: case IOPorts.TMA: case IOPorts.TAC: return(timerCounter.Read(position)); default: Logger.GetInstance().Log(new LogMessage(LogMessageSource.Timer, position, "Failed read.")); return(0xFF); } }