From 0d3ca1a72d65fe90ae7150a82ad75a6da9d39adc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Banaan=20Ananas?= Date: Sat, 12 Sep 2009 17:24:34 +0000 Subject: [PATCH] reverted driftout workaround, see latest comments here for reason: http://www.mametesters.org/view.php?id=3356 --- src/mame/drivers/taito_f2.c | 4 ++-- src/mame/includes/taito_f2.h | 2 -- src/mame/video/taito_f2.c | 24 ------------------------ 3 files changed, 2 insertions(+), 28 deletions(-) diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c index 8bbf578bb16..c8409efc0f7 100644 --- a/src/mame/drivers/taito_f2.c +++ b/src/mame/drivers/taito_f2.c @@ -1132,7 +1132,7 @@ static ADDRESS_MAP_START( driftout_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_RANGE(0x400000, 0x401fff) AM_READWRITE(TC0430GRW_word_r, TC0430GRW_word_w) /* ROZ tilemap */ AM_RANGE(0x402000, 0x40200f) AM_WRITE(TC0430GRW_ctrl_word_w) - AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(taitof2_palette_w) + AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE(&paletteram16) AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(TC0100SCN_word_0_r, TC0100SCN_word_0_w) /* tilemaps */ AM_RANGE(0x820000, 0x82000f) AM_READWRITE(TC0100SCN_ctrl_word_0_r, TC0100SCN_ctrl_word_0_w) AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) @@ -3609,7 +3609,7 @@ static MACHINE_DRIVER_START( driftout ) /* video hardware */ MDRV_GFXDECODE(pivot) MDRV_VIDEO_START(taitof2_driftout) - MDRV_VIDEO_UPDATE(taitof2_driftout) + MDRV_VIDEO_UPDATE(taitof2_pri_roz) MACHINE_DRIVER_END diff --git a/src/mame/includes/taito_f2.h b/src/mame/includes/taito_f2.h index 15e1ab05942..382e0cbd073 100644 --- a/src/mame/includes/taito_f2.h +++ b/src/mame/includes/taito_f2.h @@ -36,7 +36,6 @@ VIDEO_EOF( taitof2_partial_buffer_delayed_qzchikyu ); VIDEO_UPDATE( taitof2 ); VIDEO_UPDATE( taitof2_pri ); VIDEO_UPDATE( taitof2_pri_roz ); -VIDEO_UPDATE( taitof2_driftout ); VIDEO_UPDATE( taitof2_ssi ); VIDEO_UPDATE( taitof2_thundfox ); VIDEO_UPDATE( taitof2_deadconx ); @@ -47,4 +46,3 @@ WRITE16_HANDLER( taitof2_spritebank_w ); READ16_HANDLER ( koshien_spritebank_r ); WRITE16_HANDLER( koshien_spritebank_w ); WRITE16_HANDLER( taitof2_sprite_extension_w ); -WRITE16_HANDLER( taitof2_palette_w ); diff --git a/src/mame/video/taito_f2.c b/src/mame/video/taito_f2.c index d47dd71b244..751c0f9b1b5 100644 --- a/src/mame/video/taito_f2.c +++ b/src/mame/video/taito_f2.c @@ -73,8 +73,6 @@ static UINT8 f2_tilepri[6]; // todo - move into taitoic.c static UINT8 f2_spritepri[6]; // todo - move into taitoic.c static UINT8 f2_spriteblendmode; // todo - move into taitoic.c -static UINT16 *paletteram_buffer; - enum { FOOTCHMP = 1 @@ -297,15 +295,6 @@ VIDEO_START( taitof2_driftout ) f2_pivot_xdisp = -16; f2_pivot_ydisp = 16; taitof2_core_vh_start(machine, 0,3,3,0,0,0,0,0,0); - - paletteram_buffer = auto_alloc_array(machine, UINT16, 4096); - memset(paletteram_buffer, 0, 4096*sizeof(UINT16)); - state_save_register_global_pointer(machine, paletteram_buffer, 4096); -} - -WRITE16_HANDLER( taitof2_palette_w ) -{ - COMBINE_DATA(&paletteram_buffer[offset]); } @@ -1205,19 +1194,6 @@ VIDEO_UPDATE( taitof2_pri_roz ) return 0; } -VIDEO_UPDATE( taitof2_driftout ) -{ - UINT16 pen; - - /* send palette, workaround for bug http://www.mametesters.org/view.php?id=3356 (just for this game) - driftout writes twice per frame to the palette, this causes glitches on some setups due to - VIDEO_UPDATE not being synced to renderer update when multithreading is on. */ - for (pen=0;pen<4096;pen++) - palette_set_color_rgb(screen->machine, pen, pal5bit(paletteram_buffer[pen] >> 10), pal5bit(paletteram_buffer[pen] >> 5), pal5bit(paletteram_buffer[pen] >> 0)); - - return VIDEO_UPDATE_CALL( taitof2_pri_roz ); -} - /* Thunderfox */