|
|
| version 1.3, 2005/04/05 13:48:09 | version 1.6, 2005/05/13 05:47:25 |
|---|---|
| Line 1 | Line 1 |
| // #define IPTRACE (1 << 12) | #define IPTRACE (1 << 12) |
| #include "compiler.h" | #include "compiler.h" |
| #if defined(ENABLE_TRAP) | #if defined(ENABLE_TRAP) |
| #include "dosio.h" | #include "dosio.h" |
| #include "pccore.h" | |
| #include "cpucore.h" | #include "cpucore.h" |
| #include "sound.h" | |
| #include "fmboard.h" | |
| #include "steptrap.h" | #include "steptrap.h" |
| Line 17 static UINT32 treip[IPTRACE]; | Line 20 static UINT32 treip[IPTRACE]; |
| void CPUCALL steptrap(UINT cs, UINT32 eip) { | void CPUCALL steptrap(UINT cs, UINT32 eip) { |
| // TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP)); | // TRACEOUT(("%.4x:%.4x", cs, eip)); |
| #if IPTRACE | #if IPTRACE |
| trcs[trpos & (IPTRACE - 1)] = cs; | trcs[trpos & (IPTRACE - 1)] = cs; |
| Line 27 void CPUCALL steptrap(UINT cs, UINT32 ei | Line 30 void CPUCALL steptrap(UINT cs, UINT32 ei |
| // ---- ここにトラップ条件コードを書きます | // ---- ここにトラップ条件コードを書きます |
| // return; | { |
| static UINT32 x; | |
| UINT32 tmp; | |
| tmp = *(UINT32 *)(mem + 0x7ade1); | |
| if (x != tmp) { | |
| TRACEOUT(("%.4x:%.4x: %.8x -> %.8x", cs, eip, x, tmp)); | |
| x = tmp; | |
| } | |
| } | |
| return; | |
| if ((cs == 0x1ea) && (eip == 0x0617)) { | |
| TRACEOUT(("ES:BP+1 = %.2x", CPU_AL)); | |
| } | |
| return; | |
| if ((cs == 0x0601) && (eip == 0x025c)) { | |
| TRACEOUT(("INT-D2 AX=%.4x BX=%.4x DX=%.4x", CPU_AX, CPU_BX, CPU_DX)); | |
| } | |
| return; | |
| // if (cs4231.intflag) TRACEOUT(("%.4x:%.4x", cs, eip)); | |
| if (cs == 0x1311) TRACEOUT(("%.4x:%.4x", cs, eip)); | |
| if (cs == 0x0d77) TRACEOUT(("%.4x:%.4x", cs, eip)); | |
| if (cs == 0x0f5d) TRACEOUT(("%.4x:%.4x", cs, eip)); | |
| if (cs == 0x0e91) TRACEOUT(("%.4x:%.4x", cs, eip)); | |
| #if 0 | |
| { | |
| static UINT tmp = 0; | |
| if (tmp != *(UINT16 *)(mem + 0xa0000 + 18 * 2)) { | |
| TRACEOUT(("change text %.4x -> %.4x at %.4x:%.4x", tmp, *(UINT16 *)(mem + 0xa0000 + 18 * 2), cs, eip)); | |
| tmp = *(UINT16 *)(mem + 0xa0000 + 18 * 2); | |
| if (tmp == 0x4303) { | |
| steptrap_hisfileout(); | |
| } | |
| } | |
| } | |
| #endif | |
| // IDEテスト用 | // IDEテスト用 |