pokegold/engine/rtc/print_hours_mins.asm
Rangi d2c9e2d74f
Some checks are pending
CI / build (push) Waiting to run
Use features of RGBDS 1.0.0 (#138)
2025-11-12 15:44:00 -05:00

79 lines
1.1 KiB
NASM

PrintFiveDigitNumber: ; unreferenced
; Debug function?
; Input: bc = value, de = destination
ld a, b
ld b, c
ld c, a
push bc ; de points to this on the stack for PrintNum
push de
ld hl, sp+2
ld d, h
ld e, l
pop hl
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
pop bc
ret
PrintHoursMins:
; Hours in b, minutes in c
ld a, b
cp 12
push af
jr c, .AM
jr z, .PM
sub 12
jr .PM
.AM:
or a
jr nz, .PM
ld a, 12
.PM:
ld b, a
; Crazy stuff happening with the stack
push bc
ld hl, sp+1
push de
push hl
pop de
pop hl
ld [hl], ' '
lb bc, 1, 2
call PrintNum
ld [hl], ':'
inc hl
ld d, h
ld e, l
ld hl, sp+0
push de
push hl
pop de
pop hl
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
pop bc
ld de, String_AM
pop af
jr c, .place_am_pm
ld de, String_PM
.place_am_pm
inc hl
call PlaceString
ret
String_AM: db "AM@"
String_PM: db "PM@"
UpdateTimePredef::
call UpdateTime
ld hl, wDSTBackupDay
ld a, [wCurDay]
ld [hli], a ; wDSTBackupDay
ldh a, [hHours]
ld [hli], a ; wDSTBackupHours
ldh a, [hMinutes]
ld [hli], a ; wDSTBackupMinutes
ldh a, [hSeconds]
ld [hli], a ; wDSTBackupSeconds
ret