diff --git a/BizHawk.Emulation.Cores/CPUs/Z80A/Tables_Direct.cs b/BizHawk.Emulation.Cores/CPUs/Z80A/Tables_Direct.cs index 240d2ce06f..55f08e4905 100644 --- a/BizHawk.Emulation.Cores/CPUs/Z80A/Tables_Direct.cs +++ b/BizHawk.Emulation.Cores/CPUs/Z80A/Tables_Direct.cs @@ -352,7 +352,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A OP_F, OP }; - BUSRQ = new ushort[] {PCh, 0, 0, PCh, 0, 0, 0, SPh, 0, 0, SPh, 0, 0, W, 0, 0, 0}; + BUSRQ = new ushort[] {PCh, 0, 0, PCh, 0, 0, PCh, SPh, 0, 0, SPh, 0, 0, W, 0, 0, 0}; } else { @@ -409,7 +409,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A OP_F, OP }; - BUSRQ = new ushort[] { 0, SPh, 0, 0, SPh, 0, 0, PCh, 0, 0, 0 }; + BUSRQ = new ushort[] { I, SPh, 0, 0, SPh, 0, 0, PCh, 0, 0, 0 }; } @@ -445,7 +445,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A OP_F, OP }; - BUSRQ = new ushort[] { 0, SPh, 0, 0, SPh, 0, 0, W, 0, 0, 0 }; + BUSRQ = new ushort[] { I, SPh, 0, 0, SPh, 0, 0, W, 0, 0, 0 }; } private void PREFIX_(ushort src) @@ -528,7 +528,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A OP_F, OP }; - BUSRQ = new ushort[] { 0, 0, src_h, 0, 0, 0 }; + BUSRQ = new ushort[] { I, I, PCh, 0, 0, 0 }; } private void OUT_() @@ -612,7 +612,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A OP_F, OP}; - BUSRQ = new ushort[] { 0, 0, 0, 0, 0, 0, 0, PCh, 0, 0, 0 }; + BUSRQ = new ushort[] { I, I, I, I, I, I, I, PCh, 0, 0, 0 }; } private void INT_MODE_(ushort src) @@ -644,7 +644,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A OP_F, OP }; - BUSRQ = new ushort[] { H, 0, 0, 0, 0, 0, W, 0, 0, 0, PCh, 0, 0, 0 }; + BUSRQ = new ushort[] { H, 0, 0, H, H, H, H, W, 0, 0, PCh, 0, 0, 0 }; } private void RLD_() @@ -665,7 +665,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80A OP_F, OP }; - BUSRQ = new ushort[] { H, 0, 0, 0, 0, 0, W, 0, 0, 0, PCh, 0, 0, 0 }; + BUSRQ = new ushort[] { H, 0, 0, H, H, H, H, W, 0, 0, PCh, 0, 0, 0 }; } } } diff --git a/BizHawk.Emulation.Cores/CPUs/Z80A/Tables_Indirect.cs b/BizHawk.Emulation.Cores/CPUs/Z80A/Tables_Indirect.cs index b26802d32e..4e6ce7adb2 100644 --- a/BizHawk.Emulation.Cores/CPUs/Z80A/Tables_Indirect.cs +++ b/BizHawk.Emulation.Cores/CPUs/Z80A/Tables_Indirect.cs @@ -350,15 +350,15 @@ private void I_OP_n_n(ushort src_l, ushort src_h) { cur_instr = new ushort[] - {IDLE, + {TR16, Z, W, src_l, src_h, WAIT, RD_INC, ALU, PCl, PCh, - IDLE, - TR16, Z, W, src_l, src_h, ADDS, Z, W, ALU, ZERO, WAIT, RD_INC, ALU, PCl, PCh, IDLE, + IDLE, + IDLE, WAIT, WR, Z, W, ALU, IDLE, @@ -366,7 +366,7 @@ OP_F, OP }; - BUSRQ = new ushort[] { PCh, 0, 0, 0, 0, PCh, 0, 0, W, 0, 0, PCh, 0, 0, 0 }; + BUSRQ = new ushort[] { PCh, 0, 0, PCh, 0, 0, PCh, PCh, W, 0, 0, PCh, 0, 0, 0 }; } private void I_REG_OP_IND_n(ushort operation, ushort dest, ushort src_l, ushort src_h) @@ -388,7 +388,7 @@ OP_F, OP }; - BUSRQ = new ushort[] { PCh, 0, 0, 0, 0, 0, 0, 0, W, 0, 0, PCh, 0, 0, 0 }; + BUSRQ = new ushort[] { PCh, 0, 0, PCh, PCh, PCh, PCh, PCh, W, 0, 0, PCh, 0, 0, 0 }; } private void I_LD_8_IND_n(ushort dest_l, ushort dest_h, ushort src) @@ -410,7 +410,7 @@ OP_F, OP }; - BUSRQ = new ushort[] { PCh, 0, 0, 0, 0, 0, 0, 0, Z, 0, 0, PCh, 0, 0, 0 }; + BUSRQ = new ushort[] { PCh, 0, 0, PCh, PCh, PCh, PCh, PCh, Z, 0, 0, PCh, 0, 0, 0 }; } private void LD_OP_R(ushort operation, ushort repeat_instr)