From dc85dccd06aa02b5fa77477950a6c6561a8ed74b Mon Sep 17 00:00:00 2001 From: d0k3 Date: Thu, 6 Jul 2017 00:59:21 +0200 Subject: [PATCH] Fix timer stops on DS cart initialization --- source/common/timer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/common/timer.c b/source/common/timer.c index 5f0b53a..854aaa3 100644 --- a/source/common/timer.c +++ b/source/common/timer.c @@ -2,8 +2,8 @@ u64 timer_start( void ) { static bool timer_init = true; - if (timer_init) { - // reset / deactivate timers + if (timer_init || !(*TIMER_CNT0 & TIMER_ACTIVE)) { + // deactivate, then reset timers *TIMER_CNT0 = 0; *TIMER_CNT1 = *TIMER_CNT2 = *TIMER_CNT3 = TIMER_COUNT_UP; *TIMER_VAL0 = *TIMER_VAL1 = *TIMER_VAL2 = *TIMER_VAL3 = 0;