namespace BizHawk.Emulation.Common.Components.LR35902 { public partial class LR35902 { private void INT_OP_IND(ushort operation, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, Z, src_l, src_h, IDLE, operation, Z, IDLE, WR, src_l, src_h, Z, IDLE, IDLE, HALT_CHK, OP }; } private void BIT_OP_IND(ushort operation, ushort bit, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, Z, src_l, src_h, IDLE, operation, bit, Z, IDLE, WR, src_l, src_h, Z, IDLE, IDLE, HALT_CHK, OP }; } private void BIT_TE_IND(ushort operation, ushort bit, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, Z, src_l, src_h, IDLE, operation, bit, Z, HALT_CHK, OP }; } private void REG_OP_IND_INC(ushort operation, ushort dest, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, Z, src_l, src_h, operation, dest, Z, INC16, src_l, src_h, HALT_CHK, OP }; } private void REG_OP_IND(ushort operation, ushort dest, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, Z, src_l, src_h, IDLE, operation, dest, Z, HALT_CHK, OP }; } private void LD_R_IM(ushort dest_l, ushort dest_h, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, W, src_l, src_h, IDLE, INC16, src_l, src_h, IDLE, RD, Z, src_l, src_h, IDLE, INC16, src_l, src_h, IDLE, WR, W, Z, dest_l, IDLE, INC16, W, Z, IDLE, WR, W, Z, dest_h, IDLE, IDLE, HALT_CHK, OP }; } private void LD_8_IND_INC(ushort dest_l, ushort dest_h, ushort src) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, WR, dest_l, dest_h, src, IDLE, INC16, dest_l, dest_h, HALT_CHK, OP }; } private void LD_8_IND_DEC(ushort dest_l, ushort dest_h, ushort src) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, WR, dest_l, dest_h, src, IDLE, DEC16, dest_l, dest_h, HALT_CHK, OP }; } private void LD_8_IND(ushort dest_l, ushort dest_h, ushort src) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, WR, dest_l, dest_h, src, IDLE, IDLE, HALT_CHK, OP }; } private void LD_8_IND_IND(ushort dest_l, ushort dest_h, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, Z, src_l, src_h, IDLE, INC16, src_l, src_h, IDLE, WR, dest_l, dest_h, Z, IDLE, IDLE, HALT_CHK, OP }; } private void LD_IND_8_INC(ushort dest, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, dest, src_l, src_h, IDLE, INC16, src_l, src_h, HALT_CHK, OP }; } private void LD_IND_8_INC_HL(ushort dest, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, dest, src_l, src_h, IDLE, INC16, src_l, src_h, HALT_CHK, OP }; } private void LD_IND_8_DEC_HL(ushort dest, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, dest, src_l, src_h, IDLE, DEC16, src_l, src_h, HALT_CHK, OP }; } private void LD_IND_16(ushort dest_l, ushort dest_h, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, dest_l, src_l, src_h, IDLE, INC16, src_l, src_h, IDLE, RD, dest_h, src_l, src_h, IDLE, INC16, src_l, src_h, HALT_CHK, OP }; } private void INC_8_IND(ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, Z, src_l, src_h, IDLE, INC8, Z, IDLE, WR, src_l, src_h, Z, IDLE, IDLE, HALT_CHK, OP }; } private void DEC_8_IND(ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, Z, src_l, src_h, IDLE, DEC8, Z, IDLE, WR, src_l, src_h, Z, IDLE, IDLE, HALT_CHK, OP }; } private void LD_8_IND_FF(ushort dest, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, W, src_l, src_h, INC16, src_l, src_h, IDLE, ASGN, Z , 0xFF, RD, dest, W, Z, IDLE, IDLE, HALT_CHK, OP }; } private void LD_FF_IND_8(ushort dest_l, ushort dest_h, ushort src) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, W, dest_l, dest_h, INC16, dest_l, dest_h, IDLE, ASGN, Z , 0xFF, WR, W, Z, src, IDLE, IDLE, HALT_CHK, OP }; } private void LD_8_IND_FFC(ushort dest, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, ASGN, Z , 0xFF, RD, dest, C, Z, IDLE, IDLE, HALT_CHK, OP }; } private void LD_FFC_IND_8(ushort dest_l, ushort dest_h, ushort src) { cur_instr = new ushort[] {IDLE, IDLE, ASGN, Z , 0xFF, WR, C, Z, src, IDLE, IDLE, HALT_CHK, OP }; } private void LD_16_IND_FF(ushort dest, ushort src_l, ushort src_h) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, W, src_l, src_h, IDLE, INC16, src_l, src_h, IDLE, RD, Z, src_l, src_h, IDLE, INC16, src_l, src_h, IDLE, RD, dest, W, Z, IDLE, IDLE, HALT_CHK, OP }; } private void LD_FF_IND_16(ushort dest_l, ushort dest_h, ushort src) { cur_instr = new ushort[] {IDLE, IDLE, IDLE, RD, W, dest_l, dest_h, IDLE, INC16, dest_l, dest_h, IDLE, RD, Z, dest_l, dest_h, IDLE, INC16, dest_l, dest_h, IDLE, WR, W, Z, src, IDLE, IDLE, HALT_CHK, OP }; } } }