当前位置: 首页>>代码示例>>C++>>正文


C++ cpu_set_input_line函数代码示例

本文整理汇总了C++中cpu_set_input_line函数的典型用法代码示例。如果您正苦于以下问题:C++ cpu_set_input_line函数的具体用法?C++ cpu_set_input_line怎么用?C++ cpu_set_input_line使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了cpu_set_input_line函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: RGN_FRAC

/******************************************************************************/

static const gfx_layout tile_8x8_layout =
{
	8,8,
	RGN_FRAC(1,2),
	4,
	{ RGN_FRAC(1,2)+8,RGN_FRAC(1,2)+0,RGN_FRAC(0,2)+8,RGN_FRAC(0,2)+0 },
	{ 0, 1, 2, 3, 4, 5, 6, 7 },
	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
	8*16
};

static const gfx_layout tile_16x16_layout =
{
	16,16,
	RGN_FRAC(1,2),
	4,
	{ RGN_FRAC(1,2)+8,RGN_FRAC(1,2)+0,RGN_FRAC(0,2)+8,RGN_FRAC(0,2)+0 },
	{ 256,257,258,259,260,261,262,263,0, 1, 2, 3, 4, 5, 6, 7 },
	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,8*16,9*16,10*16,11*16,12*16,13*16,14*16,15*16 },
	32*16
};

static const gfx_layout spritelayout =
{
	16,16,
	RGN_FRAC(1,1),
	4,
	{ 24,8,16,0 },
	{ 512,513,514,515,516,517,518,519, 0, 1, 2, 3, 4, 5, 6, 7 },
	{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
	  8*32, 9*32,10*32,11*32,12*32,13*32,14*32,15*32},
	32*32
};

static GFXDECODE_START( tumblep )
	GFXDECODE_ENTRY( "gfx1", 0, tile_8x8_layout,     0x100, 32 )	/* Tiles (8x8) */
	GFXDECODE_ENTRY( "gfx1", 0, tile_16x16_layout,   0x100, 32 )	/* Tiles (16x16) */
	GFXDECODE_ENTRY( "gfx2", 0, spritelayout,        0, 16 )	/* Sprites (16x16) */
GFXDECODE_END

/***************************************************************************/

static void sound_irq(running_device *device, int state)
{
	tumblep_state *driver_state = (tumblep_state *)device->machine->driver_data;
	cpu_set_input_line(driver_state->audiocpu, 1, state); /* IRQ 2 */
}
开发者ID:AltimorTASDK,项目名称:shmupmametgm,代码行数:49,代码来源:tumblep.c

示例2: sound_irq

GFXDECODE_END


