summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/kinst.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/kinst.c
parent03c583747e9e7475522d1a2ceb5a454a1bc4a5e4 (diff)
MAME going modern part 3 (no whatsnew)
Diffstat (limited to 'src/mame/drivers/kinst.c')
-rw-r--r--src/mame/drivers/kinst.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/mame/drivers/kinst.c b/src/mame/drivers/kinst.c
index 8757126d47e..99fb470bbfe 100644
--- a/src/mame/drivers/kinst.c
+++ b/src/mame/drivers/kinst.c
@@ -148,6 +148,8 @@ public:
UINT32 *m_video_base;
UINT32 *m_control;
const UINT8 *m_control_map;
+ DECLARE_READ32_MEMBER(kinst_control_r);
+ DECLARE_WRITE32_MEMBER(kinst_control_w);
};
@@ -320,35 +322,34 @@ static WRITE32_DEVICE_HANDLER( kinst_ide_extra_w )
*
*************************************/
-static READ32_HANDLER( kinst_control_r )
+READ32_MEMBER(kinst_state::kinst_control_r)
{
- kinst_state *state = space->machine().driver_data<kinst_state>();
UINT32 result;
static const char *const portnames[] = { "P1", "P2", "VOLUME", "UNUSED", "DSW" };
/* apply shuffling */
- offset = state->m_control_map[offset / 2];
- result = state->m_control[offset];
+ offset = m_control_map[offset / 2];
+ result = m_control[offset];
switch (offset)
{
case 2: /* $90 -- sound return */
- result = input_port_read(space->machine(), portnames[offset]);
+ result = input_port_read(machine(), portnames[offset]);
result &= ~0x0002;
- if (dcs_control_r(space->machine()) & 0x800)
+ if (dcs_control_r(machine()) & 0x800)
result |= 0x0002;
break;
case 0: /* $80 */
case 1: /* $88 */
case 3: /* $98 */
- result = input_port_read(space->machine(), portnames[offset]);
+ result = input_port_read(machine(), portnames[offset]);
break;
case 4: /* $a0 */
- result = input_port_read(space->machine(), portnames[offset]);
- if (cpu_get_pc(&space->device()) == 0x802d428)
- device_spin_until_interrupt(&space->device());
+ result = input_port_read(machine(), portnames[offset]);
+ if (cpu_get_pc(&space.device()) == 0x802d428)
+ device_spin_until_interrupt(&space.device());
break;
}
@@ -356,32 +357,31 @@ static READ32_HANDLER( kinst_control_r )
}
-static WRITE32_HANDLER( kinst_control_w )
+WRITE32_MEMBER(kinst_state::kinst_control_w)
{
- kinst_state *state = space->machine().driver_data<kinst_state>();
UINT32 olddata;
/* apply shuffling */
- offset = state->m_control_map[offset / 2];
- olddata = state->m_control[offset];
- COMBINE_DATA(&state->m_control[offset]);
+ offset = m_control_map[offset / 2];
+ olddata = m_control[offset];
+ COMBINE_DATA(&m_control[offset]);
switch (offset)
{
case 0: /* $80 - VRAM buffer control */
if (data & 4)
- state->m_video_base = &state->m_rambase[0x58000/4];
+ m_video_base = &m_rambase[0x58000/4];
else
- state->m_video_base = &state->m_rambase[0x30000/4];
+ m_video_base = &m_rambase[0x30000/4];
break;
case 1: /* $88 - sound reset */
- dcs_reset_w(space->machine(), ~data & 0x01);
+ dcs_reset_w(machine(), ~data & 0x01);
break;
case 2: /* $90 - sound control */
- if (!(olddata & 0x02) && (state->m_control[offset] & 0x02))
- dcs_data_w(space->machine(), state->m_control[3]);
+ if (!(olddata & 0x02) && (m_control[offset] & 0x02))
+ dcs_data_w(machine(), m_control[3]);
break;
case 3: /* $98 - sound data */
@@ -401,7 +401,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, kinst_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00000000, 0x0007ffff) AM_RAM AM_BASE(m_rambase)
AM_RANGE(0x08000000, 0x087fffff) AM_RAM AM_BASE(m_rambase2)
- AM_RANGE(0x10000080, 0x100000ff) AM_READWRITE_LEGACY(kinst_control_r, kinst_control_w) AM_BASE(m_control)
+ AM_RANGE(0x10000080, 0x100000ff) AM_READWRITE(kinst_control_r, kinst_control_w) AM_BASE(m_control)
AM_RANGE(0x10000100, 0x1000013f) AM_DEVREADWRITE_LEGACY("ide", kinst_ide_r, kinst_ide_w)
AM_RANGE(0x10000170, 0x10000173) AM_DEVREADWRITE_LEGACY("ide", kinst_ide_extra_r, kinst_ide_extra_w)
AM_RANGE(0x1fc00000, 0x1fc7ffff) AM_ROM AM_REGION("user1", 0) AM_BASE(m_rombase)