diff options
Diffstat (limited to 'src/mame/video/toaplan2.cpp')
-rw-r--r-- | src/mame/video/toaplan2.cpp | 59 |
1 files changed, 26 insertions, 33 deletions
diff --git a/src/mame/video/toaplan2.cpp b/src/mame/video/toaplan2.cpp index 5bf0eb0ad10..091dca2041e 100644 --- a/src/mame/video/toaplan2.cpp +++ b/src/mame/video/toaplan2.cpp @@ -35,11 +35,9 @@ TILE_GET_INFO_MEMBER(toaplan2_state::get_text_tile_info) { - int color, tile_number, attrib; - - attrib = m_tx_videoram[tile_index]; - tile_number = attrib & 0x3ff; - color = attrib >> 10; + const u16 attrib = m_tx_videoram[tile_index]; + const u32 tile_number = attrib & 0x3ff; + const u32 color = attrib >> 10; SET_TILE_INFO_MEMBER(0, tile_number, color, @@ -92,7 +90,7 @@ VIDEO_START_MEMBER(toaplan2_state,truxton2) VIDEO_START_CALL_MEMBER(toaplan2); /* Create the Text tilemap for this game */ - m_gfxdecode->gfx(0)->set_source(reinterpret_cast<uint8_t *>(m_tx_gfxram.target())); + m_gfxdecode->gfx(0)->set_source(reinterpret_cast<u8 *>(m_tx_gfxram.target())); create_tx_tilemap(0x1d5, 0x16a); } @@ -136,7 +134,7 @@ VIDEO_START_MEMBER(toaplan2_state,batrider) m_vdp[0]->disable_sprite_buffer(); // disable buffering on this game /* Create the Text tilemap for this game */ - m_gfxdecode->gfx(0)->set_source(reinterpret_cast<uint8_t *>(m_tx_gfxram.target())); + m_gfxdecode->gfx(0)->set_source(reinterpret_cast<u8 *>(m_tx_gfxram.target())); create_tx_tilemap(0x1d4, 0x16b); @@ -144,14 +142,14 @@ VIDEO_START_MEMBER(toaplan2_state,batrider) save_item(NAME(m_gfxrom_bank)); } -WRITE16_MEMBER(toaplan2_state::tx_videoram_w) +void toaplan2_state::tx_videoram_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_tx_videoram[offset]); if (offset < 64*32) m_tx_tilemap->mark_tile_dirty(offset); } -WRITE16_MEMBER(toaplan2_state::tx_linescroll_w) +void toaplan2_state::tx_linescroll_w(offs_t offset, u16 data, u16 mem_mask) { /*** Line-Scroll RAM for Text Layer ***/ COMBINE_DATA(&m_tx_linescroll[offset]); @@ -159,11 +157,11 @@ WRITE16_MEMBER(toaplan2_state::tx_linescroll_w) m_tx_tilemap->set_scrollx(offset, m_tx_linescroll[offset]); } -WRITE16_MEMBER(toaplan2_state::tx_gfxram_w) +void toaplan2_state::tx_gfxram_w(offs_t offset, u16 data, u16 mem_mask) { /*** Dynamic GFX decoding for Truxton 2 / FixEight ***/ - uint16_t oldword = m_tx_gfxram[offset]; + const u16 oldword = m_tx_gfxram[offset]; if (oldword != data) { @@ -172,11 +170,11 @@ WRITE16_MEMBER(toaplan2_state::tx_gfxram_w) } } -WRITE16_MEMBER(toaplan2_state::batrider_tx_gfxram_w) +void toaplan2_state::batrider_tx_gfxram_w(offs_t offset, u16 data, u16 mem_mask) { /*** Dynamic GFX decoding for Batrider / Battle Bakraid ***/ - uint16_t oldword = m_tx_gfxram[offset]; + const u16 oldword = m_tx_gfxram[offset]; if (oldword != data) { @@ -185,7 +183,7 @@ WRITE16_MEMBER(toaplan2_state::batrider_tx_gfxram_w) } } -WRITE16_MEMBER(toaplan2_state::batrider_textdata_dma_w) +void toaplan2_state::batrider_textdata_dma_w(u16 data) { /*** Dynamic Text GFX decoding for Batrider ***/ /*** Only done once during start-up ***/ @@ -196,7 +194,7 @@ WRITE16_MEMBER(toaplan2_state::batrider_textdata_dma_w) } } -WRITE16_MEMBER(toaplan2_state::batrider_pal_text_dma_w) +void toaplan2_state::batrider_pal_text_dma_w(u16 data) { // FIXME: In batrider and bbakraid, the text layer and palette RAM // are probably DMA'd from main RAM by writing here at every vblank, @@ -208,7 +206,7 @@ WRITE16_MEMBER(toaplan2_state::batrider_pal_text_dma_w) } } -WRITE8_MEMBER(toaplan2_state::batrider_objectbank_w) +void toaplan2_state::batrider_objectbank_w(offs_t offset, u8 data) { data &= 0xf; if (m_gfxrom_bank[offset] != data) @@ -224,7 +222,7 @@ void toaplan2_state::batrider_bank_cb(u8 layer, u32 &code) } // Dogyuun doesn't appear to require fancy mixing? -uint32_t toaplan2_state::screen_update_dogyuun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 toaplan2_state::screen_update_dogyuun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { bitmap.fill(0, cliprect); if (m_vdp[1]) @@ -238,13 +236,12 @@ uint32_t toaplan2_state::screen_update_dogyuun(screen_device &screen, bitmap_ind m_vdp[0]->render_vdp(bitmap, cliprect); } - return 0; } // renders to 2 bitmaps, and mixes output -uint32_t toaplan2_state::screen_update_batsugun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 toaplan2_state::screen_update_batsugun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { // bitmap.fill(0, cliprect); // gp9001_custom_priority_bitmap->fill(0, cliprect); @@ -262,7 +259,6 @@ uint32_t toaplan2_state::screen_update_batsugun(screen_device &screen, bitmap_in m_vdp[1]->render_vdp(m_secondary_render_bitmap, cliprect); } - // key test places in batsugun // level 2 - the two layers of clouds (will appear under background, or over ships if wrong) // level 3 - the special effect 'layer' which should be under everything (will appear over background if wrong) @@ -276,22 +272,19 @@ uint32_t toaplan2_state::screen_update_batsugun(screen_device &screen, bitmap_in if (m_vdp[0] && m_vdp[1]) { - uint16_t* src_vdp0; // output buffer of vdp0 - uint16_t* src_vdp1; // output buffer of vdp1 - - for (int y=cliprect.min_y;y<=cliprect.max_y;y++) + for (int y = cliprect.min_y; y <= cliprect.max_y; y++) { - src_vdp0 = &bitmap.pix16(y); - src_vdp1 = &m_secondary_render_bitmap.pix16(y); + u16* src_vdp0 = &bitmap.pix16(y); + const u16* src_vdp1 = &m_secondary_render_bitmap.pix16(y); - for (int x=cliprect.min_x;x<=cliprect.max_x;x++) + for (int x = cliprect.min_x; x <= cliprect.max_x; x++) { - uint16_t GPU0_LUTaddr = src_vdp0[x]; - uint16_t GPU1_LUTaddr = src_vdp1[x]; + const u16 GPU0_LUTaddr = src_vdp0[x]; + const u16 GPU1_LUTaddr = src_vdp1[x]; // these equations is derived from the PAL, but doesn't seem to work? - int COMPARISON = ((GPU0_LUTaddr & 0x0780) > (GPU1_LUTaddr & 0x0780)); + const bool COMPARISON = ((GPU0_LUTaddr & 0x0780) > (GPU1_LUTaddr & 0x0780)); // note: GPU1_LUTaddr & 0x000f - transparency check for vdp1? (gfx are 4bpp, the low 4 bits of the lookup would be the pixel data value) #if 0 @@ -340,7 +333,7 @@ uint32_t toaplan2_state::screen_update_batsugun(screen_device &screen, bitmap_in } -uint32_t toaplan2_state::screen_update_toaplan2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 toaplan2_state::screen_update_toaplan2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { bitmap.fill(0, cliprect); m_custom_priority_bitmap.fill(0, cliprect); @@ -351,7 +344,7 @@ uint32_t toaplan2_state::screen_update_toaplan2(screen_device &screen, bitmap_in /* fixeightbl and bgareggabl do not use the lineselect or linescroll tables */ -uint32_t toaplan2_state::screen_update_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 toaplan2_state::screen_update_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { screen_update_toaplan2(screen, bitmap, cliprect); m_tx_tilemap->draw(screen, bitmap, cliprect, 0); @@ -359,7 +352,7 @@ uint32_t toaplan2_state::screen_update_bootleg(screen_device &screen, bitmap_ind } -uint32_t toaplan2_state::screen_update_truxton2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 toaplan2_state::screen_update_truxton2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { screen_update_toaplan2(screen, bitmap, cliprect); |