mirror of
https://github.com/holub/mame
synced 2025-05-09 07:41:50 +03:00
h8: compounded duh (nw)
This commit is contained in:
parent
f67c7598c1
commit
b4f57de540
@ -233,6 +233,10 @@ void h83006_device::internal_update(UINT64 current_time)
|
|||||||
add_event(event_time, sci0->internal_update(current_time));
|
add_event(event_time, sci0->internal_update(current_time));
|
||||||
add_event(event_time, sci1->internal_update(current_time));
|
add_event(event_time, sci1->internal_update(current_time));
|
||||||
add_event(event_time, sci2->internal_update(current_time));
|
add_event(event_time, sci2->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_0->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_1->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_2->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_3->internal_update(current_time));
|
||||||
add_event(event_time, timer16_0->internal_update(current_time));
|
add_event(event_time, timer16_0->internal_update(current_time));
|
||||||
add_event(event_time, timer16_1->internal_update(current_time));
|
add_event(event_time, timer16_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_2->internal_update(current_time));
|
add_event(event_time, timer16_2->internal_update(current_time));
|
||||||
|
@ -188,6 +188,10 @@ void h83008_device::internal_update(UINT64 current_time)
|
|||||||
add_event(event_time, adc->internal_update(current_time));
|
add_event(event_time, adc->internal_update(current_time));
|
||||||
add_event(event_time, sci0->internal_update(current_time));
|
add_event(event_time, sci0->internal_update(current_time));
|
||||||
add_event(event_time, sci1->internal_update(current_time));
|
add_event(event_time, sci1->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_0->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_1->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_2->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_3->internal_update(current_time));
|
||||||
add_event(event_time, timer16_0->internal_update(current_time));
|
add_event(event_time, timer16_0->internal_update(current_time));
|
||||||
add_event(event_time, timer16_1->internal_update(current_time));
|
add_event(event_time, timer16_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_2->internal_update(current_time));
|
add_event(event_time, timer16_2->internal_update(current_time));
|
||||||
|
@ -240,8 +240,10 @@ void h8_timer16_channel_device::update_counter(UINT64 cur_time)
|
|||||||
|
|
||||||
void h8_timer16_channel_device::recalc_event(UINT64 cur_time)
|
void h8_timer16_channel_device::recalc_event(UINT64 cur_time)
|
||||||
{
|
{
|
||||||
if(!channel_active)
|
if(!channel_active) {
|
||||||
|
event_time = 0;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
bool update_cpu = cur_time == 0;
|
bool update_cpu = cur_time == 0;
|
||||||
UINT64 old_event_time = event_time;
|
UINT64 old_event_time = event_time;
|
||||||
@ -288,6 +290,7 @@ void h8_timer16_channel_device::recalc_event(UINT64 cur_time)
|
|||||||
if(event_delay > new_delay)
|
if(event_delay > new_delay)
|
||||||
event_delay = new_delay;
|
event_delay = new_delay;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(event_delay != 0xffffffff)
|
if(event_delay != 0xffffffff)
|
||||||
event_time = ((((cur_time + (1ULL << clock_divider) - phase) >> clock_divider) + event_delay - 1) << clock_divider) + phase;
|
event_time = ((((cur_time + (1ULL << clock_divider) - phase) >> clock_divider) + event_delay - 1) << clock_divider) + phase;
|
||||||
else
|
else
|
||||||
|
@ -290,7 +290,7 @@ void h8_timer8_channel_device::recalc_event(UINT64 cur_time)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(event_delay != 0xffffffff)
|
if(event_delay != 0xffffffff)
|
||||||
event_time = ((((cur_time + clock_divider) >> clock_divider) + event_delay - 1) << clock_divider) + clock_divider/2;
|
event_time = ((((cur_time + clock_divider) / clock_divider) + event_delay - 1) * clock_divider) + clock_divider/2;
|
||||||
else
|
else
|
||||||
event_time = 0;
|
event_time = 0;
|
||||||
|
|
||||||
|
@ -312,6 +312,8 @@ void h8s2245_device::internal_update(UINT64 current_time)
|
|||||||
add_event(event_time, sci0->internal_update(current_time));
|
add_event(event_time, sci0->internal_update(current_time));
|
||||||
add_event(event_time, sci1->internal_update(current_time));
|
add_event(event_time, sci1->internal_update(current_time));
|
||||||
add_event(event_time, sci2->internal_update(current_time));
|
add_event(event_time, sci2->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_0->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_0->internal_update(current_time));
|
add_event(event_time, timer16_0->internal_update(current_time));
|
||||||
add_event(event_time, timer16_1->internal_update(current_time));
|
add_event(event_time, timer16_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_2->internal_update(current_time));
|
add_event(event_time, timer16_2->internal_update(current_time));
|
||||||
|
@ -417,6 +417,8 @@ void h8s2320_device::internal_update(UINT64 current_time)
|
|||||||
add_event(event_time, sci0->internal_update(current_time));
|
add_event(event_time, sci0->internal_update(current_time));
|
||||||
add_event(event_time, sci1->internal_update(current_time));
|
add_event(event_time, sci1->internal_update(current_time));
|
||||||
add_event(event_time, sci2->internal_update(current_time));
|
add_event(event_time, sci2->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_0->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_0->internal_update(current_time));
|
add_event(event_time, timer16_0->internal_update(current_time));
|
||||||
add_event(event_time, timer16_1->internal_update(current_time));
|
add_event(event_time, timer16_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_2->internal_update(current_time));
|
add_event(event_time, timer16_2->internal_update(current_time));
|
||||||
|
@ -389,6 +389,8 @@ void h8s2357_device::internal_update(UINT64 current_time)
|
|||||||
add_event(event_time, sci0->internal_update(current_time));
|
add_event(event_time, sci0->internal_update(current_time));
|
||||||
add_event(event_time, sci1->internal_update(current_time));
|
add_event(event_time, sci1->internal_update(current_time));
|
||||||
add_event(event_time, sci2->internal_update(current_time));
|
add_event(event_time, sci2->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_0->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_0->internal_update(current_time));
|
add_event(event_time, timer16_0->internal_update(current_time));
|
||||||
add_event(event_time, timer16_1->internal_update(current_time));
|
add_event(event_time, timer16_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_2->internal_update(current_time));
|
add_event(event_time, timer16_2->internal_update(current_time));
|
||||||
|
@ -396,6 +396,8 @@ void h8s2655_device::internal_update(UINT64 current_time)
|
|||||||
add_event(event_time, sci0->internal_update(current_time));
|
add_event(event_time, sci0->internal_update(current_time));
|
||||||
add_event(event_time, sci1->internal_update(current_time));
|
add_event(event_time, sci1->internal_update(current_time));
|
||||||
add_event(event_time, sci2->internal_update(current_time));
|
add_event(event_time, sci2->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_0->internal_update(current_time));
|
||||||
|
add_event(event_time, timer8_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_0->internal_update(current_time));
|
add_event(event_time, timer16_0->internal_update(current_time));
|
||||||
add_event(event_time, timer16_1->internal_update(current_time));
|
add_event(event_time, timer16_1->internal_update(current_time));
|
||||||
add_event(event_time, timer16_2->internal_update(current_time));
|
add_event(event_time, timer16_2->internal_update(current_time));
|
||||||
|
Loading…
Reference in New Issue
Block a user