summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/playmark.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/playmark.cpp')
-rw-r--r--src/mame/video/playmark.cpp160
1 files changed, 77 insertions, 83 deletions
diff --git a/src/mame/video/playmark.cpp b/src/mame/video/playmark.cpp
index 834a363b4b1..24612c8ad55 100644
--- a/src/mame/video/playmark.cpp
+++ b/src/mame/video/playmark.cpp
@@ -13,39 +13,39 @@
TILE_GET_INFO_MEMBER(playmark_state::bigtwin_get_tx_tile_info)
{
- uint16_t code = m_videoram1[2 * tile_index];
- uint16_t color = m_videoram1[2 * tile_index + 1];
+ u16 code = m_videoram[0][2 * tile_index];
+ u16 color = m_videoram[0][2 * tile_index + 1];
tileinfo.set(2, code, color, 0);
}
TILE_GET_INFO_MEMBER(playmark_state::bigtwin_get_fg_tile_info)
{
- uint16_t code = m_videoram2[2 * tile_index];
- uint16_t color = m_videoram2[2 * tile_index + 1];
+ u16 code = m_videoram[1][2 * tile_index];
+ u16 color = m_videoram[1][2 * tile_index + 1];
tileinfo.set(1, code, color, 0);
}
TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_tx_tile_info)
{
- uint16_t code = m_videoram1[2 * tile_index];
- uint16_t color = m_videoram1[2 * tile_index + 1];
+ u16 code = m_videoram[0][2 * tile_index];
+ u16 color = m_videoram[0][2 * tile_index + 1];
tileinfo.set(2, code, (color >> 2), 0);
}
TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_fg_tile_info)
{
- uint16_t code = m_videoram2[2 * tile_index];
- uint16_t color = m_videoram2[2 * tile_index + 1];
+ u16 code = m_videoram[1][2 * tile_index];
+ u16 color = m_videoram[1][2 * tile_index + 1];
tileinfo.set(1, (code & 0x7fff), (color >> 2) + 8, (code & 0x8000) ? TILE_FLIPX : 0);
}
TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_bg_tile_info)
{
- uint16_t code = m_videoram3[2 * tile_index];
- uint16_t color = m_videoram3[2 * tile_index + 1];
+ u16 code = m_videoram[2][2 * tile_index];
+ u16 color = m_videoram[2][2 * tile_index + 1];
tileinfo.set(1, (code & 0x7fff), (color >> 2), (code & 0x8000) ? TILE_FLIPX : 0);
}
@@ -53,24 +53,24 @@ TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_bg_tile_info)
TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_tx_tile_info)
{
- int code = m_videoram1[tile_index] & 0x0fff;
- int colr = m_videoram1[tile_index] & 0xe000;
+ int code = m_videoram[0][tile_index] & 0x0fff;
+ int colr = m_videoram[0][tile_index] & 0xe000;
tileinfo.set(3, code, (colr >> 13), 0);
}
TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_fg_tile_info)
{
- int code = m_videoram2[tile_index] & 0x1fff;
- int colr = m_videoram2[tile_index] & 0xe000;
+ int code = m_videoram[1][tile_index] & 0x1fff;
+ int colr = m_videoram[1][tile_index] & 0xe000;
tileinfo.set(2, code, (colr >> 13) + 8, 0);
}
TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info)
{
- int code = m_videoram3[tile_index] & 0x1fff;
- int colr = m_videoram3[tile_index] & 0xe000;
+ int code = m_videoram[2][tile_index] & 0x1fff;
+ int colr = m_videoram[2][tile_index] & 0xe000;
tileinfo.set(1, code, (colr >> 13), 0);
}
@@ -78,8 +78,8 @@ TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info)
TILE_GET_INFO_MEMBER(playmark_state::bigtwinb_get_tx_tile_info)
{
- int code = m_videoram1[tile_index] & 0x0fff;
- int colr = m_videoram1[tile_index] & 0xf000;
+ int code = m_videoram[0][tile_index] & 0x0fff;
+ int colr = m_videoram[0][tile_index] & 0xf000;
tileinfo.set(3, code, (colr >> 12), 0);
}
@@ -202,7 +202,7 @@ VIDEO_START_MEMBER(playmark_state,luckboomh)
-// hard times level 2-4 boss(truck) needs this.. or something similar.
+// Hard Times level 2-4 boss(truck) needs this.. or something similar.
#define TILES_PER_PAGE_Y (0x20)
#define TILES_PER_PAGE_X (0x20)
#define PAGES_PER_TMAP_Y (0x1)
@@ -217,7 +217,7 @@ TILEMAP_MAPPER_MEMBER(playmark_state::playmark_tilemap_scan_pages)
(row % TILES_PER_PAGE_Y) * TILES_PER_PAGE_X;
}
-// theres enough ram for 64*128 on each tilemap..
+// there's enough ram for 64*128 on each tilemap..
VIDEO_START_MEMBER(playmark_state,hrdtimes)
{
@@ -246,96 +246,96 @@ VIDEO_START_MEMBER(playmark_state,hrdtimes)
***************************************************************************/
-void playmark_state::wbeachvl_txvideoram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::wbeachvl_txvideoram_w(offs_t offset, u16 data, u16 mem_mask)
{
- COMBINE_DATA(&m_videoram1[offset]);
+ COMBINE_DATA(&m_videoram[0][offset]);
m_tx_tilemap->mark_tile_dirty(offset / 2);
}
-void playmark_state::wbeachvl_fgvideoram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::wbeachvl_fgvideoram_w(offs_t offset, u16 data, u16 mem_mask)
{
- COMBINE_DATA(&m_videoram2[offset]);
+ COMBINE_DATA(&m_videoram[1][offset]);
m_fg_tilemap->mark_tile_dirty(offset / 2);
}
-void playmark_state::wbeachvl_bgvideoram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::wbeachvl_bgvideoram_w(offs_t offset, u16 data, u16 mem_mask)
{
- COMBINE_DATA(&m_videoram3[offset]);
+ COMBINE_DATA(&m_videoram[2][offset]);
m_bg_tilemap->mark_tile_dirty(offset / 2);
}
-void playmark_state::hrdtimes_txvideoram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::hrdtimes_txvideoram_w(offs_t offset, u16 data, u16 mem_mask)
{
- COMBINE_DATA(&m_videoram1[offset]);
+ COMBINE_DATA(&m_videoram[0][offset]);
m_tx_tilemap->mark_tile_dirty(offset);
}
-void playmark_state::hrdtimes_fgvideoram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::hrdtimes_fgvideoram_w(offs_t offset, u16 data, u16 mem_mask)
{
- COMBINE_DATA(&m_videoram2[offset]);
+ COMBINE_DATA(&m_videoram[1][offset]);
m_fg_tilemap->mark_tile_dirty(offset);
}
-void playmark_state::hrdtimes_bgvideoram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::hrdtimes_bgvideoram_w(offs_t offset, u16 data, u16 mem_mask)
{
- COMBINE_DATA(&m_videoram3[offset]);
+ COMBINE_DATA(&m_videoram[2][offset]);
m_bg_tilemap->mark_tile_dirty(offset);
}
-void playmark_state::bigtwin_scroll_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::bigtwin_scroll_w(offs_t offset, u16 data, u16 mem_mask)
{
data = COMBINE_DATA(&m_scroll[offset]);
switch (offset)
{
- case 0: m_tx_tilemap->set_scrollx(0, data + 2); break;
- case 1: m_tx_tilemap->set_scrolly(0, data); break;
- case 2: m_bgscrollx = -(data + 4); break;
- case 3: m_bgscrolly = (-data) & 0x1ff;
- m_bg_enable = data & 0x0200;
- m_bg_full_size = data & 0x0400;
+ case 0: m_tx_tilemap->set_scrollx(0, data + 2); break;
+ case 1: m_tx_tilemap->set_scrolly(0, data); break;
+ case 2: m_bgscrollx = -(data + 4); break;
+ case 3: m_bgscrolly = (-data) & 0x1ff;
+ m_bg_enable = BIT(data, 9);
+ m_bg_full_size = BIT(data, 10);
break;
- case 4: m_fg_tilemap->set_scrollx(0, data + 6); break;
- case 5: m_fg_tilemap->set_scrolly(0, data); break;
+ case 4: m_fg_tilemap->set_scrollx(0, data + 6); break;
+ case 5: m_fg_tilemap->set_scrolly(0, data); break;
}
}
-void playmark_state::wbeachvl_scroll_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::wbeachvl_scroll_w(offs_t offset, u16 data, u16 mem_mask)
{
data = COMBINE_DATA(&m_scroll[offset]);
switch (offset)
{
- case 0: m_tx_tilemap->set_scrollx(0, data + 2); break;
- case 1: m_tx_tilemap->set_scrolly(0, data); break;
- case 2: m_fgscrollx = data + 4;break;
- case 3: m_fg_tilemap->set_scrolly(0, data & 0x3ff);
- m_fg_rowscroll_enable = data & 0x0800;
+ case 0: m_tx_tilemap->set_scrollx(0, data + 2); break;
+ case 1: m_tx_tilemap->set_scrolly(0, data); break;
+ case 2: m_fgscrollx = data + 4; break;
+ case 3: m_fg_tilemap->set_scrolly(0, data & 0x3ff);
+ m_fg_rowscroll_enable = BIT(data, 11);
break;
- case 4: m_bg_tilemap->set_scrollx(0, data + 6); break;
- case 5: m_bg_tilemap->set_scrolly(0, data); break;
+ case 4: m_bg_tilemap->set_scrollx(0, data + 6); break;
+ case 5: m_bg_tilemap->set_scrolly(0, data); break;
}
}
-void playmark_state::excelsr_scroll_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::excelsr_scroll_w(offs_t offset, u16 data, u16 mem_mask)
{
data = COMBINE_DATA(&m_scroll[offset]);
switch (offset)
{
case 0: m_tx_tilemap->set_scrollx(0, data + 2); break;
- case 1: m_tx_tilemap->set_scrolly(0, data); break;
- case 2: m_bgscrollx = -data; break;
- case 3: m_bgscrolly = (-data + 2)& 0x1ff;
- m_bg_enable = data & 0x0200;
- m_bg_full_size = data & 0x0400;
+ case 1: m_tx_tilemap->set_scrolly(0, data); break;
+ case 2: m_bgscrollx = -data; break;
+ case 3: m_bgscrolly = (-data + 2) & 0x1ff;
+ m_bg_enable = BIT(data, 9);
+ m_bg_full_size = BIT(data, 10);
break;
case 4: m_fg_tilemap->set_scrollx(0, data + 6); break;
case 5: m_fg_tilemap->set_scrolly(0, data); break;
}
}
-void playmark_state::hrdtimes_scroll_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void playmark_state::hrdtimes_scroll_w(offs_t offset, u16 data, u16 mem_mask)
{
data = COMBINE_DATA(&m_scroll[offset]);
@@ -361,12 +361,11 @@ void playmark_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
int offs, start_offset = m_spriteram.bytes() / 2 - 4;
int height = m_gfxdecode->gfx(0)->height();
int colordiv = m_gfxdecode->gfx(0)->granularity() / 16;
- uint16_t *spriteram = m_spriteram;
// find the "end of list" to draw the sprites in reverse order
for (offs = 4; offs < m_spriteram.bytes() / 2; offs += 4)
{
- if (spriteram[offs + 3 - 4] == 0x2000) /* end of list marker */
+ if (m_spriteram[offs + 3 - 4] == 0x2000) // end of list marker
{
start_offset = offs - 4;
break;
@@ -375,16 +374,14 @@ void playmark_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
for (offs = start_offset; offs >= 4; offs -= 4)
{
- int sx, sy, code, color, flipx, pri;
+ int sy = m_spriteram[offs + 3 - 4]; // -4? what the... ???
- sy = spriteram[offs + 3 - 4]; /* -4? what the... ??? */
-
- flipx = sy & 0x4000;
- sx = (spriteram[offs + 1] & 0x01ff) - 16 - 7;
+ int flipx = sy & 0x4000;
+ int sx = (m_spriteram[offs + 1] & 0x01ff) - 16 - 7;
sy = (256 - 8 - height - sy) & 0xff;
- code = spriteram[offs + 2] >> codeshift;
- color = ((spriteram[offs + 1] & 0x3e00) >> 9) / colordiv;
- pri = (spriteram[offs + 1] & 0x8000) >> 15;
+ int code = m_spriteram[offs + 2] >> codeshift;
+ int color = ((m_spriteram[offs + 1] & 0x3e00) >> 9) / colordiv;
+ int pri = (m_spriteram[offs + 1] & 0x8000) >> 15;
if(!pri && (color & 0x0c) == 0x0c)
pri = 2;
@@ -403,12 +400,11 @@ void playmark_state::bigtwinb_draw_sprites( screen_device &screen, bitmap_ind16
{
int offs, start_offset = m_spriteram.bytes() / 2 - 4;
int height = m_gfxdecode->gfx(0)->height();
- uint16_t *spriteram = m_spriteram;
// find the "end of list" to draw the sprites in reverse order
for (offs = 4; offs < m_spriteram.bytes() / 2; offs += 4)
{
- if (spriteram[offs + 3 - 4] == 0x2000) /* end of list marker */
+ if (m_spriteram[offs + 3 - 4] == 0x2000) // end of list marker
{
start_offset = offs - 4;
break;
@@ -417,15 +413,13 @@ void playmark_state::bigtwinb_draw_sprites( screen_device &screen, bitmap_ind16
for (offs = start_offset; offs >= 4; offs -= 4)
{
- int sx, sy, code, color, flipx;
-
- sy = spriteram[offs + 3 - 4]; /* -4? what the... ??? */
+ int sy = m_spriteram[offs + 3 - 4]; // -4? what the... ???
- flipx = sy & 0x4000;
- sx = (spriteram[offs + 1] & 0x01ff) - 16 - 7;
+ int flipx = sy & 0x4000;
+ int sx = (m_spriteram[offs + 1] & 0x01ff) - 16 - 7;
sy = (256 - 8 - height - sy) & 0xff;
- code = spriteram[offs + 2] >> codeshift;
- color = ((spriteram[offs + 1] & 0xf000) >> 12);
+ int code = m_spriteram[offs + 2] >> codeshift;
+ int color = ((m_spriteram[offs + 1] & 0xf000) >> 12);
m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
@@ -450,17 +444,17 @@ void playmark_state::draw_bitmap( screen_device &screen, bitmap_ind16 &bitmap, c
{
bitmap.pix((y + m_bgscrolly) & 0x1ff, (x + m_bgscrollx) & 0x1ff) = 0x100 + color;
- uint8_t *const pri = &screen.priority().pix((y + m_bgscrolly) & 0x1ff);
+ u8 *const pri = &screen.priority().pix((y + m_bgscrolly) & 0x1ff);
pri[(x + m_bgscrollx) & 0x1ff] |= 2;
}
else
{
- /* 50% size */
+ // 50% size
if(!(x % 2) && !(y % 2))
{
bitmap.pix((y / 2 + m_bgscrolly) & 0x1ff, (x / 2 + m_bgscrollx) & 0x1ff) = 0x100 + color;
- uint8_t *const pri = &screen.priority().pix((y / 2 + m_bgscrolly) & 0x1ff);
+ u8 *const pri = &screen.priority().pix((y / 2 + m_bgscrolly) & 0x1ff);
pri[(x / 2 + m_bgscrollx) & 0x1ff] |= 2;
}
}
@@ -471,7 +465,7 @@ void playmark_state::draw_bitmap( screen_device &screen, bitmap_ind16 &bitmap, c
}
}
-uint32_t playmark_state::screen_update_bigtwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+u32 playmark_state::screen_update_bigtwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
screen.priority().fill(0, cliprect);
@@ -484,7 +478,7 @@ uint32_t playmark_state::screen_update_bigtwin(screen_device &screen, bitmap_ind
}
-uint32_t playmark_state::screen_update_bigtwinb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+u32 playmark_state::screen_update_bigtwinb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
// video enabled
if (m_scroll[6] & 1)
@@ -499,7 +493,7 @@ uint32_t playmark_state::screen_update_bigtwinb(screen_device &screen, bitmap_in
return 0;
}
-uint32_t playmark_state::screen_update_excelsr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+u32 playmark_state::screen_update_excelsr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
screen.priority().fill(0, cliprect);
@@ -511,7 +505,7 @@ uint32_t playmark_state::screen_update_excelsr(screen_device &screen, bitmap_ind
return 0;
}
-uint32_t playmark_state::screen_update_wbeachvl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+u32 playmark_state::screen_update_wbeachvl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
if (m_fg_rowscroll_enable)
{
@@ -536,7 +530,7 @@ uint32_t playmark_state::screen_update_wbeachvl(screen_device &screen, bitmap_in
return 0;
}
-uint32_t playmark_state::screen_update_hrdtimes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+u32 playmark_state::screen_update_hrdtimes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
screen.priority().fill(0, cliprect);