+ // test: Final Fight\r
+ int bank = !(Pico_mcd->s68k_regs[3]&1);\r
+ dep = ((DMA_Adr & 0x3FFF) << 3);\r
+ cdprintf("CD DMA # %04x -> word_ram1M # %06x, len=%i",\r
+ Pico_mcd->cdc.DAC.N, dep, length);\r
+\r
+ dest = (unsigned short *) (Pico_mcd->word_ram1M[bank] + dep);\r
+\r
+ // TODO: bswapcpy\r
+ for (len = length; len > 0; len--, src+=2, dest++)\r
+ *dest = (src[0]<<8) | src[1];\r
+\r
+ { // debug\r
+ unsigned char *b1 = Pico_mcd->word_ram1M[bank] + dep;\r
+ unsigned char *b2 = (unsigned char *)dest - 8;\r
+ dprintf("%02x %02x %02x %02x .. %02x %02x %02x %02x",\r
+ b1[0], b1[1], b1[4], b1[5], b2[0], b2[1], b2[4], b2[5]);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ dep = ((DMA_Adr & 0x7FFF) << 3);\r
+ cdprintf("CD DMA # %04x -> word_ram2M # %06x, len=%i",\r
+ Pico_mcd->cdc.DAC.N, dep, length);\r
+ dest = (unsigned short *) (Pico_mcd->word_ram2M + dep);\r
+\r
+ for (len = length; len > 0; len--, src+=2, dest++)\r
+ *dest = (src[0]<<8) | src[1];\r
+\r
+ { // debug\r
+ unsigned char *b1 = Pico_mcd->word_ram2M + dep;\r
+ unsigned char *b2 = (unsigned char *)dest - 4;\r
+ dprintf("%02x %02x %02x %02x .. %02x %02x %02x %02x",\r
+ b1[0], b1[1], b1[2], b1[3], b2[0], b2[1], b2[2], b2[3]);\r
+ }\r