避免emu_timer反复创建
This commit is contained in:
parent
63ad9ff456
commit
916e4c99ac
@ -246,8 +246,10 @@ namespace cpu.m6800
|
|||||||
cycles = cycles_63701;
|
cycles = cycles_63701;
|
||||||
clock = 1536000;
|
clock = 1536000;
|
||||||
irq_callback = null;
|
irq_callback = null;
|
||||||
m6800_rx_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M6800_action_rx, false);
|
//m6800_rx_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M6800_action_rx, false);
|
||||||
m6800_tx_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M6800_action_tx, false);
|
//m6800_tx_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M6800_action_tx, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref m6800_rx_timer, EmuTimer.TIME_ACT.M6800_action_rx, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref m6800_tx_timer, EmuTimer.TIME_ACT.M6800_action_tx, false);
|
||||||
}
|
}
|
||||||
public override void Reset()
|
public override void Reset()
|
||||||
{
|
{
|
||||||
@ -1345,8 +1347,10 @@ namespace cpu.m6800
|
|||||||
};
|
};
|
||||||
clock = 1000000;
|
clock = 1000000;
|
||||||
irq_callback = Cpuint.cpu_3_irq_callback;
|
irq_callback = Cpuint.cpu_3_irq_callback;
|
||||||
m6800_rx_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M6800_action_rx, false);
|
//m6800_rx_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M6800_action_rx, false);
|
||||||
m6800_tx_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M6800_action_tx, false);
|
//m6800_tx_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M6800_action_tx, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref m6800_rx_timer, EmuTimer.TIME_ACT.M6800_action_rx, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref m6800_tx_timer, EmuTimer.TIME_ACT.M6800_action_tx, false);
|
||||||
}
|
}
|
||||||
public override int ExecuteCycles(int cycles)
|
public override int ExecuteCycles(int cycles)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2246,12 +2246,15 @@ namespace MAME.Core
|
|||||||
case "CPS-1(QSound)":
|
case "CPS-1(QSound)":
|
||||||
case "CPS2":
|
case "CPS2":
|
||||||
timedint_period = new Atime(0, (long)(1e18 / 250));
|
timedint_period = new Atime(0, (long)(1e18 / 250));
|
||||||
timedint_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Generic_irq_1_0_line_hold, false);
|
//timedint_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Generic_irq_1_0_line_hold, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timedint_timer ,EmuTimer.TIME_ACT.Generic_irq_1_0_line_hold, false);
|
||||||
EmuTimer.timer_adjust_periodic(timedint_timer, timedint_period, timedint_period);
|
EmuTimer.timer_adjust_periodic(timedint_timer, timedint_period, timedint_period);
|
||||||
break;
|
break;
|
||||||
case "Neo Geo":
|
case "Neo Geo":
|
||||||
interleave_boost_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_null_callback, false);
|
//interleave_boost_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_null_callback, false);
|
||||||
interleave_boost_timer_end = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_end_interleave_boost, false);
|
EmuTimer.timer_alloc_common(ref interleave_boost_timer, EmuTimer.TIME_ACT.Cpuexec_null_callback, false);
|
||||||
|
//interleave_boost_timer_end = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_end_interleave_boost, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref interleave_boost_timer_end, EmuTimer.TIME_ACT.Cpuexec_end_interleave_boost, false);
|
||||||
break;
|
break;
|
||||||
case "CPS1":
|
case "CPS1":
|
||||||
case "Namco System 1":
|
case "Namco System 1":
|
||||||
@ -2297,7 +2300,8 @@ namespace MAME.Core
|
|||||||
case "bublcave11":
|
case "bublcave11":
|
||||||
case "bublcave10":
|
case "bublcave10":
|
||||||
timeslice_period = new Atime(0, Video.screenstate.frame_period / 100);
|
timeslice_period = new Atime(0, Video.screenstate.frame_period / 100);
|
||||||
timeslice_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
//timeslice_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timeslice_timer, EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
||||||
EmuTimer.timer_adjust_periodic(timeslice_timer, timeslice_period, timeslice_period);
|
EmuTimer.timer_adjust_periodic(timeslice_timer, timeslice_period, timeslice_period);
|
||||||
break;
|
break;
|
||||||
case "opwolf":
|
case "opwolf":
|
||||||
@ -2307,14 +2311,16 @@ namespace MAME.Core
|
|||||||
case "opwolfb":
|
case "opwolfb":
|
||||||
case "opwolfp":
|
case "opwolfp":
|
||||||
timeslice_period = new Atime(0, Video.screenstate.frame_period / 10);
|
timeslice_period = new Atime(0, Video.screenstate.frame_period / 10);
|
||||||
timeslice_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
//timeslice_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timeslice_timer, EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
||||||
EmuTimer.timer_adjust_periodic(timeslice_timer, timeslice_period, timeslice_period);
|
EmuTimer.timer_adjust_periodic(timeslice_timer, timeslice_period, timeslice_period);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "Taito B":
|
case "Taito B":
|
||||||
timeslice_period = new Atime(0, Video.screenstate.frame_period / 10);
|
timeslice_period = new Atime(0, Video.screenstate.frame_period / 10);
|
||||||
timeslice_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
//timeslice_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timeslice_timer, EmuTimer.TIME_ACT.Cpuexec_cpu_timeslicecallback, false);
|
||||||
EmuTimer.timer_adjust_periodic(timeslice_timer, timeslice_period, timeslice_period);
|
EmuTimer.timer_adjust_periodic(timeslice_timer, timeslice_period, timeslice_period);
|
||||||
break;
|
break;
|
||||||
case "Capcom":
|
case "Capcom":
|
||||||
@ -2340,7 +2346,8 @@ namespace MAME.Core
|
|||||||
case "sfan":
|
case "sfan":
|
||||||
case "sfp":
|
case "sfp":
|
||||||
timedint_period = new Atime(0, (long)(1e18 / 8000));
|
timedint_period = new Atime(0, (long)(1e18 / 8000));
|
||||||
timedint_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Generic_irq_2_0_line_hold, false);
|
//timedint_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Generic_irq_2_0_line_hold, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timedint_timer, EmuTimer.TIME_ACT.Generic_irq_2_0_line_hold, false);
|
||||||
EmuTimer.timer_adjust_periodic(timedint_timer, timedint_period, timedint_period);
|
EmuTimer.timer_adjust_periodic(timedint_timer, timedint_period, timedint_period);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -462,12 +462,16 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void timer_pulse_internal(Atime period, TIME_ACT action)
|
public static void timer_pulse_internal(Atime period, TIME_ACT action)
|
||||||
{
|
{
|
||||||
emu_timer timer = timer_alloc_common(action, false);
|
//emu_timer timer = timer_alloc_common(action, false);
|
||||||
|
emu_timer timer = null;
|
||||||
|
timer_alloc_common(ref timer, action, false);
|
||||||
timer_adjust_periodic(timer, period, period);
|
timer_adjust_periodic(timer, period, period);
|
||||||
}
|
}
|
||||||
public static void timer_set_internal(TIME_ACT action)
|
public static void timer_set_internal(TIME_ACT action)
|
||||||
{
|
{
|
||||||
emu_timer timer = timer_alloc_common(action, true);
|
//emu_timer timer = timer_alloc_common(action, true);
|
||||||
|
emu_timer timer = null;
|
||||||
|
timer_alloc_common(ref timer,action, true);
|
||||||
timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
public static void timer_list_insert(emu_timer timer1)
|
public static void timer_list_insert(emu_timer timer1)
|
||||||
@ -611,10 +615,13 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static emu_timer timer_alloc_common(TIME_ACT action, bool temp)
|
public static emu_timer timer_alloc_common(ref emu_timer timer,TIME_ACT action, bool temp)
|
||||||
{
|
{
|
||||||
Atime time = get_current_time();
|
Atime time = get_current_time();
|
||||||
emu_timer timer = new emu_timer();
|
if (timer == null)
|
||||||
|
timer = new emu_timer();
|
||||||
|
|
||||||
|
//emu_timer timer = new emu_timer();
|
||||||
timer.action = action;
|
timer.action = action;
|
||||||
timer.enabled = false;
|
timer.enabled = false;
|
||||||
timer.temporary = temp;
|
timer.temporary = temp;
|
||||||
|
|||||||
@ -170,7 +170,8 @@ namespace MAME.Core
|
|||||||
Palette.palette_init();
|
Palette.palette_init();
|
||||||
Generic.generic_machine_init();
|
Generic.generic_machine_init();
|
||||||
EmuTimer.timer_init();
|
EmuTimer.timer_init();
|
||||||
soft_reset_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Mame_soft_reset, false);
|
//soft_reset_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Mame_soft_reset, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref soft_reset_timer ,EmuTimer.TIME_ACT.Mame_soft_reset, false);
|
||||||
Window.osd_init();
|
Window.osd_init();
|
||||||
Inptport.input_port_init();
|
Inptport.input_port_init();
|
||||||
Cpuexec.cpuexec_init();
|
Cpuexec.cpuexec_init();
|
||||||
|
|||||||
@ -705,14 +705,14 @@ namespace MAME.Core
|
|||||||
/** end **/
|
/** end **/
|
||||||
|
|
||||||
|
|
||||||
|
//vblank_begin_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Video_vblank_begin_callback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref vblank_begin_timer, EmuTimer.TIME_ACT.Video_vblank_begin_callback, false);
|
||||||
|
|
||||||
vblank_begin_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Video_vblank_begin_callback, false);
|
|
||||||
EmuTimer.timer_adjust_periodic(vblank_begin_timer, video_screen_get_time_until_vblank_start(), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(vblank_begin_timer, video_screen_get_time_until_vblank_start(), Attotime.ATTOTIME_NEVER);
|
||||||
scanline0_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Video_scanline0_callback, false);
|
//scanline0_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Video_scanline0_callback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref scanline0_timer, EmuTimer.TIME_ACT.Video_scanline0_callback, false);
|
||||||
EmuTimer.timer_adjust_periodic(scanline0_timer, video_screen_get_time_until_pos(0, 0), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(scanline0_timer, video_screen_get_time_until_pos(0, 0), Attotime.ATTOTIME_NEVER);
|
||||||
vblank_end_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Video_vblank_end_callback, false);
|
//vblank_end_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Video_vblank_end_callback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref vblank_end_timer, EmuTimer.TIME_ACT.Video_vblank_end_callback, false);
|
||||||
switch (Machine.sBoard)
|
switch (Machine.sBoard)
|
||||||
{
|
{
|
||||||
case "CPS-1":
|
case "CPS-1":
|
||||||
@ -723,19 +723,23 @@ namespace MAME.Core
|
|||||||
break;
|
break;
|
||||||
case "CPS2":
|
case "CPS2":
|
||||||
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 262);
|
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 262);
|
||||||
Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[0].partial_frame_timer ,EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
break;
|
break;
|
||||||
case "Tehkan":
|
case "Tehkan":
|
||||||
Cpuexec.cpu[1].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 2);
|
Cpuexec.cpu[1].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 2);
|
||||||
Cpuexec.cpu[1].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[1].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[1].partial_frame_timer ,EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
break;
|
break;
|
||||||
case "Neo Geo":
|
case "Neo Geo":
|
||||||
break;
|
break;
|
||||||
case "SunA8":
|
case "SunA8":
|
||||||
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 0x100);
|
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 0x100);
|
||||||
Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[0].partial_frame_timer ,EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
Cpuexec.cpu[1].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 4);
|
Cpuexec.cpu[1].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 4);
|
||||||
Cpuexec.cpu[1].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger2, false);
|
//Cpuexec.cpu[1].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger2, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[1].partial_frame_timer ,EmuTimer.TIME_ACT.Cpuexec_trigger2, false);
|
||||||
break;
|
break;
|
||||||
case "IGS011":
|
case "IGS011":
|
||||||
switch (Machine.sName)
|
switch (Machine.sName)
|
||||||
@ -750,27 +754,31 @@ namespace MAME.Core
|
|||||||
case "drgnwrldv40k":
|
case "drgnwrldv40k":
|
||||||
case "lhb2":
|
case "lhb2":
|
||||||
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 5);
|
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 5);
|
||||||
Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[0].partial_frame_timer, EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
break;
|
break;
|
||||||
case "lhb":
|
case "lhb":
|
||||||
case "lhbv33c":
|
case "lhbv33c":
|
||||||
case "dbc":
|
case "dbc":
|
||||||
case "ryukobou":
|
case "ryukobou":
|
||||||
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 4);
|
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 4);
|
||||||
Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[0].partial_frame_timer, EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "M72":
|
case "M72":
|
||||||
Cpuexec.cpu[1].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 128);
|
Cpuexec.cpu[1].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 128);
|
||||||
Cpuexec.cpu[1].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[1].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[1].partial_frame_timer, EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
break;
|
break;
|
||||||
case "Taito":
|
case "Taito":
|
||||||
switch (Machine.sName)
|
switch (Machine.sName)
|
||||||
{
|
{
|
||||||
case "bub68705":
|
case "bub68705":
|
||||||
Cpuexec.cpu[3].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 2);
|
Cpuexec.cpu[3].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 2);
|
||||||
Cpuexec.cpu[3].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[3].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[3].partial_frame_timer, EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -779,7 +787,8 @@ namespace MAME.Core
|
|||||||
{
|
{
|
||||||
case "cuebrick":
|
case "cuebrick":
|
||||||
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 10);
|
Cpuexec.cpu[0].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 10);
|
||||||
Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[0].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[0].partial_frame_timer, EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -798,7 +807,8 @@ namespace MAME.Core
|
|||||||
case "makaimurg":
|
case "makaimurg":
|
||||||
case "diamond":
|
case "diamond":
|
||||||
Cpuexec.cpu[1].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 4);
|
Cpuexec.cpu[1].partial_frame_period = Attotime.attotime_div(Video.frame_update_time, 4);
|
||||||
Cpuexec.cpu[1].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
//Cpuexec.cpu[1].partial_frame_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref Cpuexec.cpu[1].partial_frame_timer, EmuTimer.TIME_ACT.Cpuexec_trigger_partial_frame_interrupt, false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -7,7 +7,8 @@
|
|||||||
public static Atime watchdog_time;
|
public static Atime watchdog_time;
|
||||||
public static void watchdog_init()
|
public static void watchdog_init()
|
||||||
{
|
{
|
||||||
watchdog_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Watchdog_watchdog_callback, false);
|
//watchdog_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Watchdog_watchdog_callback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref watchdog_timer, EmuTimer.TIME_ACT.Watchdog_watchdog_callback, false);
|
||||||
switch (Machine.sBoard)
|
switch (Machine.sBoard)
|
||||||
{
|
{
|
||||||
case "CPS-1":
|
case "CPS-1":
|
||||||
|
|||||||
@ -814,7 +814,9 @@ namespace MAME.Core
|
|||||||
public static void sound_arm_nmi_w()
|
public static void sound_arm_nmi_w()
|
||||||
{
|
{
|
||||||
Cpuint.cpunum_set_input_line(1, (int)LineState.INPUT_LINE_NMI, LineState.CLEAR_LINE);
|
Cpuint.cpunum_set_input_line(1, (int)LineState.INPUT_LINE_NMI, LineState.CLEAR_LINE);
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common( EmuTimer.TIME_ACT.Konami68000_nmi_callback, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common( EmuTimer.TIME_ACT.Konami68000_nmi_callback, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.Konami68000_nmi_callback, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)50e12), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)50e12), Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
public static ushort punkshot_kludge_r()
|
public static ushort punkshot_kludge_r()
|
||||||
|
|||||||
@ -46,14 +46,18 @@
|
|||||||
{
|
{
|
||||||
Cpuint.lvec.Add(new vec(1, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(1, EmuTimer.get_current_time()));
|
||||||
setvector_param = 1;
|
setvector_param = 1;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
EmuTimer.emu_timer timer = null;
|
||||||
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Cpuint.lvec.Add(new vec(2, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(2, EmuTimer.get_current_time()));
|
||||||
setvector_param = 2;
|
setvector_param = 2;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
EmuTimer.emu_timer timer = null;
|
||||||
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -64,7 +68,9 @@
|
|||||||
Sound.soundlatch_w(data);
|
Sound.soundlatch_w(data);
|
||||||
Cpuint.lvec.Add(new vec(3, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(3, EmuTimer.get_current_time()));
|
||||||
setvector_param = 3;
|
setvector_param = 3;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -73,14 +79,18 @@
|
|||||||
Sound.soundlatch_w(data);
|
Sound.soundlatch_w(data);
|
||||||
Cpuint.lvec.Add(new vec(3, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(3, EmuTimer.get_current_time()));
|
||||||
setvector_param = 3;
|
setvector_param = 3;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
public static void m72_sound_irq_ack_w(int offset, byte data)
|
public static void m72_sound_irq_ack_w(int offset, byte data)
|
||||||
{
|
{
|
||||||
Cpuint.lvec.Add(new vec(4, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(4, EmuTimer.get_current_time()));
|
||||||
setvector_param = 4;
|
setvector_param = 4;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
public static void m72_set_sample_start(int start)
|
public static void m72_set_sample_start(int start)
|
||||||
|
|||||||
@ -297,7 +297,8 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void machine_start_m72()
|
public static void machine_start_m72()
|
||||||
{
|
{
|
||||||
scanline_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M72_m72_scanline_interrupt, false);
|
//scanline_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M72_m72_scanline_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref scanline_timer, EmuTimer.TIME_ACT.M72_m72_scanline_interrupt, false);
|
||||||
}
|
}
|
||||||
public static void machine_reset_m72()
|
public static void machine_reset_m72()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -399,7 +399,8 @@ namespace MAME.Core
|
|||||||
{
|
{
|
||||||
setvector_param = 0;
|
setvector_param = 0;
|
||||||
setvector_callback();
|
setvector_callback();
|
||||||
scanline_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M92_m92_scanline_interrupt, false);
|
//scanline_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M92_m92_scanline_interrupt, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref scanline_timer, EmuTimer.TIME_ACT.M92_m92_scanline_interrupt, false);
|
||||||
}
|
}
|
||||||
public static void machine_reset_m92()
|
public static void machine_reset_m92()
|
||||||
{
|
{
|
||||||
@ -513,7 +514,9 @@ namespace MAME.Core
|
|||||||
{
|
{
|
||||||
Cpuint.lvec.Add(new vec(3, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(3, EmuTimer.get_current_time()));
|
||||||
setvector_param = 3;
|
setvector_param = 3;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
Sound.soundlatch_w((ushort)(data & 0xff));
|
Sound.soundlatch_w((ushort)(data & 0xff));
|
||||||
}
|
}
|
||||||
@ -529,7 +532,9 @@ namespace MAME.Core
|
|||||||
{
|
{
|
||||||
Cpuint.lvec.Add(new vec(4, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(4, EmuTimer.get_current_time()));
|
||||||
setvector_param = 4;
|
setvector_param = 4;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
public static void m92_sound_status_w(ushort data)
|
public static void m92_sound_status_w(ushort data)
|
||||||
@ -543,14 +548,18 @@ namespace MAME.Core
|
|||||||
{
|
{
|
||||||
Cpuint.lvec.Add(new vec(1, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(1, EmuTimer.get_current_time()));
|
||||||
setvector_param = 1;
|
setvector_param = 1;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Cpuint.lvec.Add(new vec(2, EmuTimer.get_current_time()));
|
Cpuint.lvec.Add(new vec(2, EmuTimer.get_current_time()));
|
||||||
setvector_param = 2;
|
setvector_param = 2;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.setvector, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.setvector, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.ATTOTIME_ZERO, Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,9 @@ namespace MAME.Core
|
|||||||
{
|
{
|
||||||
Generic.buffer_spriteram16_w();
|
Generic.buffer_spriteram16_w();
|
||||||
m92_sprite_buffer_busy = 0;
|
m92_sprite_buffer_busy = 0;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.attotime_mul(new Atime(0, (long)(1e18 / 26666000)), 0x400), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.attotime_mul(new Atime(0, (long)(1e18 / 26666000)), 0x400), Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -67,7 +69,9 @@ namespace MAME.Core
|
|||||||
{
|
{
|
||||||
Generic.buffer_spriteram16_w();
|
Generic.buffer_spriteram16_w();
|
||||||
m92_sprite_buffer_busy = 0;
|
m92_sprite_buffer_busy = 0;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.attotime_mul(new Atime(0, (long)(1e18 / 26666000)), 0x400), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.attotime_mul(new Atime(0, (long)(1e18 / 26666000)), 0x400), Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,7 +93,9 @@ namespace MAME.Core
|
|||||||
{
|
{
|
||||||
Generic.buffer_spriteram16_w();
|
Generic.buffer_spriteram16_w();
|
||||||
m92_sprite_buffer_busy = 0;
|
m92_sprite_buffer_busy = 0;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.M92_spritebuffer_callback, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, Attotime.attotime_mul(new Atime(0, (long)(1e18 / 26666000)), 0x400), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, Attotime.attotime_mul(new Atime(0, (long)(1e18 / 26666000)), 0x400), Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -366,9 +366,12 @@ namespace MAME.Core
|
|||||||
audio_cpu_banks[1] = 0x0e;
|
audio_cpu_banks[1] = 0x0e;
|
||||||
audio_cpu_banks[2] = 0x06;
|
audio_cpu_banks[2] = 0x06;
|
||||||
audio_cpu_banks[3] = 0x02;
|
audio_cpu_banks[3] = 0x02;
|
||||||
display_position_interrupt_timer = EmuTimer.timer_alloc_common( EmuTimer.TIME_ACT.Neogeo_display_position_interrupt_callback, false);
|
//display_position_interrupt_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Neogeo_display_position_interrupt_callback, false);
|
||||||
display_position_vblank_timer = EmuTimer.timer_alloc_common( EmuTimer.TIME_ACT.Neogeo_display_position_vblank_callback, false);
|
EmuTimer.timer_alloc_common(ref display_position_interrupt_timer ,EmuTimer.TIME_ACT.Neogeo_display_position_interrupt_callback, false);
|
||||||
vblank_interrupt_timer = EmuTimer.timer_alloc_common( EmuTimer.TIME_ACT.Neogeo_vblank_interrupt_callback, false);
|
//display_position_vblank_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Neogeo_display_position_vblank_callback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref display_position_vblank_timer ,EmuTimer.TIME_ACT.Neogeo_display_position_vblank_callback, false);
|
||||||
|
//vblank_interrupt_timer = EmuTimer.timer_alloc_common( EmuTimer.TIME_ACT.Neogeo_vblank_interrupt_callback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref vblank_interrupt_timer, EmuTimer.TIME_ACT.Neogeo_vblank_interrupt_callback, false);
|
||||||
Pd4900a.pd4990a_init();
|
Pd4900a.pd4990a_init();
|
||||||
calendar_init();
|
calendar_init();
|
||||||
irq3_pending = 1;
|
irq3_pending = 1;
|
||||||
|
|||||||
@ -130,7 +130,8 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
private static void create_auto_animation_timer()
|
private static void create_auto_animation_timer()
|
||||||
{
|
{
|
||||||
auto_animation_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Neogeo_auto_animation_timer_callback, false);
|
//auto_animation_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Neogeo_auto_animation_timer_callback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref auto_animation_timer, EmuTimer.TIME_ACT.Neogeo_auto_animation_timer_callback, false);
|
||||||
}
|
}
|
||||||
private static void start_auto_animation_timer()
|
private static void start_auto_animation_timer()
|
||||||
{
|
{
|
||||||
@ -516,7 +517,7 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//private static void draw_sprites(int iBitmap, int scanline)
|
//private static void draw_sprites(int iBitmap, int scanline)
|
||||||
//{
|
//{
|
||||||
// int x_2, code_2;
|
// int x_2, code_2;
|
||||||
@ -735,7 +736,8 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
private static void create_sprite_line_timer()
|
private static void create_sprite_line_timer()
|
||||||
{
|
{
|
||||||
sprite_line_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Neogeo_sprite_line_timer_callback, false);
|
//sprite_line_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Neogeo_sprite_line_timer_callback, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sprite_line_timer ,EmuTimer.TIME_ACT.Neogeo_sprite_line_timer_callback, false);
|
||||||
}
|
}
|
||||||
private static void start_sprite_line_timer()
|
private static void start_sprite_line_timer()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -981,7 +981,9 @@ namespace MAME.Core
|
|||||||
if (cchip_ram[0x7a] == 0 && cchip_last_7a != 0 && current_cmd != 0xf5)
|
if (cchip_ram[0x7a] == 0 && cchip_last_7a != 0 && current_cmd != 0xf5)
|
||||||
{
|
{
|
||||||
current_cmd = 0xf5;
|
current_cmd = 0xf5;
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Taito_opwolf_timer_callback, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Taito_opwolf_timer_callback, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, EmuTimer.TIME_ACT.Taito_opwolf_timer_callback, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(80000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(80000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
}
|
}
|
||||||
cchip_last_7a = cchip_ram[0x7a];
|
cchip_last_7a = cchip_ram[0x7a];
|
||||||
|
|||||||
@ -186,7 +186,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void rastansaga2_interrupt()
|
public static void rastansaga2_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_rsaga2_interrupt2, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_rsaga2_interrupt2, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_rsaga2_interrupt2, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 4, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 4, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -196,7 +198,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void crimec_interrupt()
|
public static void crimec_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_crimec_interrupt3, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_crimec_interrupt3, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_crimec_interrupt3, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 5, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 5, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -206,7 +210,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void hitice_interrupt()
|
public static void hitice_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_hitice_interrupt6, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_hitice_interrupt6, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_hitice_interrupt6, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 4, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 4, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -216,7 +222,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void rambo3_interrupt()
|
public static void rambo3_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_rambo3_interrupt1, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_rambo3_interrupt1, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_rambo3_interrupt1, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 6, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 6, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -226,7 +234,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void pbobble_interrupt()
|
public static void pbobble_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_pbobble_interrupt5, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_pbobble_interrupt5, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_pbobble_interrupt5, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 3, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 3, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -236,7 +246,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void viofight_interrupt()
|
public static void viofight_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_viofight_interrupt1, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_viofight_interrupt1, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_viofight_interrupt1, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 4, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 4, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -246,7 +258,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void masterw_interrupt()
|
public static void masterw_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_masterw_interrupt4, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_masterw_interrupt4, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_masterw_interrupt4, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 5, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 5, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -256,7 +270,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void silentd_interrupt()
|
public static void silentd_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_silentd_interrupt4, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_silentd_interrupt4, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_silentd_interrupt4, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 6, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 6, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -266,7 +282,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void selfeena_interrupt()
|
public static void selfeena_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_selfeena_interrupt4, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_selfeena_interrupt4, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_selfeena_interrupt4, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(5000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 6, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 6, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
@ -276,7 +294,9 @@ namespace MAME.Core
|
|||||||
}
|
}
|
||||||
public static void sbm_interrupt()
|
public static void sbm_interrupt()
|
||||||
{
|
{
|
||||||
EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_sbm_interrupt5, true);
|
//EmuTimer.emu_timer timer = EmuTimer.timer_alloc_common(TIME_ACT.Taitob_sbm_interrupt5, true);
|
||||||
|
EmuTimer.emu_timer timer = null;
|
||||||
|
EmuTimer.timer_alloc_common(ref timer, TIME_ACT.Taitob_sbm_interrupt5, true);
|
||||||
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(10000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
EmuTimer.timer_adjust_periodic(timer, new Atime(0, (long)(10000 * Cpuexec.cpu[0].attoseconds_per_cycle)), Attotime.ATTOTIME_NEVER);
|
||||||
Cpuint.cpunum_set_input_line(0, 4, LineState.HOLD_LINE);
|
Cpuint.cpunum_set_input_line(0, 4, LineState.HOLD_LINE);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -334,8 +334,10 @@ namespace MAME.Core
|
|||||||
int i;
|
int i;
|
||||||
voice2 = new voice_struct[32];
|
voice2 = new voice_struct[32];
|
||||||
timer = new timer_struct[2];
|
timer = new timer_struct[2];
|
||||||
timer[0].timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.ICS2115_timer_cb_0, false);
|
//timer[0].timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.ICS2115_timer_cb_0, false);
|
||||||
timer[1].timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.ICS2115_timer_cb_1, false);
|
//timer[1].timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.ICS2115_timer_cb_1, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[0].timer,EmuTimer.TIME_ACT.ICS2115_timer_cb_0, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[1].timer,EmuTimer.TIME_ACT.ICS2115_timer_cb_1, false);
|
||||||
ulaw = new short[256];
|
ulaw = new short[256];
|
||||||
for (i = 0; i < 256; i++)
|
for (i = 0; i < 256; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -177,11 +177,13 @@ namespace MAME.Core
|
|||||||
mm1[sndindex].voice.stream = new sound_stream(clock, 0, 1, mm1[sndindex].MSM5205_update);
|
mm1[sndindex].voice.stream = new sound_stream(clock, 0, 1, mm1[sndindex].MSM5205_update);
|
||||||
if (sndindex == 0)
|
if (sndindex == 0)
|
||||||
{
|
{
|
||||||
timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.MSM5205_MSM5205_vclk_callback0, false);
|
//timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.MSM5205_MSM5205_vclk_callback0, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[0], EmuTimer.TIME_ACT.MSM5205_MSM5205_vclk_callback0, false);
|
||||||
}
|
}
|
||||||
else if (sndindex == 1)
|
else if (sndindex == 1)
|
||||||
{
|
{
|
||||||
timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.MSM5205_MSM5205_vclk_callback1, false);
|
//timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.MSM5205_MSM5205_vclk_callback1, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[1], EmuTimer.TIME_ACT.MSM5205_MSM5205_vclk_callback1, false);
|
||||||
}
|
}
|
||||||
mm1[sndindex].msm5205_reset();
|
mm1[sndindex].msm5205_reset();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,7 +74,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[2];
|
latched_value = new ushort[2];
|
||||||
utempdata = new ushort[2];
|
utempdata = new ushort[2];
|
||||||
sound_update = sound_updateC;
|
sound_update = sound_updateC;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2151.ym2151_init(3579545);
|
YM2151.ym2151_init(3579545);
|
||||||
OKI6295.okim6295_start();
|
OKI6295.okim6295_start();
|
||||||
ym2151stream = new sound_stream(55930, 0, 2, YM2151.ym2151_update_one);
|
ym2151stream = new sound_stream(55930, 0, 2, YM2151.ym2151_update_one);
|
||||||
@ -84,7 +85,8 @@ namespace MAME.Core
|
|||||||
case "CPS-1(QSound)":
|
case "CPS-1(QSound)":
|
||||||
case "CPS2":
|
case "CPS2":
|
||||||
sound_update = sound_updateQ;
|
sound_update = sound_updateQ;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
QSound.qsound_start();
|
QSound.qsound_start();
|
||||||
qsoundstream = new sound_stream(4000000 / 166, 0, 2, QSound.qsound_update);
|
qsoundstream = new sound_stream(4000000 / 166, 0, 2, QSound.qsound_update);
|
||||||
mixerstream = new sound_stream(48000, 2, 0, null);
|
mixerstream = new sound_stream(48000, 2, 0, null);
|
||||||
@ -93,7 +95,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[1];
|
latched_value = new ushort[1];
|
||||||
utempdata = new ushort[1];
|
utempdata = new ushort[1];
|
||||||
sound_update = sound_updateDataeast_pcktgal;
|
sound_update = sound_updateDataeast_pcktgal;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2203.ym2203_start(0, 1500000);
|
YM2203.ym2203_start(0, 1500000);
|
||||||
YM3812.ym3812_start(3000000);
|
YM3812.ym3812_start(3000000);
|
||||||
MSM5205.msm5205_start(0, 384000, Dataeast.pcktgal_adpcm_int, 5);
|
MSM5205.msm5205_start(0, 384000, Dataeast.pcktgal_adpcm_int, 5);
|
||||||
@ -104,7 +107,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[1];
|
latched_value = new ushort[1];
|
||||||
utempdata = new ushort[1];
|
utempdata = new ushort[1];
|
||||||
sound_update = sound_updateTehkan_pbaction;
|
sound_update = sound_updateTehkan_pbaction;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
AY8910.ay8910_interface generic_ay8910 = new AY8910.ay8910_interface();
|
AY8910.ay8910_interface generic_ay8910 = new AY8910.ay8910_interface();
|
||||||
generic_ay8910.flags = 1;
|
generic_ay8910.flags = 1;
|
||||||
generic_ay8910.res_load = new int[3] { 1000, 1000, 1000 };
|
generic_ay8910.res_load = new int[3] { 1000, 1000, 1000 };
|
||||||
@ -121,7 +125,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[2];
|
latched_value = new ushort[2];
|
||||||
utempdata = new ushort[2];
|
utempdata = new ushort[2];
|
||||||
sound_update = sound_updateN;
|
sound_update = sound_updateN;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer ,EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2610.ym2610_start(8000000);
|
YM2610.ym2610_start(8000000);
|
||||||
ym2610stream = new sound_stream(111111, 0, 2, YM2610.F2610.ym2610_update_one);
|
ym2610stream = new sound_stream(111111, 0, 2, YM2610.F2610.ym2610_update_one);
|
||||||
mixerstream = new sound_stream(48000, 3, 0, null);
|
mixerstream = new sound_stream(48000, 3, 0, null);
|
||||||
@ -130,7 +135,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[2];
|
latched_value = new ushort[2];
|
||||||
utempdata = new ushort[2];
|
utempdata = new ushort[2];
|
||||||
sound_update = sound_updateSunA8;
|
sound_update = sound_updateSunA8;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM3812.ym3812_start(4000000);
|
YM3812.ym3812_start(4000000);
|
||||||
AY8910.ay8910_interface starfigh_ay8910_interface = new AY8910.ay8910_interface();
|
AY8910.ay8910_interface starfigh_ay8910_interface = new AY8910.ay8910_interface();
|
||||||
starfigh_ay8910_interface.flags = 1;
|
starfigh_ay8910_interface.flags = 1;
|
||||||
@ -147,7 +153,8 @@ namespace MAME.Core
|
|||||||
break;
|
break;
|
||||||
case "Namco System 1":
|
case "Namco System 1":
|
||||||
sound_update = sound_updateNa;
|
sound_update = sound_updateNa;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2151.ym2151_init(3579580);
|
YM2151.ym2151_init(3579580);
|
||||||
Namco.namco_start();
|
Namco.namco_start();
|
||||||
DAC.dac_start();
|
DAC.dac_start();
|
||||||
@ -168,7 +175,8 @@ namespace MAME.Core
|
|||||||
case "drgnwrldv11h":
|
case "drgnwrldv11h":
|
||||||
case "drgnwrldv40k":
|
case "drgnwrldv40k":
|
||||||
sound_update = sound_updateIGS011_drgnwrld;
|
sound_update = sound_updateIGS011_drgnwrld;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
OKI6295.okim6295_start();
|
OKI6295.okim6295_start();
|
||||||
YM3812.ym3812_start(3579545);
|
YM3812.ym3812_start(3579545);
|
||||||
okistream = new sound_stream(1047600 / 132, 0, 1, OKI6295.okim6295_update);
|
okistream = new sound_stream(1047600 / 132, 0, 1, OKI6295.okim6295_update);
|
||||||
@ -182,7 +190,8 @@ namespace MAME.Core
|
|||||||
case "xymg":
|
case "xymg":
|
||||||
case "wlcc":
|
case "wlcc":
|
||||||
sound_update = sound_updateIGS011_lhb;
|
sound_update = sound_updateIGS011_lhb;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
OKI6295.okim6295_start();
|
OKI6295.okim6295_start();
|
||||||
okistream = new sound_stream(1047600 / 132, 0, 1, OKI6295.okim6295_update);
|
okistream = new sound_stream(1047600 / 132, 0, 1, OKI6295.okim6295_update);
|
||||||
mixerstream = new sound_stream(48000, 1, 0, null);
|
mixerstream = new sound_stream(48000, 1, 0, null);
|
||||||
@ -190,7 +199,8 @@ namespace MAME.Core
|
|||||||
case "lhb2":
|
case "lhb2":
|
||||||
case "nkishusp":
|
case "nkishusp":
|
||||||
sound_update = sound_updateIGS011_lhb2;
|
sound_update = sound_updateIGS011_lhb2;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
OKI6295.okim6295_start();
|
OKI6295.okim6295_start();
|
||||||
YM2413.ym2413_start(3579545);
|
YM2413.ym2413_start(3579545);
|
||||||
okistream = new sound_stream(1047600 / 132, 0, 1, OKI6295.okim6295_update);
|
okistream = new sound_stream(1047600 / 132, 0, 1, OKI6295.okim6295_update);
|
||||||
@ -200,7 +210,8 @@ namespace MAME.Core
|
|||||||
case "vbowl":
|
case "vbowl":
|
||||||
case "vbowlj":
|
case "vbowlj":
|
||||||
sound_update = sound_updateIGS011_vbowl;
|
sound_update = sound_updateIGS011_vbowl;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
ICS2115.ics2115_start();
|
ICS2115.ics2115_start();
|
||||||
ics2115stream = new sound_stream(33075, 0, 2, ICS2115.ics2115_update);
|
ics2115stream = new sound_stream(33075, 0, 2, ICS2115.ics2115_update);
|
||||||
mixerstream = new sound_stream(48000, 2, 0, null);
|
mixerstream = new sound_stream(48000, 2, 0, null);
|
||||||
@ -211,7 +222,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[3];
|
latched_value = new ushort[3];
|
||||||
utempdata = new ushort[3];
|
utempdata = new ushort[3];
|
||||||
sound_update = sound_updatePGM;
|
sound_update = sound_updatePGM;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
ICS2115.ics2115_start();
|
ICS2115.ics2115_start();
|
||||||
ics2115stream = new sound_stream(33075, 0, 2, ICS2115.ics2115_update);
|
ics2115stream = new sound_stream(33075, 0, 2, ICS2115.ics2115_update);
|
||||||
mixerstream = new sound_stream(48000, 2, 0, null);
|
mixerstream = new sound_stream(48000, 2, 0, null);
|
||||||
@ -220,7 +232,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[1];
|
latched_value = new ushort[1];
|
||||||
utempdata = new ushort[1];
|
utempdata = new ushort[1];
|
||||||
sound_update = sound_updateM72;
|
sound_update = sound_updateM72;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2151.ym2151_init(3579545);
|
YM2151.ym2151_init(3579545);
|
||||||
DAC.dac_start();
|
DAC.dac_start();
|
||||||
ym2151stream = new sound_stream(55930, 0, 2, YM2151.ym2151_update_one);
|
ym2151stream = new sound_stream(55930, 0, 2, YM2151.ym2151_update_one);
|
||||||
@ -231,7 +244,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[1];
|
latched_value = new ushort[1];
|
||||||
utempdata = new ushort[1];
|
utempdata = new ushort[1];
|
||||||
sound_update = sound_updateM92;
|
sound_update = sound_updateM92;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2151.ym2151_init(3579545);
|
YM2151.ym2151_init(3579545);
|
||||||
Iremga20.iremga20_start();
|
Iremga20.iremga20_start();
|
||||||
ym2151stream = new sound_stream(55930, 0, 2, YM2151.ym2151_update_one);
|
ym2151stream = new sound_stream(55930, 0, 2, YM2151.ym2151_update_one);
|
||||||
@ -248,7 +262,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[2];
|
latched_value = new ushort[2];
|
||||||
utempdata = new ushort[2];
|
utempdata = new ushort[2];
|
||||||
sound_update = sound_updateTaito_tokio;
|
sound_update = sound_updateTaito_tokio;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2203.ym2203_start(0, 3000000);
|
YM2203.ym2203_start(0, 3000000);
|
||||||
mixerstream = new sound_stream(48000, 4, 0, null);
|
mixerstream = new sound_stream(48000, 4, 0, null);
|
||||||
break;
|
break;
|
||||||
@ -273,7 +288,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[2];
|
latched_value = new ushort[2];
|
||||||
utempdata = new ushort[2];
|
utempdata = new ushort[2];
|
||||||
sound_update = sound_updateTaito_bublbobl;
|
sound_update = sound_updateTaito_bublbobl;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2203.ym2203_start(0, 3000000);
|
YM2203.ym2203_start(0, 3000000);
|
||||||
YM3812.ym3526_start(3000000);
|
YM3812.ym3526_start(3000000);
|
||||||
ym3526stream = new sound_stream(41666, 0, 1, FMOpl.ym3526_update_one);
|
ym3526stream = new sound_stream(41666, 0, 1, FMOpl.ym3526_update_one);
|
||||||
@ -288,7 +304,8 @@ namespace MAME.Core
|
|||||||
latched_value = new ushort[1];
|
latched_value = new ushort[1];
|
||||||
utempdata = new ushort[1];
|
utempdata = new ushort[1];
|
||||||
sound_update = sound_updateTaito_opwolf;
|
sound_update = sound_updateTaito_opwolf;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
YM2151.ym2151_init(4000000);
|
YM2151.ym2151_init(4000000);
|
||||||
ym2151stream = new sound_stream(62500, 0, 2, YM2151.ym2151_update_one);
|
ym2151stream = new sound_stream(62500, 0, 2, YM2151.ym2151_update_one);
|
||||||
MSM5205.msm5205_start(0, 384000, Taito.opwolf_msm5205_vck, 5);
|
MSM5205.msm5205_start(0, 384000, Taito.opwolf_msm5205_vck, 5);
|
||||||
@ -315,7 +332,8 @@ namespace MAME.Core
|
|||||||
AY8910.AA8910[0].stream.gain = 0x100;
|
AY8910.AA8910[0].stream.gain = 0x100;
|
||||||
ym2610stream.gain = 0x100;
|
ym2610stream.gain = 0x100;
|
||||||
sound_update = sound_updateTaitoB;
|
sound_update = sound_updateTaitoB;
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
mixerstream = new sound_stream(48000, 3, 0, null);
|
mixerstream = new sound_stream(48000, 3, 0, null);
|
||||||
break;
|
break;
|
||||||
case "Konami 68000":
|
case "Konami 68000":
|
||||||
@ -441,7 +459,8 @@ namespace MAME.Core
|
|||||||
mixerstream = new sound_stream(48000, 2, 0, null);
|
mixerstream = new sound_stream(48000, 2, 0, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
break;
|
break;
|
||||||
case "Capcom":
|
case "Capcom":
|
||||||
latched_value = new ushort[1];
|
latched_value = new ushort[1];
|
||||||
@ -480,7 +499,8 @@ namespace MAME.Core
|
|||||||
mixerstream = new sound_stream(48000, 4, 0, null);
|
mixerstream = new sound_stream(48000, 4, 0, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
//sound_update_timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref sound_update_timer, EmuTimer.TIME_ACT.Sound_sound_update, false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
EmuTimer.timer_adjust_periodic(sound_update_timer, update_frequency, update_frequency);
|
EmuTimer.timer_adjust_periodic(sound_update_timer, update_frequency, update_frequency);
|
||||||
|
|||||||
@ -303,7 +303,8 @@ namespace MAME.Core
|
|||||||
chip.rombase = 0;
|
chip.rombase = 0;
|
||||||
if (updrom == null)
|
if (updrom == null)
|
||||||
{
|
{
|
||||||
chip.timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Upd7759_upd7759_slave_update, false);
|
//chip.timer = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.Upd7759_upd7759_slave_update, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref chip.timer, EmuTimer.TIME_ACT.Upd7759_upd7759_slave_update, false);
|
||||||
}
|
}
|
||||||
chip.reset = 1;
|
chip.reset = 1;
|
||||||
chip.start = 1;
|
chip.start = 1;
|
||||||
|
|||||||
@ -934,8 +934,10 @@ namespace MAME.Core
|
|||||||
PSG.eg_timer_add = (uint)(0x10000 * (clock / 64.0) / PSG.sampfreq);
|
PSG.eg_timer_add = (uint)(0x10000 * (clock / 64.0) / PSG.sampfreq);
|
||||||
PSG.eg_timer_overflow = 0x30000;
|
PSG.eg_timer_overflow = 0x30000;
|
||||||
/* this must be done _before_ a call to ym2151_reset_chip() */
|
/* this must be done _before_ a call to ym2151_reset_chip() */
|
||||||
PSG.timer_A = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2151_timer_callback_a, false);
|
//PSG.timer_A = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2151_timer_callback_a, false);
|
||||||
PSG.timer_B = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2151_timer_callback_b, false);
|
//PSG.timer_B = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2151_timer_callback_b, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref PSG.timer_A ,EmuTimer.TIME_ACT.YM2151_timer_callback_a, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref PSG.timer_B ,EmuTimer.TIME_ACT.YM2151_timer_callback_b, false);
|
||||||
ym2151_reset_chip();
|
ym2151_reset_chip();
|
||||||
switch (Machine.sBoard)
|
switch (Machine.sBoard)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -143,13 +143,17 @@ namespace MAME.Core
|
|||||||
FF2203[sndindex].timer = new EmuTimer.emu_timer[2];
|
FF2203[sndindex].timer = new EmuTimer.emu_timer[2];
|
||||||
if (sndindex == 0)
|
if (sndindex == 0)
|
||||||
{
|
{
|
||||||
FF2203[sndindex].timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2203_timer_callback_2203_0_0, false);
|
//FF2203[sndindex].timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2203_timer_callback_2203_0_0, false);
|
||||||
FF2203[sndindex].timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2203_timer_callback_2203_0_1, false);
|
//FF2203[sndindex].timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2203_timer_callback_2203_0_1, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref FF2203[sndindex].timer[0],EmuTimer.TIME_ACT.YM2203_timer_callback_2203_0_0, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref FF2203[sndindex].timer[1],EmuTimer.TIME_ACT.YM2203_timer_callback_2203_0_1, false);
|
||||||
}
|
}
|
||||||
else if (sndindex == 1)
|
else if (sndindex == 1)
|
||||||
{
|
{
|
||||||
FF2203[sndindex].timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2203_timer_callback_2203_1_0, false);
|
//FF2203[sndindex].timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2203_timer_callback_2203_1_0, false);
|
||||||
FF2203[sndindex].timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2203_timer_callback_2203_1_1, false);
|
//FF2203[sndindex].timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2203_timer_callback_2203_1_1, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref FF2203[sndindex].timer[0] ,EmuTimer.TIME_ACT.YM2203_timer_callback_2203_1_0, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref FF2203[sndindex].timer[1] ,EmuTimer.TIME_ACT.YM2203_timer_callback_2203_1_1, false);
|
||||||
}
|
}
|
||||||
FF2203[sndindex].stream = new sound_stream(rate, 0, 1, FF2203[sndindex].ym2203_update_one);
|
FF2203[sndindex].stream = new sound_stream(rate, 0, 1, FF2203[sndindex].ym2203_update_one);
|
||||||
ym2203_init(sndindex, clock, rate);
|
ym2203_init(sndindex, clock, rate);
|
||||||
|
|||||||
@ -100,8 +100,10 @@ namespace MAME.Core
|
|||||||
int rate = clock / 72;
|
int rate = clock / 72;
|
||||||
AY8910.ay8910_start_ym(17, 0, clock, generic_ay8910);
|
AY8910.ay8910_start_ym(17, 0, clock, generic_ay8910);
|
||||||
timer = new EmuTimer.emu_timer[2];
|
timer = new EmuTimer.emu_timer[2];
|
||||||
timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2610_F2610_timer_callback_0, false);
|
//timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2610_F2610_timer_callback_0, false);
|
||||||
timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2610_F2610_timer_callback_1, false);
|
//timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM2610_F2610_timer_callback_1, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[0], EmuTimer.TIME_ACT.YM2610_F2610_timer_callback_0, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[1], EmuTimer.TIME_ACT.YM2610_F2610_timer_callback_1, false);
|
||||||
ym2610_init(clock, rate);
|
ym2610_init(clock, rate);
|
||||||
}
|
}
|
||||||
public static void ym2610_init(int clock, int rate)
|
public static void ym2610_init(int clock, int rate)
|
||||||
|
|||||||
@ -74,8 +74,10 @@ namespace MAME.Core
|
|||||||
FMOpl.ym3812_set_timer_handler(TimerHandler_3812);
|
FMOpl.ym3812_set_timer_handler(TimerHandler_3812);
|
||||||
FMOpl.ym3812_set_irq_handler(IRQHandler_3812);
|
FMOpl.ym3812_set_irq_handler(IRQHandler_3812);
|
||||||
FMOpl.ym3812_set_update_handler(_stream_update_3812);
|
FMOpl.ym3812_set_update_handler(_stream_update_3812);
|
||||||
timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM3812_timer_callback_3812_0, false);
|
//timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM3812_timer_callback_3812_0, false);
|
||||||
timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM3812_timer_callback_3812_1, false);
|
//timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM3812_timer_callback_3812_1, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[0], EmuTimer.TIME_ACT.YM3812_timer_callback_3812_0, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[1], EmuTimer.TIME_ACT.YM3812_timer_callback_3812_1, false);
|
||||||
}
|
}
|
||||||
public static void ym3812_control_port_0_w(byte data)
|
public static void ym3812_control_port_0_w(byte data)
|
||||||
{
|
{
|
||||||
@ -233,8 +235,10 @@ namespace MAME.Core
|
|||||||
FMOpl.ym3526_set_timer_handler(TimerHandler_3526);
|
FMOpl.ym3526_set_timer_handler(TimerHandler_3526);
|
||||||
FMOpl.ym3526_set_irq_handler(IRQHandler_3526);
|
FMOpl.ym3526_set_irq_handler(IRQHandler_3526);
|
||||||
FMOpl.ym3526_set_update_handler(_stream_update_3526);
|
FMOpl.ym3526_set_update_handler(_stream_update_3526);
|
||||||
timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM3812_timer_callback_3526_0, false);
|
//timer[0] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM3812_timer_callback_3526_0, false);
|
||||||
timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM3812_timer_callback_3526_1, false);
|
//timer[1] = EmuTimer.timer_alloc_common(EmuTimer.TIME_ACT.YM3812_timer_callback_3526_1, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[0], EmuTimer.TIME_ACT.YM3812_timer_callback_3526_0, false);
|
||||||
|
EmuTimer.timer_alloc_common(ref timer[1], EmuTimer.TIME_ACT.YM3812_timer_callback_3526_1, false);
|
||||||
}
|
}
|
||||||
public static void ym3526_control_port_0_w(byte data)
|
public static void ym3526_control_port_0_w(byte data)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user