reverted driftout workaround, see latest comments here for reason: http://www.mametesters.org/view.php?id=3356

This commit is contained in:
Michaël Banaan Ananas 2009-09-12 17:24:34 +00:00
parent 85665aeb96
commit 0d3ca1a72d
3 changed files with 2 additions and 28 deletions

View File

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

View File

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

View File

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