diff options
author | libjet <libj3t@gmail.com> | 2020-03-15 00:59:43 +0000 |
---|---|---|
committer | libjet <libj3t@gmail.com> | 2020-03-15 00:59:43 +0000 |
commit | 4050f252cd5b0842959242e84a2ec54b5b78a217 (patch) | |
tree | fefffff02374573f35584e704b3c7f842981a418 | |
parent | e81df1886affec6bf47405065ee39837990f2cfa (diff) |
Create home/header.asm
-rw-r--r-- | home.asm | 12 | ||||
-rwxr-xr-x | home/header.asm | 66 | ||||
-rwxr-xr-x | home/interrupts.asm | 2 | ||||
-rw-r--r-- | home/joypad.asm | 4 | ||||
-rw-r--r-- | home/vblank.asm | 8 |
5 files changed, 74 insertions, 18 deletions
@@ -1,19 +1,9 @@ INCLUDE "constants.asm" SECTION "NULL", ROM0 - NULL:: -; rst vectors -INCLUDE "home/rst.asm" -INCLUDE "home/interrupts.asm" - -SECTION "Header", ROM0 - -Start:: - nop - jp _Start - +INCLUDE "home/header.asm" SECTION "Home", ROM0 diff --git a/home/header.asm b/home/header.asm new file mode 100755 index 00000000..92e302c8 --- /dev/null +++ b/home/header.asm @@ -0,0 +1,66 @@ +; rst vectors (called through the rst instruction) + +SECTION "rst0", ROM0 + di + jp Start + +SECTION "rst8", ROM0 ; rst FarCall + jp FarCall_hl + +SECTION "rst10", ROM0 ; rst Bankswitch + ldh [hROMBank], a + ld [MBC3RomBank], a + ret + +SECTION "rst18", ROM0 + rst $38 + +SECTION "rst20", ROM0 + rst $38 + +SECTION "rst28", ROM0 ; rst JumpTable + push de + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] +; SECTION "rst30", ROM0 + ld l, a + pop de + jp hl + +SECTION "rst38", ROM0 + rst $38 + + +; Game Boy hardware interrupts + +SECTION "vblank", ROM0 + jp VBlank + +SECTION "lcd", ROM0 + jp LCD + +SECTION "timer", ROM0 + reti + +SECTION "serial", ROM0 + jp Serial + +SECTION "joypad", ROM0 + jp Joypad + + +; Game Boy cartridge header + +SECTION "Header", ROM0 + +Start:: + nop + jp _Start + +; The cartridge header data is filled in by rgbfix. +; This makes sure it doesn't get used. + ds $0150 - $0104 diff --git a/home/interrupts.asm b/home/interrupts.asm index 2b0d9e0f..c65e5061 100755 --- a/home/interrupts.asm +++ b/home/interrupts.asm @@ -13,4 +13,4 @@ SECTION "serial",ROM0 jp Serial SECTION "joypad",ROM0 - jp JoypadInt + jp Joypad diff --git a/home/joypad.asm b/home/joypad.asm index 317413d0..8f8e9b2f 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -1,4 +1,4 @@ -JoypadInt:: ; 8df (0:08df) +Joypad:: ; 8df (0:08df) reti ClearJoypad:: @@ -7,7 +7,7 @@ ClearJoypad:: ldh [hJoyDown], a ret -Joypad:: ; 8e6 (0:08e6) +UpdateJoypad:: ; 8e6 (0:08e6) ld a, [wd8ba] and $d0 ret nz diff --git a/home/vblank.asm b/home/vblank.asm index 04726475..88923ee0 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -128,7 +128,7 @@ VBlank0:: ld [wTextDelayFrames], a .ok2 - call Joypad + call UpdateJoypad ld a, BANK(_UpdateSound) rst Bankswitch @@ -233,7 +233,7 @@ VBlank4:: call hTransferVirtualOAM - call Joypad + call UpdateJoypad xor a ld [wVBlankOccurred], a @@ -271,7 +271,7 @@ VBlank5:: xor a ld [wVBlankOccurred], a - call Joypad + call UpdateJoypad xor a ldh [rIF], a @@ -336,7 +336,7 @@ VBlank3:: sbc b ldh [hRandomSub], a - call Joypad + call UpdateJoypad ldh a, [hROMBank] ld [wROMBankBackup], a |