Add RTC_DAY_CYCLE constant for the 140-day RTC wrap (#1267)

This commit is contained in:
adrianrfreedman
2026-09-29 16:46:50 +03:00
committed by GitHub
parent e058e4f50b
commit 4ddd60433d
4 changed files with 11 additions and 8 deletions

View File

@@ -29,6 +29,9 @@ DEF SAVE_CHECK_VALUE_2 EQU 127
; RTC halted check value
DEF RTC_HALT_VALUE EQU $1234
; the RTC day count wraps after 20 weeks, preserving the day of the week
DEF RTC_DAY_CYCLE EQU 20 * 7
; time of day boundaries
DEF MORN_HOUR EQU 4 ; 4 AM
DEF DAY_HOUR EQU 10 ; 10 AM

View File

@@ -1110,7 +1110,7 @@ BattleTowerAction_17:
.asm_170849
ld hl, wCurDay
ld a, 140
ld a, RTC_DAY_CYCLE
sub c
add [hl]
cp 11

View File

@@ -185,7 +185,7 @@ _InitTime::
sbc [hl]
dec hl
jr nc, .okay_days
add 140
add RTC_DAY_CYCLE
ld c, 7
call SimpleDivide

View File

@@ -82,12 +82,12 @@ FixDays::
; mod twice since bit 8 (DH) was set
ldh a, [hRTCDayLo]
.modh
sub 140
sub RTC_DAY_CYCLE
jr nc, .modh
.modl
sub 140
sub RTC_DAY_CYCLE
jr nc, .modl
add 140
add RTC_DAY_CYCLE
; update dl
ldh [hRTCDayLo], a
@@ -99,14 +99,14 @@ FixDays::
.daylo
; quit if fewer than 140 days have passed
ldh a, [hRTCDayLo]
cp 140
cp RTC_DAY_CYCLE
jr c, .quit
; mod 140
.mod
sub 140
sub RTC_DAY_CYCLE
jr nc, .mod
add 140
add RTC_DAY_CYCLE
; update dl
ldh [hRTCDayLo], a