summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/koftball.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2012-04-03 07:01:48 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2012-04-03 07:01:48 +0000
commit3783cf95515491d961776534fb5937b76accd464 (patch)
treedc81476844b0b7308d5ecac1debbe6f1cc8c7443 /src/mame/drivers/koftball.c
parent03c583747e9e7475522d1a2ceb5a454a1bc4a5e4 (diff)
MAME going modern part 3 (no whatsnew)
Diffstat (limited to 'src/mame/drivers/koftball.c')
-rw-r--r--src/mame/drivers/koftball.c77
1 files changed, 39 insertions, 38 deletions
diff --git a/src/mame/drivers/koftball.c b/src/mame/drivers/koftball.c
index 5c624556306..2256a449be8 100644
--- a/src/mame/drivers/koftball.c
+++ b/src/mame/drivers/koftball.c
@@ -51,6 +51,14 @@ public:
UINT16 m_prot_data;
required_device<cpu_device> m_maincpu;
+ DECLARE_WRITE16_MEMBER(bmc_RAMDAC_offset_w);
+ DECLARE_WRITE16_MEMBER(bmc_RAMDAC_color_w);
+ DECLARE_READ16_MEMBER(bmc_RAMDAC_color_r);
+ DECLARE_READ16_MEMBER(random_number_r);
+ DECLARE_READ16_MEMBER(prot_r);
+ DECLARE_WRITE16_MEMBER(prot_w);
+ DECLARE_WRITE16_MEMBER(bmc_1_videoram_w);
+ DECLARE_WRITE16_MEMBER(bmc_2_videoram_w);
};
@@ -93,36 +101,32 @@ static SCREEN_UPDATE_IND16( koftball )
return 0;
}
-static WRITE16_HANDLER( bmc_RAMDAC_offset_w )
+WRITE16_MEMBER(koftball_state::bmc_RAMDAC_offset_w)
{
- koftball_state *state = space->machine().driver_data<koftball_state>();
- state->m_clr_offset=data*3;
+ m_clr_offset=data*3;
}
-static WRITE16_HANDLER( bmc_RAMDAC_color_w )
+WRITE16_MEMBER(koftball_state::bmc_RAMDAC_color_w)
{
- koftball_state *state = space->machine().driver_data<koftball_state>();
- state->m_bmc_colorram[state->m_clr_offset]=data;
- palette_set_color_rgb(space->machine(),state->m_clr_offset/3,pal6bit(state->m_bmc_colorram[(state->m_clr_offset/3)*3]),pal6bit(state->m_bmc_colorram[(state->m_clr_offset/3)*3+1]),pal6bit(state->m_bmc_colorram[(state->m_clr_offset/3)*3+2]));
- state->m_clr_offset=(state->m_clr_offset+1)%768;
+ m_bmc_colorram[m_clr_offset]=data;
+ palette_set_color_rgb(machine(),m_clr_offset/3,pal6bit(m_bmc_colorram[(m_clr_offset/3)*3]),pal6bit(m_bmc_colorram[(m_clr_offset/3)*3+1]),pal6bit(m_bmc_colorram[(m_clr_offset/3)*3+2]));
+ m_clr_offset=(m_clr_offset+1)%768;
}
-static READ16_HANDLER( bmc_RAMDAC_color_r )
+READ16_MEMBER(koftball_state::bmc_RAMDAC_color_r)
{
- koftball_state *state = space->machine().driver_data<koftball_state>();
- return state->m_bmc_colorram[state->m_clr_offset];
+ return m_bmc_colorram[m_clr_offset];
}
-static READ16_HANDLER(random_number_r)
+READ16_MEMBER(koftball_state::random_number_r)
{
- return space->machine().rand();
+ return machine().rand();
}
-static READ16_HANDLER(prot_r)
+READ16_MEMBER(koftball_state::prot_r)
{
- koftball_state *state = space->machine().driver_data<koftball_state>();
- switch(state->m_prot_data)
+ switch(m_prot_data)
{
case 0x0000: return 0x0d00;
case 0xff00: return 0x8d00;
@@ -130,56 +134,53 @@ static READ16_HANDLER(prot_r)
case 0x8000: return 0x0f0f;
}
- logerror("unk prot r %x %x\n",state->m_prot_data, cpu_get_previouspc(&space->device()));
- return space->machine().rand();
+ logerror("unk prot r %x %x\n",m_prot_data, cpu_get_previouspc(&space.device()));
+ return machine().rand();
}
-static WRITE16_HANDLER(prot_w)
+WRITE16_MEMBER(koftball_state::prot_w)
{
- koftball_state *state = space->machine().driver_data<koftball_state>();
- COMBINE_DATA(&state->m_prot_data);
+ COMBINE_DATA(&m_prot_data);
}
-static WRITE16_HANDLER(bmc_1_videoram_w)
+WRITE16_MEMBER(koftball_state::bmc_1_videoram_w)
{
- koftball_state *state = space->machine().driver_data<koftball_state>();
- COMBINE_DATA(&state->m_bmc_1_videoram[offset]);
- state->m_tilemap_1->mark_tile_dirty(offset);
+ COMBINE_DATA(&m_bmc_1_videoram[offset]);
+ m_tilemap_1->mark_tile_dirty(offset);
}
-static WRITE16_HANDLER(bmc_2_videoram_w)
+WRITE16_MEMBER(koftball_state::bmc_2_videoram_w)
{
- koftball_state *state = space->machine().driver_data<koftball_state>();
- COMBINE_DATA(&state->m_bmc_2_videoram[offset]);
- state->m_tilemap_2->mark_tile_dirty(offset);
+ COMBINE_DATA(&m_bmc_2_videoram[offset]);
+ m_tilemap_2->mark_tile_dirty(offset);
}
static ADDRESS_MAP_START( koftball_mem, AS_PROGRAM, 16, koftball_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x220000, 0x22ffff) AM_RAM AM_BASE(m_main_ram)
- AM_RANGE(0x260000, 0x260fff) AM_WRITE_LEGACY(bmc_1_videoram_w) AM_BASE(m_bmc_1_videoram)
- AM_RANGE(0x261000, 0x261fff) AM_WRITE_LEGACY(bmc_2_videoram_w) AM_BASE(m_bmc_2_videoram)
+ AM_RANGE(0x260000, 0x260fff) AM_WRITE(bmc_1_videoram_w) AM_BASE(m_bmc_1_videoram)
+ AM_RANGE(0x261000, 0x261fff) AM_WRITE(bmc_2_videoram_w) AM_BASE(m_bmc_2_videoram)
AM_RANGE(0x262000, 0x26ffff) AM_RAM
AM_RANGE(0x280000, 0x28ffff) AM_RAM /* unused ? */
AM_RANGE(0x2a0000, 0x2a001f) AM_WRITENOP
- AM_RANGE(0x2a0000, 0x2a001f) AM_READ_LEGACY(random_number_r)
- AM_RANGE(0x2b0000, 0x2b0003) AM_READ_LEGACY(random_number_r)
- AM_RANGE(0x2d8000, 0x2d8001) AM_READ_LEGACY(random_number_r)
+ AM_RANGE(0x2a0000, 0x2a001f) AM_READ(random_number_r)
+ AM_RANGE(0x2b0000, 0x2b0003) AM_READ(random_number_r)
+ AM_RANGE(0x2d8000, 0x2d8001) AM_READ(random_number_r)
/*sound chip or mcu comm ? maybe just i/o (offset 0xe=lamps?)*/
AM_RANGE(0x2da000, 0x2da001) AM_WRITENOP /* offset ? */
AM_RANGE(0x2da002, 0x2da003) AM_WRITENOP /* data ? */
- AM_RANGE(0x2db000, 0x2db001) AM_WRITE_LEGACY(bmc_RAMDAC_offset_w)
- AM_RANGE(0x2db002, 0x2db003) AM_READWRITE_LEGACY(bmc_RAMDAC_color_r, bmc_RAMDAC_color_w)
+ AM_RANGE(0x2db000, 0x2db001) AM_WRITE(bmc_RAMDAC_offset_w)
+ AM_RANGE(0x2db002, 0x2db003) AM_READWRITE(bmc_RAMDAC_color_r, bmc_RAMDAC_color_w)
AM_RANGE(0x2db004, 0x2db005) AM_WRITENOP
AM_RANGE(0x2dc000, 0x2dc001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
AM_RANGE(0x2f0000, 0x2f0003) AM_READ_PORT("INPUTS")
AM_RANGE(0x300000, 0x300001) AM_WRITENOP
AM_RANGE(0x320000, 0x320001) AM_WRITENOP
- AM_RANGE(0x340000, 0x340001) AM_READ_LEGACY(prot_r)
- AM_RANGE(0x360000, 0x360001) AM_WRITE_LEGACY(prot_w)
+ AM_RANGE(0x340000, 0x340001) AM_READ(prot_r)
+ AM_RANGE(0x360000, 0x360001) AM_WRITE(prot_w)
ADDRESS_MAP_END