Fri, 04 Mar 2011 00:44:36 +0000
more verbose bus error logging
src/memory.c | file | annotate | diff | revisions |
1.1 diff -r 4e1c29899aca -r b749a3356e8d src/memory.c 1.2 --- a/src/memory.c Fri Mar 04 00:44:06 2011 +0000 1.3 +++ b/src/memory.c Fri Mar 04 00:44:36 2011 +0000 1.4 @@ -117,8 +117,8 @@ 1.5 #define ACCESS_CHECK_WR(address, bits) \ 1.6 do { \ 1.7 bool fault = false; \ 1.8 - /* MEM_STATUS st; */ \ 1.9 - switch (checkMemoryAccess(address, true)) { \ 1.10 + MEM_STATUS st; \ 1.11 + switch (st = checkMemoryAccess(address, true)) { \ 1.12 case MEM_ALLOWED: \ 1.13 /* Access allowed */ \ 1.14 break; \ 1.15 @@ -147,8 +147,8 @@ 1.16 state.bsr0 = (address & 1) ? 0x7D00 : 0x7E00; \ 1.17 state.bsr0 |= (address >> 16); \ 1.18 state.bsr1 = address & 0xffff; \ 1.19 - printf("ERR: BusError WR\n"); \ 1.20 - m68k_pulse_bus_error(); \ 1.21 + LOG("Bus Error while writing, addr %08X, statcode %d", address, st); \ 1.22 + if (state.ee) m68k_pulse_bus_error(); \ 1.23 return; \ 1.24 } \ 1.25 } while (0) 1.26 @@ -167,8 +167,8 @@ 1.27 #define ACCESS_CHECK_RD(address, bits) \ 1.28 do { \ 1.29 bool fault = false; \ 1.30 - /* MEM_STATUS st; */ \ 1.31 - switch (checkMemoryAccess(address, false)) { \ 1.32 + MEM_STATUS st; \ 1.33 + switch (st = checkMemoryAccess(address, false)) { \ 1.34 case MEM_ALLOWED: \ 1.35 /* Access allowed */ \ 1.36 break; \ 1.37 @@ -197,8 +197,8 @@ 1.38 state.bsr0 = (address & 1) ? 0x7D00 : 0x7E00; \ 1.39 state.bsr0 |= (address >> 16); \ 1.40 state.bsr1 = address & 0xffff; \ 1.41 - printf("ERR: BusError RD\n"); \ 1.42 - m68k_pulse_bus_error(); \ 1.43 + LOG("Bus Error while reading, addr %08X, statcode %d", address, st); \ 1.44 + if (state.ee) m68k_pulse_bus_error(); \ 1.45 return 0xFFFFFFFF; \ 1.46 } \ 1.47 } while (0)