static WRITE8_HANDLER( ay_address_w ) { othello_state *state = space->machine().driver_data<othello_state>(); if (state->m_ay_select & 1) ay8910_address_w(state->m_ay1, 0, data); if (state->m_ay_select & 2) ay8910_address_w(state->m_ay2, 0, data); }
static WRITE8_DEVICE_HANDLER( draco_sound_g_w ) { cidelsa_state *state = (cidelsa_state *)device->machine->driver_data; /* G1 G0 description 0 0 IAB inactive 0 1 DWS write to PSG 1 0 DTB read from PSG 1 1 INTAK latch address */ switch (data) { case 0x01: ay8910_data_w(device, 0, state->draco_ay_latch); break; case 0x02: state->draco_ay_latch = ay8910_r(device, 0); break; case 0x03: ay8910_address_w(device, 0, state->draco_ay_latch); break; } }
static WRITE8_DEVICE_HANDLER( carnival_music_port_2_w ) { static int psgSelect = 0; int newSelect; newSelect = data & ( MUSIC_PORT2_PSG_BDIR | MUSIC_PORT2_PSG_BC1 ); if ( psgSelect != newSelect ) { psgSelect = newSelect; switch ( psgSelect ) { case PSG_BC_INACTIVE: /* do nowt */ break; case PSG_BC_READ: /* not very sensible for a write */ break; case PSG_BC_WRITE: ay8910_data_w( device, 0, psgData ); break; case PSG_BC_LATCH_ADDRESS: ay8910_address_w( device, 0, psgData ); break; } } }
void a2bus_arcboard_device::write_c0nx(address_space &space, UINT8 offset, UINT8 data) { switch (offset) { case 2: m_tms->vram_write(space, 0, data); break; case 3: m_tms->register_write(space, 0, data); break; case 5: ay8910_address_w(m_ay, space, 0, data); break; case 6: ay8910_data_w(m_ay, space, 0, data); break; } }
/* read/write data depending on state of bdir, bc1 pins and data output to psg */ static void oric_psg_connection_refresh(running_machine &machine) { oric_state *state = machine.driver_data<oric_state>(); if (state->m_psg_control!=0) { switch (state->m_psg_control) { /* PSG inactive */ case 0: break; /* read register data */ case 1: { //state->m_via_port_a_data = ay8910_read_port_0_r(space, 0); } break; /* write register data */ case 2: { device_t *ay8912 = machine.device("ay8912"); ay8910_data_w(ay8912, 0, state->m_via_port_a_data); } break; /* write register index */ case 3: { device_t *ay8912 = machine.device("ay8912"); ay8910_address_w(ay8912, 0, state->m_via_port_a_data); } break; default: break; } return; } }
static WRITE8_HANDLER( mermaid_ay8910_control_port_w ) { mermaid_state *state = space->machine->driver_data<mermaid_state>(); if (state->ay8910_enable[0]) ay8910_address_w(state->ay1, offset, data); if (state->ay8910_enable[1]) ay8910_address_w(state->ay2, offset, data); }
static WRITE8_HANDLER(ay_address_w) { if(ay_select&1) ay8910_address_w(devtag_get_device(space->machine, "ay1"),0,data); if(ay_select&2) ay8910_address_w(devtag_get_device(space->machine, "ay2"),0,data); }