Fix for MT 3881: pc_moglf, pc_mtoid: Crashes with access violation a short time after boot. [hap]

This commit is contained in:
Fabio Priuli 2009-08-07 21:10:13 +00:00
parent 7eb4557016
commit ad56c32869
2 changed files with 14 additions and 5 deletions

View File

@ -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 */

View File

@ -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;