Example #1
0
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);
}
Example #2
0
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;
	}
}
Example #3
0
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;
		}
	}
}
Example #4
0
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;
    }
}
Example #5
0
File: oric.c Project: cdenix/psmame
/* 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;
	}
}
Example #6
0
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);
}
Example #7
0
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);
}