summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi@gmail.com>2018-05-29 19:06:23 -0400
committerRangi <remy.oukaour+rangi@gmail.com>2018-05-29 19:06:23 -0400
commit2f65c6855090496b1cb710af6da746a340ee7b47 (patch)
treeb2dbf0c44f595cb28a650e34fe2e90827028700f
parentf43233bbffb066b0bf7344bf83760abd768bfa10 (diff)
Small temporary SECTION headers go in main.asm, so the individual files won't all need fixing later
-rw-r--r--data/predef_pointers.asm100
-rw-r--r--engine/link/place_waiting_text.asm38
-rw-r--r--engine/predef.asm144
-rw-r--r--engine/title.asm13
-rw-r--r--gfx/pokemon/pkmn_pic_banks.asm34
-rw-r--r--gfx/pokemon/pkmn_pics.asm1
-rw-r--r--main.asm29
7 files changed, 180 insertions, 179 deletions
diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm
new file mode 100644
index 0000000..22d14f9
--- /dev/null
+++ b/data/predef_pointers.asm
@@ -0,0 +1,100 @@
+; Predef routines can be used with the "predef" and "predef_jump" macros.
+; This preserves registers bc, de, hl and f.
+
+add_predef: MACRO
+\1Predef::
+ dab \1
+ENDM
+
+PredefPointers:: ; 1:62d3
+; To YOU who is reading this:
+; Please be a peach and nuke the hell out of these:
+; WE NEED LABELS!
+; Thank youu~
+ dbw 1, $6445 ; 0
+ dbw 1, $5D27
+ dbw 1, $6713
+ dbw 1, $66B1
+ dbw 1, $4031
+ dbw 3, $4E10
+ dbw 3, $4D6F
+ dbw 3, $4DE3
+ dbw 3, $4DE3 ; 8
+ dbw 3, $4DE3
+ dbw 3, $4DF9
+ dbw 3, $4E10
+ dbw 3, $4D33
+ dbw 3, $366C
+ dbw 3, $4E3C
+ dbw 3, $5A28
+ dbw 3, $5886 ; 10
+ dbw 3, $5A4F
+ dbw 3, $5AC8
+ dbw 3, $5CFC
+ dbw 3, $5C16
+ dbw 3, $5D5C
+ dbw 3, $5E79
+ dbw 3, $4E7C
+ dbw 3, $5F7D ; 18
+ dbw 3, $5F91
+ dbw 4, $528F
+ dbw 4, $52C1
+ dbw 10, $4C98
+ dbw 11, $5663
+ dbw 15, $55CE
+ dbw 15, $7019
+ dbw 15, $7068 ; 20
+ dbw 15, $704A
+ dbw 15, $508C
+ dbw 15, $567C
+ dbw 15, $61A4
+ dbw 15, $6F19
+ dbw 15, $6874
+ dbw 15, $691E
+ dbw 15, $6963 ; 28
+ dbw 16, $61F8
+ dbw 16, $6252
+ dbw 16, $5FA1
+ dbw 10, $4DA4
+ dbw 10, $4D6E
+ dbw 16, $4AC7
+ dbw 16, $4000
+ dbw 16, $4B5C ; 30
+ dbw 20, $4000
+ dbw 20, $4BFE
+ dbw 20, $4BCD
+ dbw 20, $4B92
+ dbw 20, $48C4
+ dbw 20, $4771
+ dbw 20, $4774
+ dbw 20, $481F ; 38
+ dbw 20, $46D4
+ dbw 20, $469E
+ dbw 20, $42B5
+ dbw 20, $4244
+ dbw 20, $4248
+ dbw 20, $40C6
+ dbw 20, $40A0
+ dbw 20, $4073 ; 40
+ dbw 20, $4ED9
+ dbw 50, $76FF
+ dbw 50, $7710
+ dbw 50, $7733
+ dbw 5, $45B8
+ dbw 5, $46DC
+ dbw 5, $45DE
+ dbw 50, $4000 ; 48
+ dbw 5, $457A
+ dbw 5, $43E0
+ dbw 2, $5695
+ dbw 2, $528B
+ dbw 2, $4786
+ dbw 35, $44BE
+ dbw 35, $49C6
+ dbw 35, $4940 ; 50
+ dbw 51, $4001
+ dbw 51, $4000
+ dbw 51, $4000
+ dbw 63, $5B66
+ dbw 4, $640B
+ dbw $ff, InexplicablyEmptyFunction
diff --git a/engine/link/place_waiting_text.asm b/engine/link/place_waiting_text.asm
index 96458f0..2688322 100644
--- a/engine/link/place_waiting_text.asm
+++ b/engine/link/place_waiting_text.asm
@@ -1,26 +1,24 @@
-SECTION "PlaceWaitingText", ROMX[$4000],BANK[1]
-
PlaceWaitingText:: ; 1:4000
- hlcoord 3, 10
- ld b, 1
- ld c, 11
- ld a, [wBattleMode]
- and a
- jr z, .link_textbox
- call DrawTextBox
- jr .textbox_done
+ hlcoord 3, 10
+ ld b, 1
+ ld c, 11
+ ld a, [wBattleMode]
+ and a
+ jr z, .link_textbox
+ call DrawTextBox
+ jr .textbox_done
.link_textbox
- ; TODO
- ; predef Predef_LinkTextbox
- ld a, $1C
- call Predef
+ ; TODO
+ ; predef Predef_LinkTextbox
+ ld a, $1C
+ call Predef
.textbox_done
- hlcoord 4, 11
- ld de, .Waiting
- call PlaceString
- ld c, 50
- jp DelayFrames
+ hlcoord 4, 11
+ ld de, .Waiting
+ call PlaceString
+ ld c, 50
+ jp DelayFrames
.Waiting
- db "つうしんたいきちゅう!@" \ No newline at end of file
+ db "つうしんたいきちゅう!@"
diff --git a/engine/predef.asm b/engine/predef.asm
index dca0283..3c60faa 100644
--- a/engine/predef.asm
+++ b/engine/predef.asm
@@ -1,122 +1,28 @@
-SECTION "Predef pointers", ROMX[$62B0],BANK[1]
-
GetPredefPointer:: ; 1:62b0
- ld a, h
- ld [wPredefHL], a
- ld a, l
- ld [wPredefHL + 1], a
- ld hl, wPredefDE
- ld a, d
- ld [hli], a
- ld a, e
- ld [hli], a
- ld a, b
- ld [hli], a
- ld [hl], c
-
- ld a, [wPredefID]
- ld e, a
- ld d, 0
- ld hl, PredefPointers
- add hl, de
- add hl, de
- add hl, de
- ld a, [hli]
- ld e, [hl]
- inc hl
- ld d, [hl]
- ret
+ ld a, h
+ ld [wPredefHL], a
+ ld a, l
+ ld [wPredefHL + 1], a
+ ld hl, wPredefDE
+ ld a, d
+ ld [hli], a
+ ld a, e
+ ld [hli], a
+ ld a, b
+ ld [hli], a
+ ld [hl], c
-PredefPointers:: ; 1:62d3
- ; To YOU who is reading this:
- ; Please be a peach and nuke the hell out of these:
- ; WE NEED LABELS!
- ; Thank youu~
+ ld a, [wPredefID]
+ ld e, a
+ ld d, 0
+ ld hl, PredefPointers
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ret
- dbw 1, $6445 ; 0
- dbw 1, $5D27
- dbw 1, $6713
- dbw 1, $66B1
- dbw 1, $4031
- dbw 3, $4E10
- dbw 3, $4D6F
- dbw 3, $4DE3
- dbw 3, $4DE3 ; 8
- dbw 3, $4DE3
- dbw 3, $4DF9
- dbw 3, $4E10
- dbw 3, $4D33
- dbw 3, $366C
- dbw 3, $4E3C
- dbw 3, $5A28
- dbw 3, $5886 ; 10
- dbw 3, $5A4F
- dbw 3, $5AC8
- dbw 3, $5CFC
- dbw 3, $5C16
- dbw 3, $5D5C
- dbw 3, $5E79
- dbw 3, $4E7C
- dbw 3, $5F7D ; 18
- dbw 3, $5F91
- dbw 4, $528F
- dbw 4, $52C1
- dbw 10, $4C98
- dbw 11, $5663
- dbw 15, $55CE
- dbw 15, $7019
- dbw 15, $7068 ; 20
- dbw 15, $704A
- dbw 15, $508C
- dbw 15, $567C
- dbw 15, $61A4
- dbw 15, $6F19
- dbw 15, $6874
- dbw 15, $691E
- dbw 15, $6963 ; 28
- dbw 16, $61F8
- dbw 16, $6252
- dbw 16, $5FA1
- dbw 10, $4DA4
- dbw 10, $4D6E
- dbw 16, $4AC7
- dbw 16, $4000
- dbw 16, $4B5C ; 30
- dbw 20, $4000
- dbw 20, $4BFE
- dbw 20, $4BCD
- dbw 20, $4B92
- dbw 20, $48C4
- dbw 20, $4771
- dbw 20, $4774
- dbw 20, $481F ; 38
- dbw 20, $46D4
- dbw 20, $469E
- dbw 20, $42B5
- dbw 20, $4244
- dbw 20, $4248
- dbw 20, $40C6
- dbw 20, $40A0
- dbw 20, $4073 ; 40
- dbw 20, $4ED9
- dbw 50, $76FF
- dbw 50, $7710
- dbw 50, $7733
- dbw 5, $45B8
- dbw 5, $46DC
- dbw 5, $45DE
- dbw 50, $4000 ; 48
- dbw 5, $457A
- dbw 5, $43E0
- dbw 2, $5695
- dbw 2, $528B
- dbw 2, $4786
- dbw 35, $44BE
- dbw 35, $49C6
- dbw 35, $4940 ; 50
- dbw 51, $4001
- dbw 51, $4000
- dbw 51, $4000
- dbw 63, $5B66
- dbw 4, $640B
- dbw $FF, InexplicablyEmptyFunction
+INCLUDE "data/predef_pointers.asm"
diff --git a/engine/title.asm b/engine/title.asm
index 9df68ed..cd4e194 100644
--- a/engine/title.asm
+++ b/engine/title.asm
@@ -1,14 +1,11 @@
-SECTION "Title screen", ROMX[$5D8C],BANK[1]
-
IntroSequence:: ; 5d8c
; TODO
-SECTION "Title screen TEMPORARY", ROMX[$62A5],BANK[1] ; TODO: merge this with the section above
+SECTION "Title screen TEMPORARY", ROMX[$62A5],BANK[1] ; TODO: merge this with the main section above
GameInit:: ; 62a5
- call ClearWindowData
- ld a, $23
- ld [wce5f], a
- jp IntroSequence
-
+ call ClearWindowData
+ ld a, $23
+ ld [wce5f], a
+ jp IntroSequence
diff --git a/gfx/pokemon/pkmn_pic_banks.asm b/gfx/pokemon/pkmn_pic_banks.asm
index 81b899e..2eae839 100644
--- a/gfx/pokemon/pkmn_pic_banks.asm
+++ b/gfx/pokemon/pkmn_pic_banks.asm
@@ -1,20 +1,16 @@
-MonSpriteBankList::
-MonSpriteBankListStart::
-SECTION "PKMN Sprite Bank List", ROMX[$725C], BANK[$14]
-
-; DEX Entry ROM bank
-; i <= entry in list? --> use rom bank
-db DEX_RAICHU, $15
-db DEX_DUGTRIO, $16
-db DEX_GOLONE, $17
-db DEX_CRAB, $18
-db DEX_STARMIE, $19
-db DEX_FREEZER, $1A
-db DEX_JARANRA, $1B
-db DEX_KOUNYA, $1C
-db DEX_BOMBSEEKER, $1D
-db DEX_NYULA, $1E
-db $FF, $1F
-db $FF, $20
+; TODO: PIC_* constants?
-MonSpriteBankListEnd:: \ No newline at end of file
+MonSpriteBankList::
+ ; last mon in bank, bank #
+ db DEX_RAICHU, BANK(RaichuPicFront)
+ db DEX_DUGTRIO, BANK(DugtrioPicFront)
+ db DEX_GOLONE, BANK(GolonePicFront)
+ db DEX_CRAB, BANK(CrabPicFront)
+ db DEX_STARMIE, BANK(StarmiePicFront)
+ db DEX_FREEZER, BANK(FreezerPicFront)
+ db DEX_JARANRA, BANK(JaranraPicFront)
+ db DEX_KOUNYA, BANK(KounyaPicFront)
+ db DEX_BOMBSEEKER, BANK(BombseekerPicFront)
+ db DEX_NYULA, BANK(NyulaPicFront)
+ db $ff, BANK(LeafyPicFront)
+ db $ff, BANK(LeafyPicFront) + 1
diff --git a/gfx/pokemon/pkmn_pics.asm b/gfx/pokemon/pkmn_pics.asm
index 16e6d35..dffe357 100644
--- a/gfx/pokemon/pkmn_pics.asm
+++ b/gfx/pokemon/pkmn_pics.asm
@@ -1,4 +1,3 @@
-
SECTION "PKMN Pics RB 0x15", ROMX[$4000], BANK[$15]
FushigidanePicFront:: INCBIN "gfx/pokemon/fushigidane/front.pic" ; 0x054000--0x0540bc
FushigidanePicBack:: INCBIN "gfx/pokemon/fushigidane/back.pic" ; 0x0540bc--0x0541ca
diff --git a/main.asm b/main.asm
index 943d98f..8c789f3 100644
--- a/main.asm
+++ b/main.asm
@@ -1,27 +1,31 @@
INCLUDE "constants.asm"
-; bank 1
+SECTION "PlaceWaitingText", ROMX[$4000],BANK[$01]
INCLUDE "engine/link/place_waiting_text.asm"
+
+SECTION "Title screen", ROMX[$5D8C],BANK[$01]
INCLUDE "engine/title.asm"
+
+SECTION "Predef pointers", ROMX[$62B0],BANK[$01]
INCLUDE "engine/predef.asm"
-; TODO
-SECTION "Font Gfx", ROMX[$4362], BANK[$3e]
+SECTION "Font GFX", ROMX[$4362], BANK[$3e]
INCBIN "gfx/font.1bpp"
SECTION "Main Menu Definition", ROMX[$5418], BANK[$01]
MainMenuHeader:
- db $40
- db 0, 0, 7, 13
- dw .data
- db 1 ; default option
+ db $40
+ db 0, 0, 7, 13
+ dw .data
+ db 1 ; default option
+
.data
- db $80
- db 0 ; number of options
+ db $80
+ db 0 ; number of options
- dw $5461
- db $8a, $1f
- dw MainMenuStrings
+ dw $5461
+ db $8a, $1f
+ dw MainMenuStrings
MainMenuStrings: ; 01:5428
db "つづきから はじめる@"
@@ -46,6 +50,7 @@ INCLUDE "data/pokemon/evos_attacks.asm"
SECTION "Base Data", ROMX[$4F10],BANK[$14]
INCLUDE "data/pokemon/base_stats.asm"
+SECTION "PKMN Sprite Bank List", ROMX[$725C], BANK[$14]
INCLUDE "gfx/pokemon/pkmn_pic_banks.asm"
INCLUDE "gfx/pokemon/pkmn_pics.asm"