Exemple #1
0
static WRITE8_DEVICE_HANDLER( bagman_ls259_w )
{
	bagman_state *state = device->machine().driver_data<bagman_state>();
	address_space *space = device->machine().device("maincpu")->memory().space(AS_PROGRAM);
	bagman_pal16r6_w(space, offset,data); /*this is just a simulation*/

	if (state->m_ls259_buf[offset] != (data&1) )
	{
		state->m_ls259_buf[offset] = data&1;

		switch (offset)
		{
		case 0:
		case 1:
		case 2:
			tmsprom_bit_w(device, 0, 7 - ((state->m_ls259_buf[0]<<2) | (state->m_ls259_buf[1]<<1) | (state->m_ls259_buf[2]<<0)));
			break;
		case 3:
			tmsprom_enable_w(device, state->m_ls259_buf[offset]);
			break;
		case 4:
			tmsprom_rom_csq_w(device, 0, state->m_ls259_buf[offset]);
			break;
		case 5:
			tmsprom_rom_csq_w(device, 1, state->m_ls259_buf[offset]);
			break;
		}
	}
}
Exemple #2
0
void bagman_machine_init(void)
{
	bagman_pal16r6_w(0,1);
	bagman_pal16r6_w(1,1);
	bagman_pal16r6_w(2,1);
	bagman_pal16r6_w(3,1);
	bagman_pal16r6_w(4,1);
	bagman_pal16r6_w(5,1);
	bagman_pal16r6_w(6,1);
	bagman_pal16r6_w(7,1);
	update_pal();
}
Exemple #3
0
static WRITE8_HANDLER( bagman_ls259_w )
{
	bagman_pal16r6_w(offset,data); /*this is just a simulation*/

	if (ls259_buf[offset] != (data&1) )
	{
		ls259_buf[offset] = data&1;

		if (offset==3)
		{
			if (ls259_buf[3] == 0)	/* 1->0 transition */
			{
				reset_talking();
			}
			else
			{
				start_talking();	/* 0->1 transition */
			}
		}
	}
}