fixed missing break in inc/dec

This commit is contained in:
nick-less 2018-12-17 17:29:02 +01:00
parent 3c36e71c04
commit ba8c909f3f
2 changed files with 12 additions and 2 deletions

View File

@ -157,11 +157,11 @@ void Cpu65816Debugger::logOpCode(OpCode &opCode) const {
log.str(" [Direct Page Indirect Long]");
break;
case AddressingMode::DirectPageIndexedIndirectWithX:
log.str("(").hex(mCpu.mSystemBus.readByte(mCpu.mProgramAddress.newWithOffset(1)), 2).str(", X)").sp();
log.str("(").hex(mCpu.mSystemBus.readByte(Address(mCpu.mProgramAddress.getBank(),mCpu.mProgramAddress.getOffset()+1)), 2).str(", X)").sp();
log.str(" [Direct Page Indexed Indirect, X]");
break;
case AddressingMode::DirectPageIndirectIndexedWithY:
log.str("(").hex(mCpu.mSystemBus.readByte(mCpu.mProgramAddress.newWithOffset(1)), 2).str("), Y").sp();
log.str("(").hex(mCpu.mSystemBus.readByte(Address(mCpu.mProgramAddress.getBank(),mCpu.mProgramAddress.getOffset()+1)), 2).str("), Y").sp();
log.str(" [Direct Page Indirect Indexed, Y]");
break;
case AddressingMode::DirectPageIndirectLongIndexedWithY:

View File

@ -71,6 +71,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
mCpuStatus.updateSignAndZeroFlagFrom16BitValue(mA);
}
addToProgramAddressAndCycles(1, 2);
break;
}
case(0xEE): // INC Absolute
{
@ -81,6 +82,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
addToCycles(2);
}
addToProgramAddressAndCycles(3, 6);
break;
}
case(0xE6): // INC Direct Page
{
@ -94,6 +96,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
addToCycles(1);
}
addToProgramAddressAndCycles(2, 5);
break;
}
case(0xFE): // INC Absolute Indexed, X
{
@ -110,6 +113,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
#endif
addToProgramAddressAndCycles(3, 7);
}
break;
case(0xF6): // INC Direct Page Indexed, X
{
if (accumulatorIs8BitWide()) {
@ -122,6 +126,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
addToCycles(1);
}
addToProgramAddressAndCycles(2, 6);
break;
}
case(0x3A): // DEC Accumulator
{
@ -135,6 +140,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
mCpuStatus.updateSignAndZeroFlagFrom16BitValue(mA);
}
addToProgramAddressAndCycles(1, 2);
break;
}
case(0xCE): // DEC Absolute
{
@ -145,6 +151,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
addToCycles(2);
}
addToProgramAddressAndCycles(3, 6);
break;
}
case(0xC6): // DEC Direct Page
{
@ -158,6 +165,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
addToCycles(1);
}
addToProgramAddressAndCycles(2, 5);
break;
}
case(0xDE): // DEC Absolute Indexed, X
{
@ -173,6 +181,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
}
#endif
addToProgramAddressAndCycles(3, 7);
break;
}
case(0xD6): // DEC Direct Page Indexed, X
{
@ -186,6 +195,7 @@ void Cpu65816::executeINCDEC(OpCode &opCode) {
addToCycles(1);
}
addToProgramAddressAndCycles(2, 6);
break;
}
case(0xC8): // INY
{