mirror of
https://github.com/pret/pokegold-spaceworld.git
synced 2026-08-09 03:34:37 -05:00
Addresses of sections will now be added to the linkerscript via `org`, and the section name will be the path/to/file. If there is more than one section in the file, then add a @SectionName after the path/to/file to describe the section.
138 lines
1.9 KiB
NASM
138 lines
1.9 KiB
NASM
include "constants.asm"
|
|
|
|
SECTION "home/time.asm", ROM0
|
|
|
|
LatchClock: ; 42b (0:042b)
|
|
ld a, 0
|
|
ld [MBC3LatchClock], a
|
|
ld a, 1
|
|
ld [MBC3LatchClock], a
|
|
ret
|
|
|
|
UpdateTime:: ; 436 (0:0436)
|
|
ldh a, [hRTCStatusFlags]
|
|
bit 0, a
|
|
ret nz
|
|
ld a, SRAM_ENABLE
|
|
ld [MBC3SRamEnable], a
|
|
call LatchClock
|
|
ld a, RTC_S
|
|
ld [MBC3SRamBank], a
|
|
ld a, [MBC3RTC]
|
|
and $7f
|
|
ldh [hRTCSeconds], a
|
|
ld a, RTC_M
|
|
ld [MBC3SRamBank], a
|
|
ld a, [MBC3RTC]
|
|
and $7f
|
|
ldh [hRTCMinutes], a
|
|
ld a, RTC_H
|
|
ld [MBC3SRamBank], a
|
|
ld a, [MBC3RTC]
|
|
and $1f
|
|
ldh [hRTCHours], a
|
|
call CloseSRAM
|
|
ld a, [wDebugFlags]
|
|
bit DEBUG_FIELD_F, a
|
|
jr z, .asm_0478
|
|
ld a, [wd153]
|
|
bit 7, a
|
|
jr nz, .asm_048a
|
|
.asm_0478
|
|
ldh a, [hRTCHours]
|
|
ld b, a
|
|
ld hl, .Data_049c
|
|
.asm_047e
|
|
ld a, [hli]
|
|
cp b
|
|
jr nc, .asm_0485
|
|
inc hl
|
|
jr .asm_047e
|
|
|
|
.asm_0485
|
|
ld a, [hl]
|
|
ld [wTimeOfDay], a
|
|
ret
|
|
|
|
.asm_048a
|
|
ldh a, [hRTCSeconds]
|
|
ld b, a
|
|
ld hl, .Data_04a4
|
|
.asm_0490
|
|
ld a, [hli]
|
|
cp b
|
|
jr nc, .asm_0497
|
|
inc hl
|
|
jr .asm_0490
|
|
|
|
.asm_0497
|
|
ld a, [hl]
|
|
ld [wTimeOfDay], a
|
|
ret
|
|
|
|
.Data_049c:
|
|
db $06, $01
|
|
db $09, $03
|
|
db $0f, $00
|
|
db $18, $01
|
|
|
|
.Data_04a4:
|
|
db $1e, $00
|
|
db $23, $01
|
|
db $32, $02
|
|
db $3b, $03
|
|
|
|
Function04ac::
|
|
ld hl, hRTCStatusFlags
|
|
set 0, [hl]
|
|
call Function04ea
|
|
ld a, SRAM_ENABLE
|
|
ld [MBC3SRamEnable], a
|
|
call LatchClock
|
|
|
|
ld a, RTC_S
|
|
ld [MBC3SRamBank], a
|
|
ld a, 0
|
|
ld [MBC3RTC], a
|
|
|
|
ld a, RTC_M
|
|
ld [MBC3SRamBank], a
|
|
ld a, [wStartMinute]
|
|
ld [MBC3RTC], a
|
|
|
|
ld a, RTC_H
|
|
ld [MBC3SRamBank], a
|
|
ld a, [wStartHour]
|
|
ld [MBC3RTC], a
|
|
|
|
ld a, [wStartDay]
|
|
ldh [hRTCDays], a
|
|
|
|
call CloseSRAM
|
|
ld hl, hRTCStatusFlags
|
|
res 0, [hl]
|
|
ret
|
|
|
|
Function04ea:: ; 4ea (0:04ea)
|
|
ld a, SRAM_ENABLE
|
|
ld [MBC3SRamEnable], a
|
|
call LatchClock
|
|
ld a, RTC_DH
|
|
ld [MBC3SRamBank], a
|
|
ld a, [MBC3RTC]
|
|
set 6, a
|
|
ld [MBC3RTC], a
|
|
call CloseSRAM
|
|
ret
|
|
|
|
Function0502:: ; 0502
|
|
ld a, SRAM_ENABLE
|
|
ld [MBC3SRamEnable], a
|
|
call LatchClock
|
|
ld a, RTC_DH
|
|
ld [MBC3SRamBank], a
|
|
ld a, [MBC3RTC]
|
|
res 6, a
|
|
ld [MBC3RTC], a
|
|
call CloseSRAM
|
|
ret |