summaryrefslogtreecommitdiff
path: root/engine/rtc.asm
diff options
context:
space:
mode:
authormid-kid <esteve.varela@gmail.com>2018-03-14 13:28:36 +0100
committermid-kid <esteve.varela@gmail.com>2018-03-14 13:28:36 +0100
commit97c511cd2f271252cbc9e9746668081422231ca5 (patch)
tree35ef1cb72e871ef34e2b0011e514edae2b9cbcb7 /engine/rtc.asm
parentbaa0dc5a963a79843b37888bcfe1d2dfe833ade9 (diff)
Organize the engine/ directory, take 2
Renamed `game` to `games` and `menu` to `menus`. Moved some functions from `engine/routines/` to their fitting subdirectories. Made two new subdirectories: * engine/rtc: Contains all RTC-related things. Menus, hardware, misc functions. * engine/items: Contains all item-related things. Pack, item effects, other item handlers.
Diffstat (limited to 'engine/rtc.asm')
-rwxr-xr-xengine/rtc.asm209
1 files changed, 0 insertions, 209 deletions
diff --git a/engine/rtc.asm b/engine/rtc.asm
deleted file mode 100755
index 37e24c1ed..000000000
--- a/engine/rtc.asm
+++ /dev/null
@@ -1,209 +0,0 @@
-Unreferenced_StopRTC:
- ld a, SRAM_ENABLE
- ld [MBC3SRamEnable], a
- call LatchClock
- ld a, RTC_DH
- ld [MBC3SRamBank], a
- ld a, [MBC3RTC]
- set 6, a ; halt
- ld [MBC3RTC], a
- call CloseSRAM
- ret
-; 14019
-
-StartRTC: ; 14019
- ld a, SRAM_ENABLE
- ld [MBC3SRamEnable], a
- call LatchClock
- ld a, RTC_DH
- ld [MBC3SRamBank], a
- ld a, [MBC3RTC]
- res 6, a ; halt
- ld [MBC3RTC], a
- call CloseSRAM
- ret
-; 14032
-
-GetTimeOfDay:: ; 14032
-; get time of day based on the current hour
- ld a, [hHours] ; hour
- ld hl, TimesOfDay
-
-.check
-; if we're within the given time period,
-; get the corresponding time of day
- cp [hl]
- jr c, .match
-; else, get the next entry
- inc hl
- inc hl
-; try again
- jr .check
-
-.match
-; get time of day
- inc hl
- ld a, [hl]
- ld [wTimeOfDay], a
- ret
-; 14044
-
-TimesOfDay: ; 14044
-; hours for the time of day
-; 0400-0959 morn | 1000-1759 day | 1800-0359 nite
- db MORN_HOUR, NITE_F
- db DAY_HOUR, MORN_F
- db NITE_HOUR, DAY_F
- db MAX_HOUR, NITE_F
- db -1, MORN_F
-; 1404e
-
-Unreferenced_1404e:
- db 20, NITE_F
- db 40, MORN_F
- db 60, DAY_F
- db -1, MORN_F
-; 14056
-
-StageRTCTimeForSave: ; 14056
- call UpdateTime
- ld hl, wRTC
- ld a, [wCurDay]
- ld [hli], a
- ld a, [hHours]
- ld [hli], a
- ld a, [hMinutes]
- ld [hli], a
- ld a, [hSeconds]
- ld [hli], a
- ret
-; 1406a
-
-SaveRTC: ; 1406a
- ld a, $a
- ld [MBC3SRamEnable], a
- call LatchClock
- ld hl, MBC3RTC
- ld a, $c
- ld [MBC3SRamBank], a
- res 7, [hl]
- ld a, BANK(sRTCStatusFlags)
- ld [MBC3SRamBank], a
- xor a
- ld [sRTCStatusFlags], a
- call CloseSRAM
- ret
-; 14089
-
-StartClock:: ; 14089
- call GetClock
- call Function1409b
- call FixDays
- jr nc, .skip_set
- ; bit 5: Day count exceeds 139
- ; bit 6: Day count exceeds 255
- call RecordRTCStatus ; set flag on sRTCStatusFlags
-
-.skip_set
- call StartRTC
- ret
-; 1409b
-
-Function1409b: ; 1409b
- ld hl, hRTCDayHi
- bit 7, [hl]
- jr nz, .set_bit_7
- bit 6, [hl]
- jr nz, .set_bit_7
- xor a
- ret
-
-.set_bit_7
- ; Day count exceeds 16383
- ld a, %10000000
- call RecordRTCStatus ; set bit 7 on sRTCStatusFlags
- ret
-; 140ae
-
-Function140ae: ; 140ae
- call CheckRTCStatus
- ld c, a
- and %11000000 ; Day count exceeded 255 or 16383
- jr nz, .time_overflow
-
- ld a, c
- and %00100000 ; Day count exceeded 139
- jr z, .dont_update
-
- call UpdateTime
- ld a, [wRTC + 0]
- ld b, a
- ld a, [wCurDay]
- cp b
- jr c, .dont_update
-
-.time_overflow
- farcall ClearDailyTimers
- farcall Function170923
-; mobile
- ld a, 5 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
- call GetSRAMBank
- ld a, [$aa8c] ; address of MBC30 bank
- inc a
- ld [$aa8c], a ; address of MBC30 bank
- ld a, [$b2fa] ; address of MBC30 bank
- inc a
- ld [$b2fa], a ; address of MBC30 bank
- call CloseSRAM
- ret
-
-.dont_update
- xor a
- ret
-; 140ed
-
-_InitTime:: ; 140ed
- call GetClock
- call FixDays
- ld hl, hRTCSeconds
- ld de, wStartSecond
-
- ld a, [wStringBuffer2 + 3]
- sub [hl]
- dec hl
- jr nc, .okay_secs
- add 60
-.okay_secs
- ld [de], a
- dec de
-
- ld a, [wStringBuffer2 + 2]
- sbc [hl]
- dec hl
- jr nc, .okay_mins
- add 60
-.okay_mins
- ld [de], a
- dec de
-
- ld a, [wStringBuffer2 + 1]
- sbc [hl]
- dec hl
- jr nc, .okay_hrs
- add 24
-.okay_hrs
- ld [de], a
- dec de
-
- ld a, [wStringBuffer2]
- sbc [hl]
- dec hl
- jr nc, .okay_days
- add 140
- ld c, 7
- call SimpleDivide
-
-.okay_days
- ld [de], a
- ret
-; 1412a