mcs51.c - Update the timers sequentially for each cycle. Fixes sound CPU serial communications in the eolith.c games.

This commit is contained in:
Phil Bennett 2012-06-23 19:41:04 +00:00
parent ab8203e8e9
commit 5a91ae55da

View File

@ -1203,13 +1203,15 @@ INLINE void update_timer_t2(mcs51_state_t *mcs51_state, int cycles)
INLINE void update_timers(mcs51_state_t *mcs51_state, int cycles)
{
/* Update Timer 0 */
update_timer_t0(mcs51_state, cycles);
update_timer_t1(mcs51_state, cycles);
if (mcs51_state->features & FEATURE_I8052)
while (cycles--)
{
update_timer_t2(mcs51_state, cycles);
update_timer_t0(mcs51_state, 1);
update_timer_t1(mcs51_state, 1);
if (mcs51_state->features & FEATURE_I8052)
{
update_timer_t2(mcs51_state, 1);
}
}
}