本文整理汇总了C++中cpu_getscanlinetime函数的典型用法代码示例。如果您正苦于以下问题:C++ cpu_getscanlinetime函数的具体用法?C++ cpu_getscanlinetime怎么用?C++ cpu_getscanlinetime使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cpu_getscanlinetime函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: flyball_quarter_callback
static void flyball_quarter_callback(int scanline)
{
int potsense[64], i;
memset(potsense, 0, sizeof potsense);
potsense[readinputport(1)] |= 1;
potsense[readinputport(2)] |= 2;
potsense[readinputport(3)] |= 4;
potsense[readinputport(4)] |= 8;
for (i = 0; i < 64; i++)
{
if (potsense[i] != 0)
{
timer_set(cpu_getscanlinetime(scanline + i), potsense[i], flyball_joystick_callback);
}
}
scanline += 0x40;
scanline &= 0xff;
timer_set(cpu_getscanlinetime(scanline), scanline, flyball_quarter_callback);
flyball_potsense = 0;
flyball_potmask = 0;
}
开发者ID:BirchJD,项目名称:advancemame-0.106.1-RPi,代码行数:27,代码来源:flyball.c
示例2: TMS34061_register_w
INLINE void TMS34061_register_w(int offset, int data)
{
int status = 0;
/* Calculate which register and which half we're accessing */
int reg = offset >> 2;
/* Set register */
if (offset & 0x02)
{
regs[reg] = ((regs[reg] & 0xff) | (data << 8));
}
else
{
regs[reg] = ((regs[reg] & 0xff00) | data);
}
switch (reg)
{
case REG_VERINT:
timer_reset(timer, cpu_getscanlinetime(regs[reg]));
case REG_CONTROL1:
case REG_CONTROL2:
case REG_XYADDRESS:
status = 1;
break;
}
}
开发者ID:cyberkni,项目名称:276in1JAMMA,代码行数:34,代码来源:tms34061.cpp
示例3: capbowl_update
static void capbowl_update(int scan)
{
video_screen_update_partial(0, scan - 1);
scan += 32;
if (scan > 240) scan = 32;
timer_set(cpu_getscanlinetime(scan), scan, capbowl_update);
}
开发者ID:broftkd,项目名称:historic-mess,代码行数:7,代码来源:capbowl.c
示例4: capbowl_update
static void capbowl_update(int scan)
{
force_partial_update(scan - 1);
scan += 32;
if (scan > 240) scan = 32;
timer_set(cpu_getscanlinetime(scan), scan, capbowl_update);
}
开发者ID:BirchJD,项目名称:advancemame-0.106.1-RPi,代码行数:7,代码来源:capbowl.c
示例5: polepos_init_machine
void polepos_init_machine(void)
{
/* reset all the interrupt states */
z80_irq_enabled = z8002_1_nvi_enabled = z8002_2_nvi_enabled = 0;
/* reset the ADC state */
adc_input = 0;
/* reset the protection state */
ic25_last_result = 0;
ic25_last_signed = 0;
ic25_last_unsigned = 0;
/* Initialize the MCU */
polepos_mcu.enabled = 0; /* disabled */
polepos_mcu.status = 0x10; /* ready to transfer */
polepos_mcu.transfer_id = 0; /* clear out the transfer id */
polepos_mcu.timer = 0;
polepos_mcu.start = 0;
/* halt the two Z8002 cpus */
cpu_set_reset_line(1, ASSERT_LINE);
cpu_set_reset_line(2, ASSERT_LINE);
/* start a timer for the Z80's interrupt */
timer_set(cpu_getscanlinetime(0), 0, z80_interrupt);
}
开发者ID:ArnaudFeld,项目名称:MameAppleTV,代码行数:27,代码来源:polepos.cpp
示例6: z80_interrupt
static void z80_interrupt(int scanline)
{
cpu_set_irq_line(0, 0, ((scanline & 64) == 0) ? ASSERT_LINE : CLEAR_LINE);
scanline += 64;
if (scanline >= 256) scanline = 0;
timer_set(cpu_getscanlinetime(scanline), scanline, z80_interrupt);
}
开发者ID:ArnaudFeld,项目名称:MameAppleTV,代码行数:7,代码来源:polepos.cpp
示例7: update_callback
static void update_callback(int scanline)
{
/* update the previous chunk of scanlines */
starfire_video_update(scanline, SCANLINE_UPDATE_CHUNK);
scanline += SCANLINE_UPDATE_CHUNK;
if (scanline >= Machine->drv->screen_height)
scanline = 32;
timer_set(cpu_getscanlinetime(scanline + SCANLINE_UPDATE_CHUNK - 1), scanline, update_callback);
}
开发者ID:AlanApter,项目名称:steamlink-sdk,代码行数:9,代码来源:starfire.cpp
示例8: destroyr_frame_callback
static void destroyr_frame_callback(int dummy)
{
destroyr_potsense[0] = 0;
destroyr_potsense[1] = 0;
/* PCB supports two dials, but cab has only got one */
timer_set(cpu_getscanlinetime(readinputport(3)), 0, destroyr_dial_callback);
}
开发者ID:Ezio-PS,项目名称:mame2003-libretro,代码行数:9,代码来源:destroyr.c
示例9: scanline_callback
static void scanline_callback(int scanline)
{
/* copy the spriteram */
memcpy(spriteram_buffer + SPRITERAM_SIZE * (scanline / CHUNK_SIZE), spriteram, SPRITERAM_SIZE);
/* fire after the next 8 scanlines */
scanline += CHUNK_SIZE;
if (scanline >= MAX_SCANLINE)
scanline = 0;
timer_set(cpu_getscanlinetime(scanline), scanline, scanline_callback);
}
开发者ID:AlanApter,项目名称:steamlink-sdk,代码行数:11,代码来源:exidy440.cpp
示例10: qix_scanline_callback
void qix_scanline_callback(int scanline)
{
/* force a partial update */
force_partial_update(scanline - 1);
/* set a timer for the next increment */
scanline += SCANLINE_INCREMENT;
if (scanline > 256)
scanline = SCANLINE_INCREMENT;
timer_set(cpu_getscanlinetime(scanline), scanline, qix_scanline_callback);
}
开发者ID:libretro,项目名称:mame2003-libretro,代码行数:11,代码来源:qix_vidhrdw.c
示例11: TMS34061_intcallback
static void TMS34061_intcallback(int param)
{
timer_reset(timer, cpu_getscanlinetime(regs[REG_VERINT]));
if (!(regs[REG_CONTROL1] & 0x400)) return;
regs[REG_STATUS] |= 0x0001;
cpu_cause_interrupt (param, intf->vertical_interrupt());
}
开发者ID:cyberkni,项目名称:276in1JAMMA,代码行数:12,代码来源:tms34061.cpp
示例12: dma_timer
static void dma_timer( int n_channel, UINT32 n_scanline )
{
if( n_scanline != 0xffffffff )
{
timer_adjust( m_p_timer_dma[ n_channel ], cpu_getscanlinetime( n_scanline ), n_channel, 0 );
}
else
{
timer_adjust( m_p_timer_dma[ n_channel ], TIME_NEVER, 0, 0 );
}
m_p_n_dma_lastscanline[ n_channel ] = n_scanline;
}
开发者ID:kensan73,项目名称:mame2003-libretro,代码行数:12,代码来源:psx_machine.c
示例13: scanline_callback
static void scanline_callback(int scanline)
{
/* interrupt is generated whenever line V6 from video part goes lo->hi */
/* that is when scanline is 64 and 192 accordingly */
cpu_set_irq_line(2,0,ASSERT_LINE); /* sound cpu interrupt (music tempo) */
scanline += 128;
scanline &= 255;
timer_set( cpu_getscanlinetime( scanline ), scanline, scanline_callback );
}
开发者ID:libretro,项目名称:mame2003-libretro,代码行数:12,代码来源:tubep.c
示例14: vdp_reload_counter
/* timer callback to handle reloading the H counter and generate IRQ4 */
void vdp_reload_counter(int scanline)
{
/* generate an int if they're enabled */
if (genesis_vdp_regs[0] & 0x10)/* && !(misc_io_data[7] & 0x10))*/
if (scanline != 0 || genesis_vdp_regs[10] == 0)
{
scanline_int = 1;
update_interrupts();
timer_set(cpu_getscanlinetime(scanline + 1), 0, vdp_int4_off);
}
/* advance to the next scanline */
/* behavior 2: 0 count means interrupt after one scanline */
/* (this behavior matches the Sega C2 emulator) */
scanline += genesis_vdp_regs[10] + 1;
if (scanline >= 224)
scanline = 0;
/* set a timer */
timer_adjust(scan_timer, cpu_getscanlinetime(scanline) + cpu_getscanlineperiod() * (320. / 342.), scanline, 0);
}
开发者ID:BirchJD,项目名称:xmame-0.103-RPi,代码行数:22,代码来源:genesis.c
示例15: MACHINE_RESET
static MACHINE_RESET( flyball )
{
int i;
/* address bits 0 through 8 are inverted */
UINT8* ROM = memory_region(REGION_CPU1) + 0x2000;
for (i = 0; i < 0x1000; i++)
rombase[i] = ROM[i ^ 0x1ff];
timer_set(cpu_getscanlinetime(0), 0, flyball_quarter_callback);
}
开发者ID:BirchJD,项目名称:advancemame-0.106.1-RPi,代码行数:13,代码来源:flyball.c
示例16: interrupt_callback
static void interrupt_callback(int scanline)
{
cpunum_set_input_line(0, 0, PULSE_LINE);
scanline = scanline + 32;
if (scanline >= 262)
{
scanline = 16;
}
timer_set(cpu_getscanlinetime(scanline), scanline, interrupt_callback);
}
开发者ID:Sunoo,项目名称:nonamemame,代码行数:13,代码来源:cball.c
示例17: interrupt_timer
static void interrupt_timer(int param)
{
/* 128V, 64V and 32V go to D */
TTL7474_d_w(0, (param & 0xe0) != 0xe0);
/* 16V clocks the flip-flop */
TTL7474_clock_w(0, param & 0x10);
param = (param + 0x10) & 0xff;
timer_adjust(int_timer, cpu_getscanlinetime(param), param, 0);
TTL7474_update(0);
}
开发者ID:shangma,项目名称:mame0112,代码行数:14,代码来源:luctoday.c
示例18: scanline_callback
ADDRESS_MAP_END
static void scanline_callback(int scanline)
{
/* interrupt is generated whenever line V6 from video part goes lo->hi */
/* that is when scanline is 64 and 192 accordingly */
cpunum_set_input_line(2,0,ASSERT_LINE); /* sound cpu interrupt (music tempo) */
scanline += 128;
scanline &= 255;
timer_adjust(interrupt_timer, cpu_getscanlinetime(scanline), scanline, 0);
}
开发者ID:broftkd,项目名称:mess-cvs,代码行数:14,代码来源:tubep.c
示例19: periodic_callback
static void periodic_callback(int scanline)
{
cpunum_set_input_line(0, 0, PULSE_LINE);
/* IRQs are generated by inverse 16V signal */
scanline += 32;
if (scanline > 256)
{
scanline = 0;
}
timer_set(cpu_getscanlinetime(scanline), scanline, periodic_callback);
}
开发者ID:BirchJD,项目名称:advancemame-0.106.1-RPi,代码行数:15,代码来源:firetrk.c
示例20: interrupt_callback
static void interrupt_callback(int scanline)
{
/* assume Centipede-style interrupt timing */
cpunum_set_input_line(0, 0, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE);
scanline += 32;
if (scanline >= 263)
{
scanline = 16;
}
timer_set(cpu_getscanlinetime(scanline), scanline, interrupt_callback);
}
开发者ID:kleopatra999,项目名称:historic-mess,代码行数:15,代码来源:runaway.c
注:本文中的cpu_getscanlinetime函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论