25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: dev_mc146818.c,v 1.84 2006/01/17 05:55:53 debug Exp $ |
* $Id: dev_mc146818.c,v 1.86 2006/06/22 13:22:41 debug Exp $ |
29 |
* |
* |
30 |
* MC146818 real-time clock, used by many different machines types. |
* MC146818 real-time clock, used by many different machines types. |
31 |
* (DS1687 as used in some other machines is also similar to the MC146818.) |
* (DS1687 as used in some other machines is also similar to the MC146818.) |
137 |
#endif |
#endif |
138 |
|
|
139 |
if (d->interrupt_hz > 0) |
if (d->interrupt_hz > 0) |
140 |
d->interrupt_every_x_cycles = |
d->interrupt_every_x_cycles = emulated_hz / d->interrupt_hz; |
|
emulated_hz / d->interrupt_hz; |
|
141 |
else |
else |
142 |
d->interrupt_every_x_cycles = 0; |
d->interrupt_every_x_cycles = 0; |
143 |
} |
} |
159 |
if (d->cycles_left_until_interrupt < 0 || |
if (d->cycles_left_until_interrupt < 0 || |
160 |
d->cycles_left_until_interrupt >= |
d->cycles_left_until_interrupt >= |
161 |
d->interrupt_every_x_cycles) { |
d->interrupt_every_x_cycles) { |
162 |
/* debug("[ rtc interrupt (every %i cycles) ]\n", |
/* fatal("[ rtc interrupt (every %i cycles) ]\n", |
163 |
d->interrupt_every_x_cycles); */ |
d->interrupt_every_x_cycles); */ |
164 |
cpu_interrupt(cpu, d->irq_nr); |
cpu_interrupt(cpu, d->irq_nr); |
165 |
|
|
714 |
|
|
715 |
mc146818_update_time(d); |
mc146818_update_time(d); |
716 |
|
|
717 |
machine_add_tickfunction(machine, dev_mc146818_tick, d, TICK_SHIFT); |
machine_add_tickfunction(machine, dev_mc146818_tick, d, |
718 |
|
TICK_SHIFT, 0.0); |
719 |
} |
} |
720 |
|
|