mirror of
https://github.com/LIV2/WinUAE.git
synced 2025-12-06 00:12:52 +00:00
State restore cpu trace/blitter wait fix.
This commit is contained in:
parent
2dc6d28355
commit
17bbd8759b
@ -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;
|
||||
}
|
||||
|
||||
20
newcpu.cpp
20
newcpu.cpp
@ -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)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user