diff options
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 |
commit | 3783cf95515491d961776534fb5937b76accd464 (patch) | |
tree | dc81476844b0b7308d5ecac1debbe6f1cc8c7443 /src/mame/drivers/kinst.c | |
parent | 03c583747e9e7475522d1a2ceb5a454a1bc4a5e4 (diff) |
MAME going modern part 3 (no whatsnew)
Diffstat (limited to 'src/mame/drivers/kinst.c')
-rw-r--r-- | src/mame/drivers/kinst.c | 42 |
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) |