diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-07-03 13:03:21 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-07-03 13:03:21 -0400 |
commit | 6bd86e10c32cd7b464425adfc01621f3ff6726aa (patch) | |
tree | 808b190bd43f5024cc694c4e229167ce7928b4d4 /home.asm | |
parent | c9c59dc34323a5e0b1886db5f845c8d41620826e (diff) |
Reorganize home header
Diffstat (limited to 'home.asm')
-rw-r--r-- | home.asm | 112 |
1 files changed, 8 insertions, 104 deletions
@@ -1,118 +1,22 @@ INCLUDE "constants.asm" -; The rst vectors are unused. -SECTION "rst 00", ROM0 - rst $38 -SECTION "rst 08", ROM0 - rst $38 -SECTION "rst 10", ROM0 - rst $38 -SECTION "rst 18", ROM0 - rst $38 -SECTION "rst 20", ROM0 - rst $38 -SECTION "rst 28", ROM0 - rst $38 -SECTION "rst 30", ROM0 - rst $38 -SECTION "rst 38", ROM0 - rst $38 - -; Hardware interrupts -SECTION "vblank", ROM0 - jp VBlank -SECTION "hblank", ROM0 - rst $38 -SECTION "timer", ROM0 - jp Timer -SECTION "serial", ROM0 - jp Serial -SECTION "joypad", ROM0 - reti +SECTION "NULL", ROM0 +NULL:: +INCLUDE "home/header.asm" -SECTION "Home", ROM0 - -DisableLCD:: - xor a - ld [rIF], a - ld a, [rIE] - ld b, a - res 0, a - ld [rIE], a - -.wait - ld a, [rLY] - cp LY_VBLANK - jr nz, .wait - - ld a, [rLCDC] - and $ff ^ rLCDC_ENABLE_MASK - ld [rLCDC], a - ld a, b - ld [rIE], a - ret - -EnableLCD:: - ld a, [rLCDC] - set rLCDC_ENABLE, a - ld [rLCDC], a - ret - -ClearSprites:: - xor a - ld hl, wOAMBuffer - ld b, 40 * 4 -.loop - ld [hli], a - dec b - jr nz, .loop - ret -HideSprites:: - ld a, 160 - ld hl, wOAMBuffer - ld de, 4 - ld b, 40 -.loop - ld [hl], a - add hl, de - dec b - jr nz, .loop - ret +SECTION "High Home", ROM0 +INCLUDE "home/lcd.asm" +INCLUDE "home/clear_sprites.asm" INCLUDE "home/copy.asm" -SECTION "Entry", ROM0 - - nop - jp Start - - -SECTION "Header", ROM0 - - ; The header is generated by rgbfix. - ; The space here is allocated to prevent code from being overwritten. - - ds $150 - $104 - - -SECTION "Main", ROM0 - -Start:: - cp GBC - jr z, .gbc - xor a - jr .ok -.gbc - ld a, 0 -.ok - ld [wGBC], a - jp Init - +SECTION "Home", ROM0 +INCLUDE "home/start.asm" INCLUDE "home/joypad.asm" INCLUDE "data/maps/map_header_pointers.asm" INCLUDE "home/overworld.asm" |