mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-10-16 04:04:19 +13:00
Reorganize home header
This commit is contained in:
parent
c9c59dc343
commit
6bd86e10c3
118
home.asm
118
home.asm
|
@ -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
|
||||
SECTION "NULL", ROM0
|
||||
NULL::
|
||||
|
||||
; 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
|
||||
INCLUDE "home/header.asm"
|
||||
|
||||
|
||||
SECTION "High Home", ROM0
|
||||
|
||||
INCLUDE "home/lcd.asm"
|
||||
INCLUDE "home/clear_sprites.asm"
|
||||
INCLUDE "home/copy.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
|
||||
|
||||
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
|
||||
|
||||
|
||||
INCLUDE "home/start.asm"
|
||||
INCLUDE "home/joypad.asm"
|
||||
INCLUDE "data/maps/map_header_pointers.asm"
|
||||
INCLUDE "home/overworld.asm"
|
||||
|
|
21
home/clear_sprites.asm
Normal file
21
home/clear_sprites.asm
Normal file
|
@ -0,0 +1,21 @@
|
|||
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
|
57
home/header.asm
Normal file
57
home/header.asm
Normal file
|
@ -0,0 +1,57 @@
|
|||
; rst vectors (unused)
|
||||
|
||||
SECTION "rst0", ROM0[$0000]
|
||||
rst $38
|
||||
|
||||
SECTION "rst8", ROM0[$0008]
|
||||
rst $38
|
||||
|
||||
SECTION "rst10", ROM0[$0010]
|
||||
rst $38
|
||||
|
||||
SECTION "rst18", ROM0[$0018]
|
||||
rst $38
|
||||
|
||||
SECTION "rst20", ROM0[$0020]
|
||||
rst $38
|
||||
|
||||
SECTION "rst28", ROM0[$0028]
|
||||
rst $38
|
||||
|
||||
SECTION "rst30", ROM0[$0030]
|
||||
rst $38
|
||||
|
||||
SECTION "rst38", ROM0[$0038]
|
||||
rst $38
|
||||
|
||||
|
||||
; Game Boy hardware interrupts
|
||||
|
||||
SECTION "vblank", ROM0[$0040]
|
||||
jp VBlank
|
||||
|
||||
SECTION "lcd", ROM0[$0048]
|
||||
rst $38
|
||||
|
||||
SECTION "timer", ROM0[$0050]
|
||||
jp Timer
|
||||
|
||||
SECTION "serial", ROM0[$0058]
|
||||
jp Serial
|
||||
|
||||
SECTION "joypad", ROM0[$0060]
|
||||
reti
|
||||
|
||||
|
||||
SECTION "Header", ROM0[$0100]
|
||||
|
||||
Start::
|
||||
; Nintendo requires all Game Boy ROMs to begin with a nop ($00) and a jp ($C3)
|
||||
; to the starting address.
|
||||
nop
|
||||
jp _Start
|
||||
|
||||
; The Game Boy cartridge header data is patched over by rgbfix.
|
||||
; This makes sure it doesn't get used for anything else.
|
||||
|
||||
ds $0150 - @, $00
|
25
home/lcd.asm
Normal file
25
home/lcd.asm
Normal file
|
@ -0,0 +1,25 @@
|
|||
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
|
10
home/start.asm
Normal file
10
home/start.asm
Normal file
|
@ -0,0 +1,10 @@
|
|||
_Start::
|
||||
cp GBC
|
||||
jr z, .gbc
|
||||
xor a
|
||||
jr .ok
|
||||
.gbc
|
||||
ld a, 0
|
||||
.ok
|
||||
ld [wGBC], a
|
||||
jp Init
|
104
layout.link
104
layout.link
|
@ -1,59 +1,43 @@
|
|||
ROM0
|
||||
org $0000
|
||||
"rst 00"
|
||||
|
||||
"NULL"
|
||||
org $0000
|
||||
"rst0"
|
||||
org $0008
|
||||
"rst 08"
|
||||
|
||||
"rst8"
|
||||
org $0010
|
||||
"rst 10"
|
||||
|
||||
"rst10"
|
||||
org $0018
|
||||
"rst 18"
|
||||
|
||||
"rst18"
|
||||
org $0020
|
||||
"rst 20"
|
||||
|
||||
"rst20"
|
||||
org $0028
|
||||
"rst 28"
|
||||
|
||||
"rst28"
|
||||
org $0030
|
||||
"rst 30"
|
||||
|
||||
"rst30"
|
||||
org $0038
|
||||
"rst 38"
|
||||
|
||||
"rst38"
|
||||
org $0040
|
||||
"vblank"
|
||||
|
||||
org $0048
|
||||
"hblank"
|
||||
|
||||
"lcd"
|
||||
org $0050
|
||||
"timer"
|
||||
|
||||
org $0058
|
||||
"serial"
|
||||
|
||||
org $0060
|
||||
"joypad"
|
||||
; $0061
|
||||
"High Home"
|
||||
org $100
|
||||
"Header"
|
||||
org $150
|
||||
"Home"
|
||||
|
||||
org $100
|
||||
"Entry"
|
||||
; $0104
|
||||
"Header"
|
||||
|
||||
org $150
|
||||
"Main"
|
||||
|
||||
ROMX $1
|
||||
org $4000
|
||||
"bank1"
|
||||
|
||||
ROMX $2
|
||||
org $4000
|
||||
"Sound Effect Headers 1"
|
||||
"Music Headers 1"
|
||||
"Sound Effects 1"
|
||||
|
@ -61,36 +45,30 @@ ROMX $2
|
|||
"Music 1"
|
||||
|
||||
ROMX $3
|
||||
org $4000
|
||||
"bank3"
|
||||
|
||||
ROMX $4
|
||||
org $4000
|
||||
"NPC Sprites 1"
|
||||
"Graphics (BANK 4)"
|
||||
"Battle (BANK 4)"
|
||||
|
||||
ROMX $5
|
||||
org $4000
|
||||
"NPC Sprites 2"
|
||||
"Battle (BANK 5)"
|
||||
|
||||
ROMX $6
|
||||
org $4000
|
||||
"Maps 1"
|
||||
"bank6_1"
|
||||
"Maps 2"
|
||||
"bank6_2"
|
||||
|
||||
ROMX $7
|
||||
org $4000
|
||||
"Maps 3"
|
||||
"bank7_1"
|
||||
"Maps 4"
|
||||
"bank7_2"
|
||||
|
||||
ROMX $8
|
||||
org $4000
|
||||
"Sound Effect Headers 2"
|
||||
"Music Headers 2"
|
||||
"Sound Effects 2"
|
||||
|
@ -100,113 +78,92 @@ ROMX $8
|
|||
"Music 2"
|
||||
|
||||
ROMX $9
|
||||
org $4000
|
||||
"Pics 1"
|
||||
"Battle (BANK 9)"
|
||||
|
||||
ROMX $A
|
||||
org $4000
|
||||
"Pics 2"
|
||||
"Battle (BANK A)"
|
||||
|
||||
ROMX $B
|
||||
org $4000
|
||||
"Pics 3"
|
||||
"Battle (BANK B)"
|
||||
|
||||
ROMX $C
|
||||
org $4000
|
||||
"Pics 4"
|
||||
"Battle (BANK C)"
|
||||
|
||||
ROMX $D
|
||||
org $4000
|
||||
"Pics 5"
|
||||
"Battle (BANK D)"
|
||||
|
||||
ROMX $E
|
||||
org $4000
|
||||
"bankE"
|
||||
|
||||
ROMX $F
|
||||
org $4000
|
||||
"bankF"
|
||||
|
||||
ROMX $10
|
||||
org $4000
|
||||
"bank10"
|
||||
|
||||
ROMX $11
|
||||
org $4000
|
||||
"Maps 5"
|
||||
"bank11_1"
|
||||
"Maps 6"
|
||||
"bank11_2"
|
||||
|
||||
ROMX $12
|
||||
org $4000
|
||||
"Maps 7"
|
||||
"bank12"
|
||||
"Maps 8"
|
||||
|
||||
ROMX $13
|
||||
org $4000
|
||||
"Pics 6"
|
||||
"Maps 9"
|
||||
"bank13"
|
||||
|
||||
ROMX $14
|
||||
org $4000
|
||||
"Maps 10"
|
||||
"bank14"
|
||||
|
||||
ROMX $15
|
||||
org $4000
|
||||
"Maps 11"
|
||||
"bank15_1"
|
||||
"Maps 12"
|
||||
"bank15_2"
|
||||
|
||||
ROMX $16
|
||||
org $4000
|
||||
"Maps 13"
|
||||
"bank16_1"
|
||||
"Maps 14"
|
||||
"bank16_2"
|
||||
|
||||
ROMX $17
|
||||
org $4000
|
||||
"Maps 15"
|
||||
"bank17_1"
|
||||
"Maps 16"
|
||||
"bank17_2"
|
||||
|
||||
ROMX $18
|
||||
org $4000
|
||||
"Maps 17"
|
||||
"bank18_1"
|
||||
"Maps 18"
|
||||
"bank18_2"
|
||||
|
||||
ROMX $19
|
||||
org $4000
|
||||
"Tilesets 1"
|
||||
|
||||
ROMX $1A
|
||||
org $4000
|
||||
"bank1A"
|
||||
"Tilesets 2"
|
||||
|
||||
ROMX $1B
|
||||
org $4000
|
||||
"Tilesets 3"
|
||||
|
||||
ROMX $1C
|
||||
org $4000
|
||||
"bank1C"
|
||||
|
||||
ROMX $1D
|
||||
org $4000
|
||||
"Maps 19"
|
||||
"bank1D_1"
|
||||
"Maps 20"
|
||||
|
@ -215,11 +172,9 @@ ROMX $1D
|
|||
"bank1D_3"
|
||||
|
||||
ROMX $1E
|
||||
org $4000
|
||||
"bank1E"
|
||||
|
||||
ROMX $1F
|
||||
org $4000
|
||||
"Sound Effect Headers 3"
|
||||
"Music Headers 3"
|
||||
"Sound Effects 3"
|
||||
|
@ -227,81 +182,60 @@ ROMX $1F
|
|||
"Music 3"
|
||||
|
||||
ROMX $20
|
||||
org $4000
|
||||
"Text 1"
|
||||
|
||||
ROMX $21
|
||||
org $4000
|
||||
"Text 2"
|
||||
|
||||
ROMX $22
|
||||
org $4000
|
||||
"Text 3"
|
||||
|
||||
ROMX $23
|
||||
org $4000
|
||||
"Text 4"
|
||||
|
||||
ROMX $24
|
||||
org $4000
|
||||
"Text 5"
|
||||
|
||||
ROMX $25
|
||||
org $4000
|
||||
"Text 6"
|
||||
|
||||
ROMX $26
|
||||
org $4000
|
||||
"Text 7"
|
||||
|
||||
ROMX $27
|
||||
org $4000
|
||||
"Text 8"
|
||||
|
||||
ROMX $28
|
||||
org $4000
|
||||
"Text 9"
|
||||
|
||||
ROMX $29
|
||||
org $4000
|
||||
"Text 10"
|
||||
|
||||
ROMX $2A
|
||||
org $4000
|
||||
"Text 11"
|
||||
|
||||
ROMX $2B
|
||||
org $4000
|
||||
"Pokedex Text"
|
||||
|
||||
ROMX $2C
|
||||
org $4000
|
||||
"Move Names"
|
||||
|
||||
WRAM0
|
||||
org $c000
|
||||
"WRAM Bank 0"
|
||||
|
||||
org $c100
|
||||
"Sprite State Data"
|
||||
"OAM Buffer"
|
||||
|
||||
org $dfff
|
||||
"Stack"
|
||||
|
||||
SRAM 0
|
||||
org $a000
|
||||
SRAM $0
|
||||
"Sprite Buffers"
|
||||
|
||||
SRAM 1
|
||||
org $a000
|
||||
SRAM $1
|
||||
"Save Data"
|
||||
|
||||
SRAM 2
|
||||
org $a000
|
||||
SRAM $2
|
||||
"Saved Boxes 1"
|
||||
|
||||
SRAM 3
|
||||
org $a000
|
||||
SRAM $3
|
||||
"Saved Boxes 2"
|
||||
|
||||
|
|
Loading…
Reference in a new issue