--- np2/trap/steptrap.c 2005/04/04 11:50:59 1.2 +++ np2/trap/steptrap.c 2005/04/05 20:37:08 1.4 @@ -1,5 +1,5 @@ -// #define IPTRACE (1 << 12) +#define IPTRACE (1 << 12) #include "compiler.h" @@ -17,7 +17,7 @@ static UINT32 treip[IPTRACE]; void CPUCALL steptrap(UINT cs, UINT32 eip) { -// TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP)); +// TRACEOUT(("%.4x:%.4x", cs, eip)); #if IPTRACE trcs[trpos & (IPTRACE - 1)] = cs; @@ -29,18 +29,31 @@ void CPUCALL steptrap(UINT cs, UINT32 ei // ---- ここにトラップ条件コードを書きます // return; +#if 1 +{ + 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テスト用 #if 0 if ((cs == 0x1300) && (eip == 0x1E97)) { TRACEOUT(("-------- NECCD: function: %.2x", CPU_AL)); } + if (cs == 0xdf6) TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP)); #endif #if 1 - if ((cs == 0x0929) && (eip == 0x1E97)) { + if ((cs == 0x0620) && (eip == 0x1E97)) { TRACEOUT(("-------- NECCD: function: %.2x", CPU_AL)); } - if (cs == 0xdf6) TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP)); #endif return;