summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit83b31ba4ce3975fb7af227620b8cdc7cb6075bcc (patch)
treee5ec4a065c8c60b56e8f1aaddb9db3ef1c736ade
parenta50feca332b53ffb9f71bdf4a8743d63c4a3fa5d (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.c15
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 )