summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2012-09-06 14:03:42 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2012-09-06 14:03:42 +0000
commit11b496cbc26d270dfbc7d0075b0bac11fcd1fc52 (patch)
tree9e0e770781df0926574bb8a4c1d36a87efd31444 /src/emu
parent564f1dc0d38dc17926acecb3d48fb32fa9576018 (diff)
tc009xlvc modernized tilemap (no whatsnew)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/machine/tc009xlvc.c39
-rw-r--r--src/emu/machine/tc009xlvc.h4
2 files changed, 22 insertions, 21 deletions
diff --git a/src/emu/machine/tc009xlvc.c b/src/emu/machine/tc009xlvc.c
index 76be7b7169c..7ae08240232 100644
--- a/src/emu/machine/tc009xlvc.c
+++ b/src/emu/machine/tc009xlvc.c
@@ -181,47 +181,44 @@ void tc0091lvc_device::device_validity_check(validity_checker &valid) const
{
}
-static TILE_GET_INFO_DEVICE( get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(tc0091lvc_device::get_bg0_tile_info)
{
- tc0091lvc_device *vdp = (tc0091lvc_device*)device;
- int attr = vdp->m_vram0[2 * tile_index + 1];
- int code = vdp->m_vram0[2 * tile_index]
+ int attr = m_vram0[2 * tile_index + 1];
+ int code = m_vram0[2 * tile_index]
| ((attr & 0x03) << 8)
- | ((vdp->m_vregs[(attr & 0xc) >> 2]) << 10);
+ | ((m_vregs[(attr & 0xc) >> 2]) << 10);
// | (state->m_horshoes_gfxbank << 12);
- SET_TILE_INFO_DEVICE(
+ SET_TILE_INFO_MEMBER(
0,
code,
(attr & 0xf0) >> 4,
0);
}
-static TILE_GET_INFO_DEVICE( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(tc0091lvc_device::get_bg1_tile_info)
{
- tc0091lvc_device *vdp = (tc0091lvc_device*)device;
- int attr = vdp->m_vram1[2 * tile_index + 1];
- int code = vdp->m_vram1[2 * tile_index]
+ int attr = m_vram1[2 * tile_index + 1];
+ int code = m_vram1[2 * tile_index]
| ((attr & 0x03) << 8)
- | ((vdp->m_vregs[(attr & 0xc) >> 2]) << 10);
+ | ((m_vregs[(attr & 0xc) >> 2]) << 10);
// | (state->m_horshoes_gfxbank << 12);
- SET_TILE_INFO_DEVICE(
+ SET_TILE_INFO_MEMBER(
0,
code,
(attr & 0xf0) >> 4,
0);
}
-static TILE_GET_INFO_DEVICE( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(tc0091lvc_device::get_tx_tile_info)
{
- tc0091lvc_device *vdp = (tc0091lvc_device*)device;
- int attr = vdp->m_tvram[2 * tile_index + 1];
- UINT16 code = vdp->m_tvram[2 * tile_index]
+ int attr = m_tvram[2 * tile_index + 1];
+ UINT16 code = m_tvram[2 * tile_index]
| ((attr & 0x07) << 8);
- SET_TILE_INFO_DEVICE(
- vdp->m_gfx_index,
+ SET_TILE_INFO_MEMBER(
+ m_gfx_index,
code,
(attr & 0xf0) >> 4,
0);
@@ -258,9 +255,9 @@ void tc0091lvc_device::device_start()
m_sprram = m_pcg_ram + 0xb000;
m_sprram_buffer = auto_alloc_array_clear(machine(), UINT8, 0x400);
- tx_tilemap = tilemap_create_device(this, get_tx_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
- bg0_tilemap = tilemap_create_device(this, get_bg0_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
- bg1_tilemap = tilemap_create_device(this, get_bg1_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tc0091lvc_device::get_tx_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tc0091lvc_device::get_bg0_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tc0091lvc_device::get_bg1_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
tx_tilemap->set_transparent_pen(0);
bg0_tilemap->set_transparent_pen(0);
diff --git a/src/emu/machine/tc009xlvc.h b/src/emu/machine/tc009xlvc.h
index b3ab6a45aa8..0fb81a562ba 100644
--- a/src/emu/machine/tc009xlvc.h
+++ b/src/emu/machine/tc009xlvc.h
@@ -40,6 +40,10 @@ public:
DECLARE_WRITE8_MEMBER( tc0091lvc_bg0_scroll_w );
DECLARE_WRITE8_MEMBER( tc0091lvc_bg1_scroll_w );
+ TILE_GET_INFO_MEMBER(get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+
UINT8 *m_palette_ram;
UINT8 *m_vregs;
UINT8 *m_bitmap_ram;