From be76ee56a89e72c0b87a605321bb1670e86f8220 Mon Sep 17 00:00:00 2001 From: mid-kid Date: Sun, 25 Mar 2018 18:24:14 +0200 Subject: Organize the engine/ directory, director's cut Cleaned up `engine/routines`, in favor of moving files into more appropriate directories. predef-related routines are now in top-level `engine`. `rtc/delete_save_change_clock.asm` has been split into both `menus/delete_save.asm` and `rtc/reset_password.asm`. Made a new subdirectory: * engine/math: Contains all generic math-related routines. --- engine/rtc/clock_reset.asm | 254 --------------------------- engine/rtc/delete_save_change_clock.asm | 296 -------------------------------- engine/rtc/reset_password.asm | 259 ++++++++++++++++++++++++++++ engine/rtc/restart_clock.asm | 253 +++++++++++++++++++++++++++ 4 files changed, 512 insertions(+), 550 deletions(-) delete mode 100755 engine/rtc/clock_reset.asm delete mode 100755 engine/rtc/delete_save_change_clock.asm create mode 100755 engine/rtc/reset_password.asm create mode 100755 engine/rtc/restart_clock.asm (limited to 'engine/rtc') diff --git a/engine/rtc/clock_reset.asm b/engine/rtc/clock_reset.asm deleted file mode 100755 index c05129349..000000000 --- a/engine/rtc/clock_reset.asm +++ /dev/null @@ -1,254 +0,0 @@ - -ResetClock_GetWraparoundTime: ; 20000 (8:4000) - push hl - dec a - ld e, a - ld d, 0 - ld hl, .WrapAroundTimes -rept 4 - add hl, de -endr - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld b, [hl] - inc hl - ld c, [hl] - pop hl - ret -; 20015 (8:4015) - -.WrapAroundTimes: ; 20015 - dw wBuffer4 - db 7, 4 - - dw wBuffer5 - db 24, 12 - - dw wBuffer6 - db 60, 15 -; 20021 - -RestartClock: ; 20021 (8:4021) -; If we're here, we had an RTC overflow. - ld hl, .Text_ClockTimeMayBeWrong - call PrintText - ld hl, wOptions - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - call LoadStandardMenuHeader - call ClearTileMap - ld hl, .Text_SetWithControlPad - call PrintText - call .SetClock - call ExitMenu - pop bc - ld hl, wOptions - ld [hl], b - ld c, a - ret -; 20047 (8:4047) - -.Text_ClockTimeMayBeWrong: ; 0x20047 - ; The clock's time may be wrong. Please reset the time. - text_jump UnknownText_0x1c40e6 - db "@" -; 0x2004c - -.Text_SetWithControlPad: ; 0x2004c - ; Set with the Control Pad. Confirm: A Button Cancel: B Button - text_jump UnknownText_0x1c411c - db "@" -; 0x20051 - -.SetClock: ; 20051 (8:4051) - ld a, 1 - ld [wBuffer1], a ; which digit - ld [wBuffer2], a - ld a, 8 - ld [wBuffer3], a - call UpdateTime - call GetWeekday - ld [wBuffer4], a - ld a, [hHours] - ld [wBuffer5], a - ld a, [hMinutes] - ld [wBuffer6], a - -.loop - call .joy_loop - jr nc, .loop - and a - ret nz - call .PrintTime - ld hl, .Text_IsThisOK - call PrintText - call YesNoBox - jr c, .cancel - ld a, [wBuffer4] - ld [wStringBuffer2], a - ld a, [wBuffer5] - ld [wStringBuffer2 + 1], a - ld a, [wBuffer6] - ld [wStringBuffer2 + 2], a - xor a - ld [wStringBuffer2 + 3], a - call InitTime - call .PrintTime - ld hl, .Text_ClockReset - call PrintText - call WaitPressAorB_BlinkCursor - xor a - ret - -.cancel - ld a, $1 - ret -; 200b0 (8:40b0) - -.Text_IsThisOK: ; 0x200b0 - ; Is this OK? - text_jump UnknownText_0x1c415b - db "@" -; 0x200b5 - -.Text_ClockReset: ; 0x200b5 - ; The clock has been reset. - text_jump UnknownText_0x1c4168 - db "@" -; 0x200ba - -.joy_loop - call JoyTextDelay_ForcehJoyDown - ld c, a - push af - call .PrintTime - pop af - bit 0, a - jr nz, .press_A - bit 1, a - jr nz, .press_B - bit 6, a - jr nz, .pressed_up - bit 7, a - jr nz, .pressed_down - bit 5, a - jr nz, .pressed_left - bit 4, a - jr nz, .pressed_right - jr .joy_loop - -.press_A - ld a, $0 - scf - ret - -.press_B - ld a, $1 - scf - ret - -.pressed_up - ld a, [wBuffer1] - call ResetClock_GetWraparoundTime - ld a, [de] - inc a - ld [de], a - cp b - jr c, .done_scroll - ld a, $0 - ld [de], a - jr .done_scroll - -.pressed_down - ld a, [wBuffer1] - call ResetClock_GetWraparoundTime - ld a, [de] - dec a - ld [de], a - cp -1 - jr nz, .done_scroll - ld a, b - dec a - ld [de], a - jr .done_scroll - -.pressed_left - ld hl, wBuffer1 - dec [hl] - jr nz, .done_scroll - ld [hl], $3 - jr .done_scroll - -.pressed_right - ld hl, wBuffer1 - inc [hl] - ld a, [hl] - cp $4 - jr c, .done_scroll - ld [hl], $1 - -.done_scroll - xor a - ret - -.PrintTime: ; 2011f (8:411f) - hlcoord 0, 5 - ld b, 5 - ld c, 18 - call TextBox - decoord 1, 8 - ld a, [wBuffer4] - ld b, a - farcall PrintDayOfWeek - ld a, [wBuffer5] - ld b, a - ld a, [wBuffer6] - ld c, a - decoord 11, 8 - farcall PrintHoursMins - ld a, [wBuffer2] - lb de, " ", " " - call .PlaceChars - ld a, [wBuffer1] - lb de, "▲", "▼" - call .PlaceChars - ld a, [wBuffer1] - ld [wBuffer2], a - ret -; 20160 (8:4160) - -.unreferenced ; 20160 -; unused - ld a, [wBuffer3] - ld b, a - call Coord2Tile - ret -; 20168 - -.PlaceChars: ; 20168 (8:4168) - push de - call ResetClock_GetWraparoundTime - ld a, [wBuffer3] - dec a - ld b, a - call Coord2Tile - pop de - ld [hl], d - ld bc, 2 * SCREEN_WIDTH - add hl, bc - ld [hl], e - ret -; 2017c (8:417c) - -UnreferencedString_HourJP: ; 2017c -; unused - db "じ@" ; HR -; 2017e - -UnreferencedString_MinuteJP: ; 2017e -; unused - db "ふん@" ; MIN -; 20181 diff --git a/engine/rtc/delete_save_change_clock.asm b/engine/rtc/delete_save_change_clock.asm deleted file mode 100755 index 431dc6034..000000000 --- a/engine/rtc/delete_save_change_clock.asm +++ /dev/null @@ -1,296 +0,0 @@ -_ResetClock: ; 4d3b1 - farcall BlankScreen - ld b, SCGB_DIPLOMA - call GetSGBLayout - call LoadStandardFont - call LoadFontsExtra - ld de, MUSIC_MAIN_MENU - call PlayMusic - ld hl, .text_askreset - call PrintText - ld hl, .NoYes_MenuHeader - call CopyMenuHeader - call VerticalMenu - ret c - ld a, [wMenuCursorY] - cp $1 - ret z - call ClockResetPassword - jr c, .wrongpassword - ld a, BANK(sRTCStatusFlags) - call GetSRAMBank - ld a, $80 - ld [sRTCStatusFlags], a - call CloseSRAM - ld hl, .text_okay - call PrintText - ret - -.wrongpassword - ld hl, .text_wrong - call PrintText - ret - -.text_okay ; 0x4d3fe - ; Password OK. Select CONTINUE & reset settings. - text_jump UnknownText_0x1c55db - db "@" - -.text_wrong ; 0x4d403 - ; Wrong password! - text_jump UnknownText_0x1c560b - db "@" - -.text_askreset ; 0x4d408 - ; Reset the clock? - text_jump UnknownText_0x1c561c - db "@" - -.NoYes_MenuHeader: ; 0x4d40d - db 0 ; flags - menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw .NoYes_MenuData - db 1 ; default option - -.NoYes_MenuData: ; 0x4d415 - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags - db 2 ; items - db "NO@" - db "YES@" - -ClockResetPassword: ; 4d41e - call .CalculatePassword - push de - ld hl, wStringBuffer2 - ld bc, 5 - xor a - call ByteFill - ld a, $4 - ld [wStringBuffer2 + 5], a - ld hl, .pleaseenterpasswordtext - call PrintText -.loop - call .updateIDdisplay -.loop2 - call JoyTextDelay - ld a, [hJoyLast] - ld b, a - and A_BUTTON - jr nz, .confirm - ld a, b - and D_PAD - jr z, .loop2 - call .dpadinput - ld c, 3 - call DelayFrames - jr .loop - -.confirm - call .ConvertDecIDToBytes - pop de - ld a, e - cp l - jr nz, .nope - ld a, d - cp h - jr nz, .nope - and a - ret - -.nope - scf - ret - -.pleaseenterpasswordtext ; 0x4d463 - ; Please enter the password. - text_jump UnknownText_0x1c562e - db "@" - -.updateIDdisplay ; 4d468 - hlcoord 14, 15 - ld de, wStringBuffer2 - ld c, 5 -.loop3 - ld a, [de] - add "0" - ld [hli], a - inc de - dec c - jr nz, .loop3 - hlcoord 14, 16 - ld bc, 5 - ld a, " " - call ByteFill - hlcoord 14, 16 - ld a, [wStringBuffer2 + 5] - ld e, a - ld d, $0 - add hl, de - ld [hl], "▲" - ret - -.dpadinput ; 4d490 - ld a, b - and D_LEFT - jr nz, .left - ld a, b - and D_RIGHT - jr nz, .right - ld a, b - and D_UP - jr nz, .up - ld a, b - and D_DOWN - jr nz, .down - ret - -.left - ld a, [wStringBuffer2 + 5] - and a - ret z - dec a - ld [wStringBuffer2 + 5], a - ret - -.right - ld a, [wStringBuffer2 + 5] - cp $4 - ret z - inc a - ld [wStringBuffer2 + 5], a - ret - -.up - call .getcurrentdigit - ld a, [hl] - cp 9 - jr z, .wraparound_up - inc a - ld [hl], a - ret - -.wraparound_up - ld [hl], $0 - ret - -.down - call .getcurrentdigit - ld a, [hl] - and a - jr z, .wraparound_down - dec a - ld [hl], a - ret - -.wraparound_down - ld [hl], 9 - ret - -.getcurrentdigit ; 4d4d5 - ld a, [wStringBuffer2 + 5] - ld e, a - ld d, $0 - ld hl, wStringBuffer2 - add hl, de - ret - -.ConvertDecIDToBytes: ; 4d4e0 - ld hl, 0 - ld de, wStringBuffer2 + 4 - ld bc, 1 - call .ConvertToBytes - ld bc, 10 - call .ConvertToBytes - ld bc, 100 - call .ConvertToBytes - ld bc, 1000 - call .ConvertToBytes - ld bc, 10000 -.ConvertToBytes: ; 4d501 - ld a, [de] - dec de - push hl - ld hl, 0 - call AddNTimes - ld c, l - ld b, h - pop hl - add hl, bc - ret - -.CalculatePassword: ; 4d50f - ld a, BANK(sPlayerData) - call GetSRAMBank - ld de, 0 - ld hl, sPlayerData + (wPlayerID - wPlayerData) - ld c, $2 - call .ComponentFromNumber - ld hl, sPlayerData + (wPlayerName - wPlayerData) - ld c, NAME_LENGTH_JAPANESE - 1 - call .ComponentFromString - ld hl, sPlayerData + (wMoney - wPlayerData) - ld c, $3 - call .ComponentFromNumber - call CloseSRAM - ret - -.ComponentFromNumber: ; 4d533 - ld a, [hli] - add e - ld e, a - ld a, $0 - adc d - ld d, a - dec c - jr nz, .ComponentFromNumber - ret - -.ComponentFromString: ; 4d53e - ld a, [hli] - cp "@" - ret z - add e - ld e, a - ld a, $0 - adc d - ld d, a - dec c - jr nz, .ComponentFromString - ret - -_DeleteSaveData: ; 4d54c - farcall BlankScreen - ld b, SCGB_DIPLOMA - call GetSGBLayout - call LoadStandardFont - call LoadFontsExtra - ld de, MUSIC_MAIN_MENU - call PlayMusic - ld hl, .Text_ClearAllSaveData - call PrintText - ld hl, .NoYesMenuHeader - call CopyMenuHeader - call VerticalMenu - ret c - ld a, [wMenuCursorY] - cp $1 - ret z - farcall EmptyAllSRAMBanks - ret - -.Text_ClearAllSaveData: ; 0x4d580 - ; Clear all save data? - text_jump UnknownText_0x1c564a - db "@" - -.NoYesMenuHeader: ; 0x4d585 - db 0 ; flags - menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw .MenuData - db 1 ; default option - -.MenuData: ; 0x4d58d - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags - db 2 ; items - db "NO@" - db "YES@" diff --git a/engine/rtc/reset_password.asm b/engine/rtc/reset_password.asm new file mode 100755 index 000000000..fd5007ba7 --- /dev/null +++ b/engine/rtc/reset_password.asm @@ -0,0 +1,259 @@ +_ResetClock: ; 4d3b1 + farcall BlankScreen + ld b, SCGB_DIPLOMA + call GetSGBLayout + call LoadStandardFont + call LoadFontsExtra + ld de, MUSIC_MAIN_MENU + call PlayMusic + ld hl, .text_askreset + call PrintText + ld hl, .NoYes_MenuHeader + call CopyMenuHeader + call VerticalMenu + ret c + ld a, [wMenuCursorY] + cp $1 + ret z + call ClockResetPassword + jr c, .wrongpassword + ld a, BANK(sRTCStatusFlags) + call GetSRAMBank + ld a, $80 + ld [sRTCStatusFlags], a + call CloseSRAM + ld hl, .text_okay + call PrintText + ret + +.wrongpassword + ld hl, .text_wrong + call PrintText + ret + +.text_okay ; 0x4d3fe + ; Password OK. Select CONTINUE & reset settings. + text_jump UnknownText_0x1c55db + db "@" + +.text_wrong ; 0x4d403 + ; Wrong password! + text_jump UnknownText_0x1c560b + db "@" + +.text_askreset ; 0x4d408 + ; Reset the clock? + text_jump UnknownText_0x1c561c + db "@" + +.NoYes_MenuHeader: ; 0x4d40d + db 0 ; flags + menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 + dw .NoYes_MenuData + db 1 ; default option + +.NoYes_MenuData: ; 0x4d415 + db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags + db 2 ; items + db "NO@" + db "YES@" + +ClockResetPassword: ; 4d41e + call .CalculatePassword + push de + ld hl, wStringBuffer2 + ld bc, 5 + xor a + call ByteFill + ld a, $4 + ld [wStringBuffer2 + 5], a + ld hl, .pleaseenterpasswordtext + call PrintText +.loop + call .updateIDdisplay +.loop2 + call JoyTextDelay + ld a, [hJoyLast] + ld b, a + and A_BUTTON + jr nz, .confirm + ld a, b + and D_PAD + jr z, .loop2 + call .dpadinput + ld c, 3 + call DelayFrames + jr .loop + +.confirm + call .ConvertDecIDToBytes + pop de + ld a, e + cp l + jr nz, .nope + ld a, d + cp h + jr nz, .nope + and a + ret + +.nope + scf + ret + +.pleaseenterpasswordtext ; 0x4d463 + ; Please enter the password. + text_jump UnknownText_0x1c562e + db "@" + +.updateIDdisplay ; 4d468 + hlcoord 14, 15 + ld de, wStringBuffer2 + ld c, 5 +.loop3 + ld a, [de] + add "0" + ld [hli], a + inc de + dec c + jr nz, .loop3 + hlcoord 14, 16 + ld bc, 5 + ld a, " " + call ByteFill + hlcoord 14, 16 + ld a, [wStringBuffer2 + 5] + ld e, a + ld d, $0 + add hl, de + ld [hl], "▲" + ret + +.dpadinput ; 4d490 + ld a, b + and D_LEFT + jr nz, .left + ld a, b + and D_RIGHT + jr nz, .right + ld a, b + and D_UP + jr nz, .up + ld a, b + and D_DOWN + jr nz, .down + ret + +.left + ld a, [wStringBuffer2 + 5] + and a + ret z + dec a + ld [wStringBuffer2 + 5], a + ret + +.right + ld a, [wStringBuffer2 + 5] + cp $4 + ret z + inc a + ld [wStringBuffer2 + 5], a + ret + +.up + call .getcurrentdigit + ld a, [hl] + cp 9 + jr z, .wraparound_up + inc a + ld [hl], a + ret + +.wraparound_up + ld [hl], $0 + ret + +.down + call .getcurrentdigit + ld a, [hl] + and a + jr z, .wraparound_down + dec a + ld [hl], a + ret + +.wraparound_down + ld [hl], 9 + ret + +.getcurrentdigit ; 4d4d5 + ld a, [wStringBuffer2 + 5] + ld e, a + ld d, $0 + ld hl, wStringBuffer2 + add hl, de + ret + +.ConvertDecIDToBytes: ; 4d4e0 + ld hl, 0 + ld de, wStringBuffer2 + 4 + ld bc, 1 + call .ConvertToBytes + ld bc, 10 + call .ConvertToBytes + ld bc, 100 + call .ConvertToBytes + ld bc, 1000 + call .ConvertToBytes + ld bc, 10000 +.ConvertToBytes: ; 4d501 + ld a, [de] + dec de + push hl + ld hl, 0 + call AddNTimes + ld c, l + ld b, h + pop hl + add hl, bc + ret + +.CalculatePassword: ; 4d50f + ld a, BANK(sPlayerData) + call GetSRAMBank + ld de, 0 + ld hl, sPlayerData + (wPlayerID - wPlayerData) + ld c, $2 + call .ComponentFromNumber + ld hl, sPlayerData + (wPlayerName - wPlayerData) + ld c, NAME_LENGTH_JAPANESE - 1 + call .ComponentFromString + ld hl, sPlayerData + (wMoney - wPlayerData) + ld c, $3 + call .ComponentFromNumber + call CloseSRAM + ret + +.ComponentFromNumber: ; 4d533 + ld a, [hli] + add e + ld e, a + ld a, $0 + adc d + ld d, a + dec c + jr nz, .ComponentFromNumber + ret + +.ComponentFromString: ; 4d53e + ld a, [hli] + cp "@" + ret z + add e + ld e, a + ld a, $0 + adc d + ld d, a + dec c + jr nz, .ComponentFromString + ret diff --git a/engine/rtc/restart_clock.asm b/engine/rtc/restart_clock.asm new file mode 100755 index 000000000..5fbac80dd --- /dev/null +++ b/engine/rtc/restart_clock.asm @@ -0,0 +1,253 @@ +RestartClock_GetWraparoundTime: ; 20000 (8:4000) + push hl + dec a + ld e, a + ld d, 0 + ld hl, .WrapAroundTimes +rept 4 + add hl, de +endr + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld b, [hl] + inc hl + ld c, [hl] + pop hl + ret +; 20015 (8:4015) + +.WrapAroundTimes: ; 20015 + dw wBuffer4 + db 7, 4 + + dw wBuffer5 + db 24, 12 + + dw wBuffer6 + db 60, 15 +; 20021 + +RestartClock: ; 20021 (8:4021) +; If we're here, we had an RTC overflow. + ld hl, .Text_ClockTimeMayBeWrong + call PrintText + ld hl, wOptions + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + call LoadStandardMenuHeader + call ClearTileMap + ld hl, .Text_SetWithControlPad + call PrintText + call .SetClock + call ExitMenu + pop bc + ld hl, wOptions + ld [hl], b + ld c, a + ret +; 20047 (8:4047) + +.Text_ClockTimeMayBeWrong: ; 0x20047 + ; The clock's time may be wrong. Please reset the time. + text_jump UnknownText_0x1c40e6 + db "@" +; 0x2004c + +.Text_SetWithControlPad: ; 0x2004c + ; Set with the Control Pad. Confirm: A Button Cancel: B Button + text_jump UnknownText_0x1c411c + db "@" +; 0x20051 + +.SetClock: ; 20051 (8:4051) + ld a, 1 + ld [wBuffer1], a ; which digit + ld [wBuffer2], a + ld a, 8 + ld [wBuffer3], a + call UpdateTime + call GetWeekday + ld [wBuffer4], a + ld a, [hHours] + ld [wBuffer5], a + ld a, [hMinutes] + ld [wBuffer6], a + +.loop + call .joy_loop + jr nc, .loop + and a + ret nz + call .PrintTime + ld hl, .Text_IsThisOK + call PrintText + call YesNoBox + jr c, .cancel + ld a, [wBuffer4] + ld [wStringBuffer2], a + ld a, [wBuffer5] + ld [wStringBuffer2 + 1], a + ld a, [wBuffer6] + ld [wStringBuffer2 + 2], a + xor a + ld [wStringBuffer2 + 3], a + call InitTime + call .PrintTime + ld hl, .Text_ClockReset + call PrintText + call WaitPressAorB_BlinkCursor + xor a + ret + +.cancel + ld a, $1 + ret +; 200b0 (8:40b0) + +.Text_IsThisOK: ; 0x200b0 + ; Is this OK? + text_jump UnknownText_0x1c415b + db "@" +; 0x200b5 + +.Text_ClockReset: ; 0x200b5 + ; The clock has been reset. + text_jump UnknownText_0x1c4168 + db "@" +; 0x200ba + +.joy_loop + call JoyTextDelay_ForcehJoyDown + ld c, a + push af + call .PrintTime + pop af + bit 0, a + jr nz, .press_A + bit 1, a + jr nz, .press_B + bit 6, a + jr nz, .pressed_up + bit 7, a + jr nz, .pressed_down + bit 5, a + jr nz, .pressed_left + bit 4, a + jr nz, .pressed_right + jr .joy_loop + +.press_A + ld a, $0 + scf + ret + +.press_B + ld a, $1 + scf + ret + +.pressed_up + ld a, [wBuffer1] + call RestartClock_GetWraparoundTime + ld a, [de] + inc a + ld [de], a + cp b + jr c, .done_scroll + ld a, $0 + ld [de], a + jr .done_scroll + +.pressed_down + ld a, [wBuffer1] + call RestartClock_GetWraparoundTime + ld a, [de] + dec a + ld [de], a + cp -1 + jr nz, .done_scroll + ld a, b + dec a + ld [de], a + jr .done_scroll + +.pressed_left + ld hl, wBuffer1 + dec [hl] + jr nz, .done_scroll + ld [hl], $3 + jr .done_scroll + +.pressed_right + ld hl, wBuffer1 + inc [hl] + ld a, [hl] + cp $4 + jr c, .done_scroll + ld [hl], $1 + +.done_scroll + xor a + ret + +.PrintTime: ; 2011f (8:411f) + hlcoord 0, 5 + ld b, 5 + ld c, 18 + call TextBox + decoord 1, 8 + ld a, [wBuffer4] + ld b, a + farcall PrintDayOfWeek + ld a, [wBuffer5] + ld b, a + ld a, [wBuffer6] + ld c, a + decoord 11, 8 + farcall PrintHoursMins + ld a, [wBuffer2] + lb de, " ", " " + call .PlaceChars + ld a, [wBuffer1] + lb de, "▲", "▼" + call .PlaceChars + ld a, [wBuffer1] + ld [wBuffer2], a + ret +; 20160 (8:4160) + +.unreferenced ; 20160 +; unused + ld a, [wBuffer3] + ld b, a + call Coord2Tile + ret +; 20168 + +.PlaceChars: ; 20168 (8:4168) + push de + call RestartClock_GetWraparoundTime + ld a, [wBuffer3] + dec a + ld b, a + call Coord2Tile + pop de + ld [hl], d + ld bc, 2 * SCREEN_WIDTH + add hl, bc + ld [hl], e + ret +; 2017c (8:417c) + +UnreferencedString_HourJP: ; 2017c +; unused + db "じ@" ; HR +; 2017e + +UnreferencedString_MinuteJP: ; 2017e +; unused + db "ふん@" ; MIN +; 20181 -- cgit v1.2.3