.INCLUDE "definitions.gbasm" .INCLUDE "init.gbasm" .MACRODEF HBLANK_WAIT LD A, $reg_lcd_controller BIT 7, A JR Z, =$HBlank_Wait.End $HBlank_Wait.loop: LD A, $reg_lcd_status AND $03 CP $00 JR NZ, =$HBlank_Wait.loop $HBlank_Wait.End: .END .MACRODEF SET_WINDOW_LCDC_E LD A, $mem_display_flag BIT 3, A LD E, $00 JR Z, =$No_Window LD E, $60 $No_Window: .END .MACRODEF ENABLE_TOP_BAR XOR A LD $reg_viewport_x, A LD A, $57 LD $reg_viewport_y, A LD A, $lcdc_guibg_tilemap OR E LD $reg_lcd_controller, A .END .MACRODEF ENABLE_DIALOGUE .HBLANK_WAIT LD A, $98 LD $reg_viewport_x, A LD A, $b8 LD $reg_viewport_y, A LD A, $lcdc_guibg_tilemap OR E LD $reg_lcd_controller, A .END .MACRODEF DISABLE_DIALOGUE PUSH BC LD A, $mem_prepared_viewport_x LD B, A LD A, $mem_prepared_viewport_y LD C, A .HBLANK_WAIT LD A, B LD $reg_viewport_x, A LD A, C LD $reg_viewport_y, A LD A, $mem_prepared_color_palette LD $reg_bg_palette, A LD A, $lcdc_mapbg_tilemap OR E LD $reg_lcd_controller, A POP BC .END .MACRODEF ENABLE_VBLANK_INTERRUPTS LD A, $reg_interrupt_flags RES 0, A LD $reg_interrupt_flags, A LD A, $reg_interrupt_enable OR $01 LD $reg_interrupt_enable, A .END .MACRODEF RESET_INTERRUPTS LD A, $00 LD $reg_interrupt_flags, A .END .MACRODEF ENABLE_LYC_INTERRUPT LD A, low(=STAT_Entrypoint) LD ($mem_stat_jump_destination), A LD A, high(=STAT_Entrypoint) LD ($mem_stat_jump_destination+1), A .RESET_INTERRUPTS LD A, $40 LD $reg_lcd_status, A LD A, $02 LD $reg_interrupt_enable, A .END .MACRODEF DISABLE_LYC_INTERRUPT LD A, $reg_interrupt_enable RES 1, A LD $reg_interrupt_enable, A .END Entrypoint: CALL =Initialize_RNG LD A, $20 LD $mem_bunny_health, A LD A, $30 LD $mem_bunny_mana, A LD A, $01 LD $mem_floor_count, A LD A, $00 LD $mem_floor_count_bin, A LD HL, $mem_bunny_attacks LD A, $01 LD (HL+), A XOR A LD (HL+), A LD (HL+), A LD (HL+), A LD A, $01 LD $mem_number_of_attacks, A CALL =Init_DemoQuest_Event CALL =Load_Tile JP =New_Dungeon .INCLUDE "tiles.gbasm" .INCLUDE "rng.gbasm" .INCLUDE "utils.gbasm" .INCLUDE "dialogues/utils.gbasm" .INCLUDE "buttons.gbasm" .INCLUDE "map/loading.gbasm" .INCLUDE "map/generation.gbasm" .INCLUDE "map/objects.gbasm" .INCLUDE "map/generationevents.gbasm" .INCLUDE "map/dungeons.gbasm" .INCLUDE "gui.gbasm" .INCLUDE "modes/vblank_handler_list.gbasm" .INCLUDE "entity/utils.gbasm" .INCLUDE "entity/init.gbasm" .INCLUDE "entity/bunny.gbasm" .INCLUDE "entity/fox.gbasm" .INCLUDE "entity/cat.gbasm" .INCLUDE "entity/penguin.gbasm" .INCLUDE "entity/fimsh.gbasm" .INCLUDE "entity/questgoal.gbasm" .INCLUDE "entity/actions.gbasm" .INCLUDE "entity/collisions.gbasm" .INCLUDE "entity/display.gbasm" .INCLUDE "entity/list.gbasm" .INCLUDE "animation.gbasm" .INCLUDE "playerattacks.gbasm" .INCLUDE "enemiesattacks.gbasm" .INCLUDE "tileset.gbasm" .INCLUDE "text.gbasm" .INCLUDE "dialogues/dialogues.gbasm"