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


C++ cpu_cause_interrupt函数代码示例

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


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

示例1: gottlieb_sh_w

void gottlieb_sh_w(int offset,int data)
{
	data &= 0xff;

	if (data != 0xff)
	{
		if (Machine->gamedrv->samplenames)
		{
			/* if we have loaded samples, we must be Q*Bert */
			switch(data ^ 0xff)
			{
				case 0x12:
					/* play a sample here (until Votrax speech is emulated) */
					sample_start (0, 0, 0);
					break;

				case 0x14:
					/* play a sample here (until Votrax speech is emulated) */
					sample_start (0, 1, 0);
					break;

				case 0x16:
					/* play a sample here (until Votrax speech is emulated) */
					sample_start (0, 2, 0);
					break;

				case 0x11:
					/* play a sample here (until Votrax speech is emulated) */
					sample_start (0, 3, 0);
					break;
			}
		}

		soundlatch_w(offset,data);

		switch (cpu_gettotalcpu())
		{
		case 2:
			/* Revision 1 sound board */
			cpu_cause_interrupt(1,M6502_INT_IRQ);
			break;
		case 3:
		case 4:
			/* Revision 2 & 3 sound board */
			cpu_cause_interrupt(cpu_gettotalcpu()-1,M6502_INT_IRQ);
			cpu_cause_interrupt(cpu_gettotalcpu()-2,M6502_INT_IRQ);
			break;
		}
	}
}
开发者ID:cyberkni,项目名称:276in1JAMMA,代码行数:50,代码来源:gottlieb.cpp

示例2: WRITE_HANDLER

static WRITE_HANDLER( pandoras_int_control_w ){
	/*	byte 0:	irq enable (CPU A)
		byte 2:	coin counter 1
		byte 3: coin counter 2
		byte 5: flip screen
		byte 6:	irq enable (CPU B)
		byte 7:	NMI to CPU B

		other bytes unknown */

	switch (offset){
		case 0x00:	if (!data) cpu_set_irq_line(0, M6809_IRQ_LINE, CLEAR_LINE);
					irq_enable_a = data;
					break;
		case 0x02:	coin_counter_w(0,data & 0x01);
					break;
		case 0x03:	coin_counter_w(1,data & 0x01);
					break;
		case 0x05:	pandoras_flipscreen_w(0, data);
					break;
		case 0x06:	if (!data) cpu_set_irq_line(1, M6809_IRQ_LINE, CLEAR_LINE);
					irq_enable_b = data;
					break;
		case 0x07:	cpu_cause_interrupt(1,M6809_INT_NMI);
					break;

		default:
			//logerror("%04x: (irq_ctrl) write %02x to %02x\n",cpu_get_pc(), data, offset);
			break;
	}
}
开发者ID:helicomatic,项目名称:imame4all-libretro,代码行数:31,代码来源:pandoras.c

示例3: starwars_main_wr_w

void starwars_main_wr_w(int offset, int data)
{
	port_A |= 0x80;  /* command from main cpu pending */
	sound_data = data;
	if (PA7_irq)
		cpu_cause_interrupt (1, M6809_INT_IRQ);
}
开发者ID:cyberkni,项目名称:276in1JAMMA,代码行数:7,代码来源:starwars.cpp

示例4: WRITE_HANDLER

static WRITE_HANDLER( ddragon3_io_w ){
	reg[offset/2] = COMBINE_WORD(reg[offset],data);

	switch (offset) {
		case 0x0:
		ddragon3_vreg = reg[0];
		break;

		case 0x2: /* soundlatch_w */
		soundlatch_w(1,reg[1]&0xff);
		cpu_cause_interrupt( 1, Z80_NMI_INT );
		break;

		case 0x4:
		/*	this gets written to on startup and at the end of IRQ6
		**	possibly trigger IRQ on sound CPU
		*/
		break;

		case 0x6:
		/*	this gets written to on startup,
		**	and at the end of IRQ5 (input port read) */
		break;

		case 0x8:
		/* this gets written to at the end of IRQ6 only */
		break;

		default:
		//logerror("OUTPUT 1400[%02x] %08x, pc=%06x \n", offset,(unsigned)data, cpu_get_pc() );
		break;
	}
}
开发者ID:Way310,项目名称:imame4all-libretro,代码行数:33,代码来源:ddragon3.c

示例5: WRITE_HANDLER

