aboutsummaryrefslogtreecommitdiff
path: root/main.gbasm
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-07-29 17:18:39 +0200
committerAstatin <[email protected]>2025-07-29 17:18:39 +0200
commit4db56b6d877ee88a672f5361bbe372783086353d (patch)
tree178243cc2b5838a361775d2afbf32a8b196e3870 /main.gbasm
parentbe66214bde75566e946a02ec4b739570c5968d5c (diff)
Add title screen
Diffstat (limited to 'main.gbasm')
-rw-r--r--main.gbasm118
1 files changed, 4 insertions, 114 deletions
diff --git a/main.gbasm b/main.gbasm
index b069585..b666e77 100644
--- a/main.gbasm
+++ b/main.gbasm
@@ -2,117 +2,6 @@
.INCLUDE "init.gbasm"
.INCLUDE "utils.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
-
- LD A, $palette_bold_font
- LD $reg_bg_palette, A
-.END
-
-.MACRODEF DISABLE_TOP_BAR
- LD A, $mem_prepared_viewport_x
- LD $reg_viewport_x, A
- LD A, $mem_prepared_viewport_y
- 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
-.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
@@ -134,11 +23,11 @@ Entrypoint:
LD A, L
LD ($mem_dungeon+2), A
- CALL =Load_Tile
-
CALL =Load_Music
- JP =New_Dungeon
+ ; JP =New_Dungeon
+ .LOAD_BANK_OF =Title_Screen
+ JP ptr(=Title_Screen)
.INCLUDE "tiles.gbasm"
.INCLUDE "rng.gbasm"
@@ -167,6 +56,7 @@ Entrypoint:
.INCLUDE "music/load.gbasm"
.PADTO $4000
+.INCLUDE "modes/titlescreen.gbasm"
.INCLUDE "tileset.gbasm"
.INCLUDE "text.gbasm"
.INCLUDE "dialogues/dialogues.gbasm"