/* Stolen from Psikyo.c */
static void sound_irq( running_device *device, int irq )
{
	mcatadv_state *state = device->machine->driver_data<mcatadv_state>();
	cpu_set_input_line(state->soundcpu, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
开发者ID:DarrenBranford,项目名称:MAME4iOS,代码行数:9,代码来源:mcatadv.c

示例3: INTERRUPT_GEN

GFXDECODE_END

/*************************************
 *
 *  Interrupt generator
 *
 *************************************/

static INTERRUPT_GEN( jackal_interrupt )
{
	jackal_state *state = device->machine->driver_data<jackal_state>();

	if (state->irq_enable)
	{
		cpu_set_input_line(device, 0, HOLD_LINE);
		cpu_set_input_line(state->slavecpu, INPUT_LINE_NMI, PULSE_LINE);
	}
}
开发者ID:DarrenBranford,项目名称:MAME4iOS,代码行数:18,代码来源:jackal.c

示例4: irqhandler

GFXDECODE_END



static void irqhandler( running_device *device, int irq )
{
	f1gp_state *state = (f1gp_state *)device->machine->driver_data;
	cpu_set_input_line(state->audiocpu, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
开发者ID:AltimorTASDK,项目名称:shmupmametgm,代码行数:9,代码来源:f1gp.c

示例5: INTERRUPT_GEN

static INTERRUPT_GEN( vblank_callback_lgp )
{
	// NMI
	//cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);

	// IRQ
	cpu_set_input_line(device, 0, ASSERT_LINE);
	timer_set(device->machine, ATTOTIME_IN_USEC(50), NULL, 0, irq_stop);
}
开发者ID:AltimorTASDK,项目名称:shmupmametgm,代码行数:9,代码来源:lgp.c

示例6: irqhandler

GFXDECODE_END



static void irqhandler( running_device *device, int linestate )
{
	gotcha_state *state = (gotcha_state *)device->machine->driver_data;
	cpu_set_input_line(state->audiocpu, 0, linestate);
}
开发者ID:AltimorTASDK,项目名称:shmupmametgm,代码行数:9,代码来源:gotcha.c

示例7: sound_irq

GFXDECODE_END

/******************************************************************************/

static void sound_irq(running_device *device, int linestate)
{
	actfancr_state *state = (actfancr_state *)device->machine->driver_data;
	cpu_set_input_line(state->audiocpu, 0, linestate); /* IRQ */
}
开发者ID:AltimorTASDK,项目名称:shmupmametgm,代码行数:9,代码来源:actfancr.c

示例8: WRITE16_HANDLER

static WRITE16_HANDLER( goal92_sound_command_w )
{
	goal92_state *state = (goal92_state *)space->machine->driver_data;
	if (ACCESSING_BITS_8_15)
	{
		soundlatch_w(space, 0, (data >> 8) & 0xff);
		cpu_set_input_line(state->audiocpu, 0, HOLD_LINE);
	}
}
开发者ID:hstampfl,项目名称:mame2010-libretro,代码行数:9,代码来源:goal92.c

示例9: parse_control

static void parse_control( running_machine *machine )	/* assumes Z80 sandwiched between 68Ks */
{
	/* bit 0 enables cpu B */
	/* however this fails when recovering from a save state
       if cpu B is disabled !! */
	ninjaw_state *state = (ninjaw_state *)machine->driver_data;
	cpu_set_input_line(state->subcpu, INPUT_LINE_RESET, (state->cpua_ctrl & 0x1) ? CLEAR_LINE : ASSERT_LINE);

}
开发者ID:hstampfl,项目名称:mame2010-libretro,代码行数:9,代码来源:ninjaw.c

示例10: READ8_HANDLER

/**************************************************

Protection comms between main cpu and i8751

**************************************************/

static READ8_HANDLER( blktiger_from_mcu_r )
{
	blktiger_state *state = (blktiger_state *)space->machine->driver_data;
	return state->i8751_latch;
}

static WRITE8_HANDLER( blktiger_to_mcu_w )
{
	blktiger_state *state = (blktiger_state *)space->machine->driver_data;
	cpu_set_input_line(state->mcu, MCS51_INT1_LINE, ASSERT_LINE);
	state->z80_latch = data;
}

static READ8_HANDLER( blktiger_from_main_r )
{
	blktiger_state *state = (blktiger_state *)space->machine->driver_data;
	cpu_set_input_line(state->mcu, MCS51_INT1_LINE, CLEAR_LINE);
	//printf("%02x read\n",latch);
	return state->z80_latch;
}

static WRITE8_HANDLER( blktiger_to_main_w )
{
	blktiger_state *state = (blktiger_state *)space->machine->driver_data;
	//printf("%02x write\n",data);
	state->i8751_latch = data;
}



static WRITE8_HANDLER( blktiger_bankswitch_w )
{
	memory_set_bank(space->machine, "bank1", data & 0x0f);
}

static WRITE8_HANDLER( blktiger_coinlockout_w )
{
	if (input_port_read(space->machine, "COIN_LOCKOUT") & 0x01)
	{
		coin_lockout_w(space->machine, 0,~data & 0x01);
		coin_lockout_w(space->machine, 1,~data & 0x02);
	}
}


static ADDRESS_MAP_START( blktiger_map, ADDRESS_SPACE_PROGRAM, 8 )
	AM_RANGE(0x0000, 0x7fff) AM_ROM
	AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
	AM_RANGE(0xc000, 0xcfff) AM_READWRITE(blktiger_bgvideoram_r, blktiger_bgvideoram_w)
	AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(blktiger_txvideoram_w) AM_BASE_MEMBER(blktiger_state, txvideoram)
	AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_BASE_GENERIC(paletteram)
	AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
	AM_RANGE(0xe000, 0xfdff) AM_RAM
	AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END

static ADDRESS_MAP_START( blktiger_io_map, ADDRESS_SPACE_IO, 8 )
	ADDRESS_MAP_GLOBAL_MASK(0xff)
	AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")	AM_WRITE(soundlatch_w)
	AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")	AM_WRITE(blktiger_bankswitch_w)
	AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
	AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0")	AM_WRITE(blktiger_coinlockout_w)
	AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1")	AM_WRITE(blktiger_video_control_w)
	AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE")
	AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
	AM_RANGE(0x07, 0x07) AM_READWRITE(blktiger_from_mcu_r,blktiger_to_mcu_w)	 /* Software protection (7) */
	AM_RANGE(0x08, 0x09) AM_WRITE(blktiger_scrollx_w)
	AM_RANGE(0x0a, 0x0b) AM_WRITE(blktiger_scrolly_w)
	AM_RANGE(0x0c, 0x0c) AM_WRITE(blktiger_video_enable_w)
	AM_RANGE(0x0d, 0x0d) AM_WRITE(blktiger_bgvideoram_bank_w)
	AM_RANGE(0x0e, 0x0e) AM_WRITE(blktiger_screen_layout_w)
ADDRESS_MAP_END

static ADDRESS_MAP_START( blktigerbl_io_map, ADDRESS_SPACE_IO, 8 )
	ADDRESS_MAP_GLOBAL_MASK(0xff)
	AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")	AM_WRITE(soundlatch_w)
	AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")	AM_WRITE(blktiger_bankswitch_w)
	AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
	AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0")	AM_WRITE(blktiger_coinlockout_w)
	AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1")	AM_WRITE(blktiger_video_control_w)
	AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE")
	AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
	AM_RANGE(0x07, 0x07) AM_NOP	 /* Software protection (7) */
	AM_RANGE(0x08, 0x09) AM_WRITE(blktiger_scrollx_w)
	AM_RANGE(0x0a, 0x0b) AM_WRITE(blktiger_scrolly_w)
	AM_RANGE(0x0c, 0x0c) AM_WRITE(blktiger_video_enable_w)
	AM_RANGE(0x0d, 0x0d) AM_WRITE(blktiger_bgvideoram_bank_w)
	AM_RANGE(0x0e, 0x0e) AM_WRITE(blktiger_screen_layout_w)
ADDRESS_MAP_END

static ADDRESS_MAP_START( blktiger_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
	AM_RANGE(0x0000, 0x7fff) AM_ROM
	AM_RANGE(0xc000, 0xc7ff) AM_RAM
	AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
//.........这里部分代码省略.........
开发者ID:AltimorTASDK,项目名称:shmupmametgm,代码行数:101,代码来源:blktiger.c

示例11: INTERRUPT_GEN

static INTERRUPT_GEN( exprraid_interrupt )
{
	exprraid_state *state = (exprraid_state *)device->machine->driver_data;

	if ((~input_port_read(device->machine, "IN2")) & 0xc0)
	{
		if (state->coin == 0)
		{
			state->coin = 1;
			//cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
			cpu_set_input_line(device, DECO16_IRQ_LINE, ASSERT_LINE);
		}
	}
	else
	{
		cpu_set_input_line(device, DECO16_IRQ_LINE, CLEAR_LINE);
		state->coin = 0;
	}
}
开发者ID:hstampfl,项目名称:mame2010-libretro,代码行数:19,代码来源:exprraid.c

示例12: irqhandler

GFXDECODE_END



/* handler called by the YM2151 emulator when the internal timers cause an IRQ */
static void irqhandler( running_device *device, int irq )
{
	rastan_state *state = device->machine->driver_data<rastan_state>();
	cpu_set_input_line(state->audiocpu, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
开发者ID:DarrenBranford,项目名称:MAME4iOS,代码行数:10,代码来源:rastan.c

示例13: WRITE8_HANDLER

static WRITE8_HANDLER( nmi_enable_w )
{
    flstory_state *state = (flstory_state *)space->machine->driver_data;
    state->sound_nmi_enable = 1;
    if (state->pending_nmi)
    {
        cpu_set_input_line(state->audiocpu, INPUT_LINE_NMI, PULSE_LINE);
        state->pending_nmi = 0;
    }
}
开发者ID:AltimorTASDK,项目名称:shmupmametgm,代码行数:10,代码来源:flstory.c

示例14: INTERRUPT_GEN

static INTERRUPT_GEN( asterix_interrupt )
{
	asterix_state *state = (asterix_state *)device->machine->driver_data;

	// global interrupt masking
	if (!k056832_is_irq_enabled(state->k056832, 0))
		return;

	cpu_set_input_line(device, 5, HOLD_LINE); /* ??? All irqs have the same vector, and the mask used is 0 or 7 */
}
开发者ID:hstampfl,项目名称:mame2010-libretro,代码行数:10,代码来源:asterix.c

示例15: WRITE16_HANDLER

static WRITE16_HANDLER( jumping_sound_w )
{
	rainbow_state *state = (rainbow_state *)space->machine->driver_data;

	if (ACCESSING_BITS_0_7)
	{
		state->jumping_latch = data & 0xff; /*M68000 writes .b to $400007*/
		cpu_set_input_line(state->audiocpu, 0, HOLD_LINE);
	}
}
开发者ID:AltimorTASDK,项目名称:shmupmametgm,代码行数:10,代码来源:rainbow.c


注:本文中的cpu_set_input_line函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。