public MemoryShortReader(Z80Cpu cpu, ushort?address = null) { _byte1Reader = new MemReadCycle(cpu); _byte1Reader.Address = address; _byte2Reader = new MemReadCycle(cpu); _byte2Reader.Address = (address == null ? (ushort?)null : (ushort)(address + 1)); }
public Indexed(Z80Cpu cpu, WideRegister register, int internalCycleLength = 5, bool additionalCycleOnRead = false) { if (register != WideRegister.IX && register != WideRegister.IY) { throw new InvalidOperationException("Invald index register specified"); } _register = register; _cpu = cpu; _offsetReadCycle = new MemReadCycle(cpu); _internalCycle = new InternalCycle(internalCycleLength); _additionalCycleOnRead = additionalCycleOnRead; }
public MemoryByteReader(Z80Cpu cpu, ushort?address = null, bool additionalCycleAtEnd = false) { _memoryReader = new MemReadCycle(cpu); _memoryReader.Address = address; _internalCycle = new InternalCycle(additionalCycleAtEnd ? 1 : 0); }