diff --git a/src/emu/driver.c b/src/emu/driver.c index 2b81a50ae70..fc352a5c890 100644 --- a/src/emu/driver.c +++ b/src/emu/driver.c @@ -226,17 +226,8 @@ void driver_device::device_start() // call the game-specific init if (m_system->driver_init != NULL) - { (*m_system->driver_init)(machine()); - // update palettes to allow changes in driver_init - palette_device_iterator pal_deviter(*this); - for (palette_device *palette = pal_deviter.first(); palette != NULL; palette = pal_deviter.next()) - { - palette->update(); - } - } - // finish image devices init process image_postdevice_init(machine()); diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c index dd839c347cf..d978d003a9b 100644 --- a/src/mame/drivers/calomega.c +++ b/src/mame/drivers/calomega.c @@ -3835,6 +3835,7 @@ DRIVER_INIT_MEMBER(calomega_state,standard) if (BPR[x] == 0x07) BPR[x] = 0x04; /* blue background */ } + m_palette->update(); } DRIVER_INIT_MEMBER(calomega_state,elgrande) @@ -3848,6 +3849,7 @@ DRIVER_INIT_MEMBER(calomega_state,elgrande) if (BPR[x] == 0x07) BPR[x] = 0x00; /* black background */ } + m_palette->update(); } DRIVER_INIT_MEMBER(calomega_state,jjpoker) @@ -3861,6 +3863,7 @@ DRIVER_INIT_MEMBER(calomega_state,jjpoker) if (BPR[x] == 0x02) BPR[x] = 0x00; /* black background */ } + m_palette->update(); } DRIVER_INIT_MEMBER(calomega_state,comg080) @@ -3874,7 +3877,8 @@ DRIVER_INIT_MEMBER(calomega_state,comg080) if (BPR[x] == 0x07) BPR[x] = 0x04; /* blue background */ } - + m_palette->update(); + /* Injecting missing Start and NMI vectors... Start = $2042; NMI = $26f8; Also a fake vector at $3ff8-$3ff9. The code checks these values to continue. diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c index aa3641a524d..e30906c87b9 100644 --- a/src/mame/drivers/dec8.c +++ b/src/mame/drivers/dec8.c @@ -3572,6 +3572,7 @@ DRIVER_INIT_MEMBER(dec8_state,ghostb) membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000); DRIVER_INIT_CALL(dec8); + m_palette->update(); } DRIVER_INIT_MEMBER(dec8_state,meikyuh) @@ -3584,6 +3585,7 @@ DRIVER_INIT_MEMBER(dec8_state,meikyuh) membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x4000); DRIVER_INIT_CALL(dec8); + m_palette->update(); } DRIVER_INIT_MEMBER(dec8_state,csilver) diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c index 23cd715c7c5..686080918dc 100644 --- a/src/mame/drivers/dkong.c +++ b/src/mame/drivers/dkong.c @@ -3230,6 +3230,7 @@ DRIVER_INIT_MEMBER(dkong_state,dkingjr) { prom[i]^=0xff; // invert color data } + m_palette->update(); } diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c index d153dabce4d..dbf5ba93e72 100644 --- a/src/mame/drivers/goldnpkr.c +++ b/src/mame/drivers/goldnpkr.c @@ -10169,6 +10169,7 @@ DRIVER_INIT_MEMBER(goldnpkr_state, bchancep) { ROM[i] = ROM[i] ^ 0x0f; } + m_palette->update(); } diff --git a/src/mame/drivers/kingobox.c b/src/mame/drivers/kingobox.c index 1090c1e2e5a..f7f35303371 100644 --- a/src/mame/drivers/kingobox.c +++ b/src/mame/drivers/kingobox.c @@ -779,6 +779,7 @@ DRIVER_INIT_MEMBER(kingofb_state,ringking3) /* expand the first color PROM to look like the kingofb ones... */ for (i = 0; i < 0x100; i++) RAM[i] = RAM[i + 0x100] >> 4; + m_palette->update(); } DRIVER_INIT_MEMBER(kingofb_state,ringkingw) @@ -800,6 +801,7 @@ DRIVER_INIT_MEMBER(kingofb_state,ringkingw) PROMS[j + 0x200 + 0x40 * k] = USER1[i + 0x800 + 0x100 * k]; /* B */ } } + m_palette->update(); } diff --git a/src/mame/drivers/m58.c b/src/mame/drivers/m58.c index 2652d59a993..85043eda3e4 100644 --- a/src/mame/drivers/m58.c +++ b/src/mame/drivers/m58.c @@ -441,6 +441,7 @@ DRIVER_INIT_MEMBER(m58_state,yard85) buffer[i] = region[0x20f-i]; } memcpy(region+0x200, buffer, 0x10); + m_palette->update(); } GAME( 1983, 10yard, 0, yard, yard, driver_device, 0, ROT0, "Irem", "10-Yard Fight (World, set 1)", GAME_SUPPORTS_SAVE ) // no copyright diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c index 1b113d2fcfa..de833b0bffb 100644 --- a/src/mame/drivers/trackfld.c +++ b/src/mame/drivers/trackfld.c @@ -1469,6 +1469,7 @@ DRIVER_INIT_MEMBER(trackfld_state,mastkin) else prom[i + 0x20] = (i + i / 16) & 0x0f; } + m_palette->update(); } DRIVER_INIT_MEMBER(trackfld_state,wizzquiz)