diff options
Diffstat (limited to 'src/mame/irem/m90_v.cpp')
| -rw-r--r-- | src/mame/irem/m90_v.cpp | 58 |
1 files changed, 39 insertions, 19 deletions
diff --git a/src/mame/irem/m90_v.cpp b/src/mame/irem/m90_v.cpp index aef96abfbf7..c6daae240b6 100644 --- a/src/mame/irem/m90_v.cpp +++ b/src/mame/irem/m90_v.cpp @@ -37,10 +37,9 @@ TILE_GET_INFO_MEMBER(m90_state::get_tile_info) { uint16_t *vram = (uint16_t*)tilemap.user_data(); - int tile,color; - tile=vram[tile_index<<1]; - color=vram[(tile_index<<1)|1]; + int tile=vram[tile_index<<1]; + int color=vram[(tile_index<<1)|1]; tileinfo.set(0, tile, color&0xf, @@ -117,6 +116,7 @@ void m90_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const r for (i = 0;i < y_multi;i++) if (m_video_control_data[7] & 0x01) + { m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect, sprite + (fy ? y_multi-1 - i : i), colour, @@ -124,7 +124,9 @@ void m90_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const r x,y+i*16, screen.priority(), (colour & 0x08) ? 0x00 : 0x02,0); + } else if (m_video_control_data[7] & 0x02) + { m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect, sprite + (fy ? y_multi-1 - i : i), colour, @@ -132,7 +134,9 @@ void m90_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const r x,y+i*16, screen.priority(), ((colour & 0x0c)==0x0c) ? 0x00 : 0x02,0); + } else + { m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect, sprite + (fy ? y_multi-1 - i : i), colour, @@ -140,6 +144,7 @@ void m90_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const r x,y+i*16, screen.priority(), 0x02,0); + } } } @@ -253,10 +258,10 @@ uint32_t m90_state::screen_update_m90(screen_device &screen, bitmap_ind16 &bitma int const clip_miny = std::min(cliprect.min_y, 511); int const clip_maxy = std::min(cliprect.max_y, 511); -// m_pf_layer[0][0]->enable(pf_enable[0]); -// m_pf_layer[1][0]->enable(pf_enable[1]); -// m_pf_layer[0][1]->enable(pf_enable[0]); -// m_pf_layer[1][1]->enable(pf_enable[1]); + // m_pf_layer[0][0]->enable(pf_enable[0]); + // m_pf_layer[1][0]->enable(pf_enable[1]); + // m_pf_layer[0][1]->enable(pf_enable[0]); + // m_pf_layer[1][1]->enable(pf_enable[1]); constexpr int rowscroll_offs[2] = { 0xf000 >> 1, 0xf400 >> 1 }; constexpr int rowscroll_bias[2] = { 2, -2 }; @@ -401,32 +406,38 @@ uint32_t m90_state::screen_update_m90(screen_device &screen, bitmap_ind16 &bitma uint32_t m90_state::screen_update_bomblord(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - int i; screen.priority().fill(0, cliprect); bitmap.fill(m_palette->black_pen(), cliprect); /* Setup scrolling */ - if (m_video_control_data[6]&0x20) { + if (m_video_control_data[6]&0x20) + { m_pf_layer[0][0]->set_scroll_rows(512); m_pf_layer[0][1]->set_scroll_rows(512); - for (i=std::min(cliprect.min_y,511); i<=std::min(cliprect.max_y,511); i++) { + for (int i=std::min(cliprect.min_y,511); i<=std::min(cliprect.max_y,511); i++) + { m_pf_layer[0][0]->set_scrollx(i, m_video_data[0xf400/2+i]-12); m_pf_layer[0][1]->set_scrollx(i, m_video_data[0xf400/2+i]-12+256); } - } else { + } + else + { m_pf_layer[0][0]->set_scroll_rows(1); m_pf_layer[0][1]->set_scroll_rows(1); m_pf_layer[0][0]->set_scrollx(0, m_video_data[0xf004/2]-12); m_pf_layer[0][1]->set_scrollx(0, m_video_data[0xf004/2]-12); } - if (m_video_control_data[6] & 0x02) { + if (m_video_control_data[6] & 0x02) + { m_pf_layer[1][1]->mark_all_dirty(); m_pf_layer[1][1]->set_scrollx(0, m_video_data[0xf000/2]-16 ); m_pf_layer[1][1]->set_scrolly(0, m_video_data[0xf008/2]+388); m_pf_layer[1][1]->draw(screen, bitmap, cliprect, 0,0); m_pf_layer[1][1]->draw(screen, bitmap, cliprect, 1,1); - } else { + } + else + { m_pf_layer[1][0]->mark_all_dirty(); m_pf_layer[1][0]->set_scrollx(0, m_video_data[0xf000/2]-16 ); m_pf_layer[1][0]->set_scrolly(0, m_video_data[0xf008/2]-120); @@ -434,12 +445,15 @@ uint32_t m90_state::screen_update_bomblord(screen_device &screen, bitmap_ind16 & m_pf_layer[1][0]->draw(screen, bitmap, cliprect, 1,1); } - if (m_video_control_data[6] & 0x04) { + if (m_video_control_data[6] & 0x04) + { m_pf_layer[0][1]->mark_all_dirty(); m_pf_layer[0][1]->set_scrolly(0, m_video_data[0xf00c/2]+392); m_pf_layer[0][1]->draw(screen, bitmap, cliprect, 0,0); m_pf_layer[0][1]->draw(screen, bitmap, cliprect, 1,1); - } else { + } + else + { m_pf_layer[0][0]->mark_all_dirty(); m_pf_layer[0][0]->set_scrolly(0, m_video_data[0xf00c/2]-116); m_pf_layer[0][0]->draw(screen, bitmap, cliprect, 0,0); @@ -456,14 +470,17 @@ uint32_t m90_state::screen_update_dynablsb(screen_device &screen, bitmap_ind16 & screen.priority().fill(0, cliprect); bitmap.fill(m_palette->black_pen(), cliprect); - if (!(m_video_data[0xf008/2] & 0x4000)) { + if (!(m_video_data[0xf008/2] & 0x4000)) + { m_pf_layer[0][1]->mark_all_dirty(); m_pf_layer[0][1]->set_scroll_rows(1); m_pf_layer[0][1]->set_scrollx(0, m_video_data[0xf004/2]+64); m_pf_layer[0][1]->set_scrolly(0, m_video_data[0xf006/2]+512); m_pf_layer[0][1]->draw(screen, bitmap, cliprect, 0,0); m_pf_layer[0][1]->draw(screen, bitmap, cliprect, 1,1); - } else { + } + else + { m_pf_layer[0][0]->mark_all_dirty(); m_pf_layer[0][0]->set_scroll_rows(1); m_pf_layer[0][0]->set_scrollx(0, m_video_data[0xf004/2]+64); @@ -472,14 +489,17 @@ uint32_t m90_state::screen_update_dynablsb(screen_device &screen, bitmap_ind16 & m_pf_layer[0][0]->draw(screen, bitmap, cliprect, 1,1); } - if (!(m_video_data[0xf008/2] & 0x8000)) { + if (!(m_video_data[0xf008/2] & 0x8000)) + { m_pf_layer[1][1]->mark_all_dirty(); m_pf_layer[1][1]->set_scroll_rows(1); m_pf_layer[1][1]->set_scrollx(0, m_video_data[0xf000/2]+68); m_pf_layer[1][1]->set_scrolly(0, m_video_data[0xf002/2]+512); m_pf_layer[1][1]->draw(screen, bitmap, cliprect, 0,0); m_pf_layer[1][1]->draw(screen, bitmap, cliprect, 1,1); - } else { + } + else + { m_pf_layer[1][0]->mark_all_dirty(); m_pf_layer[1][0]->set_scroll_rows(1); m_pf_layer[1][0]->set_scrollx(0, m_video_data[0xf000/2]+68); |
