Identify more bit flags (#1153)

This commit is contained in:
Sylvie
2024-11-29 19:29:30 -05:00
committed by GitHub
parent 8894e29da2
commit 644bd42fb0
78 changed files with 539 additions and 472 deletions

View File

@@ -5,7 +5,7 @@ StopRTC: ; unreferenced
ld a, RTC_DH
ld [MBC3SRamBank], a
ld a, [MBC3RTC]
set 6, a ; halt
set RTC_DH_HALT, a
ld [MBC3RTC], a
call CloseSRAM
ret
@@ -17,7 +17,7 @@ StartRTC:
ld a, RTC_DH
ld [MBC3SRamBank], a
ld a, [MBC3RTC]
res 6, a ; halt
res RTC_DH_HALT, a
ld [MBC3RTC], a
call CloseSRAM
ret
@@ -80,7 +80,7 @@ SaveRTC:
ld hl, MBC3RTC
ld a, RTC_DH
ld [MBC3SRamBank], a
res 7, [hl]
res RTC_DH_OVERFLOW, [hl]
ld a, BANK(sRTCStatusFlags)
ld [MBC3SRamBank], a
xor a
@@ -93,9 +93,7 @@ StartClock::
call _FixDays
call FixDays
jr nc, .skip_set
; bit 5: Day count exceeds 139
; bit 6: Day count exceeds 255
call RecordRTCStatus ; set flag on sRTCStatusFlags
call RecordRTCStatus
.skip_set
call StartRTC
@@ -103,27 +101,26 @@ StartClock::
_FixDays:
ld hl, hRTCDayHi
bit 7, [hl]
jr nz, .set_bit_7
bit 6, [hl]
jr nz, .set_bit_7
bit RTC_DH_OVERFLOW, [hl]
jr nz, .reset_rtc
bit RTC_DH_HALT, [hl]
jr nz, .reset_rtc
xor a
ret
.set_bit_7
; Day count exceeds 16383
ld a, %10000000
call RecordRTCStatus ; set bit 7 on sRTCStatusFlags
.reset_rtc
ld a, RTC_RESET
call RecordRTCStatus
ret
ClockContinue:
call CheckRTCStatus
ld c, a
and %11000000 ; Day count exceeded 255 or 16383
and RTC_RESET | RTC_DAYS_EXCEED_255
jr nz, .time_overflow
ld a, c
and %00100000 ; Day count exceeded 139
and RTC_DAYS_EXCEED_139
jr z, .dont_update
call UpdateTime