Beispiel #1
0
static WRITE16_HANDLER( cabal_sound_irq_trigger_word_w )
{
	seibu_main_word_w(space,4,data,mem_mask);

	/* spin for a while to let the Z80 read the command, otherwise coins "stick" */
	device_spin_until_time(&space->device(), attotime::from_usec(50));
}
Beispiel #2
0
static READ32_HANDLER( osman_speedup_r )
{
	simpl156_state *state = space->machine().driver_data<simpl156_state>();
	if (cpu_get_pc(&space->device()) == 0x5974)
		device_spin_until_time(&space->device(), attotime::from_usec(400));
	return state->m_systemram[0x10/4];
}
Beispiel #3
0
/* at least speeds up the annoying copyright screens ;-) */
static READ64_HANDLER( naomigd_sfz3ugd_idle_skip_r )
{
	if (cpu_get_pc(&space->device())==0xc36a2dc)
		device_spin_until_time(&space->device(), attotime::from_usec(500));

	return naomi_ram64[0x5dc900/8];
}
Beispiel #4
0
static READ64_HANDLER( naomigd_ggxx_idle_skip_r )
{
	if (cpu_get_pc(&space->device())==0xc0b5c3c) // or 0xc0bab0c
		device_spin_until_time(&space->device(), attotime::from_usec(500));

	return naomi_ram64[0x1837b8/8];
}
Beispiel #5
0
static READ64_HANDLER( naomigd_ggxxsla_idle_skip_r )
{
	if (cpu_get_pc(&space->device())==0x0c0c9adc)
		device_spin_until_time(&space->device(), attotime::from_usec(500));

	return naomi_ram64[0x1aae18/8];
}
Beispiel #6
0
static READ64_HANDLER( dcjp_idle_skip_r )
{
	if (cpu_get_pc(&space->device())==0xc0bac62)
		device_spin_until_time(&space->device(), attotime::from_usec(2500));
	//  device_spinuntil_int(&space->device());

	return dc_ram[0x2302f8/8];
}
Beispiel #7
0
static READ64_HANDLER( naomi_biosh_idle_skip_r )
{
	if (cpu_get_pc(&space->device())==0xc045ffc)
		device_spin_until_time(&space->device(), attotime::from_usec(500));

//   printf("%08x\n", cpu_get_pc(&space->device()));

	return naomi_ram64[0x2b0600/8];
}
Beispiel #8
0
static READ64_HANDLER( naomigd_ggxxrl_idle_skip_r )
{
	if (cpu_get_pc(&space->device())==0xc0b84bc) // or 0xc0bab0c
		device_spin_until_time(&space->device(), attotime::from_usec(500));

	//printf("%08x\n", cpu_get_pc(&space->device()));

	return naomi_ram64[0x18d6c8/8];
}
Beispiel #9
0
static READ64_HANDLER( hotd2_idle_skip_r )
{
	if (cpu_get_pc(&space->device())==0xc0cfcbc)
		device_spin_until_time(&space->device(), attotime::from_usec(500));
		//device_spin_until_interrupt(&space->device());
//  else
//  printf("%08x\n", cpu_get_pc(&space->device()));

	return naomi_ram64[0xa25fb8/8];
}
Beispiel #10
0
static WRITE16_HANDLER( sandscrp_soundlatch_word_w )
{
	sandscrp_state *state = space->machine().driver_data<sandscrp_state>();
	if (ACCESSING_BITS_0_7)
	{
		state->m_latch1_full = 1;
		soundlatch_w(space, 0, data & 0xff);
		cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
		device_spin_until_time(&space->device(), attotime::from_usec(100));	// Allow the other cpu to reply
	}
}
Beispiel #11
0
static READ32_HANDLER( bballoon_speedup_r )
{
	UINT32 ret = s3c2410_lcd_r(s3c2410, offset+0x10/4, mem_mask);


	int pc = cpu_get_pc(&space->device());

	// these are vblank waits
	if (pc == 0x3001c0e4 || pc == 0x3001c0d8)
	{
		// BnB Arcade
		device_spin_until_time(&space->device(), attotime::from_usec(20));
	}
	else if (pc == 0x3002b580 || pc == 0x3002b550)
	{
		// Happy Tour
		device_spin_until_time(&space->device(), attotime::from_usec(20));
	}
	//else
	//  printf("speedup %08x %08x\n", pc, ret);

	return ret;
}