INCLUDE "game.inc" INCLUDE "hardware.inc" INCLUDE "util.inc" SECTION "Header", ROM0[$100] _entry: di jp start rept $150 - _entry db 0 endr SECTION "Game State", WRAM0 frame:: db state:: db SECTION "VBlank", ROM0[$40] handle_vblank: reti SECTION "Code", ROM0 start: ; init/disable lcd ld hl, rLCDC res 7, [hl] res 2, [hl] ; enable vblank ld hl, rIE ld [hl], IEF_VBLANK call OAM_Init call Keys_Init ; set palette ld a, %11100100 ld hl, rOBP0 ld [hl], a ld hl, rBGP ld [hl], a ld a, GAME_STATEF_TITLE ld [state], a .loop: ld a, [state] cp GAME_STATEF_TITLE jr nz, .check_game_state call Title_Start jr .loop ; only two states atm, no need to check anything yet .check_game_state: call Game_Start jr .loop