Changes due to updates in debugger classes.

This commit is contained in:
Nik Henson 2011-09-18 22:13:20 +00:00
parent 5f82fd79c3
commit 041e6659b3

View file

@ -29,7 +29,7 @@ void ppc603_exception(int exception)
{ {
#ifdef SUPERMODEL_DEBUGGER #ifdef SUPERMODEL_DEBUGGER
if (PPCDebug != NULL) if (PPCDebug != NULL)
PPCDebug->CheckException(exception); PPCDebug->CPUException(exception);
#endif #endif
switch( exception ) switch( exception )
@ -280,6 +280,11 @@ int ppc_execute(int cycles)
ppc603_check_interrupts(); ppc603_check_interrupts();
#ifdef SUPERMODEL_DEBUGGER
if (PPCDebug != NULL)
PPCDebug->CPUActive();
#endif // SUPERMODEL_DEBUGGER
while( ppc_icount > 0 && !ppc.fatalError) while( ppc_icount > 0 && !ppc.fatalError)
{ {
ppc.pc = ppc.npc; ppc.pc = ppc.npc;
@ -294,10 +299,10 @@ int ppc_execute(int cycles)
#ifdef SUPERMODEL_DEBUGGER #ifdef SUPERMODEL_DEBUGGER
if (PPCDebug != NULL) if (PPCDebug != NULL)
{ {
while (PPCDebug->CheckExecution(ppc.pc, opcode)) while (PPCDebug->CPUExecute(ppc.pc, opcode, (PPCDebug->instrCount > 0 ? 1 : 0)))
opcode = *ppc.op++; opcode = *ppc.op++;
} }
#endif #endif // SUPERMODEL_DEBUGGER
switch(opcode >> 26) switch(opcode >> 26)
{ {
@ -320,6 +325,11 @@ int ppc_execute(int cycles)
//ppc603_check_interrupts(); //ppc603_check_interrupts();
} }
#ifdef SUPERMODEL_DEBUGGER
if (PPCDebug != NULL)
PPCDebug->CPUInactive();
#endif // SUPERMODEL_DEBUGGER
// update timebase // update timebase
// timebase is incremented once every four core clock cycles, so adjust the cycles accordingly // timebase is incremented once every four core clock cycles, so adjust the cycles accordingly
ppc.tb += ((ppc_tb_base_icount - ppc_icount) / 4); ppc.tb += ((ppc_tb_base_icount - ppc_icount) / 4);