- if ((Pico_mcd->m68k_regs[3]>>6) != ((d>>6)&3))\r
- dprintf("m68k: prg bank: %i -> %i", (Pico_mcd->m68k_regs[a]>>6), ((d>>6)&3));\r
- if ((Pico_mcd->m68k_regs[3]&4) != (d&4)) dprintf("m68k: ram mode %i mbit", (d&4) ? 1 : 2);\r
- if ((Pico_mcd->m68k_regs[3]&2) != (d&2)) dprintf("m68k: %s", (d&4) ? ((d&2) ? "word swap req" : "noop?") :\r
- ((d&2) ? "word ram to s68k" : "word ram to m68k"));\r
- break;\r
+ d &= 0xc2;\r
+ if ((Pico_mcd->s68k_regs[3]>>6) != ((d>>6)&3))\r
+ dprintf("m68k: prg bank: %i -> %i", (Pico_mcd->s68k_regs[a]>>6), ((d>>6)&3));\r
+ //if ((Pico_mcd->s68k_regs[3]&4) != (d&4)) dprintf("m68k: ram mode %i mbit", (d&4) ? 1 : 2);\r
+ //if ((Pico_mcd->s68k_regs[3]&2) != (d&2)) dprintf("m68k: %s", (d&4) ? ((d&2) ? "word swap req" : "noop?") :\r
+ // ((d&2) ? "word ram to s68k" : "word ram to m68k"));\r
+ d |= Pico_mcd->s68k_regs[3]&0x1d;\r
+ if (d & 2) d &= ~1; // returning word RAM to s68k\r
+ Pico_mcd->s68k_regs[3] = d; // really use s68k side register\r
+ return;\r