mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
famec: improve trace a bit
or break it (nobody uses it anyway), just want m68k_opcode_sizes to pass
This commit is contained in:
parent
a39743e315
commit
8d998330d0
1 changed files with 6 additions and 3 deletions
|
@ -742,6 +742,9 @@ static FAMEC_EXTRA_INLINE u32 execute_exception(s32 vect, u32 oldPC, u32 oldSR)
|
||||||
//u32 oldSR = GET_SR;
|
//u32 oldSR = GET_SR;
|
||||||
|
|
||||||
m68kcontext.io_cycle_counter -= exception_cycle_table[vect];
|
m68kcontext.io_cycle_counter -= exception_cycle_table[vect];
|
||||||
|
#ifdef FAMEC_EMULATE_TRACE
|
||||||
|
m68kcontext.execinfo &= ~FM68K_EMULATE_TRACE;
|
||||||
|
#endif
|
||||||
|
|
||||||
PRE_IO
|
PRE_IO
|
||||||
|
|
||||||
|
@ -763,6 +766,7 @@ static FAMEC_EXTRA_INLINE u32 execute_exception(s32 vect, u32 oldPC, u32 oldSR)
|
||||||
|
|
||||||
/* adjust SR */
|
/* adjust SR */
|
||||||
flag_S = M68K_SR_S;
|
flag_S = M68K_SR_S;
|
||||||
|
flag_T = 0;
|
||||||
|
|
||||||
#ifndef FAMEC_32BIT_PC
|
#ifndef FAMEC_32BIT_PC
|
||||||
newPC&=M68K_ADR_MASK
|
newPC&=M68K_ADR_MASK
|
||||||
|
@ -916,12 +920,11 @@ famec_Exec:
|
||||||
#ifdef FAMEC_EMULATE_TRACE
|
#ifdef FAMEC_EMULATE_TRACE
|
||||||
if (m68kcontext.execinfo & FM68K_EMULATE_TRACE)
|
if (m68kcontext.execinfo & FM68K_EMULATE_TRACE)
|
||||||
{
|
{
|
||||||
m68kcontext.io_cycle_counter = cycles_needed;
|
m68kcontext.io_cycle_counter += cycles_needed;
|
||||||
cycles_needed = 0;
|
cycles_needed = 0;
|
||||||
m68kcontext.execinfo &= ~FM68K_EMULATE_TRACE;
|
m68kcontext.execinfo &= ~FM68K_EMULATE_TRACE;
|
||||||
m68kcontext.execinfo |= FM68K_DO_TRACE;
|
m68kcontext.execinfo |= FM68K_DO_TRACE;
|
||||||
SET_PC(execute_exception(M68K_TRACE_EX, GET_PC, GET_SR));
|
SET_PC(execute_exception(M68K_TRACE_EX, GET_PC, GET_SR));
|
||||||
flag_T=0;
|
|
||||||
if (m68kcontext.io_cycle_counter > 0)
|
if (m68kcontext.io_cycle_counter > 0)
|
||||||
{
|
{
|
||||||
//NEXT
|
//NEXT
|
||||||
|
@ -933,7 +936,7 @@ famec_Exec:
|
||||||
if (cycles_needed != 0)
|
if (cycles_needed != 0)
|
||||||
{
|
{
|
||||||
u32 line;
|
u32 line;
|
||||||
m68kcontext.io_cycle_counter = cycles_needed;
|
m68kcontext.io_cycle_counter += cycles_needed;
|
||||||
cycles_needed = 0;
|
cycles_needed = 0;
|
||||||
if (m68kcontext.io_cycle_counter <= 0) goto famec_End;
|
if (m68kcontext.io_cycle_counter <= 0) goto famec_End;
|
||||||
line=interrupt_chk__();
|
line=interrupt_chk__();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue