;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; File Name     : wldBckHd.asm
; Purpose       : Handles the following application specific functions:
;                   - application initialization
;                   - resource refresh
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;DO NOT MODIFY THE FOLLOWING SUBROUTINE DEFINITION;;;;;;;;;;;;;;;;;

                IF @DEF('SUBROUTINE')
                    UNDEF SUBROUTINE
                ENDIF
                DEFINE  SUBROUTINE      "'wldBckHd'"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Module Name : wldBackgroundHandler
; Description : Handles application initialization and refresh resource handlers.
; Assumptions : COREInitializationASDAddress is already set by kernel.
;               COREInitializationADDAddress is already set by kernel.
; Input(s)    : None
; Output(s)   : None
;               ( Destroyed: All registers )
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

                GLOBAL  wldBackgroundHandler

wldBackgroundHandler:

                ; Load the event to be process to AReg.
                ld      A, [COREBackgroundEvent]

                ; Check if INIT event.
                cp      A, #COREEVENT_INIT
                jr      NZ, wldBackgroundProcessExit

wldBackgroundInitEvent:

                ;clear the current record index pointer
                ld      A, #0
                ld      IX, [COREBackgroundASDAddress]
                ld      [IX + WLDCURRENTCITYINDEXOFFSET+0], A
                ld      [IX + WLDCURRENTCITYINDEXOFFSET+1], A

				; setup the timezone id (must be removed in final code)
;				ld		A, #0D4H
;				ld		[TODTZ1ID], A
;				ld		[TODTZ2ID], A
;				ld		[TODTZ3ID], A


wldBackgroundProcessExit:

                ret
