Hackc_Enter
void Hackc_Enter()
{
// g_fp.Append4();
if (!g_bp.fp) return;
#define PBPC2LINEAR(PB,PC) (0x8000 * 0x##PB + (0x##PC & 0x7FFF))
#if 0
if (Hackc_PB_PC == 0x8000 * 03 + (0xDB60 & 0x7FFF)) {
fprintf(g_bp.fp, "03/DB60 a:%04X d:%04X %08X\n", 0+xa, 0+xd, *(DWORD *)(wramdataa + 0xDE + xd));
}
#elif 0
if (Hackc_PB_PC == 0x8000 * 00 + (0x9C89 & 0x7FFF)) {
fprintf(g_bp.fp, "00/9C89 %02X/%02X%02X\n", 0+wramdataa[0x22], 0+wramdataa[0x21], 0+wramdataa[0x20]);
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x8000 & 0x7FFF)) {
DWORD x = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF) + 1;
fprintf(g_bp.fp, "01/8000 a:%04X s:%04X %02X/%04X\n", 0+xa, 0+xs, x >> 16, x & 0xFFFF);
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x90C4 & 0x7FFF)) {
DWORD x = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF) + 1;
fprintf(g_bp.fp, "01/90C4 %02X/%04X\n", x >> 16, x & 0xFFFF);
}
#elif 0
if (Hackc_PB_PC == 0x8000 * 01 + (0x8000 & 0x7FFF)) {
DWORD x = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF) + 1;
fprintf(g_bp.fp, "01/8000 a:%04X s:%04X %02X/%04X\n", 0+xa, 0+xs, x >> 16, x & 0xFFFF);
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x8099 & 0x7FFF)) {
fprintf(g_bp.fp, "01/8099 a:%04X %08X\n", 0+xa, (*(DWORD *)&wramdataa[0x28]) & 0xFFFFFF);
} else if (Hackc_PB_PC == 0x8000 * 00 + (0x9C89 & 0x7FFF)) {
fprintf(g_bp.fp, "00/9C89 %02X/%02X%02X\n", 0+wramdataa[0x22], 0+wramdataa[0x21], 0+wramdataa[0x20]);
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x80E3 & 0x7FFF)) {
fprintf(g_bp.fp, "01/80E3 %04X\n", 0+wramdataa[0x0C]+wramdataa[0x0D]*256);
} else if (Hackc_PB_PC == 0x8000 * 04 + (0x8000 & 0x7FFF)) {
fprintf(g_bp.fp, "04/8000 \n");
// LDA [d]
#define TRAP01(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " - %08X: %04X\n", *(DWORD *)&wramdataa[0x1F5] - 0x000BBBF1, 0+xa);
TRAP01(04,802C)
TRAP01(04,803D)
TRAP01(04,8064)
TRAP01(04,80B0)
TRAP01(04,80C1)
TRAP01(04,81EC)
TRAP01(04,820B)
// LDA [d],y
#define TRAP04(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " - %08X: %04X\n", *(DWORD *)&wramdataa[0x1F5] - 0x000BBBF1 + xy, 0+xa);
TRAP04(04,81CF)
// STA (d)
#define TRAP02(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " > %08X: %04X\n", *(DWORD *)&wramdataa[0x1F9] - 0x007F852A, 0+xa);
TRAP02(04,8080)
TRAP02(04,8088)
TRAP02(04,80FB)
TRAP02(04,8136)
TRAP02(04,8140)
TRAP02(04,8152)
TRAP02(04,8191)
TRAP02(04,8199)
TRAP02(04,81EE)
TRAP02(04,8229)
TRAP02(04,8251)
TRAP02(04,8297)
TRAP02(04,82FB)
TRAP02(04,831A)
TRAP02(04,8322)
// STA (d),y +$F9
#define TRAP03(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " ! %08X: %04X\n", *(DWORD *)&wramdataa[0x1F9] - 0x007F852A + xy, 0+xa);
TRAP03(04,81D1)
TRAP03(04,82D1)
TRAP03(04,82E0)
} else if (Hackc_PB_PC == 0x8000 * 04 + (0x805A & 0x7FFF)) {
fprintf(g_bp.fp, "04/805A Vx:%08lX\n", *(DWORD *)&wramdataa[0x1F9]);
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x8272 & 0x7FFF)) {
DWORD v1 = wramdataa[0x0F9] + wramdataa[0x0FA]*256;
fprintf(g_bp.fp, "01/8272 V1:%08lX\n");
for (int y = 0; y < 0; y++) {
fprintf(g_bp.fp, " ");
for (int x = 0; x < 16; x++) {
fprintf(g_bp.fp, "%02X ", 0+ram7fa[0x8000+x+16*y]);
}
fprintf(g_bp.fp, "\n");
}
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x8276 & 0x7FFF)) {
DWORD v2 = wramdataa[0x1F9] + wramdataa[0x1FA]*256;
fprintf(g_bp.fp, "01/8276 V2:\n", v2, 0+xdb);
for (int y = 0; y < 150; y++) {
fprintf(g_bp.fp, " ");
for (int x = 0; x < 16; x++) {
fprintf(g_bp.fp, "%02X ", 0+ram7fa[0x852A+x+16*y]);
}
fprintf(g_bp.fp, "\n");
}
if (0) {
BYTE *p = ram7fa;
for (int x = 0; x < 65530; x++) {
if (memcmp(p+x, "\xA1\x00", 2) == 0)
fprintf(g_bp.fp, " %08X \n", 0+x);
}
}
}
#elif 0
if (Hackc_PB_PC == 0x8000 * 01 + (0x8000 & 0x7FFF)) {
DWORD x = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF) + 1;
fprintf(g_bp.fp, "01/8000 a:%04X s:%04X %02X/%04X\n", 0+xa, 0+xs, x >> 16, x & 0xFFFF);
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x90C4 & 0x7FFF)) {
DWORD x = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF) + 1;
DWORD y = (*(DWORD *)(wramdataa + xd + 0xFF) & 0xFFFF);
fprintf(g_bp.fp, "01/90C4 %04X %02X/%04X\n", y, x >> 16, x & 0xFFFF);
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x90D1 & 0x7FFF)) {
fprintf(g_bp.fp, "01/90D1 a:%04X d:%04X\n", 0+xa, 0+xd);
for (int y = 0; y < 32; y++) {
fprintf(g_bp.fp, " ");
for (int x = 0; x < 16; x++) {
fprintf(g_bp.fp, "%02X ", 0+wramdataa[xd+x+16*y]);
}
fprintf(g_bp.fp, "\n");
}
}
#elif 0
if (Hackc_PB_PC == 0x8000 * 01 + (0x8000 & 0x7FFF)) {
DWORD x = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF) + 1;
fprintf(g_bp.fp, "01/8000 a:%04X s:%04X %02X/%04X\n", 0+xa, 0+xs, x >> 16, x & 0xFFFF);
} else if (Hackc_PB_PC == 0x8000 * 01 + (0x90C4 & 0x7FFF)) {
DWORD x = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF) + 1;
DWORD y = (*(DWORD *)(wramdataa + xd + 0xFF) & 0xFFFF);
fprintf(g_bp.fp, "01/90C4 %04X %02X/%04X\n", y, x >> 16, x & 0xFFFF);
} else if (Hackc_PB_PC == 0x8000 * 03 + (0xA505 & 0x7FFF)) {
DWORD x = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF) + 1;
fprintf(g_bp.fp, "03/A505 %02X/%04X\n", x >> 16, x & 0xFFFF);
} else if (Hackc_PB_PC == 0x8000 * 03 + (0xA515 & 0x7FFF)) {
fprintf(g_bp.fp, "03/A515 a:%04X\n", 0+xa); // ; Wall Ornate Index
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA677 & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A677 a:%04X x:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA531 & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A531 a:%04X x:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA545 & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A545 a:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA55F & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A55F a:%04X x:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA574 & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A574 a:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA58B & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A58B a:%04X x:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA596 & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A596 a:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA673 & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A673 a:%04X x:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA689 & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A689 a:%04X\n", 0+xa, 0+xx);
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA679 & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A679 a:%04X\n", 0+xa, 0+xx);
#define TRAP05_AX(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " a:%04X x:%04X\n", 0+xa, 0+xx);
#define TRAP05_AY(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " a:%04X y:%04X\n", 0+xa, 0+xy);
#define TRAP05_A(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " a:%04X\n", 0+xa);
//1 TRAP05_AX(03,A52B)
TRAP05_AX(03,A531)
TRAP05_A (03,A537)
TRAP05_A (03,A539)
//2 TRAP05_A (03,A53B)
//1 TRAP05_AX(03,A540)
//2 TRAP05_A (03,A54C)
//2 TRAP05_AX(03,A55F)
//2 TRAP05_A (03,A568)
//1 TRAP05_AX(03,A559)
//1 TRAP05_AX(03,A56F)
//2 TRAP05_A (03,A579)
//2 TRAP05_A (03,A57C)
//1 TRAP05_AX(03,A57F)
//1 TRAP05_AX(03,A585)
//1 TRAP05_AX(03,A591)
//2 TRAP05_A (03,A59A)
//2 TRAP05_AY(03,A5AE)
//1 TRAP05_AX(03,A66D)
//2 TRAP05_A (03,A643)
//2 TRAP05_A (03,A648)
TRAP05_AX(03,A69F)
// } else if (Hackc_PB_PC == 0x8000 * 03 + (0xA52B & 0x7FFF)) {
// fprintf(g_bp.fp, "03/A52B \n", 0+xa, 0+xd);
//
// for (int y = 0; y < 16; y++) {
// fprintf(g_bp.fp, " ");
// for (int x = 0; x < 16; x++) {
// fprintf(g_bp.fp, "%02X ", 0+wramdataa[0xC2BE+x+16*y]);
// }
// fprintf(g_bp.fp, "\n");
// }
}
#elif 1
#define TRAP06_AXY(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " a:%04lX x:%04lX y:%04lX\n", 0UL+xa, 0UL+xx, 0UL+xy);
#define TRAP06_AX(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " a:%04lX x:%04lX\n", 0UL+xa, 0UL+xx);
#define TRAP06_AY(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " a:%04lX y:%04lX\n", 0UL+xa, 0UL+xy);
#define TRAP06_A(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " a:%04lX\n", 0UL+xa);
#define TRAP06_M0(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " ->->->->->\n");
#define TRAP06_M1(PB,PC) \
} else if (Hackc_PB_PC == 0x8000 * 0x##PB + (0x##PC & 0x7FFF)) { \
fprintf(g_bp.fp, #PB "/" #PC " <-<-<-<-<-\n");
if (false) {
TRAP06_A (01,90D1)
// TRAP06_AXY(01,8152)
// TRAP06_A (01,8159)
// TRAP06_A (01,8165)
// TRAP06_A (01,817B)
TRAP06_A (04,85F9) // 描画物オフセット
TRAP06_A (04,85FE) // 描画物バンク
// TRAP06_A (04,8603)
// TRAP06_A (04,8608)
// TRAP06_A (04,860D)
// TRAP06_A (04,8617)
// TRAP06_A (04,861C)
// TRAP06_A (04,8621)
// TRAP06_A (04,8626)
// TRAP06_A (04,862B)
// TRAP06_A (04,8631)
// TRAP06_A (04,8640)
// TRAP06_A (04,864A)
// TRAP06_A (04,8658)
// TRAP06_A (04,8671)
// TRAP06_A (04,867B)
// TRAP06_A (04,8685)
// TRAP06_A (04,868F)
// TRAP06_AX (04,86F8)
// TRAP06_AX (04,86FE)
// TRAP06_AX (04,8712)
// TRAP06_AX (04,8726)
// TRAP06_A (04,872C)
// TRAP06_A (04,8733)
// TRAP06_A (04,873A)
// TRAP06_A (04,8742)
// TRAP06_A (04,874B)
// TRAP06_A (04,875E)
// TRAP06_A (04,8764)
// TRAP06_A (04,876D)
// TRAP06_A (04,877D)
// TRAP06_A (04,8783)
// TRAP06_A (04,8794)
// TRAP06_AXY(04,8858)
// TRAP06_A (04,872F)
// TRAP06_A (04,8736)
// TRAP06_A (04,8733)
// TRAP06_A (04,873E) // cy
// TRAP06_A (04,8742)
// TRAP06_A (04,8743)
// TRAP06_A (04,8745)
// TRAP06_A (04,8746)
// TRAP06_A (04,8747) // cx/2
/// TRAP06_A (04,8671)
// TRAP06_A (04,867B)
// TRAP06_A (04,8685)
// TRAP06_A (04,868F)
// TRAP06_A (04,860D)
// TRAP06_A (04,8612)
// TRAP06_AX (03,A877)
// TRAP06_AX (03,A69B)
// TRAP06_AX (03,A5D9)
// TRAP06_AX (03,A58B)
// TRAP06_AX (03,A525)
// TRAP06_AX (03,A52B)
// TRAP06_AX (03,A531)
// TRAP06_A (03,A53C)
// TRAP06_A (03,A53F)
// TRAP06_A (03,A545)
TRAP06_AX (03,A531) // 和算結果
TRAP06_A (03,A539) // ビン番号を開示
TRAP06_A (03,A53B) // 乗数1
TRAP06_A (03,A53F) // 乗数2 (0x06)
TRAP06_A (03,A545) // 積算結果
TRAP06_AX (03,A55F) // 和算結果
TRAP06_A (03,A56A) // 乗数1
TRAP06_A (03,A56E) // 乗数2 (0x4E)
TRAP06_A (03,A573) // 積算結果
// TRAP06_A (03,A553)
// TRAP06_AX (03,A579)
TRAP06_AX (03,A585)
TRAP06_AX (03,A58B)
// TRAP06_A (03,A596)
// TRAP06_A (03,A59A)
// TRAP06_A (03,A5A2)
// TRAP06_A (03,A5D0)
TRAP06_A (03,A5E0)
// TRAP06_AX (04,86F4)
// TRAP06_AX (04,86F8)
// TRAP06_A (04,8704)
// TRAP06_A (04,8708)
// TRAP06_AX (04,871C)
// TRAP06_AX (04,8720)
// TRAP06_A (03,9CB6)
// TRAP06_AX (03,9CC2)
// TRAP06_A (03,9D00) // 壁Ornate番号
// TRAP06_AX (03,9D0C) // 加算後アドレス
// // TRAP06_A (03,9D12)
// TRAP06_A (03,9D33) // 0x4Eの乗数が出てきた
//
// TRAP06_A (03,AAF9) // Floor Ornate間接番
// TRAP06_A (03,AB1C)
// TRAP06_AX (03,AB22)
// TRAP06_AX (03,AB28)
// TRAP06_A (03,AB31)
// TRAP06_AX (03,AB49)
// TRAP06_A (03,AB4F)
// TRAP06_A (03,AB59)
// TRAP06_A (03,AB5D)
// TRAP06_A (03,AB63)
// TRAP06_A (03,AB87)
// TRAP06_A (03,AB8A)
// TRAP06_AX (03,AB9B)
// TRAP06_AX (03,ABA1)
// TRAP06_AX (03,ABA7)
// TRAP06_A (03,8280)
// TRAP06_A (03,8284)
TRAP06_A (03,ACA7)
TRAP06_AX (03,ACE5)
TRAP06_AX (03,ACEB)
TRAP06_AX (03,ACF1)
TRAP06_AX (03,ACF7)
TRAP06_A (03,ADE9)
TRAP06_AX (03,B024)
TRAP06_AX (03,B02A)
TRAP06_AX (03,B04E)
TRAP06_AX (03,B052)
TRAP06_AX (03,B058)
TRAP06_A (03,B05E)
TRAP06_M0 (03,AAEC)
TRAP06_M1 (03,AC70)
TRAP06_M0 (03,C267)
TRAP06_M1 (03,C44C)
TRAP06_A (01,80A0) // 圧縮形式
TRAP06_A (01,80AF)
TRAP06_A (01,80E3)
TRAP06_A (01,80E8)
TRAP06_M0 (01,8001)
TRAP06_M1 (01,8154)
} else if (Hackc_PB_PC == PBPC2LINEAR(01,90C4)) {
DWORD x1 = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF);
fprintf(g_bp.fp, "01/90C4 -------------------- Gen\n");
fprintf(g_bp.fp, "01/90C4 %06lX\n", 0UL+x1);
} else if (Hackc_PB_PC == PBPC2LINEAR(00,9C89)) {
DWORD x1 = (*(DWORD *)(wramdataa + 0x20) & 0xFFFFFF);
DWORD x2 = (*(DWORD *)(wramdataa + 0x24) & 0xFFFFFF);
fprintf(g_bp.fp, "00/9C89 -------------------- T03 Decompressor\n");
fprintf(g_bp.fp, "00/9C89 %06lX %06lX\n", 0UL+x1, 0UL+x2);
} else if (Hackc_PB_PC == PBPC2LINEAR(04,8000)) {
DWORD x1 = (*(DWORD *)(wramdataa + xs + 4) & 0xFFFFFF);
DWORD x2 = (*(DWORD *)(wramdataa + xs + 8) & 0xFFFFFF);
fprintf(g_bp.fp, "04/8000 -------------------- T02 Decompressor\n");
fprintf(g_bp.fp, "04/8000 %06lX %06lX\n", 0UL+x1, 0UL+x2);
} else if (Hackc_PB_PC == PBPC2LINEAR(01,8000)) { \
fprintf(g_bp.fp, "01/8000 -------------------- Generic Indirected Extractor\n");
fprintf(g_bp.fp, "01/8000 a:%04lX\n", 0UL+xa);
} else if (Hackc_PB_PC == PBPC2LINEAR(03,A515)) { \
fprintf(g_bp.fp, "03/A515 -------------------- Wall Ornate Image Index\n");
fprintf(g_bp.fp, "03/A515 a:%04lX\n", 0UL+xa);
} else if (Hackc_PB_PC == PBPC2LINEAR(03,AAED)) { \
DWORD x1 = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF);
fprintf(g_bp.fp, "03/AAED -------------------- Floor? Ornate Image Index\n");
fprintf(g_bp.fp, "03/AAED %06lX\n", 0UL+x1+1);
} else if (Hackc_PB_PC == PBPC2LINEAR(04,85D2)) { \
DWORD x1 = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF);
fprintf(g_bp.fp, "04/85D2 -------------------- Invoke 1\n");
fprintf(g_bp.fp, "04/85D2 %06lX\n", 0UL+x1);
} else if (Hackc_PB_PC == PBPC2LINEAR(03,A284)) { \
DWORD x1 = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF);
fprintf(g_bp.fp, "03/A284 -------------------- Invoke 1.1\n");
fprintf(g_bp.fp, "03/A284 %06lX\n", 0UL+x1);
} else if (Hackc_PB_PC == PBPC2LINEAR(03,C081)) { \
fprintf(g_bp.fp, "03/C081 -------------------- Invoke 2\n");
fprintf(g_bp.fp, "03/C081 \n");
} else if (Hackc_PB_PC == PBPC2LINEAR(04,8749)) {
DWORD z[] = {
*(DWORD *)(wramdataa + xd + 0xD2) & 0xFFFF,
*(DWORD *)(wramdataa + xd + 0xD4) & 0xFFFF,
*(DWORD *)(wramdataa + xd + 0xDA) & 0xFFFF,
*(DWORD *)(wramdataa + xd + 0xCE) & 0xFFFF,
*(DWORD *)(wramdataa + xd + 0xD0) & 0xFFFF,
*(DWORD *)(wramdataa + xd + 0xDC) & 0xFFFF,
};
DWORD x1 = *(DWORD *)&wramdataa[xd + 0xF3] & 0xFFFFFF;
fprintf(g_bp.fp, "04/8749 (%04lX %04lX %04lX) (%04lX %04lX %04lX) %06lX\n"
, 0UL+z[0], 0UL+z[1], 0UL+z[2], 0UL+z[3], 0UL+z[4], 0UL+z[5]
, 0UL+x1
);
// } else if (Hackc_PB_PC == PBPC2LINEAR(04,8632)) {
// fprintf(g_bp.fp, "04/8632 d:%04lX\n", 0UL+xd);
// } else if (Hackc_PB_PC == PBPC2LINEAR(04,866F)) {
// DWORD x1 = (*(DWORD *)(wramdataa + xd + 0xF3) & 0xFFFFFF);
// fprintf(g_bp.fp, "04/866F %06lX %08lX\n", 0UL+xd+0xF3, 0UL+x1);
} else if (Hackc_PB_PC == PBPC2LINEAR(04,85D2)) {
DWORD x1 = (*(DWORD *)(wramdataa + xs + 1) & 0xFFFFFF);
fprintf(g_bp.fp, "04/85D2 %06lX\n", 0UL+x1);
}
#endif
}