static WRITE_HANDLER( battlera_sound_w )
{
	if (offset==0) {
		soundlatch_w(0,data);
		cpu_cause_interrupt(1,H6280_INT_IRQ1);
	}
}
开发者ID:AlanApter,项目名称:steamlink-sdk,代码行数:7,代码来源:battlera.cpp

示例6: WRITE_HANDLER

static WRITE_HANDLER( sound_command_w )
{
	d400 = data;
	soundlatch_w(0,data);
	cpu_cause_interrupt(1,Z80_NMI_INT);
logerror("sound command %02x\n",data);
}
开发者ID:slaanesh-dev,项目名称:xMame37B16-Pi,代码行数:7,代码来源:flstory.c

示例7: WRITE16_HANDLER

static WRITE16_HANDLER( heberpop_sound_command_w )
{
	if (ACCESSING_LSB)
	{
		soundlatch_w(0,data & 0xff);
		cpu_cause_interrupt(1,0xff);	/* RST 38h */
	}
}
开发者ID:slaanesh-dev,项目名称:xMame37B16-Pi,代码行数:8,代码来源:shangha3.c

示例8: firetrap_adpcm_int

void firetrap_adpcm_int (int data)
{
	static int toggle;

	toggle = 1 - toggle;
	if (firetrap_irq_enable && toggle)
		cpu_cause_interrupt (1, M6502_INT_IRQ);
}
开发者ID:cyberkni,项目名称:276in1JAMMA,代码行数:8,代码来源:firetrap.cpp

示例9: atarisys2_soundint

static void atarisys2_soundint (void)
{
	if (!irq_hold0 && (READ_WORD (&atarisys2_interrupt_enable[0]) & 1))
	{
		cpu_cause_interrupt (0, 0);
		irq_hold0 = 1;
	}
}
开发者ID:cyberkni,项目名称:276in1JAMMA,代码行数:8,代码来源:atarisy2.cpp

示例10: blstroid_int1_callback

void blstroid_int1_callback (int param)
{
	/* generate the interrupt */
	cpu_cause_interrupt (0, 1);

	/* set ourselves up to go off next frame */
	int1_timer[param] = timer_set (TIME_IN_HZ (Machine->drv->frames_per_second), param, blstroid_int1_callback);
}
开发者ID:cyberkni,项目名称:276in1JAMMA,代码行数:8,代码来源:blstroid.cpp

示例11: WRITE_HANDLER

static WRITE_HANDLER( splash_sh_irqtrigger_w )
{
	if ((data & 0x00ff0000) == 0)
	{
		soundlatch_w(0,data & 0xff);
		cpu_cause_interrupt(1,Z80_IRQ_INT);
	}
}
开发者ID:Way310,项目名称:imame4all-libretro,代码行数:8,代码来源:splash.c

示例12: WRITE_HANDLER

static WRITE_HANDLER( jumping_sound_w )
{
	if (offset == 0)
	{
		jumping_latch = data & 0xff; /*M68000 writes .b to $400007*/
		/*logerror("jumping M68k write latch=%02x\n",jumping_latch);*/
		cpu_cause_interrupt(1,Z80_IRQ_INT);
	}
}
开发者ID:ArnaudFeld,项目名称:MameAppleTV,代码行数:9,代码来源:rainbow.cpp

示例13: CPUB_int_enable

static void CPUB_int_enable( int offset, int data ){
	if( CPUB_latch & SNK_NMI_PENDING ){
		cpu_cause_interrupt( 1, Z80_NMI_INT );
		CPUB_latch = 0;
	}
	else {
		CPUB_latch |= SNK_NMI_ENABLE;
	}
}
开发者ID:OS2World,项目名称:APP-EMULATION-MAME,代码行数:9,代码来源:marvins.c

示例14: WRITE_HANDLER

static WRITE_HANDLER( meteor_soundtrigger_w )
{
	if ((meteor_soundtrigger & 0x08) && (~data & 0x08))
	{
		cpu_cause_interrupt(1, I8039_EXT_INT);
	}

	meteor_soundtrigger = data;
}
开发者ID:Way310,项目名称:imame4all-libretro,代码行数:9,代码来源:meteor.c

示例15: WRITE_HANDLER

static WRITE_HANDLER( sound_command_w ){
	/*if( sound_fetched==0 ){
		logerror("missed sound command: %02x\n", sound_command );
	}*/

	sound_fetched = 0;
	sound_command = data;
	sound_cpu_ready = 0;
	cpu_cause_interrupt( 2, Z80_IRQ_INT );
}
开发者ID:Way310,项目名称:imame4all-libretro,代码行数:10,代码来源:marvins.c


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