diff options
author | Pierpaolo Prazzoli <pierpaol@mamedev.org> | 2008-09-04 10:36:49 +0000 |
---|---|---|
committer | Pierpaolo Prazzoli <pierpaol@mamedev.org> | 2008-09-04 10:36:49 +0000 |
commit | 83b31ba4ce3975fb7af227620b8cdc7cb6075bcc (patch) | |
tree | e5ec4a065c8c60b56e8f1aaddb9db3ef1c736ade | |
parent | a50feca332b53ffb9f71bdf4a8743d63c4a3fa5d (diff) |
Little change about the video partial update in Shadow Force, calling the update inside the raster timer
-rw-r--r-- | src/mame/drivers/shadfrce.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/mame/drivers/shadfrce.c b/src/mame/drivers/shadfrce.c index 7758394c365..6e0f66e6d87 100644 --- a/src/mame/drivers/shadfrce.c +++ b/src/mame/drivers/shadfrce.c @@ -243,23 +243,20 @@ static WRITE16_HANDLER ( shadfrce_sound_brt_w ) static TIMER_CALLBACK( raster_interrupt ) { - shadfrce_scanline++; - - if( shadfrce_scanline == 256 ) - shadfrce_scanline = 0; + // force a screen partial update on the previous scanline + if (shadfrce_scanline != 0) + video_screen_update_partial(machine->primary_screen, shadfrce_scanline - 1); - cpunum_set_input_line(machine, 0, 1, ASSERT_LINE); + shadfrce_scanline = (shadfrce_scanline + 1) % 256; + // fire another raster irq for the next scanline + cpunum_set_input_line(machine, 0, 1, ASSERT_LINE); timer_adjust_oneshot(raster_irq_timer, video_screen_get_time_until_pos(machine->primary_screen, shadfrce_scanline, 0), 0); } static WRITE16_HANDLER( shadfrce_irq_ack_w ) { cpunum_set_input_line(machine, 0, offset ^ 3, CLEAR_LINE); - - // force a screen partial update on the raster irq ack - if( (offset ^ 3) == 1 ) - video_screen_update_partial(machine->primary_screen, video_screen_get_vpos(machine->primary_screen)); } static WRITE16_HANDLER( shadfrce_irq_w ) |