mirror of
https://github.com/holub/mame
synced 2025-05-07 06:44:51 +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, sci1->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_1->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, sci0->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_1->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)
|
||||
{
|
||||
if(!channel_active)
|
||||
if(!channel_active) {
|
||||
event_time = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
bool update_cpu = cur_time == 0;
|
||||
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)
|
||||
event_delay = new_delay;
|
||||
}
|
||||
|
||||
if(event_delay != 0xffffffff)
|
||||
event_time = ((((cur_time + (1ULL << clock_divider) - phase) >> clock_divider) + event_delay - 1) << clock_divider) + phase;
|
||||
else
|
||||
|
@ -290,7 +290,7 @@ void h8_timer8_channel_device::recalc_event(UINT64 cur_time)
|
||||
}
|
||||
|
||||
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
|
||||
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, sci1->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_1->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, sci1->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_1->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, sci1->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_1->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, sci1->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_1->internal_update(current_time));
|
||||
add_event(event_time, timer16_2->internal_update(current_time));
|
||||
|
Loading…
Reference in New Issue
Block a user