diff options
Diffstat (limited to 'src/mame/video/sprint8.cpp')
-rw-r--r-- | src/mame/video/sprint8.cpp | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/src/mame/video/sprint8.cpp b/src/mame/video/sprint8.cpp index 2a67ef8aefc..1bd241cfb19 100644 --- a/src/mame/video/sprint8.cpp +++ b/src/mame/video/sprint8.cpp @@ -12,9 +12,7 @@ Atari Sprint 8 video emulation PALETTE_INIT_MEMBER(sprint8_state, sprint8) { - int i; - - for (i = 0; i < 0x10; i++) + for (int i = 0; i < 0x10; i++) { palette.set_pen_indirect(2 * i + 0, 0x10); palette.set_pen_indirect(2 * i + 1, i); @@ -29,9 +27,7 @@ PALETTE_INIT_MEMBER(sprint8_state, sprint8) void sprint8_state::set_pens() { - int i; - - for (i = 0; i < 0x10; i += 8) + for (int i = 0; i < 0x10; i += 8) { if (*m_team & 1) { @@ -102,7 +98,7 @@ TILE_GET_INFO_MEMBER(sprint8_state::get_tile_info2) } -WRITE8_MEMBER(sprint8_state::sprint8_video_ram_w) +WRITE8_MEMBER(sprint8_state::video_ram_w) { m_video_ram[offset] = data; m_tilemap1->mark_tile_dirty(offset); @@ -120,14 +116,14 @@ void sprint8_state::video_start() m_tilemap1->set_scrolly(0, +24); m_tilemap2->set_scrolly(0, +24); + + m_collision_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(sprint8_state::collision_callback),this)); } void sprint8_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { - int i; - - for (i = 0; i < 16; i++) + for (int i = 0; i < 16; i++) { uint8_t code = m_pos_d_ram[i]; @@ -146,13 +142,13 @@ void sprint8_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect } -TIMER_CALLBACK_MEMBER(sprint8_state::sprint8_collision_callback) +TIMER_CALLBACK_MEMBER(sprint8_state::collision_callback) { - sprint8_set_collision(param); + set_collision(param); } -uint32_t sprint8_state::screen_update_sprint8(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t sprint8_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { set_pens(); m_tilemap1->draw(screen, bitmap, cliprect, 0, 0); @@ -161,13 +157,11 @@ uint32_t sprint8_state::screen_update_sprint8(screen_device &screen, bitmap_ind1 } -WRITE_LINE_MEMBER(sprint8_state::screen_vblank_sprint8) +WRITE_LINE_MEMBER(sprint8_state::screen_vblank) { // rising edge if (state) { - int x; - int y; const rectangle &visarea = m_screen->visible_area(); m_tilemap2->draw(*m_screen, m_helper2, visarea, 0, 0); @@ -176,16 +170,14 @@ WRITE_LINE_MEMBER(sprint8_state::screen_vblank_sprint8) draw_sprites(m_helper1, visarea); - for (y = visarea.min_y; y <= visarea.max_y; y++) + for (int y = visarea.min_y; y <= visarea.max_y; y++) { const uint16_t* p1 = &m_helper1.pix16(y); const uint16_t* p2 = &m_helper2.pix16(y); - for (x = visarea.min_x; x <= visarea.max_x; x++) + for (int x = visarea.min_x; x <= visarea.max_x; x++) if (p1[x] != 0x20 && p2[x] == 0x23) - machine().scheduler().timer_set(m_screen->time_until_pos(y + 24, x), - timer_expired_delegate(FUNC(sprint8_state::sprint8_collision_callback),this), - m_palette->pen_indirect(p1[x])); + m_collision_timer->adjust(m_screen->time_until_pos(y + 24, x), m_palette->pen_indirect(p1[x])); } } } |