public SubtractWithCarry_16bit(Z80Cpu cpu, RegAddrMode16Bit destinationAddressMode, RegAddrMode16Bit sourceAddressMode) { _cpu = cpu; _destinationAddressMode = destinationAddressMode; _sourceAddressMode = sourceAddressMode; _internalCycle = new InternalCycle(7); }
public RotateDigit(Z80Cpu cpu, bool isLeftShift) { _cpu = cpu; _addressMode = new RegIndirect(_cpu, WideRegister.HL); _internalCycle = new InternalCycle(4); _isLeftShift = isLeftShift; }
public CALL(Z80Cpu cpu, IAddressMode <ushort> addressMode, JumpCondition jumpCondition) { _cpu = cpu; _addressMode = addressMode; _internalCycle = new InternalCycle(1); _jumpCondition = jumpCondition; }
public Add_16bit(Z80Cpu cpu, RegAddrMode16Bit destinationAddressMode, RegAddrMode16Bit sourceAddressMode, bool withCarry = false) { _cpu = cpu; _destinationAddressMode = destinationAddressMode; _sourceAddressMode = sourceAddressMode; _withCarry = withCarry; _internalCycle = new InternalCycle(7); }
public INxx(Z80Cpu cpu, bool increment, bool repeats) { _cpu = cpu; _inputCycle = new InputCycle(cpu); _destination = new RegIndirect(cpu, WideRegister.HL); _repeatCycles = new InternalCycle(5); _remainingM1Cycles = 1; _increment = increment; _repeats = repeats; }
public OUTxx(Z80Cpu cpu, bool increment, bool repeats) { _cpu = cpu; _outputCycle = new OutputCycle(cpu); _sourceReader = new RegIndirect(cpu, WideRegister.HL).Reader; _repeatCycles = new InternalCycle(5); _remainingM1Cycles = 1; _increment = increment; _repeats = repeats; }
public Jump(Z80Cpu cpu, IAddressMode <ushort> addressMode, JumpCondition condition, bool requiresConditionalInternalCycle = false, int additionalM1TCycles = 0, string mnemomic = "JP") { _cpu = cpu; _addressMode = addressMode; _condition = condition; _requiresConditionalInternalCycle = requiresConditionalInternalCycle; _internalCycle = new InternalCycle(5); _additionalM1TCycles = additionalM1TCycles; _remainingM1Cycles = additionalM1TCycles; Mnemonic = mnemomic; }
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); }