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
}