Example #1
0
void asic65_reset(running_machine *machine, int state)
{
	const address_space *space = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM);

	/* rom-based means reset and clear states */
	if (asic65.cpu != NULL)
		cpu_set_input_line(asic65.cpu, INPUT_LINE_RESET, state ? ASSERT_LINE : CLEAR_LINE);

	/* otherwise, do it manually */
	else
	{
		cputag_suspend(machine, "asic65", SUSPEND_REASON_DISABLE, 1);

		/* if reset is being signalled, clear everything */
		if (state && !asic65.reset_state)
			asic65.command = -1;

		/* if reset is going high, latch the command */
		else if (!state && asic65.reset_state)
		{
			if (asic65.command != -1)
				asic65_data_w(space, 1, asic65.command, 0xffff);
		}

		/* update the state */
		asic65.reset_state = state;
	}
}
Example #2
0
static READ32_HANDLER(FlipCount_r)
{
#ifdef IDLE_LOOP_SPEEDUP
	UINT32 IntPend = memory_read_dword(space, 0x01800c0c);
	FlipCntRead++;
	if(FlipCntRead >= 16 && !IntPend && FlipCount != 0)
		cputag_suspend(space->machine, "maincpu", SUSPEND_REASON_SPIN, 1);
#endif
	return ((UINT32) FlipCount)<<16;
}
Example #3
0
static READ16_HANDLER(tomcat_320bio_r)
{
	dsp_BIO = 1;
	cputag_suspend(space->machine, "maincpu", SUSPEND_REASON_SPIN, 1);
	return 0;
}
Example #4
0
void jaguar_dsp_suspend(running_machine *machine)
{
	cputag_suspend(machine, "audiocpu", SUSPEND_REASON_SPIN, 1);
}