diff --git a/src/mame/machine/playch10.c b/src/mame/machine/playch10.c index d661d43b64c..4a072085df1 100644 --- a/src/mame/machine/playch10.c +++ b/src/mame/machine/playch10.c @@ -555,12 +555,20 @@ static WRITE8_HANDLER( mmc1_rom_switch_w ) break; case 1: /* video rom banking - bank 0 - 4k or 8k */ - pc10_set_videorom_bank(space->machine, 0, (vrom4k) ? 4 : 8, (mmc1_shiftreg & 0x1f), 4); + if (vram) + set_videoram_bank(space->machine, 0, (vrom4k) ? 4 : 8, (mmc1_shiftreg & 0x1f), 4); + else + pc10_set_videorom_bank(space->machine, 0, (vrom4k) ? 4 : 8, (mmc1_shiftreg & 0x1f), 4); break; case 2: /* video rom banking - bank 1 - 4k only */ - if (vrom4k) - pc10_set_videorom_bank(space->machine, 4, 4, (mmc1_shiftreg & 0x1f), 4); + if (vrom4k) + { + if (vram) + set_videoram_bank(space->machine, 0, (vrom4k) ? 4 : 8, (mmc1_shiftreg & 0x1f), 4); + else + pc10_set_videorom_bank(space->machine, 4, 4, (mmc1_shiftreg & 0x1f), 4); + } break; case 3: /* program banking */ diff --git a/src/mame/machine/vsnes.c b/src/mame/machine/vsnes.c index 7ff46173833..0b7ef668e8b 100644 --- a/src/mame/machine/vsnes.c +++ b/src/mame/machine/vsnes.c @@ -783,11 +783,12 @@ static WRITE8_HANDLER( drmario_rom_banking ) break; case 1: /* video rom banking - bank 0 - 4k or 8k */ - v_set_videorom_bank(space->machine, 0, (vrom4k) ? 4 : 8, drmario_shiftreg, (vrom4k) ? 4 : 8); + if (!vram) + v_set_videorom_bank(space->machine, 0, (vrom4k) ? 4 : 8, drmario_shiftreg, (vrom4k) ? 4 : 8); break; case 2: /* video rom banking - bank 1 - 4k only */ - if (vrom4k) + if (vrom4k && !vram) v_set_videorom_bank(space->machine, 4, 4, drmario_shiftreg, 4); break;