mirror of https://github.com/stella-emu/stella.git
fixed #397
Added SET_LAST_POKE for STA/STX/STY using absolute addressing (frequently used wasting 1 cycle) and PHA.
This commit is contained in:
parent
6987c06337
commit
84300914cc
|
@ -3017,7 +3017,7 @@ case 0x48:
|
||||||
{
|
{
|
||||||
peek(PC, DISASM_NONE);
|
peek(PC, DISASM_NONE);
|
||||||
}
|
}
|
||||||
// TODO - add tracking for this opcode
|
SET_LAST_POKE(myLastSrcAddressA)
|
||||||
{
|
{
|
||||||
poke(0x0100 + SP--, A, DISASM_WRITE);
|
poke(0x0100 + SP--, A, DISASM_WRITE);
|
||||||
}
|
}
|
||||||
|
@ -4602,6 +4602,7 @@ case 0x8d:
|
||||||
operandAddress = peek(PC++, DISASM_CODE);
|
operandAddress = peek(PC++, DISASM_CODE);
|
||||||
operandAddress |= (uInt16(peek(PC++, DISASM_CODE)) << 8);
|
operandAddress |= (uInt16(peek(PC++, DISASM_CODE)) << 8);
|
||||||
}
|
}
|
||||||
|
SET_LAST_POKE(myLastSrcAddressA)
|
||||||
{
|
{
|
||||||
poke(operandAddress, A, DISASM_WRITE);
|
poke(operandAddress, A, DISASM_WRITE);
|
||||||
}
|
}
|
||||||
|
@ -4687,6 +4688,7 @@ case 0x8e:
|
||||||
operandAddress = peek(PC++, DISASM_CODE);
|
operandAddress = peek(PC++, DISASM_CODE);
|
||||||
operandAddress |= (uInt16(peek(PC++, DISASM_CODE)) << 8);
|
operandAddress |= (uInt16(peek(PC++, DISASM_CODE)) << 8);
|
||||||
}
|
}
|
||||||
|
SET_LAST_POKE(myLastSrcAddressX)
|
||||||
{
|
{
|
||||||
poke(operandAddress, X, DISASM_WRITE);
|
poke(operandAddress, X, DISASM_WRITE);
|
||||||
}
|
}
|
||||||
|
@ -4722,6 +4724,7 @@ case 0x8c:
|
||||||
operandAddress = peek(PC++, DISASM_CODE);
|
operandAddress = peek(PC++, DISASM_CODE);
|
||||||
operandAddress |= (uInt16(peek(PC++, DISASM_CODE)) << 8);
|
operandAddress |= (uInt16(peek(PC++, DISASM_CODE)) << 8);
|
||||||
}
|
}
|
||||||
|
SET_LAST_POKE(myLastSrcAddressY)
|
||||||
{
|
{
|
||||||
poke(operandAddress, Y, DISASM_WRITE);
|
poke(operandAddress, Y, DISASM_WRITE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1842,7 +1842,7 @@ break;
|
||||||
// PHA
|
// PHA
|
||||||
case 0x48:
|
case 0x48:
|
||||||
M6502_IMPLIED
|
M6502_IMPLIED
|
||||||
// TODO - add tracking for this opcode
|
SET_LAST_POKE(myLastSrcAddressA)
|
||||||
M6502_PHA
|
M6502_PHA
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2228,6 +2228,7 @@ break;
|
||||||
|
|
||||||
case 0x8d:
|
case 0x8d:
|
||||||
M6502_ABSOLUTE_WRITE
|
M6502_ABSOLUTE_WRITE
|
||||||
|
SET_LAST_POKE(myLastSrcAddressA)
|
||||||
M6502_STA
|
M6502_STA
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2268,6 +2269,7 @@ break;
|
||||||
|
|
||||||
case 0x8e:
|
case 0x8e:
|
||||||
M6502_ABSOLUTE_WRITE
|
M6502_ABSOLUTE_WRITE
|
||||||
|
SET_LAST_POKE(myLastSrcAddressX)
|
||||||
M6502_STX
|
M6502_STX
|
||||||
break;
|
break;
|
||||||
//////////////////////////////////////////////////
|
//////////////////////////////////////////////////
|
||||||
|
@ -2288,6 +2290,7 @@ break;
|
||||||
|
|
||||||
case 0x8c:
|
case 0x8c:
|
||||||
M6502_ABSOLUTE_WRITE
|
M6502_ABSOLUTE_WRITE
|
||||||
|
SET_LAST_POKE(myLastSrcAddressY)
|
||||||
M6502_STY
|
M6502_STY
|
||||||
break;
|
break;
|
||||||
//////////////////////////////////////////////////
|
//////////////////////////////////////////////////
|
||||||
|
|
Loading…
Reference in New Issue