State restore cpu trace/blitter wait fix.

This commit is contained in:
Toni Wilen 2023-04-01 11:02:58 +03:00
parent 2dc6d28355
commit 17bbd8759b
2 changed files with 13 additions and 11 deletions

View File

@ -2174,9 +2174,9 @@ int blitnasty (void)
{
int cycles, ccnt;
if (!blt_info.blit_main)
return 0;
return -1;
if (!dmaen(DMA_BLITTER))
return 0;
return -1;
if (blitter_cycle_exact) {
return -1;
}

View File

@ -432,14 +432,14 @@ static bool check_trace (void)
return true;
}
static bool get_trace (uaecptr addr, int accessmode, int size, uae_u32 *data)
static bool get_trace(uaecptr addr, int accessmode, int size, uae_u32 *data)
{
int mode = accessmode | (size << 4);
for (int i = 0; i < cputrace.memoryoffset; i++) {
struct cputracememory *ctm = &cputrace.ctm[i];
if (ctm->addr == addr && ctm->mode == mode) {
ctm->mode = 0;
write_log (_T("CPU trace: GET %d: PC=%08x %08x=%08x %d %d %08x/%08x/%08x %d/%d (%08x)\n"),
write_log(_T("CPU trace: GET %d: PC=%08x %08x=%08x %d %d %08x/%08x/%08x %d/%d (%08x)\n"),
i, cputrace.pc, addr, ctm->data, accessmode, size,
cputrace.cyclecounter, cputrace.cyclecounter_pre, cputrace.cyclecounter_post,
cputrace.readcounter, cputrace.writecounter, get_cycles ());
@ -477,7 +477,7 @@ static bool get_trace (uaecptr addr, int accessmode, int size, uae_u32 *data)
}
}
}
check_trace ();
check_trace();
*data = ctm->data;
return false;
}
@ -485,15 +485,17 @@ static bool get_trace (uaecptr addr, int accessmode, int size, uae_u32 *data)
if (cputrace.cyclecounter_post) {
int c = cputrace.cyclecounter_post;
cputrace.cyclecounter_post = 0;
check_trace ();
check_trace2 ();
x_do_cycles (c);
check_trace();
check_trace2();
x_do_cycles(c);
return false;
}
gui_message (_T("CPU trace: GET %08x %d %d NOT FOUND!\n"), addr, accessmode, size);
check_trace ();
if (cputrace.memoryoffset > 0 || cputrace.cyclecounter_pre) {
gui_message(_T("CPU trace: GET %08x %d %d NOT FOUND!\n"), addr, accessmode, size);
}
check_trace();
*data = 0;
return false;
return true;
}
static uae_u32 cputracefunc_x_prefetch (int o)