+#endif\r
+\r
+\r
+#ifndef _ASM_CD_MEMORY_C\r
+/* check: jaguar xj 220 (draws entire world using decode) */\r
+static void decode_write8(u32 a, u8 d, int r3)\r
+{\r
+ u8 *pd = Pico_mcd->word_ram1M[!(r3 & 1)] + (((a>>1)^1)&0x1ffff);\r
+ u8 oldmask = (a&1) ? 0xf0 : 0x0f;\r
+\r
+ r3 &= 0x18;\r
+ d &= 0x0f;\r
+ if (!(a&1)) d <<= 4;\r
+\r
+ //dprintf("FIXME: decode, r3 = %02x", r3);\r
+\r
+ if (r3 == 8) {\r
+ if ((!(*pd & (~oldmask))) && d) goto do_it;\r
+ } else if (r3 > 8) {\r
+ if (d) goto do_it;\r
+ } else {\r
+ goto do_it;\r
+ }\r
+\r
+ return;\r
+do_it:\r
+ *pd = d | (*pd & oldmask);\r
+}\r
+\r