Esempio n. 1
0
static INTERRUPT_GEN( rotaryf_interrupt )
{
	if (video_screen_get_vblank(device->machine->primary_screen))
		cpu_set_input_line(device, I8085_RST55_LINE, HOLD_LINE);
	else
	{
		cpu_set_input_line(device, I8085_RST75_LINE, ASSERT_LINE);
		cpu_set_input_line(device, I8085_RST75_LINE, CLEAR_LINE);
	}
}
Esempio n. 2
0
static INTERRUPT_GEN( chl_interrupt )
{
	int vector = video_screen_get_vblank(device->machine->primary_screen) ? 0xdf : 0xcf; /* 4 irqs per frame: 3 times 0xcf, 1 time 0xdf */

//    video_screen_update_partial(device->machine->primary_screen, video_screen_get_vpos(device->machine->primary_screen));

	cpu_set_input_line_and_vector(device, 0, HOLD_LINE, vector);

	/* it seems the V8 == Vblank and it is connected to the INT on the 68705 */
	//so we should cause an INT on the MCU cpu here, as well.
	//but only once per frame !
	if (vector == 0xdf) /* only on vblank */
		generic_pulse_irq_line(cputag_get_cpu(device->machine, "mcu"), 0);

}
Esempio n. 3
0
static INTERRUPT_GEN( chl_interrupt )
{
	int vector = video_screen_get_vblank(0) ? 0xdf : 0xcf; /* 4 irqs per frame: 3 times 0xcf, 1 time 0xdf */

//    video_screen_update_partial(0, video_screen_get_vpos(0));

	cpunum_set_input_line_and_vector(0, 0, HOLD_LINE, vector);

	/* it seems the V8 == Vblank and it is connected to the INT on the 68705 */
	//so we should cause an INT on the cpu 1 here, as well.
	//but only once per frame !
	if (vector == 0xdf) /* only on vblank */
		cpunum_set_input_line(1, 0, PULSE_LINE );

}
Esempio n. 4
0
static READ8_HANDLER( fake_VRLE_r )
{
	return (malzak_s2636_0_ram[0xcb] & 0x3f) + (video_screen_get_vblank(space->machine->primary_screen)*0x40);
}