mirror of
https://github.com/buserror/mii_emu.git
synced 2024-11-25 05:32:20 +00:00
cpu: Sprinkle a few cycles here and there
Probably still missing the odd cycles Signed-off-by: Michel Pollet <buserror@gmail.com>
This commit is contained in:
parent
cdca612df2
commit
f9f5cbbd0e
@ -233,10 +233,10 @@ next_instruction:
|
|||||||
{ // BCC, BCS, BEQ, BMI, BNE, BPL, BVC, BVS
|
{ // BCC, BCS, BEQ, BMI, BNE, BPL, BVC, BVS
|
||||||
if (d.s_bit_value == cpu->P.P[d.s_bit]) {
|
if (d.s_bit_value == cpu->P.P[d.s_bit]) {
|
||||||
cpu->_P = cpu->PC + (int8_t)cpu->_P;
|
cpu->_P = cpu->PC + (int8_t)cpu->_P;
|
||||||
|
cpu->cycle++;
|
||||||
if ((cpu->_P & 0xff00) != (cpu->PC & 0xff00))
|
if ((cpu->_P & 0xff00) != (cpu->PC & 0xff00))
|
||||||
cpu->cycle++;
|
cpu->cycle++;
|
||||||
cpu->PC = cpu->_P;
|
cpu->PC = cpu->_P;
|
||||||
cpu->cycle++;
|
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case 0x80:
|
case 0x80:
|
||||||
@ -361,6 +361,7 @@ next_instruction:
|
|||||||
} break;
|
} break;
|
||||||
case 0xEA:
|
case 0xEA:
|
||||||
{ // NOP
|
{ // NOP
|
||||||
|
cpu->cycle++;
|
||||||
} break;
|
} break;
|
||||||
case 0x09: case 0x05: case 0x15: case 0x0D: case 0x1D:
|
case 0x09: case 0x05: case 0x15: case 0x0D: case 0x1D:
|
||||||
case 0x19: case 0x01: case 0x11: case 0x12:
|
case 0x19: case 0x01: case 0x11: case 0x12:
|
||||||
@ -521,31 +522,31 @@ next_instruction:
|
|||||||
} break;
|
} break;
|
||||||
case 0xAA:
|
case 0xAA:
|
||||||
{ // TAX
|
{ // TAX
|
||||||
cpu->X = cpu->A;
|
cpu->X = cpu->A;cpu->cycle++;
|
||||||
_NZ(cpu->X);
|
_NZ(cpu->X);
|
||||||
} break;
|
} break;
|
||||||
case 0xA8:
|
case 0xA8:
|
||||||
{ // TAY
|
{ // TAY
|
||||||
cpu->Y = cpu->A;
|
cpu->Y = cpu->A;cpu->cycle++;
|
||||||
_NZ(cpu->Y);
|
_NZ(cpu->Y);
|
||||||
} break;
|
} break;
|
||||||
case 0xBA:
|
case 0xBA:
|
||||||
{ // TSX
|
{ // TSX
|
||||||
cpu->X = cpu->S;
|
cpu->X = cpu->S;cpu->cycle++;
|
||||||
_NZ(cpu->X);
|
_NZ(cpu->X);
|
||||||
} break;
|
} break;
|
||||||
case 0x8A:
|
case 0x8A:
|
||||||
{ // TXA
|
{ // TXA
|
||||||
cpu->A = cpu->X;
|
cpu->A = cpu->X;cpu->cycle++;
|
||||||
_NZ(cpu->A);
|
_NZ(cpu->A);
|
||||||
} break;
|
} break;
|
||||||
case 0x9A:
|
case 0x9A:
|
||||||
{ // TXS
|
{ // TXS
|
||||||
cpu->S = cpu->X;
|
cpu->S = cpu->X;cpu->cycle++;
|
||||||
} break;
|
} break;
|
||||||
case 0x98:
|
case 0x98:
|
||||||
{ // TYA
|
{ // TYA
|
||||||
cpu->A = cpu->Y;
|
cpu->A = cpu->Y;cpu->cycle++;
|
||||||
_NZ(cpu->A);
|
_NZ(cpu->A);
|
||||||
} break;
|
} break;
|
||||||
case 0x07: case 0x17: case 0x27: case 0x37: case 0x47:
|
case 0x07: case 0x17: case 0x27: case 0x37: case 0x47:
|
||||||
|
Loading…
Reference in New Issue
Block a user