public override void Read(uint address) { //Compute range of ROM registers to read from uint romStartAddress = StrobeToRomAddress(address); readMemory.Read(romStartAddress); uint romAddress = StrobeToRomAddress(address); int offset = (int)(address % 8); registers[address].Set(((readMemory[romAddress].GetByte() >> offset) & 0x01) == 0x01); registers[address].Dirty = false; }