summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/aerofgt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/aerofgt.cpp')
-rw-r--r--src/mame/video/aerofgt.cpp466
1 files changed, 201 insertions, 265 deletions
diff --git a/src/mame/video/aerofgt.cpp b/src/mame/video/aerofgt.cpp
index 58da861db98..2fc3ccfc1dd 100644
--- a/src/mame/video/aerofgt.cpp
+++ b/src/mame/video/aerofgt.cpp
@@ -12,7 +12,7 @@
TILE_GET_INFO_MEMBER(aerofgt_state::get_pspikes_tile_info)
{
- uint16_t code = m_bg1videoram[tile_index];
+ uint16_t code = m_vram[0][tile_index];
int bank = (code & 0x1000) >> 12;
SET_TILE_INFO_MEMBER(0,
(code & 0x0fff) + (m_gfxbank[bank] << 12),
@@ -20,49 +20,33 @@ TILE_GET_INFO_MEMBER(aerofgt_state::get_pspikes_tile_info)
0);
}
-TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg1_tile_info)
-{
- uint16_t code = m_bg1videoram[tile_index];
- SET_TILE_INFO_MEMBER(0,
- (code & 0x1fff) + (m_gfxbank[0] << 13),
- (code & 0xe000) >> 13,
- 0);
-}
-
/* also spinlbrk */
-TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg2_tile_info)
+template<int Layer>
+TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_tile_info)
{
- uint16_t code = m_bg2videoram[tile_index];
- SET_TILE_INFO_MEMBER(1,
- (code & 0x1fff) + (m_gfxbank[1] << 13),
+ uint16_t code = m_vram[Layer][tile_index];
+ SET_TILE_INFO_MEMBER(Layer,
+ (code & 0x1fff) + (m_gfxbank[Layer] << 13),
(code & 0xe000) >> 13,
0);
}
-TILE_GET_INFO_MEMBER(aerofgt_state::spinlbrk_bg1_tile_info)
+template<int Layer>
+TILE_GET_INFO_MEMBER(aerofgt_state::spinlbrk_tile_info)
{
- uint16_t code = m_bg1videoram[tile_index];
- SET_TILE_INFO_MEMBER(0,
- (code & 0x0fff) + (m_gfxbank[0] << 12),
+ uint16_t code = m_vram[Layer][tile_index];
+ SET_TILE_INFO_MEMBER(Layer,
+ (code & 0x0fff) + (m_gfxbank[Layer] << 12),
(code & 0xf000) >> 12,
0);
}
-TILE_GET_INFO_MEMBER(aerofgt_state::get_bg1_tile_info)
-{
- uint16_t code = m_bg1videoram[tile_index];
- int bank = (code & 0x1800) >> 11;
- SET_TILE_INFO_MEMBER(0,
- (code & 0x07ff) + (m_gfxbank[bank] << 11),
- (code & 0xe000) >> 13,
- 0);
-}
-
-TILE_GET_INFO_MEMBER(aerofgt_state::get_bg2_tile_info)
+template<int Layer>
+TILE_GET_INFO_MEMBER(aerofgt_state::get_tile_info)
{
- uint16_t code = m_bg2videoram[tile_index];
- int bank = 4 + ((code & 0x1800) >> 11);
- SET_TILE_INFO_MEMBER(1,
+ uint16_t code = m_vram[Layer][tile_index];
+ int bank = (Layer << 2) + (code & 0x1800) >> 11;
+ SET_TILE_INFO_MEMBER(Layer,
(code & 0x07ff) + (m_gfxbank[bank] << 11),
(code & 0xe000) >> 13,
0);
@@ -76,15 +60,12 @@ TILE_GET_INFO_MEMBER(aerofgt_state::get_bg2_tile_info)
***************************************************************************/
-
void aerofgt_state::aerofgt_register_state_globals( )
{
save_item(NAME(m_gfxbank));
save_item(NAME(m_bank));
- save_item(NAME(m_bg1scrollx));
- save_item(NAME(m_bg1scrolly));
- save_item(NAME(m_bg2scrollx));
- save_item(NAME(m_bg2scrolly));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrolly));
save_item(NAME(m_flip_screen));
save_item(NAME(m_charpalettebank));
save_item(NAME(m_spritepalettebank));
@@ -92,7 +73,7 @@ void aerofgt_state::aerofgt_register_state_globals( )
VIDEO_START_MEMBER(aerofgt_state,pspikes)
{
- m_bg1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
/* no bg2 in this game */
m_sprite_gfx = 1;
@@ -101,13 +82,12 @@ VIDEO_START_MEMBER(aerofgt_state,pspikes)
save_item(NAME(m_spikes91_lookup));
}
-
VIDEO_START_MEMBER(aerofgt_state,karatblz)
{
- m_bg1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg1_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,64,64);
- m_bg2_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg2_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_tile_info<0>),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_tile_info<1>),this),TILEMAP_SCAN_ROWS,8,8,64,64);
- m_bg2_tilemap->set_transparent_pen(15);
+ m_tilemap[1]->set_transparent_pen(15);
m_spritepalettebank = 0;
m_sprite_gfx = 2;
@@ -116,28 +96,25 @@ VIDEO_START_MEMBER(aerofgt_state,karatblz)
VIDEO_START_MEMBER(aerofgt_state,spinlbrk)
{
- m_bg1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::spinlbrk_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- m_bg2_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::spinlbrk_tile_info<0>),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_tile_info<1>),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- m_bg2_tilemap->set_transparent_pen(15);
+ m_tilemap[1]->set_transparent_pen(15);
m_spritepalettebank = 0;
m_sprite_gfx = 2;
/* sprite maps are hardcoded in this game */
- /* enemy sprites use ROM instead of RAM */
- m_spriteram2.set_target(reinterpret_cast<uint16_t *>(memregion("gfx5")->base()), 0x20000);
-
aerofgt_register_state_globals();
}
VIDEO_START_MEMBER(aerofgt_state,turbofrc)
{
- m_bg1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- m_bg2_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_tile_info<0>),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_tile_info<1>),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- m_bg2_tilemap->set_transparent_pen(15);
+ m_tilemap[1]->set_transparent_pen(15);
m_spritepalettebank = 0;
m_sprite_gfx = 2;
@@ -149,23 +126,26 @@ VIDEO_START_MEMBER(aerofgt_state,turbofrc)
/* new hw type */
uint32_t aerofgt_state::aerofgt_tile_callback( uint32_t code )
{
- return m_spriteram1[code&0x7fff];
+ return m_sprlookupram[0][code&0x7fff];
}
-
-
/* old hw type */
uint32_t aerofgt_state::aerofgt_old_tile_callback( uint32_t code )
{
- return m_spriteram1[code % (m_spriteram1.bytes()/2)];
+ return m_sprlookupram[0][code % (m_sprlookupram[0].bytes()/2)];
}
uint32_t aerofgt_state::aerofgt_ol2_tile_callback( uint32_t code )
{
- return m_spriteram2[code % (m_spriteram2.bytes()/2)];
+ return m_sprlookupram[1][code % (m_sprlookupram[1].bytes()/2)];
}
+uint32_t aerofgt_state::spinbrk_tile_callback( uint32_t code )
+{
+ /* enemy sprites use ROM instead of RAM */
+ return m_sprlookuprom[code % m_sprlookuprom.length()];
+}
/***************************************************************************
@@ -174,93 +154,56 @@ uint32_t aerofgt_state::aerofgt_ol2_tile_callback( uint32_t code )
***************************************************************************/
-WRITE16_MEMBER(aerofgt_state::aerofgt_bg1videoram_w)
-{
- COMBINE_DATA(&m_bg1videoram[offset]);
- m_bg1_tilemap->mark_tile_dirty(offset);
-}
-
-WRITE16_MEMBER(aerofgt_state::aerofgt_bg2videoram_w)
-{
- COMBINE_DATA(&m_bg2videoram[offset]);
- m_bg2_tilemap->mark_tile_dirty(offset);
-}
-
-
-void aerofgt_state::setbank( tilemap_t *tmap, int num, int bank )
+void aerofgt_state::setbank( int layer, int num, int bank )
{
if (m_gfxbank[num] != bank)
{
m_gfxbank[num] = bank;
- tmap->mark_all_dirty();
+ m_tilemap[layer]->mark_all_dirty();
}
}
WRITE8_MEMBER(aerofgt_state::pspikes_gfxbank_w)
{
- setbank(m_bg1_tilemap, 0, (data & 0xf0) >> 4);
- setbank(m_bg1_tilemap, 1, data & 0x0f);
+ setbank(0, 0, (data & 0xf0) >> 4);
+ setbank(0, 1, data & 0x0f);
}
WRITE8_MEMBER(aerofgt_state::karatblz_gfxbank_w)
{
- setbank(m_bg1_tilemap, 0, (data & 0x01));
- setbank(m_bg2_tilemap, 1, (data & 0x08) >> 3);
+ setbank(0, 0, (data & 0x01));
+ setbank(1, 1, (data & 0x08) >> 3);
}
WRITE8_MEMBER(aerofgt_state::spinlbrk_gfxbank_w)
{
- setbank(m_bg1_tilemap, 0, (data & 0x07));
- setbank(m_bg2_tilemap, 1, (data & 0x38) >> 3);
+ setbank(0, 0, (data & 0x07));
+ setbank(1, 1, (data & 0x38) >> 3);
}
WRITE16_MEMBER(aerofgt_state::turbofrc_gfxbank_w)
{
- tilemap_t *tmap = (offset == 0) ? m_bg1_tilemap : m_bg2_tilemap;
-
data = COMBINE_DATA(&m_bank[offset]);
- setbank(tmap, 4 * offset + 0, (data >> 0) & 0x0f);
- setbank(tmap, 4 * offset + 1, (data >> 4) & 0x0f);
- setbank(tmap, 4 * offset + 2, (data >> 8) & 0x0f);
- setbank(tmap, 4 * offset + 3, (data >> 12) & 0x0f);
+ setbank(offset, 4 * offset + 0, (data >> 0) & 0x0f);
+ setbank(offset, 4 * offset + 1, (data >> 4) & 0x0f);
+ setbank(offset, 4 * offset + 2, (data >> 8) & 0x0f);
+ setbank(offset, 4 * offset + 3, (data >> 12) & 0x0f);
}
WRITE16_MEMBER(aerofgt_state::aerofgt_gfxbank_w)
{
- tilemap_t *tmap = (offset < 2) ? m_bg1_tilemap : m_bg2_tilemap;
-
data = COMBINE_DATA(&m_bank[offset]);
- setbank(tmap, 2 * offset + 0, (data >> 8) & 0xff);
- setbank(tmap, 2 * offset + 1, (data >> 0) & 0xff);
+ setbank(offset >> 1, 2 * offset + 0, (data >> 8) & 0xff);
+ setbank(offset >> 1, 2 * offset + 1, (data >> 0) & 0xff);
}
WRITE8_MEMBER(aerofgt_state::kickball_gfxbank_w)
{
// I strongly doubt this logic is correct
- setbank(m_bg1_tilemap, 0, (data & 0x0f)&~0x01);
- setbank(m_bg1_tilemap, 1, (data & 0x0f));
-}
-
-WRITE16_MEMBER(aerofgt_state::aerofgt_bg1scrollx_w)
-{
- COMBINE_DATA(&m_bg1scrollx);
-}
-
-WRITE16_MEMBER(aerofgt_state::aerofgt_bg1scrolly_w)
-{
- COMBINE_DATA(&m_bg1scrolly);
-}
-
-WRITE16_MEMBER(aerofgt_state::aerofgt_bg2scrollx_w)
-{
- COMBINE_DATA(&m_bg2scrollx);
-}
-
-WRITE16_MEMBER(aerofgt_state::aerofgt_bg2scrolly_w)
-{
- COMBINE_DATA(&m_bg2scrolly);
+ setbank(0, 0, (data & 0x0f)&~0x01);
+ setbank(0, 1, (data & 0x0f));
}
WRITE8_MEMBER(aerofgt_state::pspikes_palette_bank_w)
@@ -269,25 +212,25 @@ WRITE8_MEMBER(aerofgt_state::pspikes_palette_bank_w)
if (m_charpalettebank != (data & 0x1c) >> 2)
{
m_charpalettebank = (data & 0x1c) >> 2;
- m_bg1_tilemap->mark_all_dirty();
+ m_tilemap[0]->mark_all_dirty();
}
m_flip_screen = BIT(data, 7);
- m_bg1_tilemap->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
+ m_tilemap[0]->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
}
WRITE8_MEMBER(aerofgt_state::spinlbrk_flip_screen_w)
{
m_flip_screen = BIT(data, 7);
- m_bg1_tilemap->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
- m_bg2_tilemap->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
+ m_tilemap[0]->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
+ m_tilemap[1]->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
}
WRITE8_MEMBER(aerofgt_state::turbofrc_flip_screen_w)
{
m_flip_screen = BIT(data, 7);
- m_bg1_tilemap->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
- m_bg2_tilemap->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
+ m_tilemap[0]->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
+ m_tilemap[1]->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
// bit 6 = ?
}
@@ -304,39 +247,39 @@ uint32_t aerofgt_state::screen_update_pspikes(screen_device &screen, bitmap_ind1
{
int i, scrolly;
- m_bg1_tilemap->set_scroll_rows(256);
- scrolly = m_bg1scrolly;
+ m_tilemap[0]->set_scroll_rows(256);
+ scrolly = m_scrolly[0];
for (i = 0; i < 256; i++)
- m_bg1_tilemap->set_scrollx((i + scrolly) & 0xff, m_rasterram[i]);
- m_bg1_tilemap->set_scrolly(0, scrolly);
+ m_tilemap[0]->set_scrollx((i + scrolly) & 0xff, m_rasterram[i]);
+ m_tilemap[0]->set_scrolly(0, scrolly);
screen.priority().fill(0, cliprect);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
- m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram,m_spriteram.bytes(),m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram,m_spriteram.bytes(),m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
return 0;
}
uint32_t aerofgt_state::screen_update_karatblz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- m_bg1_tilemap->set_scrollx(0, m_bg1scrollx - 8);
- m_bg1_tilemap->set_scrolly(0, m_bg1scrolly);
- m_bg2_tilemap->set_scrollx(0, m_bg2scrollx - 4);
- m_bg2_tilemap->set_scrolly(0, m_bg2scrolly);
+ m_tilemap[0]->set_scrollx(0, m_scrollx[0] - 8);
+ m_tilemap[0]->set_scrolly(0, m_scrolly[0]);
+ m_tilemap[1]->set_scrollx(0, m_scrollx[1] - 4);
+ m_tilemap[1]->set_scrolly(0, m_scrolly[1]);
screen.priority().fill(0, cliprect);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- m_bg2_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0);
/* we use the priority buffer so sprites are drawn front to back */
- m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
- m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
+ m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
+ m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
- m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
- m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram+0x000,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram+0x000,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
return 0;
}
@@ -344,25 +287,25 @@ uint32_t aerofgt_state::screen_update_spinlbrk(screen_device &screen, bitmap_ind
{
int i, scrolly;
- m_bg1_tilemap->set_scroll_rows(512);
+ m_tilemap[0]->set_scroll_rows(512);
scrolly = 0;
for (i = 0; i < 256; i++)
- m_bg1_tilemap->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[i] - 8);
-// m_bg1_tilemap->set_scrolly(0, m_bg1scrolly);
- m_bg2_tilemap->set_scrollx(0, m_bg2scrollx - 4);
-// m_bg2_tilemap->set_scrolly(0, m_bg2scrolly);
+ m_tilemap[0]->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[i] - 8);
+// m_tilemap[0]->set_scrolly(0, m_scrolly[0]);
+ m_tilemap[1]->set_scrollx(0, m_scrollx[1] - 4);
+// m_tilemap[1]->set_scrolly(0, m_scrolly[1]);
screen.priority().fill(0, cliprect);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- m_bg2_tilemap->draw(screen, bitmap, cliprect, 0, 1);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1);
/* we use the priority buffer so sprites are drawn front to back */
- m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
- m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram+0x000,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram+0x000,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
- m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
- m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
+ m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
+ m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
return 0;
}
@@ -370,47 +313,47 @@ uint32_t aerofgt_state::screen_update_turbofrc(screen_device &screen, bitmap_ind
{
int i, scrolly;
- m_bg1_tilemap->set_scroll_rows(512);
- scrolly = m_bg1scrolly + 2;
+ m_tilemap[0]->set_scroll_rows(512);
+ scrolly = m_scrolly[0] + 2;
for (i = 0; i < 256; i++)
-// m_bg1_tilemap->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[i] - 11);
- m_bg1_tilemap->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[7] - 11 - (m_flip_screen ? 188 : 0));
- m_bg1_tilemap->set_scrolly(0, scrolly - (m_flip_screen ? 2 : 0));
- m_bg2_tilemap->set_scrollx(0, m_bg2scrollx - (m_flip_screen ? 185 : 7));
- m_bg2_tilemap->set_scrolly(0, m_bg2scrolly + (m_flip_screen ? 0 : 2));
+// m_tilemap[0]->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[i] - 11);
+ m_tilemap[0]->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[7] - 11 - (m_flip_screen ? 188 : 0));
+ m_tilemap[0]->set_scrolly(0, scrolly - (m_flip_screen ? 2 : 0));
+ m_tilemap[1]->set_scrollx(0, m_scrollx[1] - (m_flip_screen ? 185 : 7));
+ m_tilemap[1]->set_scrolly(0, m_scrolly[1] + (m_flip_screen ? 0 : 2));
screen.priority().fill(0, cliprect);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- m_bg2_tilemap->draw(screen, bitmap, cliprect, 0, 1);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1);
/* we use the priority buffer so sprites are drawn front to back */
- m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen); //ship
- m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen); //intro
+ m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen); //ship
+ m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen); //intro
- m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen); //enemy
- m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen); //enemy
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram+0x000,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen); //enemy
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram+0x000,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen); //enemy
return 0;
}
uint32_t aerofgt_state::screen_update_aerofgt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- m_bg1_tilemap->set_scrollx(0, m_rasterram[0x0000] - 18);
- m_bg1_tilemap->set_scrolly(0, m_bg1scrolly);
- m_bg2_tilemap->set_scrollx(0, m_rasterram[0x0200] - 20);
- m_bg2_tilemap->set_scrolly(0, m_bg2scrolly);
+ m_tilemap[0]->set_scrollx(0, m_rasterram[0x0000] - 18);
+ m_tilemap[0]->set_scrolly(0, m_scrolly[0]);
+ m_tilemap[1]->set_scrollx(0, m_rasterram[0x0200] - 20);
+ m_tilemap[1]->set_scrolly(0, m_scrolly[1]);
screen.priority().fill(0, cliprect);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
- m_spr->draw_sprites(m_spriteram3, m_spriteram3.bytes(), screen, bitmap, cliprect, 0x03, 0x00);
- m_spr->draw_sprites(m_spriteram3, m_spriteram3.bytes(), screen, bitmap, cliprect, 0x03, 0x01);
+ m_spr->draw_sprites(m_spriteram, m_spriteram.bytes(), screen, bitmap, cliprect, 0x03, 0x00);
+ m_spr->draw_sprites(m_spriteram, m_spriteram.bytes(), screen, bitmap, cliprect, 0x03, 0x01);
- m_bg2_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0);
- m_spr->draw_sprites(m_spriteram3, m_spriteram3.bytes(), screen, bitmap, cliprect, 0x03, 0x02);
- m_spr->draw_sprites(m_spriteram3, m_spriteram3.bytes(), screen, bitmap, cliprect, 0x03, 0x03);
+ m_spr->draw_sprites(m_spriteram, m_spriteram.bytes(), screen, bitmap, cliprect, 0x03, 0x02);
+ m_spr->draw_sprites(m_spriteram, m_spriteram.bytes(), screen, bitmap, cliprect, 0x03, 0x03);
return 0;
}
@@ -424,10 +367,10 @@ uint32_t aerofgt_state::screen_update_aerofgt(screen_device &screen, bitmap_ind1
// BOOTLEG
VIDEO_START_MEMBER(aerofgt_state,wbbc97)
{
- m_bg1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
/* no bg2 in this game */
- m_bg1_tilemap->set_transparent_pen(15);
+ m_tilemap[0]->set_transparent_pen(15);
m_sprite_gfx = 1;
@@ -441,8 +384,8 @@ WRITE16_MEMBER(aerofgt_state::pspikesb_gfxbank_w)
{
COMBINE_DATA(&m_rasterram[0x200 / 2]);
- setbank(m_bg1_tilemap, 0, (data & 0xf000) >> 12);
- setbank(m_bg1_tilemap, 1, (data & 0x0f00) >> 8);
+ setbank(0, 0, (data & 0xf000) >> 12);
+ setbank(0, 1, (data & 0x0f00) >> 8);
}
// BOOTLEG
@@ -463,7 +406,7 @@ void aerofgt_state::aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 &
int attr_start, base, first;
base = chip * 0x0200;
-// first = 4 * m_spriteram3[0x1fe + base];
+// first = 4 * m_spriteram[0x1fe + base];
first = 0;
for (attr_start = base + 0x0200 - 4; attr_start >= first + base; attr_start -= 4)
@@ -473,26 +416,26 @@ void aerofgt_state::aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 &
// some other drivers still use this wrong table, they have to be upgraded
// int zoomtable[16] = { 0,7,14,20,25,30,34,38,42,46,49,52,54,57,59,61 };
- if (!(m_spriteram3[attr_start + 2] & 0x0080))
+ if (!(m_spriteram[attr_start + 2] & 0x0080))
continue;
- pri = m_spriteram3[attr_start + 2] & 0x0010;
+ pri = m_spriteram[attr_start + 2] & 0x0010;
if ( chip_disabled_pri && !pri)
continue;
if ((!chip_disabled_pri) && (pri >> 4))
continue;
- ox = m_spriteram3[attr_start + 1] & 0x01ff;
- xsize = (m_spriteram3[attr_start + 2] & 0x0700) >> 8;
- zoomx = (m_spriteram3[attr_start + 1] & 0xf000) >> 12;
- oy = m_spriteram3[attr_start + 0] & 0x01ff;
- ysize = (m_spriteram3[attr_start + 2] & 0x7000) >> 12;
- zoomy = (m_spriteram3[attr_start + 0] & 0xf000) >> 12;
- flipx = m_spriteram3[attr_start + 2] & 0x0800;
- flipy = m_spriteram3[attr_start + 2] & 0x8000;
- color = (m_spriteram3[attr_start + 2] & 0x000f) + 16 * m_spritepalettebank;
-
- map_start = m_spriteram3[attr_start + 3];
+ ox = m_spriteram[attr_start + 1] & 0x01ff;
+ xsize = (m_spriteram[attr_start + 2] & 0x0700) >> 8;
+ zoomx = (m_spriteram[attr_start + 1] & 0xf000) >> 12;
+ oy = m_spriteram[attr_start + 0] & 0x01ff;
+ ysize = (m_spriteram[attr_start + 2] & 0x7000) >> 12;
+ zoomy = (m_spriteram[attr_start + 0] & 0xf000) >> 12;
+ flipx = m_spriteram[attr_start + 2] & 0x0800;
+ flipy = m_spriteram[attr_start + 2] & 0x8000;
+ color = (m_spriteram[attr_start + 2] & 0x000f) + 16 * m_spritepalettebank;
+
+ map_start = m_spriteram[attr_start + 3];
// aerofgt has this adjustment, but doing it here would break turbo force title screen
// ox += (xsize*zoomx+2)/4;
@@ -519,10 +462,7 @@ void aerofgt_state::aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 &
else
sx = ((ox + zoomx * x / 2 + 16) & 0x1ff) - 16;
- if (chip == 0)
- code = m_spriteram1[map_start % (m_spriteram1.bytes()/2)];
- else
- code = m_spriteram2[map_start % (m_spriteram2.bytes()/2)];
+ code = m_sprlookupram[chip][map_start % (m_sprlookupram[chip].bytes()/2)];
m_gfxdecode->gfx(m_sprite_gfx + chip)->prio_zoom_transpen(bitmap,cliprect,
code,
@@ -547,19 +487,19 @@ void aerofgt_state::pspikesb_draw_sprites( screen_device &screen, bitmap_ind16 &
{
int i;
- for (i = 4; i < m_spriteram3.bytes() / 2; i += 4)
+ for (i = 4; i < m_spriteram.bytes() / 2; i += 4)
{
int xpos, ypos, color, flipx, flipy, code;
- if (m_spriteram3[i + 3 - 4] & 0x8000)
+ if (m_spriteram[i + 3 - 4] & 0x8000)
break;
- xpos = (m_spriteram3[i + 2] & 0x1ff) - 34;
- ypos = 256 - (m_spriteram3[i + 3 - 4] & 0x1ff) - 33;
- code = m_spriteram3[i + 0] & 0x1fff;
+ xpos = (m_spriteram[i + 2] & 0x1ff) - 34;
+ ypos = 256 - (m_spriteram[i + 3 - 4] & 0x1ff) - 33;
+ code = m_spriteram[i + 0] & 0x1fff;
flipy = 0;
- flipx = m_spriteram3[i + 1] & 0x0800;
- color = m_spriteram3[i + 1] & 0x000f;
+ flipx = m_spriteram[i + 1] & 0x0800;
+ color = m_spriteram[i + 1] & 0x000f;
m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect,
code,
@@ -581,38 +521,34 @@ void aerofgt_state::pspikesb_draw_sprites( screen_device &screen, bitmap_ind16 &
void aerofgt_state::spikes91_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
{
int i;
- uint8_t *lookup;
- lookup = memregion("user1")->base();
m_spritepalettebank = 1;
- for (i = m_spriteram3.bytes() / 2 - 4; i >= 4; i -= 4)
+ for (i = m_spriteram.bytes() / 2 - 4; i >= 4; i -= 4)
{
- int xpos, ypos, color, flipx, flipy, code, realcode;
+ int xpos, ypos, color, flipx, flipy, code;
- code = m_spriteram3[i + 0] & 0x1fff;
+ code = m_spriteram[i + 0] & 0x1fff;
if (!code)
continue;
- xpos = (m_spriteram3[i + 2] & 0x01ff) - 16;
- ypos = 256 - (m_spriteram3[i + 1] & 0x00ff) - 26;
+ xpos = (m_spriteram[i + 2] & 0x01ff) - 16;
+ ypos = 256 - (m_spriteram[i + 1] & 0x00ff) - 26;
flipy = 0;
- flipx = m_spriteram3[i + 3] & 0x8000;
- color = ((m_spriteram3[i + 3] & 0x00f0) >> 4);
+ flipx = m_spriteram[i + 3] & 0x8000;
+ color = ((m_spriteram[i + 3] & 0x00f0) >> 4);
code |= m_spikes91_lookup * 0x2000;
- realcode = (lookup[code] << 8) + lookup[0x10000 + code];
-
m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect,
- realcode,
+ m_sprlookuprom[code],
color,
flipx,flipy,
xpos,ypos,15);
/* wrap around y */
m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect,
- realcode,
+ m_sprlookuprom[code],
color,
flipx,flipy,
xpos,ypos + 512,15);
@@ -626,23 +562,23 @@ void aerofgt_state::aerfboot_draw_sprites( screen_device &screen, bitmap_ind16 &
last = ((m_rasterram[0x404 / 2] << 5) - 0x8000) / 2;
- for (attr_start = m_spriteram3.bytes() / 2 - 4; attr_start >= last; attr_start -= 4)
+ for (attr_start = m_spriteram.bytes() / 2 - 4; attr_start >= last; attr_start -= 4)
{
int code;
int ox, oy, sx, sy, zoomx, zoomy, flipx, flipy, color, pri;
- ox = m_spriteram3[attr_start + 1] & 0x01ff;
- oy = m_spriteram3[attr_start + 0] & 0x01ff;
- flipx = m_spriteram3[attr_start + 2] & 0x0800;
- flipy = m_spriteram3[attr_start + 2] & 0x8000;
- color = m_spriteram3[attr_start + 2] & 0x000f;
+ ox = m_spriteram[attr_start + 1] & 0x01ff;
+ oy = m_spriteram[attr_start + 0] & 0x01ff;
+ flipx = m_spriteram[attr_start + 2] & 0x0800;
+ flipy = m_spriteram[attr_start + 2] & 0x8000;
+ color = m_spriteram[attr_start + 2] & 0x000f;
- zoomx = (m_spriteram3[attr_start + 1] & 0xf000) >> 12;
- zoomy = (m_spriteram3[attr_start + 0] & 0xf000) >> 12;
- pri = m_spriteram3[attr_start + 2] & 0x0010;
- code = m_spriteram3[attr_start + 3] & 0x1fff;
+ zoomx = (m_spriteram[attr_start + 1] & 0xf000) >> 12;
+ zoomy = (m_spriteram[attr_start + 0] & 0xf000) >> 12;
+ pri = m_spriteram[attr_start + 2] & 0x0010;
+ code = m_spriteram[attr_start + 3] & 0x1fff;
- if (!(m_spriteram3[attr_start + 2] & 0x0040))
+ if (!(m_spriteram[attr_start + 2] & 0x0040))
code |= 0x2000;
zoomx = 32 + zoomx;
@@ -664,23 +600,23 @@ void aerofgt_state::aerfboot_draw_sprites( screen_device &screen, bitmap_ind16 &
last = ((m_rasterram[0x402 / 2] << 5) - 0x8000) / 2;
- for (attr_start = ((m_spriteram3.bytes() / 2) / 2) - 4; attr_start >= last; attr_start -= 4)
+ for (attr_start = ((m_spriteram.bytes() / 2) / 2) - 4; attr_start >= last; attr_start -= 4)
{
int code;
int ox, oy, sx, sy, zoomx, zoomy, flipx, flipy, color, pri;
- ox = m_spriteram3[attr_start + 1] & 0x01ff;
- oy = m_spriteram3[attr_start + 0] & 0x01ff;
- flipx = m_spriteram3[attr_start + 2] & 0x0800;
- flipy = m_spriteram3[attr_start + 2] & 0x8000;
- color = m_spriteram3[attr_start + 2] & 0x000f;
+ ox = m_spriteram[attr_start + 1] & 0x01ff;
+ oy = m_spriteram[attr_start + 0] & 0x01ff;
+ flipx = m_spriteram[attr_start + 2] & 0x0800;
+ flipy = m_spriteram[attr_start + 2] & 0x8000;
+ color = m_spriteram[attr_start + 2] & 0x000f;
- zoomx = (m_spriteram3[attr_start + 1] & 0xf000) >> 12;
- zoomy = (m_spriteram3[attr_start + 0] & 0xf000) >> 12;
- pri = m_spriteram3[attr_start + 2] & 0x0010;
- code = m_spriteram3[attr_start + 3] & 0x1fff;
+ zoomx = (m_spriteram[attr_start + 1] & 0xf000) >> 12;
+ zoomy = (m_spriteram[attr_start + 0] & 0xf000) >> 12;
+ pri = m_spriteram[attr_start + 2] & 0x0010;
+ code = m_spriteram[attr_start + 3] & 0x1fff;
- if (!(m_spriteram3[attr_start + 2] & 0x0040))
+ if (!(m_spriteram[attr_start + 2] & 0x0040))
code |= 0x2000;
zoomx = 32 + zoomx;
@@ -726,13 +662,13 @@ uint32_t aerofgt_state::screen_update_pspikesb(screen_device &screen, bitmap_ind
{
int i, scrolly;
- m_bg1_tilemap->set_scroll_rows(256);
- scrolly = m_bg1scrolly;
+ m_tilemap[0]->set_scroll_rows(256);
+ scrolly = m_scrolly[0];
for (i = 0; i < 256; i++)
- m_bg1_tilemap->set_scrollx((i + scrolly) & 0xff, m_rasterram[i] + 22);
- m_bg1_tilemap->set_scrolly(0, scrolly);
+ m_tilemap[0]->set_scrollx((i + scrolly) & 0xff, m_rasterram[i] + 22);
+ m_tilemap[0]->set_scrolly(0, scrolly);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
pspikesb_draw_sprites(screen, bitmap, cliprect);
return 0;
}
@@ -745,14 +681,14 @@ uint32_t aerofgt_state::screen_update_spikes91(screen_device &screen, bitmap_ind
int count;
gfx_element *gfx = m_gfxdecode->gfx(0);
- m_bg1_tilemap->set_scroll_rows(256);
- scrolly = m_bg1scrolly;
+ m_tilemap[0]->set_scroll_rows(256);
+ scrolly = m_scrolly[0];
for (i = 0; i < 256; i++)
- m_bg1_tilemap->set_scrollx((i + scrolly) & 0xff, m_rasterram[i + 0x01f0 / 2] + 0x96 + 0x16);
- m_bg1_tilemap->set_scrolly(0, scrolly);
+ m_tilemap[0]->set_scrollx((i + scrolly) & 0xff, m_rasterram[i + 0x01f0 / 2] + 0x96 + 0x16);
+ m_tilemap[0]->set_scrolly(0, scrolly);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
spikes91_draw_sprites(screen, bitmap, cliprect);
/* we could use a tilemap, but it's easier to just do it here */
@@ -783,18 +719,18 @@ uint32_t aerofgt_state::screen_update_aerfboot(screen_device &screen, bitmap_ind
{
int i, scrolly;
- m_bg1_tilemap->set_scroll_rows(512);
- scrolly = m_bg1scrolly + 2;
+ m_tilemap[0]->set_scroll_rows(512);
+ scrolly = m_scrolly[0] + 2;
for (i = 0; i < 256; i++)
- m_bg1_tilemap->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[7] + 174);
- m_bg1_tilemap->set_scrolly(0, scrolly);
- m_bg2_tilemap->set_scrollx(0, m_bg2scrollx + 172);
- m_bg2_tilemap->set_scrolly(0, m_bg2scrolly + 2);
+ m_tilemap[0]->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[7] + 174);
+ m_tilemap[0]->set_scrolly(0, scrolly);
+ m_tilemap[1]->set_scrollx(0, m_scrollx[1] + 172);
+ m_tilemap[1]->set_scrolly(0, m_scrolly[1] + 2);
screen.priority().fill(0, cliprect);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- m_bg2_tilemap->draw(screen, bitmap, cliprect, 0, 1);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1);
/* we use the priority buffer so sprites are drawn front to back */
aerfboot_draw_sprites(screen, bitmap, cliprect);
@@ -806,19 +742,19 @@ uint32_t aerofgt_state::screen_update_aerfboo2(screen_device &screen, bitmap_ind
{
int i, scrolly;
- m_bg1_tilemap->set_scroll_rows(512);
- scrolly = m_bg1scrolly + 2;
+ m_tilemap[0]->set_scroll_rows(512);
+ scrolly = m_scrolly[0] + 2;
for (i = 0; i < 256; i++)
-// m_bg1_tilemap->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[i] - 11);
- m_bg1_tilemap->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[7] - 11);
- m_bg1_tilemap->set_scrolly(0, scrolly);
- m_bg2_tilemap->set_scrollx(0, m_bg2scrollx - 7);
- m_bg2_tilemap->set_scrolly(0, m_bg2scrolly + 2);
+// m_tilemap[0]->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[i] - 11);
+ m_tilemap[0]->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[7] - 11);
+ m_tilemap[0]->set_scrolly(0, scrolly);
+ m_tilemap[1]->set_scrollx(0, m_scrollx[1] - 7);
+ m_tilemap[1]->set_scrolly(0, m_scrolly[1] + 2);
screen.priority().fill(0, cliprect);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- m_bg2_tilemap->draw(screen, bitmap, cliprect, 0, 1);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1);
/* we use the priority buffer so sprites are drawn front to back */
aerfboo2_draw_sprites(screen, bitmap, cliprect, 1, -1); //ship
@@ -833,25 +769,25 @@ uint32_t aerofgt_state::screen_update_wbbc97(screen_device &screen, bitmap_rgb32
{
int i, scrolly;
- m_bg1_tilemap->set_scroll_rows(256);
- scrolly = m_bg1scrolly;
+ m_tilemap[0]->set_scroll_rows(256);
+ scrolly = m_scrolly[0];
for (i = 0; i < 256; i++)
- m_bg1_tilemap->set_scrollx((i + scrolly) & 0xff, m_rasterram[i]);
- m_bg1_tilemap->set_scrolly(0, scrolly);
+ m_tilemap[0]->set_scrollx((i + scrolly) & 0xff, m_rasterram[i]);
+ m_tilemap[0]->set_scrolly(0, scrolly);
screen.priority().fill(0, cliprect);
if (m_wbbc97_bitmap_enable)
{
wbbc97_draw_bitmap(bitmap);
- m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
}
else
{
- m_bg1_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
+ m_tilemap[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
}
- m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
- m_spr_old->turbofrc_draw_sprites(m_spriteram3,m_spriteram3.bytes(),m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram,m_spriteram.bytes(),m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen);
+ m_spr_old[0]->turbofrc_draw_sprites(m_spriteram,m_spriteram.bytes(),m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen);
return 0;
}