static WRITE32_HANDLER( kinst_control_w ) { UINT32 olddata; /* apply shuffling */ offset = control_map[offset / 2]; olddata = kinst_control[offset]; COMBINE_DATA(&kinst_control[offset]); switch (offset) { case 0: /* $80 - VRAM buffer control */ if (data & 4) video_base = &rambase[0x58000/4]; else video_base = &rambase[0x30000/4]; break; case 1: /* $88 - sound reset */ dcs_reset_w(~data & 0x01); break; case 2: /* $90 - sound control */ if (!(olddata & 0x02) && (kinst_control[offset] & 0x02)) dcs_data_w(kinst_control[3]); break; case 3: /* $98 - sound data */ break; } }
static WRITE32_HANDLER( 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]); switch (offset) { case 0: /* $80 - VRAM buffer control */ if (data & 4) state->m_video_base = &state->m_rambase[0x58000/4]; else state->m_video_base = &state->m_rambase[0x30000/4]; break; case 1: /* $88 - sound reset */ dcs_reset_w(space->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]); break; case 3: /* $98 - sound data */ break; } }