From 51bff00712ecce3c9744cf236298bf44dbbbea5a Mon Sep 17 00:00:00 2001 From: mid-kid Date: Mon, 13 Dec 2021 22:03:24 +0100 Subject: Finish de-incbinning data_80D47B8.s and data_80DED44.s --- charmap.txt | 12 ++- data/data_80D47B8.s | 207 ++++++++++++++++++++++++++++++++++++++++++++++++- data/data_80DED44.s | 9 ++- data/move/move_names.s | 2 +- 4 files changed, 222 insertions(+), 8 deletions(-) diff --git a/charmap.txt b/charmap.txt index 29b92ff..bbf9eb7 100644 --- a/charmap.txt +++ b/charmap.txt @@ -209,12 +209,18 @@ 'þ' = FE 'ÿ' = FF +@ Shift JIS '?' = 81 48 +'゛' = 81 4A +'゜' = 81 4B '〜' = 81 60 '♪' = 81 F4 - +'A' = 82 60 +'B' = 82 61 +'C' = 82 62 'う' = 82 A4 -'か' = 82 AA +'か' = 82 A9 +'が' = 82 AA 'し' = 82 B5 'す' = 82 B7 'な' = 82 C8 @@ -227,6 +233,8 @@ 'る' = 82 E9 'を' = 82 F0 'ん' = 82 F1 +'カ' = 83 4A +'ナ' = 83 69 POKE = 83 BF 83 C4 TM = 87 4E diff --git a/data/data_80D47B8.s b/data/data_80D47B8.s index 0a6d724..25fb2b1 100644 --- a/data/data_80D47B8.s +++ b/data/data_80D47B8.s @@ -2801,19 +2801,218 @@ gUnknown_80DAFA0: @ 80DAFA0 .string "pksdir0\0" .global gUnknown_80DAFC0 gUnknown_80DAFC0: @ 80DAFC0 - .incbin "baserom.gba", 0xDAFC0, 0xD8 + .2byte 3, 0xD + .2byte 0xF, 0xD + .2byte 0x1B, 0xD + .2byte 0x27, 0xD + .2byte 0x33, 0xD + .2byte 0x40, 0xF + .2byte 0x4C, 0xF + .2byte 0x58, 0xF + .2byte 0x64, 0xF + .2byte 0x70, 0xF + .2byte 0x7C, 0xF + .2byte 0x88, 0xF + .2byte 0x94, 0xF + .2byte 0xA1, 0xD + .2byte 0xAD, 0xD + .2byte 0xB9, 0xD + .2byte 0xC5, 0xD + .2byte 0xD1, 0xD + .2byte 3, 0x1A + .2byte 0xF, 0x1A + .2byte 0x1B, 0x1A + .2byte 0x27, 0x1A + .2byte 0x33, 0x1A + .2byte 0x40, 0x1C + .2byte 0x4C, 0x1C + .2byte 0x58, 0x1C + .2byte 0x64, 0x1C + .2byte 0x70, 0x1C + .2byte 0x7C, 0x1C + .2byte 0x88, 0x1C + .2byte 0x94, 0x1C + .2byte 0xA1, 0x1A + .2byte 0xAD, 0x1A + .2byte 0xB9, 0x1A + .2byte 0xC5, 0x1A + .2byte 0xD1, 0x1A + .2byte 3, 0x28 + .2byte 0xF, 0x28 + .2byte 0x1B, 0x28 + .2byte 0x27, 0x28 + .2byte 0x33, 0x28 + .2byte 0x40, 0x2A + .2byte 0x4C, 0x2A + .2byte 0x58, 0x2A + .2byte 0x64, 0x2A + .2byte 0x70, 0x2A + .2byte 0x7C, 0x2A + .2byte 0x88, 0x2A + .2byte 0x94, 0x2A + .2byte 0xA1, 0x28 + .2byte 0xAD, 0x28 + .2byte 0xB9, 0x28 + .2byte 0xC5, 0x28 + .2byte 0xD1, 0x28 .global gUnknown_80DB098 gUnknown_80DB098: @ 80DB098 - .incbin "baserom.gba", 0xDB098, 0x60 + .2byte 0x20, 0x12 + .2byte 0x2E, 0x12 + .2byte 0x3C, 0x12 + .2byte 0x4A, 0x12 + .2byte 0x58, 0x14 + .2byte 0x66, 0x14 + .2byte 0x74, 0x14 + .2byte 0x82, 0x14 + .2byte 0x90, 0x12 + .2byte 0x9E, 0x12 + .2byte 0xAC, 0x12 + .2byte 0xBA, 0x12 + .2byte 0x20, 0x24 + .2byte 0x2E, 0x24 + .2byte 0x3C, 0x24 + .2byte 0x4A, 0x24 + .2byte 0x58, 0x26 + .2byte 0x66, 0x26 + .2byte 0x74, 0x26 + .2byte 0x82, 0x26 + .2byte 0x90, 0x24 + .2byte 0x9E, 0x24 + .2byte 0xAC, 0x24 + .2byte 0xBA, 0x24 .global gUnknown_80DB0F8 gUnknown_80DB0F8: @ 80DB0F8 - .incbin "baserom.gba", 0xDB0F8, 0x3FC +.macro st_80DB0F8, a, b, c, d, e, f, g, h + .byte \a, \b, \c, \d, \e, \f, \g + .align 2, 0 + .4byte \h +.endm + st_80DB0F8 0, 0, 0, 0, 8, 3, 0, 264 + st_80DB0F8 0, 0, 0, 0, 8, 14, 0, 264 + st_80DB0F8 0, 0, 0, 0, 8, 25, 0, 264 + st_80DB0F8 5, 4, 81, 9, 8, 36, 3, 263 + st_80DB0F8 3, 5, 82, 10, 8, 47, 3, 261 + st_80DB0F8 4, 3, 83, 11, 8, 58, 3, 262 + st_80DB0F8 11, 7, 78, 12, 36, 3, 0, 97 + st_80DB0F8 6, 8, 79, 13, 36, 14, 0, 110 + st_80DB0F8 7, 9, 80, 14, 36, 25, 0, 65 + st_80DB0F8 8, 10, 3, 15, 36, 36, 0, 78 + st_80DB0F8 9, 11, 4, 16, 36, 47, 0, 233 + st_80DB0F8 10, 6, 5, 17, 36, 58, 0, 43 + st_80DB0F8 17, 13, 6, 18, 50, 3, 0, 98 + st_80DB0F8 12, 14, 7, 19, 50, 14, 0, 111 + st_80DB0F8 13, 15, 8, 20, 50, 25, 0, 66 + st_80DB0F8 14, 16, 9, 21, 50, 36, 0, 79 + st_80DB0F8 15, 17, 10, 22, 50, 47, 0, 49 + st_80DB0F8 16, 12, 11, 23, 50, 58, 0, 45 + st_80DB0F8 23, 19, 12, 24, 64, 3, 0, 99 + st_80DB0F8 18, 20, 13, 25, 64, 14, 0, 112 + st_80DB0F8 19, 21, 14, 26, 64, 25, 0, 67 + st_80DB0F8 20, 22, 15, 27, 64, 36, 0, 80 + st_80DB0F8 21, 23, 16, 28, 64, 47, 0, 50 + st_80DB0F8 22, 18, 17, 29, 64, 58, 0, 44 + st_80DB0F8 29, 25, 18, 30, 78, 3, 0, 100 + st_80DB0F8 24, 26, 19, 31, 78, 14, 0, 113 + st_80DB0F8 25, 27, 20, 32, 78, 25, 0, 68 + st_80DB0F8 26, 28, 21, 33, 78, 36, 0, 81 + st_80DB0F8 27, 29, 22, 34, 78, 47, 0, 51 + st_80DB0F8 28, 24, 23, 35, 78, 58, 0, 46 + st_80DB0F8 35, 31, 24, 36, 92, 3, 0, 101 + st_80DB0F8 30, 32, 25, 37, 92, 14, 0, 114 + st_80DB0F8 31, 33, 26, 38, 92, 25, 0, 69 + st_80DB0F8 32, 34, 27, 39, 92, 36, 0, 82 + st_80DB0F8 33, 35, 28, 40, 92, 47, 0, 52 + st_80DB0F8 34, 30, 29, 41, 92, 58, 0, 33 + st_80DB0F8 41, 37, 30, 42, 106, 3, 0, 102 + st_80DB0F8 36, 38, 31, 43, 106, 14, 0, 115 + st_80DB0F8 37, 39, 32, 44, 106, 25, 0, 70 + st_80DB0F8 38, 40, 33, 45, 106, 36, 0, 83 + st_80DB0F8 39, 41, 34, 46, 106, 47, 0, 53 + st_80DB0F8 40, 36, 35, 47, 106, 58, 0, 63 + st_80DB0F8 47, 43, 36, 48, 120, 3, 0, 103 + st_80DB0F8 42, 44, 37, 49, 120, 14, 0, 116 + st_80DB0F8 43, 45, 38, 50, 120, 25, 0, 71 + st_80DB0F8 44, 46, 39, 51, 120, 36, 0, 84 + st_80DB0F8 45, 47, 40, 52, 120, 47, 0, 54 + st_80DB0F8 46, 42, 41, 53, 120, 58, 0, 145 + st_80DB0F8 53, 49, 42, 54, 134, 3, 0, 104 + st_80DB0F8 48, 50, 43, 55, 134, 14, 0, 117 + st_80DB0F8 49, 51, 44, 56, 134, 25, 0, 72 + st_80DB0F8 50, 52, 45, 57, 134, 36, 0, 85 + st_80DB0F8 51, 53, 46, 58, 134, 47, 0, 55 + st_80DB0F8 52, 48, 47, 59, 134, 58, 0, 146 + st_80DB0F8 59, 55, 48, 60, 148, 3, 0, 105 + st_80DB0F8 54, 56, 49, 61, 148, 14, 0, 118 + st_80DB0F8 55, 57, 50, 62, 148, 25, 0, 73 + st_80DB0F8 56, 58, 51, 63, 148, 36, 0, 86 + st_80DB0F8 57, 59, 52, 64, 148, 47, 0, 56 + st_80DB0F8 58, 54, 53, 65, 148, 58, 0, 147 + st_80DB0F8 65, 61, 54, 66, 162, 3, 0, 106 + st_80DB0F8 60, 62, 55, 67, 162, 14, 0, 119 + st_80DB0F8 61, 63, 56, 68, 162, 25, 0, 74 + st_80DB0F8 62, 64, 57, 69, 162, 36, 0, 87 + st_80DB0F8 63, 65, 58, 70, 162, 47, 0, 57 + st_80DB0F8 64, 60, 59, 71, 162, 58, 0, 148 + st_80DB0F8 71, 67, 60, 72, 176, 3, 0, 107 + st_80DB0F8 66, 68, 61, 73, 176, 14, 0, 120 + st_80DB0F8 67, 69, 62, 74, 176, 25, 0, 75 + st_80DB0F8 68, 70, 63, 75, 176, 36, 0, 88 + st_80DB0F8 69, 71, 64, 76, 176, 47, 0, 48 + st_80DB0F8 70, 66, 65, 77, 176, 58, 0, 189 + st_80DB0F8 77, 73, 66, 78, 190, 3, 0, 108 + st_80DB0F8 72, 74, 67, 79, 190, 14, 0, 121 + st_80DB0F8 73, 75, 68, 80, 190, 25, 0, 76 + st_80DB0F8 74, 76, 69, 81, 190, 36, 0, 89 + st_80DB0F8 75, 77, 70, 82, 190, 47, 0, 58 + st_80DB0F8 76, 72, 71, 83, 190, 58, 0, 190 + st_80DB0F8 83, 79, 72, 6, 204, 3, 0, 109 + st_80DB0F8 78, 80, 73, 7, 204, 14, 0, 122 + st_80DB0F8 79, 81, 74, 8, 204, 25, 0, 77 + st_80DB0F8 80, 82, 75, 3, 204, 36, 0, 90 + st_80DB0F8 81, 83, 76, 4, 204, 47, 0, 133 + st_80DB0F8 82, 78, 77, 5, 204, 58, 0, 32 + st_80DB0F8 0, 0, 0, 0, 8, 3, 2, 265 .global gUnknown_80DB4F4 gUnknown_80DB4F4: @ 80DB4F4 - .incbin "baserom.gba", 0xDB4F4, 0x44 + .4byte sUnknown_80DB534 + .4byte sUnknown_80DB530 + .4byte sUnknown_80DB528 + .4byte sUnknown_80DB520 + .4byte sUnknown_80DB518 + .4byte sUnknown_80DB514 + .4byte sUnknown_80DB510 + +sUnknown_80DB510: + .string "END\0" + .align 2, 0 + +sUnknown_80DB514: + .string "DEL\0" + .align 2, 0 + +sUnknown_80DB518: + .string "ABC\0" + .align 2, 0 + +sUnknown_80DB520: + .string "カナ\0" + .align 2, 0 + +sUnknown_80DB528: + .string "かな\0" + .align 2, 0 + +sUnknown_80DB530: + .string "゜\0" + .align 2, 0 + +sUnknown_80DB534: + .string "゛\0" + .align 2, 0 .global gUnknown_80DB538 gUnknown_80DB538: @ 80DB538 diff --git a/data/data_80DED44.s b/data/data_80DED44.s index 7bb5228..4989dea 100644 --- a/data/data_80DED44.s +++ b/data/data_80DED44.s @@ -489,7 +489,14 @@ gUnknown_80E04B4: @ 80E04B4 .global gUnknown_80E04F4 gUnknown_80E04F4: @ 80E04F4 - .incbin "baserom.gba", 0xE04F4, 0xCC + .string "#+...Oh~2c wait~2c sorry.#P" + .string "#+You already have the \n" + .string "#+#C4$h Friend Area#R.#P" + .string "#+I~27m sorry that my reward is\n" + .string "#+something you already have.#P" + .string "#+In its place~2c #CN$m0#R~2c\n" + .string "#+you can have #CG1~2c000#R {POKE}.\0" + .align 2, 0 .global gUnknown_80E05C0 gUnknown_80E05C0: @ 80E05C0 diff --git a/data/move/move_names.s b/data/move/move_names.s index 46e32f4..d81353c 100644 --- a/data/move/move_names.s +++ b/data/move/move_names.s @@ -275,7 +275,7 @@ MoveUseTextBide: .global MoveNameBide2 MoveNameBide2: -.string "かみん\0" +.string "がみん\0" .align 2,0 .global MoveDescriptionIsWatching -- cgit v1.2.3 From bc43a77380f2265481c7e6ca3a42d631f658a7ab Mon Sep 17 00:00:00 2001 From: mid-kid Date: Mon, 13 Dec 2021 23:05:10 +0100 Subject: Finish de-incbinning data_80E59A8.s and data_80E7D40.s --- charmap.txt | 1 + data/data_80E59A8.s | 778 +++++++++++++----- data/data_80E7D40.s | 2189 ++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 2759 insertions(+), 209 deletions(-) diff --git a/charmap.txt b/charmap.txt index bbf9eb7..6bbd898 100644 --- a/charmap.txt +++ b/charmap.txt @@ -210,6 +210,7 @@ 'ÿ' = FF @ Shift JIS +' ' = 81 40 '?' = 81 48 '゛' = 81 4A '゜' = 81 4B diff --git a/data/data_80E59A8.s b/data/data_80E59A8.s index 2c4d1dd..9e16004 100644 --- a/data/data_80E59A8.s +++ b/data/data_80E59A8.s @@ -18,50 +18,150 @@ gUnknown_80E5CCC: @ 80E5CCC .byte 0x00, 0x00, 0x00, 0x00 .byte 0xdd, 0xff, 0x00, 0x00 - .string " \0" - .align 2,0 - .string "Start an entirely new adventure.\0" - .align 2,0 +sUnknown_80E5CE4: @ 80E5CE4 + .string " \0" + .align 2,0 + + .string "Start an entirely new adventure.\0" + .align 2,0 .global gUnknown_80E5D0C gUnknown_80E5D0C: @ 80E5D0C - .incbin "baserom.gba", 0xE5D0C, 0x3C + .4byte sUnknown_80E5D24, 0xFFDE + .4byte sUnknown_80E5CE4, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5D24: @ 80E5D24 + .string "Check your career as an adventurer.\0" + .align 2, 0 .global gUnknown_80E5D48 gUnknown_80E5D48: @ 80E5D48 - .incbin "baserom.gba", 0xE5D48, 0x58 + .4byte sUnknown_80E5D88, 0xFFDE + .4byte sUnknown_80E5D60, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5D60: @ 80E5D60 + .string "It won~27t be in the release version.\0" + .align 2, 0 + +sUnknown_80E5D88: @ 80E5D88 + .string "This is the Debug Mode.\0" + .align 2, 0 .global gUnknown_80E5DA0 gUnknown_80E5DA0: @ 80E5DA0 - .incbin "baserom.gba", 0xE5DA0, 0x50 + .4byte sUnknown_80E5DCC, 0xFFDE + .4byte sUnknown_80E5DB8, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5DB8: + .string "you last saved. \0" + .align 2, 0 + +sUnknown_80E5DCC: + .string "Resume your adventure from where\0" + .align 2, 0 .global gUnknown_80E5DF0 gUnknown_80E5DF0: @ 80E5DF0 - .incbin "baserom.gba", 0xE5DF0, 0x6C + .4byte sUnknown_80E5E34, 0xFFDE + .4byte sUnknown_80E5E08, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5E08: + .string "#C2Beware#R! This will delete it forever!\0" + .align 2, 0 + +sUnknown_80E5E34: + .string "This will delete your saved game data.\0" + .align 2, 0 .global gUnknown_80E5E5C gUnknown_80E5E5C: @ 80E5E5C - .incbin "baserom.gba", 0xE5E5C, 0x60 + .4byte sUnknown_80E5EA0, 0xFFDE + .4byte sUnknown_80E5E74, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5E74: + .string "passwords~2c friends may rescue each other.\0" + .align 2, 0 + +sUnknown_80E5EA0: + .string "Using a Game Link cable or\0" + .align 2, 0 .global gUnknown_80E5EBC gUnknown_80E5EBC: @ 80E5EBC - .incbin "baserom.gba", 0xE5EBC, 0x60 + .4byte sUnknown_80E5EF8, 0xFFDE + .4byte sUnknown_80E5ED4, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5ED4: + .string "trade stored items with a friend.\0" + .align 2, 0 + +sUnknown_80E5EF8: + .string "Using a Game Link cable~2c you can\0" + .align 2, 0 .global gUnknown_80E5F1C gUnknown_80E5F1C: @ 80E5F1C - .incbin "baserom.gba", 0xE5F1C, 0x64 + .4byte sUnknown_80E5F58, 0xFFDE + .4byte sUnknown_80E5F34, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5F34: + .string "You can give up waiting for rescue.\0" + .align 2, 0 + +sUnknown_80E5F58: + .string "You are awaiting rescue by a friend.\0" + .align 2, 0 .global gUnknown_80E5F80 gUnknown_80E5F80: @ 80E5F80 - .incbin "baserom.gba", 0xE5F80, 0x4C + .4byte sUnknown_80E5FB0, 0xFFDE + .4byte sUnknown_80E5F98, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5F98: + .string "receive Wonder Mail.\0" + .align 2, 0 + +sUnknown_80E5FB0: + .string "Using passwords~2c you can\0" + .align 2, 0 .global gUnknown_80E5FCC gUnknown_80E5FCC: @ 80E5FCC - .incbin "baserom.gba", 0xE5FCC, 0x64 + .4byte sUnknown_80E6008, 0xFFDE + .4byte sUnknown_80E5FE4, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E5FE4: + .string "receive teams from your friends.\0" + .align 2, 0 + +sUnknown_80E6008: + .string "Using the Dual Slot function~2c you can\0" + .align 2, 0 .global gUnknown_80E6030 gUnknown_80E6030: @ 80E6030 - .incbin "baserom.gba", 0xE6030, 0x70 + .4byte sUnknown_80E6070, 0xFFDE + .4byte sUnknown_80E6048, 0xFFDE + .4byte 0, 0xFFDD + +sUnknown_80E6048: + .string "go on an adventure to unknown worlds.\0" + .align 2, 0 + +sUnknown_80E6070: + .string "Using wireless communication~2c you can\0" + .align 2, 0 + + .string "pksdir0\0" @ Start of Trade Items Data @@ -285,23 +385,62 @@ gUnknown_80E6554: @ 80E6554 .global gUnknown_80E656C gUnknown_80E656C: @ 80E656C - .incbin "baserom.gba", 0xE656C, 0x6C + .4byte sUnknown_80E65C4, 0x5 + .4byte sUnknown_80E65AC, 0x5 + .4byte sUnknown_80E658C, 0x5 + .4byte 0, 0x3 + +sUnknown_80E658C: + .string "#+Don~27t turn the power off!\0" + .align 2, 0 + +sUnknown_80E65AC: + .string "#+Item transmitting!\0" + .align 2, 0 + +sUnknown_80E65C4: + .string "#+#C2Caution!#R \0" + .align 2, 0 .global gUnknown_80E65D8 gUnknown_80E65D8: @ 80E65D8 - .incbin "baserom.gba", 0xE65D8, 0x44 + .4byte sUnknown_80E65C4, 0x5 + .4byte sUnknown_80E65F8, 0x5 + .4byte sUnknown_80E658C, 0x5 + .4byte 0, 0x3 + +sUnknown_80E65F8: + .string "#+Thank-You Mail in transmission!\0" + .align 2, 0 .global gUnknown_80E661C gUnknown_80E661C: @ 80E661C - .incbin "baserom.gba", 0xE661C, 0x40 + .4byte sUnknown_80E65C4, 0x5 + .4byte sUnknown_80E663C, 0x5 + .4byte sUnknown_80E658C, 0x5 + .4byte 0, 0x3 + +sUnknown_80E663C: + .string "#+A-OK Mail in transmission!\0" + .align 2, 0 .global gUnknown_80E665C gUnknown_80E665C: @ 80E665C - .incbin "baserom.gba", 0xE665C, 0x20 + .4byte sUnknown_80E65C4, 0x5 + .4byte sUnknown_80E65F8, 0x5 + .4byte sUnknown_80E658C, 0x5 + .4byte 0, 0x3 .global gUnknown_80E667C gUnknown_80E667C: @ 80E667C - .incbin "baserom.gba", 0xE667C, 0x40 + .4byte sUnknown_80E65C4, 0x5 + .4byte sUnknown_80E669C, 0x5 + .4byte sUnknown_80E658C, 0x5 + .4byte 0, 0x3 + +sUnknown_80E669C: + .string "#+Wonder Mail in transmission!\0" + .align 2, 0 .global gUnknown_80E66BC gUnknown_80E66BC: @ 80E66BC @@ -314,7 +453,22 @@ gUnknown_80E66BC: @ 80E66BC .global gUnknown_80E66D4 gUnknown_80E66D4: @ 80E66D4 - .incbin "baserom.gba", 0xE66D4, 0x74 + .4byte sUnknown_80E6734, 0x5 + .4byte sUnknown_80E6710, 0x5 + .4byte sUnknown_80E66F4, 0x5 + .4byte 0, 0x3 + +sUnknown_80E66F4: + .string "#+Please press any button.\0" + .align 2, 0 + +sUnknown_80E6710: + .string "#+Your adventure will be continued.\0" + .align 2, 0 + +sUnknown_80E6734: + .string "#+#CGSuccess!#R \0" + .align 2, 0 .global gUnknown_80E6748 gUnknown_80E6748: @ 80E6748 @@ -327,7 +481,22 @@ gUnknown_80E6748: @ 80E6748 .global gUnknown_80E6760 gUnknown_80E6760: @ 80E6760 - .incbin "baserom.gba", 0xE6760, 0x74 + .4byte sUnknown_80E67B4, 0x5 + .4byte sUnknown_80E6794, 0x5 + .4byte sUnknown_80E6780, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6780: + .string "#+please try again.\0" + .align 2, 0 + +sUnknown_80E6794: + .string "#+Check the Game Link cable and\0" + .align 2, 0 + +sUnknown_80E67B4: + .string "#+#C2Communication error!#R \0" + .align 2, 0 .global gUnknown_80E67D4 gUnknown_80E67D4: @ 80E67D4 @@ -340,7 +509,38 @@ gUnknown_80E67D4: @ 80E67D4 .global gUnknown_80E67EC gUnknown_80E67EC: @ 80E67EC - .incbin "baserom.gba", 0xE67EC, 0xB0 + .4byte sUnknown_80E67B4, 0x5 + .4byte sUnknown_80E680C, 0x5 + .4byte sUnknown_80E6780, 0x5 + .4byte 0, 0x3 + +sUnknown_80E680C: + .string "#+Check your communication mode and\0" + .align 2, 0 + + .global gUnknown_80E6830 +gUnknown_80E6830: @ 80E6830 + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x08, 0x00 + .byte 0x18, 0x00, 0x05, 0x00 + .byte 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global gUnknown_80E6848 +gUnknown_80E6848: @ 80E6848 + .4byte sUnknown_80E67B4, 0x5 + .4byte sUnknown_80E6888, 0x5 + .4byte sUnknown_80E6868, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6868: + .string "#+Please inform the programmer.\0" + .align 2, 0 + +sUnknown_80E6888: + .string "#+Check sum error.\0" + .align 2, 0 .global gUnknown_80E689C gUnknown_80E689C: @ 80E689C @@ -353,7 +553,22 @@ gUnknown_80E689C: @ 80E689C .global gUnknown_80E68B4 gUnknown_80E68B4: @ 80E68B4 - .incbin "baserom.gba", 0xE68B4, 0x84 + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E68FC, 0x5 + .4byte sUnknown_80E68D4, 0x5 + .4byte 0, 0x3 + +sUnknown_80E68D4: + .string "#+someone~27s storage space was full.\0" + .align 2, 0 + +sUnknown_80E68FC: + .string "#+An item could not be transferred because\0" + .align 2, 0 + +sUnknown_80E6928: + .string "#+#C2Error!#R \0" + .align 2, 0 .global gUnknown_80E6938 gUnknown_80E6938: @ 80E6938 @@ -366,7 +581,18 @@ gUnknown_80E6938: @ 80E6938 .global gUnknown_80E6950 gUnknown_80E6950: @ 80E6950 - .incbin "baserom.gba", 0xE6950, 0x60 + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E6988, 0x5 + .4byte sUnknown_80E6970, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6970: + .string "#+Please check again.\0" + .align 2, 0 + +sUnknown_80E6988: + .string "#+This #CGSOS Mail#R can~27t be used.\0" + .align 2, 0 .global gUnknown_80E69B0 gUnknown_80E69B0: @ 80E69B0 @@ -379,7 +605,14 @@ gUnknown_80E69B0: @ 80E69B0 .global gUnknown_80E69C8 gUnknown_80E69C8: @ 80E69C8 - .incbin "baserom.gba", 0xE69C8, 0x48 + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E69E8, 0x5 + .4byte sUnknown_80E6970, 0x5 + .4byte 0, 0x3 + +sUnknown_80E69E8: + .string "#+This #CGA-OK Mail#R can~27t be used.\0" + .align 2, 0 .global gUnknown_80E6A10 gUnknown_80E6A10: @ 80E6A10 @@ -392,7 +625,14 @@ gUnknown_80E6A10: @ 80E6A10 .global gUnknown_80E6A28 gUnknown_80E6A28: @ 80E6A28 - .incbin "baserom.gba", 0xE6A28, 0x4C + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E6A48, 0x5 + .4byte sUnknown_80E6970, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6A48: + .string "#+This #CGThank-You Mail#R can~27t be used.\0" + .align 2, 0 .global gUnknown_80E6A74 gUnknown_80E6A74: @ 80E6A74 @@ -405,7 +645,42 @@ gUnknown_80E6A74: @ 80E6A74 .global gUnknown_80E6A8C gUnknown_80E6A8C: @ 80E6A8C - .incbin "baserom.gba", 0xE6A8C, 0xEC + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E6AC8, 0x5 + .4byte sUnknown_80E6AAC, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6AAC: + .string "#+It can~27t be received.\0" + .align 2, 0 + +sUnknown_80E6AC8: + .string "#+There is no space for new mail.\0" + .align 2, 0 + + .global gUnknown_80E6AEC +gUnknown_80E6AEC: @ 80E6AEC + .byte 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x08, 0x00 + .byte 0x18, 0x00, 0x05, 0x00 + .byte 0x05, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 + + .global gUnknown_80E6B04 +gUnknown_80E6B04: @ 80E6B04 + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E6B4C, 0x5 + .4byte sUnknown_80E6B24, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6B24: + .string "#+You need to go further in the story.\0" + .align 2, 0 + +sUnknown_80E6B4C: + .string "#+You may not go to that #CGdungeon#R yet.\0" + .align 2, 0 .global gUnknown_80E6B78 gUnknown_80E6B78: @ 80E6B78 @@ -418,7 +693,18 @@ gUnknown_80E6B78: @ 80E6B78 .global gUnknown_80E6B90 gUnknown_80E6B90: @ 80E6B90 - .incbin "baserom.gba", 0xE6B90, 0x64 + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E6BC4, 0x5 + .4byte sUnknown_80E6BB0, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6BB0: + .string "#+Please try again.\0" + .align 2, 0 + +sUnknown_80E6BC4: + .string "#+There was a problem on your friend~27s end.\0" + .align 2, 0 .global gUnknown_80E6BF4 gUnknown_80E6BF4: @ 80E6BF4 @@ -431,7 +717,14 @@ gUnknown_80E6BF4: @ 80E6BF4 .global gUnknown_80E6C0C gUnknown_80E6C0C: @ 80E6C0C - .incbin "baserom.gba", 0xE6C0C, 0x44 + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E6C2C, 0x5 + .4byte sUnknown_80E6BB0, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6C2C: + .string "#+Your friend is not responding.\0" + .align 2, 0 .global gUnknown_80E6C50 gUnknown_80E6C50: @ 80E6C50 @@ -444,7 +737,18 @@ gUnknown_80E6C50: @ 80E6C50 .global gUnknown_80E6C68 gUnknown_80E6C68: @ 80E6C68 - .incbin "baserom.gba", 0xE6C68, 0x68 + .4byte sUnknown_80E6734, 0x5 + .4byte sUnknown_80E6CA8, 0x5 + .4byte sUnknown_80E6C88, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6C88: + .string "#+went through successfully.\0" + .align 2, 0 + +sUnknown_80E6CA8: + .string "#+The item exchange with your friend\0" + .align 2, 0 .global gUnknown_80E6CD0 gUnknown_80E6CD0: @ 80E6CD0 @@ -457,7 +761,18 @@ gUnknown_80E6CD0: @ 80E6CD0 .global gUnknown_80E6CE8 gUnknown_80E6CE8: @ 80E6CE8 - .incbin "baserom.gba", 0xE6CE8, 0x6C + .4byte sUnknown_80E65C4, 0x5 + .4byte sUnknown_80E6D2C, 0x5 + .4byte sUnknown_80E6D08, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6D08: + .string "#+you and your friend are ready.\0" + .align 2, 0 + +sUnknown_80E6D2C: + .string "#+Please communicate only after both\0" + .align 2, 0 .global gUnknown_80E6D54 gUnknown_80E6D54: @ 80E6D54 @@ -470,7 +785,18 @@ gUnknown_80E6D54: @ 80E6D54 .global gUnknown_80E6D6C gUnknown_80E6D6C: @ 80E6D6C - .incbin "baserom.gba", 0xE6D6C, 0x70 + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E6DB0, 0x5 + .4byte sUnknown_80E6D8C, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6D8C: + .string "#+connected. Please check again.\0" + .align 2, 0 + +sUnknown_80E6DB0: + .string "#+An incorrect number of GBA systems are\0" + .align 2, 0 .global gUnknown_80E6DDC gUnknown_80E6DDC: @ 80E6DDC @@ -483,7 +809,20 @@ gUnknown_80E6DDC: @ 80E6DDC .global gUnknown_80E6DF4 gUnknown_80E6DF4: @ 80E6DF4 - .incbin "baserom.gba", 0xE6DF4, 0x5C + .4byte sUnknown_80E6928, 0x5 + .4byte sUnknown_80E6E30, 0x5 + .4byte sUnknown_80E6E14, 0x5 + .4byte 0, 0x3 + +sUnknown_80E6E14: + .string "#+Please check it again.\0" + .align 2, 0 + +sUnknown_80E6E30: + .string "#+Communication failed.\0" + .align 2, 0 + + .string "pksdir0\0" .global gUnknown_80E6E50 gUnknown_80E6E50:: @ 80E6E50 @@ -565,60 +904,110 @@ gUnknown_80E6F38: @ 80E6F38 .global gUnknown_80E6F50 gUnknown_80E6F50: @ 80E6F50 - .incbin "baserom.gba", 0xE6F50, 0x6C + .4byte sUnknown_80E6FAC, 0x4 + .4byte sUnknown_80E6F90, 0x4 + .4byte sUnknown_80E6F70, 0x4 + .4byte 0, 0x2 + +sUnknown_80E6F70: + .string "#+Don~27t turn off the power.\0" + .align 2, 0 + +sUnknown_80E6F90: + .string "#+Saving your adventure!\0" + .align 2, 0 + +sUnknown_80E6FAC: + .string "#+#C2Beware!#R \0" + .align 2, 0 .global gUnknown_80E6FBC gUnknown_80E6FBC: @ 80E6FBC - .incbin "baserom.gba", 0xE6FBC, 0x60 + .4byte sUnknown_80E7008, 0x4 + .4byte sUnknown_80E6FF0, 0x4 + .4byte sUnknown_80E6FDC, 0x4 + .4byte 0, 0x2 + +sUnknown_80E6FDC: + .string "#+has been saved.\0" + .align 2, 0 + +sUnknown_80E6FF0: + .string "#+Your adventure so far\0" + .align 2, 0 + +sUnknown_80E7008: + .string "#+#CGSuccess!#R \0" + .align 2, 0 .global gUnknown_80E701C gUnknown_80E701C: @ 80E701C - .incbin "baserom.gba", 0xE701C, 0x74 + .4byte sUnknown_80E7078, 0x4 + .4byte sUnknown_80E7050, 0x4 + .4byte sUnknown_80E703C, 0x4 + .4byte 0, 0x2 + +sUnknown_80E703C: + .string "#+Please try again.\0" + .align 2, 0 + +sUnknown_80E7050: + .string "#+Your adventure could not be saved.\0" + .align 2, 0 + +sUnknown_80E7078: + .string "#+#C2Save failed!#R \0" + .align 2, 0 .global gUnknown_80E7090 gUnknown_80E7090: @ 80E7090 - .4byte 0x80e6fac - .4byte 4 - .4byte DeletingAdventure_80E70B0 - .4byte 4 - .4byte 0x80e6f70 - .4byte 4 - .4byte 0 - .4byte 2 + .4byte sUnknown_80E6FAC, 0x4 + .4byte DeletingAdventure_80E70B0, 0x4 + .4byte sUnknown_80E6F70, 0x4 + .4byte 0, 0x2 - .global DeletingAdventure_80E70B0 - DeletingAdventure_80E70B0: - .string "{CENTER_ALIGN}Deleting your adventure!" - .align 2,0 +DeletingAdventure_80E70B0: + .string "{CENTER_ALIGN}Deleting your adventure!\0" + .align 2, 0 .global gUnknown_80E70CC gUnknown_80E70CC: @ 80E70CC - .4byte 0x80e7008 - .4byte 4 - .4byte AdventureDeleted_80E70F0 - .4byte 4 - .4byte Data_80E70EC - .4byte 4 - .4byte 0 - .4byte 2 + .4byte sUnknown_80E7008, 0x4 + .4byte AdventureDeleted_80E70F0, 0x4 + .4byte Data_80E70EC, 0x4 + .4byte 0, 0x2 - .global Data_80E70EC - Data_80E70EC: - .string " " - .align 2,0 +Data_80E70EC: + .string " \0" + .align 2, 0 - .global AdventureDeleted_80E70F0 - AdventureDeleted_80E70F0: - .string "{CENTER_ALIGN}Your adventure has been deleted." - .align 2,0 +AdventureDeleted_80E70F0: + .string "{CENTER_ALIGN}Your adventure has been deleted.\0" + .align 2, 0 .global gUnknown_80E7114 gUnknown_80E7114: @ 80E7114 - .incbin "baserom.gba", 0xE7114, 0x64 + .4byte sUnknown_80E715C, 0x4 + .4byte sUnknown_80E7134, 0x4 + .4byte sUnknown_80E703C, 0x4 + .4byte 0, 0x2 + +sUnknown_80E7134: + .string "#+Your adventure could not be deleted.\0" + .align 2, 0 + +sUnknown_80E715C: + .string "#+#C2Deletion failed!#R \0" + .align 2, 0 .global gUnknown_80E7178 gUnknown_80E7178: @ 80E7178 - .incbin "baserom.gba", 0xE7178, 0x6C + .string "#+The data could not be written.\n" + .string "#+Please turn off the power and remove\n" + .string "#+and reinsert the DS Card.\0" + .align 2, 0 + + .string "pksdir0\0" .global gUnknown_80E71E4 gUnknown_80E71E4: @ 80E71E4 @@ -640,29 +1029,22 @@ gUnknown_80E71FC: @ 80E71FC .global gUnknown_80E7214 gUnknown_80E7214: @ 80E7214 - .4byte Error_80E7268 - .4byte 0xC - .4byte IncorrectPassword_80E7250 - .4byte 0xC - .4byte CheckAgain_80E7234 - .4byte 0xC - .4byte 0 - .4byte 0xA + .4byte Error_80E7268, 0xC + .4byte IncorrectPassword_80E7250, 0xC + .4byte CheckAgain_80E7234, 0xC + .4byte 0, 0xA - .global CheckAgain_80E7234 - CheckAgain_80E7234: - .string "{CENTER_ALIGN}Please check it again.\0" - .align 2,0 +CheckAgain_80E7234: + .string "{CENTER_ALIGN}Please check it again.\0" + .align 2, 0 - .global IncorrectPassword_80E7250 - IncorrectPassword_80E7250: - .string "{CENTER_ALIGN}Incorrect password!\0" - .align 2,0 +IncorrectPassword_80E7250: + .string "{CENTER_ALIGN}Incorrect password!\0" + .align 2, 0 - .global Error_80E7268 - Error_80E7268: - .string "{CENTER_ALIGN}{COLOR_1 RED}Error!{END_COLOR_TEXT_1} \0" - .align 2,0 +Error_80E7268: + .string "{CENTER_ALIGN}{COLOR_1 RED}Error!{END_COLOR_TEXT_1} \0" + .align 2, 0 .global gUnknown_80E7278 gUnknown_80E7278: @ 80E7278 @@ -675,28 +1057,22 @@ gUnknown_80E7278: @ 80E7278 .global gUnknown_80E7290 gUnknown_80E7290: @ 80E7290 - .4byte Success_80E72D8 - .4byte 0xC - .4byte PasswordAccept_80E72B4 - .4byte 0xC - .4byte DATA_80E72B0 - .4byte 0xC - .4byte 0 - .4byte 0xA + .4byte Success_80E72D8, 0xC + .4byte PasswordAccept_80E72B4, 0xC + .4byte DATA_80E72B0, 0xC + .4byte 0, 0xA - .global DATA_80E72B0 - DATA_80E72B0: - .byte 0x20, 0x20, 0x00, 0x00 @ 2 spaces?? +DATA_80E72B0: + .string " \0" + .align 2, 0 - .global PasswordAccept_80E72B4 - PasswordAccept_80E72B4: - .string "{CENTER_ALIGN}The password has been accepted.\0" - .align 2,0 +PasswordAccept_80E72B4: + .string "{CENTER_ALIGN}The password has been accepted.\0" + .align 2, 0 - .global Success_80E72D8 - Success_80E72D8: - .string "{CENTER_ALIGN}{COLOR_1 LIGHT_BLUE_2}Success!{END_COLOR_TEXT_1} \0" - .align 2,0 +Success_80E72D8: + .string "{CENTER_ALIGN}{COLOR_1 LIGHT_BLUE_2}Success!{END_COLOR_TEXT_1} \0" + .align 2, 0 .global gUnknown_80E72EC gUnknown_80E72EC: @ 80E72EC @@ -709,19 +1085,14 @@ gUnknown_80E72EC: @ 80E72EC .global gUnknown_80E7304 gUnknown_80E7304: @ 80E7304 - .4byte Error_80E7268 - .4byte 0xC - .4byte NotSOSMail_80E7324 - .4byte 0xC - .4byte CheckAgain_80E7234 - .4byte 0xC - .4byte 0 - .4byte 0xA + .4byte Error_80E7268, 0xC + .4byte NotSOSMail_80E7324, 0xC + .4byte CheckAgain_80E7234, 0xC + .4byte 0, 0xA - .global NotSOSMail_80E7324 - NotSOSMail_80E7324: - .string "{CENTER_ALIGN}This is not an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.\0" - .align 2,0 +NotSOSMail_80E7324: + .string "{CENTER_ALIGN}This is not an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.\0" + .align 2, 0 .global gUnknown_80E7344 gUnknown_80E7344: @ 80E7344 @@ -734,19 +1105,14 @@ gUnknown_80E7344: @ 80E7344 .global gUnknown_80E735C gUnknown_80E735C: @ 80E735C - .4byte Error_80E7268 - .4byte 0xC - .4byte ReceiveSOSMail_80E737C - .4byte 0xC - .4byte CheckAgain_80E7234 - .4byte 0xC - .4byte 0 - .4byte 0xA + .4byte Error_80E7268, 0xC + .4byte ReceiveSOSMail_80E737C, 0xC + .4byte CheckAgain_80E7234, 0xC + .4byte 0, 0xA - .global ReceiveSOSMail_80E737C - ReceiveSOSMail_80E737C: - .string "{CENTER_ALIGN}This {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} has been received already.\0" - .align 2,0 +ReceiveSOSMail_80E737C: + .string "{CENTER_ALIGN}This {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} has been received already.\0" + .align 2, 0 .global gUnknown_80E73AC gUnknown_80E73AC: @ 80E73AC @@ -759,7 +1125,14 @@ gUnknown_80E73AC: @ 80E73AC .global gUnknown_80E73C4 gUnknown_80E73C4: @ 80E73C4 - .incbin "baserom.gba", 0xE73C4, 0x44 + .4byte Error_80E7268, 0xC + .4byte sUnknown_80E73E4, 0xC + .4byte CheckAgain_80E7234, 0xC + .4byte 0, 0xA + +sUnknown_80E73E4: + .string "#+This is not an #CGA-OK Mail#R.\0" + .align 2, 0 .global gUnknown_80E7408 gUnknown_80E7408: @ 80E7408 @@ -772,7 +1145,14 @@ gUnknown_80E7408: @ 80E7408 .global gUnknown_80E7420 gUnknown_80E7420: @ 80E7420 - .incbin "baserom.gba", 0xE7420, 0x48 + .4byte Error_80E7268, 0xC + .4byte sUnknown_80E7440, 0xC + .4byte CheckAgain_80E7234, 0xC + .4byte 0, 0xA + +sUnknown_80E7440: + .string "#+This #CGA-OK Mail#R cannot be used.\0" + .align 2, 0 .global gUnknown_80E7468 gUnknown_80E7468: @ 80E7468 @@ -785,7 +1165,14 @@ gUnknown_80E7468: @ 80E7468 .global gUnknown_80E7480 gUnknown_80E7480: @ 80E7480 - .incbin "baserom.gba", 0xE7480, 0x48 + .4byte Error_80E7268, 0xC + .4byte sUnknown_80E74A0, 0xC + .4byte CheckAgain_80E7234, 0xC + .4byte 0, 0xA + +sUnknown_80E74A0: + .string "#+This is not a #CGThank-You Mail#R.\0" + .align 2, 0 .global gUnknown_80E74C8 gUnknown_80E74C8: @ 80E74C8 @@ -798,7 +1185,14 @@ gUnknown_80E74C8: @ 80E74C8 .global gUnknown_80E74E0 gUnknown_80E74E0: @ 80E74E0 - .incbin "baserom.gba", 0xE74E0, 0x4C + .4byte Error_80E7268, 0xC + .4byte sUnknown_80E7500, 0xC + .4byte CheckAgain_80E7234, 0xC + .4byte 0, 0xA + +sUnknown_80E7500: + .string "#+This #CGThank-You Mail#R cannot be used.\0" + .align 2, 0 .global gUnknown_80E752C gUnknown_80E752C: @ 80E752C @@ -811,7 +1205,14 @@ gUnknown_80E752C: @ 80E752C .global gUnknown_80E7544 gUnknown_80E7544: @ 80E7544 - .incbin "baserom.gba", 0xE7544, 0x44 + .4byte Error_80E7268, 0xC + .4byte sUnknown_80E7564, 0xC + .4byte CheckAgain_80E7234, 0xC + .4byte 0, 0xA + +sUnknown_80E7564: + .string "#+This is not a #CGWonder Mail#R.\0" + .align 2, 0 .global gUnknown_80E7588 gUnknown_80E7588: @ 80E7588 @@ -824,7 +1225,20 @@ gUnknown_80E7588: @ 80E7588 .global gUnknown_80E75A0 gUnknown_80E75A0: @ 80E75A0 - .incbin "baserom.gba", 0xE75A0, 0x58 + .4byte Error_80E7268, 0xC + .4byte sUnknown_80E75CC, 0xC + .4byte sUnknown_80E75C0, 0xC + .4byte 0, 0xA + +sUnknown_80E75C0: + .string "#+new mail.\0" + .align 2, 0 + +sUnknown_80E75CC: + .string "#+There is no space for receiving\0" + .align 2, 0 + + .string "pksdir0\0" .global gUnknown_80E75F8 gUnknown_80E75F8: @ 80E75F8 @@ -856,81 +1270,65 @@ gUnknown_80E762C: @ 80E762C .global gResumeQuicksaveMenuItems gResumeQuicksaveMenuItems: @ 80E7644 - .4byte ResumeQuicksave_80E7668 - .byte 0x05, 0x00, 0x00, 0x00 - .4byte IsThatOK_80E765C - .byte 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00 + .4byte ResumeQuicksave_80E7668, 0x5 + .4byte IsThatOK_80E765C, 0x5 + .4byte 0, 0x3 - IsThatOK_80E765C: - .string "Is that OK?\0" - .align 2,0 +IsThatOK_80E765C: + .string "Is that OK?\0" + .align 2, 0 - ResumeQuicksave_80E7668: - .string "Resuming from quicksave.\0" - .align 2,0 +ResumeQuicksave_80E7668: + .string "Resuming from quicksave.\0" + .align 2, 0 .global gResumeAdventureMenuItems gResumeAdventureMenuItems: @ 80E7684 - .4byte ResumeAdventure_80E769C - .byte 0x05, 0x00, 0x00, 0x00 - .4byte IsThatOK_80E765C - .byte 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00 + .4byte ResumeAdventure_80E769C, 0x5 + .4byte IsThatOK_80E765C, 0x5 + .4byte 0, 0x3 - ResumeAdventure_80E769C: - .string "Resuming saved adventure.\0" - .align 2,0 +ResumeAdventure_80E769C: + .string "Resuming saved adventure.\0" + .align 2, 0 .global gQuitWaitingRescueMenuItems gQuitWaitingRescueMenuItems: @ 80E76B8 - .4byte QuitAwaitingRescue_80E76D0 - .byte 0x05, 0x00, 0x00, 0x00 - .4byte IsThatOK_80E765C - .byte 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00 + .4byte QuitAwaitingRescue_80E76D0, 0x5 + .4byte IsThatOK_80E765C, 0x5 + .4byte 0, 0x3 - QuitAwaitingRescue_80E76D0: - .string "Quit awaiting rescue?\0" - .align 2,0 +QuitAwaitingRescue_80E76D0: + .string "Quit awaiting rescue?\0" + .align 2, 0 .global gDeleteSavePromptMenuItems gDeleteSavePromptMenuItems: @ 80E76E8 - .4byte Deleted_80E7718 - .byte 0x05, 0x00, 0x00, 0x00 - .4byte Deleted_80E7700 - .byte 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00 + .4byte Deleted_80E7718, 0x5 + .4byte Deleted_80E7700, 0x5 + .4byte 0, 0x3 - Deleted_80E7700: - .string "deleted. Is that OK?\0" - .align 2,0 +Deleted_80E7700: + .string "deleted. Is that OK?\0" + .align 2, 0 - Deleted_80E7718: - .string "Your saved data will be\0" - .align 2,0 +Deleted_80E7718: + .string "Your saved data will be\0" + .align 2, 0 .global gDeleteSaveConfirmMenuItems gDeleteSaveConfirmMenuItems: @ 80E7730 - .4byte Deleted_80E7768 - .byte 0x05, 0x00, 0x00, 0x00 - .4byte Deleted_80E7748 - .byte 0x05, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00 - - Deleted_80E7748: - .string "delete all of your saved data?\0" - .align 2,0 + .4byte Deleted_80E7768, 0x5 + .4byte Deleted_80E7748, 0x5 + .4byte 0, 0x3 - Deleted_80E7768: - .string "Are you sure you want to\0" - .align 2,0 +Deleted_80E7748: + .string "delete all of your saved data?\0" + .align 2, 0 +Deleted_80E7768: + .string "Are you sure you want to\0" + .align 2, 0 .global gUnknown_80E7784 gUnknown_80E7784: @ 80E7784 diff --git a/data/data_80E7D40.s b/data/data_80E7D40.s index 888ac48..9be009b 100644 --- a/data/data_80E7D40.s +++ b/data/data_80E7D40.s @@ -147,31 +147,979 @@ gUnknown_80E7F6C: @ 80E7F6C .global gUnknown_80E7F94 gUnknown_80E7F94: @ 80E7F94 - .incbin "baserom.gba", 0xE7F94, 0x10C +.macro st_80E7F94 a, b, c, e, f, g, h, i, j, k, m, n + .byte \a, \b, \c + .align 2, 0 + .4byte \e, \f + .2byte \g, \h + .byte \i, \j, \k + .align 2, 0 + .4byte \m, \n +.endm + st_80E7F94 5, 1, 4, 0xC2B, 0x123456, 0x19, 0x182, 0x38, 8, 0x3A, sUnknown_80E8088, sUnknown_80E8070 + st_80E7F94 5, 1, 4, 0x112C, 0x123456, 4, 0x115, 0x38, 8, 0x3A, sUnknown_80E8060, sUnknown_80E8048 + st_80E7F94 5, 1, 4, 0x112D, 0x123456, 1, 0x118, 0x38, 8, 0x3A, sUnknown_80E8038, sUnknown_80E8020 + st_80E7F94 5, 1, 0, 0x1B2E, 0x123456, 7, 0x9B, 0x38, 8, 0x3A, 0, 0 + st_80E7F94 5, 1, 0, 0x903, 0x123456, 0x98, 0x9E, 0x38, 8, 0x3A, 0, 0 + +sUnknown_80E8020: @ 80E8020 + .string "SHOW RESCUE 00\n" + .string " EVENT02\0" + .align 2, 0 + +sUnknown_80E8038: @ 80E8038 + .string "SHOW TITLE02\0" + .align 2, 0 + +sUnknown_80E8048: @ 80E8048 + .string "SHOW RESCUE 00\n" + .string " EVENT01\0" + .align 2, 0 + +sUnknown_80E8060: @ 80E8060 + .string "SHOW TITLE01\0" + .align 2, 0 + +sUnknown_80E8070: @ 80E8070 + .string "SHOW RESCUE 00\n" + .string " EVENT00\0" + .align 2, 0 + +sUnknown_80E8088: @ 80E8088 + .string "SHOW TITLE00\0" + .align 2, 0 + +sUnknown_80E8098: @ 80E8098 + .string "pksdir0\0" + .align 2, 0 .global gUnknown_80E80A0 gUnknown_80E80A0: @ 80E80A0 - .incbin "baserom.gba", 0xE80A0, 0x40 + .4byte 1 + .4byte 5 + .4byte 10 + .4byte 20 + .4byte 40 + .4byte 60 + .4byte 80 + .4byte 100 + .4byte 150 + .4byte 200 + .4byte 300 + .4byte 500 + .4byte 700 + .4byte 1000 + .4byte 1500 + .4byte 2000 .global gUnknown_80E80E0 gUnknown_80E80E0: @ 80E80E0 - .incbin "baserom.gba", 0xE80E0, 0x46 + .2byte 201 + .2byte 376 + .2byte 380 + .2byte 291 + .2byte 293 + .2byte 14 + .2byte 81 + .2byte 82 + .2byte 307 + .2byte 94 + .2byte 145 + .2byte 146 + .2byte 144 + .2byte 412 + .2byte 269 + .2byte 268 + .2byte 270 + .2byte 275 + .2byte 150 + .2byte 409 + .2byte 408 + .2byte 413 + .2byte 274 + .2byte 276 + .2byte 405 + .2byte 406 + .2byte 407 + .2byte 151 + .2byte 411 + .2byte 410 + .2byte 414 + .2byte 420 + .2byte 421 + .2byte 422 + .2byte 0 .global gUnknown_80E8126 gUnknown_80E8126: @ 80E8126 - .incbin "baserom.gba", 0xE8126, 0x42 + .2byte 380 + .2byte 53 + .2byte 40 + .2byte 115 + .2byte 341 + .2byte 304 + .2byte 296 + .2byte 69 + .2byte 234 + .2byte 365 + .2byte 387 + .2byte 10 + .2byte 11 + .2byte 12 + .2byte 51 + .2byte 50 + .2byte 252 + .2byte 189 + .2byte 300 + .2byte 65 + .2byte 6 + .2byte 273 + .2byte 23 + .2byte 333 + .2byte 178 + .2byte 38 + .2byte 9 + .2byte 249 + .2byte 76 + .2byte 388 + .2byte 227 + .2byte 56 + .2byte 0 .global gUnknown_80E8168 gUnknown_80E8168: @ 80E8168 - .incbin "baserom.gba", 0xE8168, 0x18 + .2byte 32 + .2byte 29 + .2byte 33 + .2byte 30 + .2byte 34 + .2byte 31 + .2byte 128 + .2byte 266 + .2byte 338 + .2byte 339 + .2byte 337 + .2byte 336 .global gUnknown_80E8180 gUnknown_80E8180: @ 80E8180 - .incbin "baserom.gba", 0xE8180, 0x54 + .2byte 44 + .2byte 116 + .2byte 70 + .2byte 116 + .2byte 102 + .2byte 116 + .2byte 299 + .2byte 116 + .2byte 44 + .2byte 111 + .2byte 191 + .2byte 111 + .2byte 25 + .2byte 108 + .2byte 133 + .2byte 108 + .2byte 37 + .2byte 113 + .2byte 58 + .2byte 113 + .2byte 133 + .2byte 113 + .2byte 61 + .2byte 114 + .2byte 90 + .2byte 114 + .2byte 120 + .2byte 114 + .2byte 133 + .2byte 114 + .2byte 296 + .2byte 114 + .2byte 30 + .2byte 112 + .2byte 33 + .2byte 112 + .2byte 35 + .2byte 112 + .2byte 39 + .2byte 112 + .2byte 325 + .2byte 112 .global gUnknown_80E81D4 gUnknown_80E81D4: @ 80E81D4 - .incbin "baserom.gba", 0xE81D4, 0x608 + .2byte 23 + .2byte 93 + .2byte 24 + .2byte 93 + .2byte 373 + .2byte 98 + .2byte 292 + .2byte 97 + .2byte 332 + .2byte 92 + .2byte 119 + .2byte 88 + .2byte 280 + .2byte 87 + .2byte 372 + .2byte 98 + .2byte 387 + .2byte 101 + .2byte 308 + .2byte 97 + .2byte 309 + .2byte 97 + .2byte 168 + .2byte 97 + .2byte 159 + .2byte 88 + .2byte 416 + .2byte 96 + .2byte 133 + .2byte 86 + .2byte 74 + .2byte 98 + .2byte 167 + .2byte 97 + .2byte 246 + .2byte 91 + .2byte 339 + .2byte 97 + .2byte 95 + .2byte 98 + .2byte 59 + .2byte 87 + .2byte 185 + .2byte 98 + .2byte 70 + .2byte 89 + .2byte 71 + .2byte 89 + .2byte 194 + .2byte 88 + .2byte 245 + .2byte 91 + .2byte 252 + .2byte 102 + .2byte 190 + .2byte 86 + .2byte 196 + .2byte 96 + .2byte 325 + .2byte 86 + .2byte 326 + .2byte 86 + .2byte 107 + .2byte 92 + .2byte 264 + .2byte 90 + .2byte 125 + .2byte 90 + .2byte 269 + .2byte 87 + .2byte 302 + .2byte 86 + .2byte 160 + .2byte 88 + .2byte 162 + .2byte 86 + .2byte 249 + .2byte 88 + .2byte 57 + .2byte 92 + .2byte 161 + .2byte 86 + .2byte 259 + .2byte 86 + .2byte 390 + .2byte 91 + .2byte 21 + .2byte 86 + .2byte 22 + .2byte 86 + .2byte 139 + .2byte 98 + .2byte 138 + .2byte 98 + .2byte 58 + .2byte 87 + .2byte 410 + .2byte 88 + .2byte 68 + .2byte 92 + .2byte 149 + .2byte 100 + .2byte 127 + .2byte 97 + .2byte 380 + .2byte 86 + .2byte 381 + .2byte 99 + .2byte 143 + .2byte 86 + .2byte 140 + .2byte 98 + .2byte 141 + .2byte 98 + .2byte 262 + .2byte 92 + .2byte 8 + .2byte 88 + .2byte 9 + .2byte 88 + .2byte 83 + .2byte 86 + .2byte 104 + .2byte 94 + .2byte 105 + .2byte 94 + .2byte 291 + .2byte 97 + .2byte 115 + .2byte 86 + .2byte 311 + .2byte 89 + .2byte 310 + .2byte 89 + .2byte 343 + .2byte 88 + .2byte 192 + .2byte 89 + .2byte 277 + .2byte 89 + .2byte 10 + .2byte 97 + .2byte 303 + .2byte 88 + .2byte 130 + .2byte 88 + .2byte 78 + .2byte 87 + .2byte 38 + .2byte 87 + .2byte 228 + .2byte 86 + .2byte 306 + .2byte 96 + .2byte 182 + .2byte 89 + .2byte 255 + .2byte 88 + .2byte 99 + .2byte 88 + .2byte 44 + .2byte 89 + .2byte 328 + .2byte 102 + .2byte 229 + .2byte 97 + .2byte 411 + .2byte 94 + .2byte 232 + .2byte 94 + .2byte 287 + .2byte 101 + .2byte 98 + .2byte 88 + .2byte 235 + .2byte 86 + .2byte 169 + .2byte 93 + .2byte 63 + .2byte 96 + .2byte 314 + .2byte 86 + .2byte 290 + .2byte 97 + .2byte 94 + .2byte 99 + .2byte 128 + .2byte 86 + .2byte 129 + .2byte 88 + .2byte 81 + .2byte 90 + .2byte 92 + .2byte 99 + .2byte 93 + .2byte 99 + .2byte 349 + .2byte 87 + .2byte 67 + .2byte 92 + .2byte 14 + .2byte 97 + .2byte 341 + .2byte 93 + .2byte 329 + .2byte 102 + .2byte 54 + .2byte 88 + .2byte 330 + .2byte 102 + .2byte 318 + .2byte 86 + .2byte 299 + .2byte 89 + .2byte 256 + .2byte 94 + .2byte 400 + .2byte 100 + .2byte 19 + .2byte 86 + .2byte 55 + .2byte 88 + .2byte 42 + .2byte 93 + .2byte 76 + .2byte 98 + .2byte 75 + .2byte 98 + .2byte 48 + .2byte 97 + .2byte 307 + .2byte 96 + .2byte 112 + .2byte 94 + .2byte 111 + .2byte 94 + .2byte 396 + .2byte 88 + .2byte 272 + .2byte 98 + .2byte 247 + .2byte 88 + .2byte 356 + .2byte 89 + .2byte 384 + .2byte 99 + .2byte 344 + .2byte 88 + .2byte 106 + .2byte 92 + .2byte 360 + .2byte 86 + .2byte 145 + .2byte 90 + .2byte 135 + .2byte 90 + .2byte 27 + .2byte 94 + .2byte 28 + .2byte 94 + .2byte 117 + .2byte 88 + .2byte 397 + .2byte 88 + .2byte 90 + .2byte 88 + .2byte 288 + .2byte 86 + .2byte 367 + .2byte 88 + .2byte 134 + .2byte 88 + .2byte 279 + .2byte 89 + .2byte 87 + .2byte 88 + .2byte 278 + .2byte 89 + .2byte 382 + .2byte 99 + .2byte 413 + .2byte 102 + .2byte 270 + .2byte 88 + .2byte 121 + .2byte 88 + .2byte 123 + .2byte 97 + .2byte 41 + .2byte 93 + .2byte 301 + .2byte 86 + .2byte 15 + .2byte 97 + .2byte 97 + .2byte 96 + .2byte 96 + .2byte 96 + .2byte 7 + .2byte 88 + .2byte 276 + .2byte 96 + .2byte 388 + .2byte 96 + .2byte 227 + .2byte 96 + .2byte 363 + .2byte 98 + .2byte 300 + .2byte 89 + .2byte 51 + .2byte 94 + .2byte 116 + .2byte 88 + .2byte 399 + .2byte 100 + .2byte 298 + .2byte 89 + .2byte 391 + .2byte 91 + .2byte 102 + .2byte 89 + .2byte 402 + .2byte 102 + .2byte 152 + .2byte 89 + .2byte 333 + .2byte 92 + .2byte 170 + .2byte 88 + .2byte 386 + .2byte 96 + .2byte 359 + .2byte 100 + .2byte 358 + .2byte 86 + .2byte 315 + .2byte 97 + .2byte 238 + .2byte 97 + .2byte 50 + .2byte 94 + .2byte 419 + .2byte 96 + .2byte 316 + .2byte 97 + .2byte 248 + .2byte 88 + .2byte 250 + .2byte 91 + .2byte 253 + .2byte 101 + .2byte 181 + .2byte 90 + .2byte 84 + .2byte 86 + .2byte 85 + .2byte 86 + .2byte 260 + .2byte 86 + .2byte 109 + .2byte 93 + .2byte 73 + .2byte 88 + .2byte 294 + .2byte 97 + .2byte 176 + .2byte 86 + .2byte 175 + .2byte 86 + .2byte 319 + .2byte 86 + .2byte 118 + .2byte 88 + .2byte 364 + .2byte 88 + .2byte 392 + .2byte 91 + .2byte 393 + .2byte 91 + .2byte 11 + .2byte 97 + .2byte 385 + .2byte 89 + .2byte 257 + .2byte 94 + .2byte 347 + .2byte 87 + .2byte 43 + .2byte 89 + .2byte 353 + .2byte 94 + .2byte 103 + .2byte 89 + .2byte 312 + .2byte 86 + .2byte 365 + .2byte 88 + .2byte 34 + .2byte 93 + .2byte 31 + .2byte 93 + .2byte 29 + .2byte 93 + .2byte 32 + .2byte 93 + .2byte 30 + .2byte 93 + .2byte 33 + .2byte 93 + .2byte 52 + .2byte 86 + .2byte 240 + .2byte 101 + .2byte 61 + .2byte 88 + .2byte 186 + .2byte 88 + .2byte 62 + .2byte 88 + .2byte 60 + .2byte 88 + .2byte 195 + .2byte 88 + .2byte 317 + .2byte 97 + .2byte 284 + .2byte 88 + .2byte 177 + .2byte 96 + .2byte 178 + .2byte 96 + .2byte 369 + .2byte 94 + .2byte 357 + .2byte 89 + .2byte 231 + .2byte 86 + .2byte 324 + .2byte 98 + .2byte 394 + .2byte 88 + .2byte 86 + .2byte 88 + .2byte 233 + .2byte 102 + .2byte 348 + .2byte 87 + .2byte 320 + .2byte 86 + .2byte 157 + .2byte 87 + .2byte 148 + .2byte 100 + .2byte 282 + .2byte 87 + .2byte 296 + .2byte 88 + .2byte 295 + .2byte 88 + .2byte 12 + .2byte 97 + .2byte 237 + .2byte 97 + .2byte 352 + .2byte 86 + .2byte 187 + .2byte 89 + .2byte 350 + .2byte 96 + .2byte 267 + .2byte 86 + .2byte 361 + .2byte 93 + .2byte 46 + .2byte 97 + .2byte 47 + .2byte 97 + .2byte 236 + .2byte 88 + .2byte 322 + .2byte 92 + .2byte 122 + .2byte 96 + .2byte 261 + .2byte 92 + .2byte 91 + .2byte 88 + .2byte 338 + .2byte 97 + .2byte 273 + .2byte 98 + .2byte 395 + .2byte 88 + .2byte 173 + .2byte 86 + .2byte 13 + .2byte 97 + .2byte 25 + .2byte 90 + .2byte 36 + .2byte 86 + .2byte 18 + .2byte 86 + .2byte 17 + .2byte 86 + .2byte 172 + .2byte 90 + .2byte 35 + .2byte 86 + .2byte 4 + .2byte 87 + .2byte 120 + .2byte 88 + .2byte 155 + .2byte 87 + .2byte 354 + .2byte 94 + .2byte 191 + .2byte 89 + .2byte 241 + .2byte 86 + .2byte 100 + .2byte 90 + .2byte 374 + .2byte 88 + .2byte 146 + .2byte 87 + .2byte 136 + .2byte 87 + .2byte 65 + .2byte 96 + .2byte 126 + .2byte 87 + .2byte 351 + .2byte 96 + .2byte 230 + .2byte 97 + .2byte 40 + .2byte 86 + .2byte 2 + .2byte 89 + .2byte 1 + .2byte 89 + .2byte 3 + .2byte 89 + .2byte 142 + .2byte 98 + .2byte 265 + .2byte 87 + .2byte 174 + .2byte 86 + .2byte 355 + .2byte 94 + .2byte 336 + .2byte 90 + .2byte 197 + .2byte 101 + .2byte 144 + .2byte 91 + .2byte 39 + .2byte 86 + .2byte 234 + .2byte 86 + .2byte 366 + .2byte 88 + .2byte 153 + .2byte 89 + .2byte 88 + .2byte 93 + .2byte 89 + .2byte 93 + .2byte 239 + .2byte 97 + .2byte 304 + .2byte 88 + .2byte 254 + .2byte 101 + .2byte 53 + .2byte 86 + .2byte 108 + .2byte 86 + .2byte 275 + .2byte 87 + .2byte 346 + .2byte 88 + .2byte 345 + .2byte 88 + .2byte 163 + .2byte 86 + .2byte 401 + .2byte 100 + .2byte 331 + .2byte 102 + .2byte 286 + .2byte 101 + .2byte 16 + .2byte 86 + .2byte 77 + .2byte 87 + .2byte 188 + .2byte 89 + .2byte 137 + .2byte 86 + .2byte 258 + .2byte 86 + .2byte 379 + .2byte 86 + .2byte 337 + .2byte 90 + .2byte 244 + .2byte 87 + .2byte 321 + .2byte 92 + .2byte 243 + .2byte 87 + .2byte 156 + .2byte 87 + .2byte 69 + .2byte 89 + .2byte 110 + .2byte 93 + .2byte 289 + .2byte 86 + .2byte 293 + .2byte 97 + .2byte 183 + .2byte 88 + .2byte 184 + .2byte 88 + .2byte 342 + .2byte 93 + .2byte 101 + .2byte 90 + .2byte 56 + .2byte 92 + .2byte 251 + .2byte 88 + .2byte 283 + .2byte 88 + .2byte 147 + .2byte 100 + .2byte 151 + .2byte 96 + .2byte 150 + .2byte 96 + .2byte 266 + .2byte 86 + .2byte 375 + .2byte 88 + .2byte 200 + .2byte 99 + .2byte 263 + .2byte 91 + .2byte 154 + .2byte 89 + .2byte 404 + .2byte 102 + .2byte 132 + .2byte 86 + .2byte 403 + .2byte 102 + .2byte 72 + .2byte 88 + .2byte 179 + .2byte 90 + .2byte 180 + .2byte 90 + .2byte 49 + .2byte 97 + .2byte 114 + .2byte 89 + .2byte 368 + .2byte 94 + .2byte 199 + .2byte 88 + .2byte 80 + .2byte 88 + .2byte 79 + .2byte 88 + .2byte 198 + .2byte 101 + .2byte 327 + .2byte 101 + .2byte 313 + .2byte 86 + .2byte 193 + .2byte 97 + .2byte 389 + .2byte 91 + .2byte 371 + .2byte 98 + .2byte 64 + .2byte 96 + .2byte 271 + .2byte 98 + .2byte 383 + .2byte 99 + .2byte 164 + .2byte 86 + .2byte 268 + .2byte 90 + .2byte 26 + .2byte 90 + .2byte 335 + .2byte 90 + .2byte 285 + .2byte 88 + .2byte 334 + .2byte 90 + .2byte 113 + .2byte 86 + .2byte 20 + .2byte 86 + .2byte 408 + .2byte 100 + .2byte 409 + .2byte 100 + .2byte 398 + .2byte 88 + .2byte 131 + .2byte 88 + .2byte 45 + .2byte 89 + .2byte 305 + .2byte 96 + .2byte 171 + .2byte 88 + .2byte 5 + .2byte 87 + .2byte 6 + .2byte 87 + .2byte 370 + .2byte 98 + .2byte 242 + .2byte 86 + .2byte 124 + .2byte 91 + .2byte 274 + .2byte 96 + .2byte 362 + .2byte 98 + .2byte 323 + .2byte 86 + .2byte 297 + .2byte 88 + .2byte 82 + .2byte 90 + .2byte 406 + .2byte 91 + .2byte 407 + .2byte 102 + .2byte 405 + .2byte 98 + .2byte 412 + .2byte 100 + .2byte 166 + .2byte 97 + .2byte 165 + .2byte 97 + .2byte 37 + .2byte 87 + .2byte 340 + .2byte 89 + .2byte 281 + .2byte 87 + .2byte 189 + .2byte 89 + .2byte 158 + .2byte 88 + .2byte 66 + .2byte 92 .global gMankeyMission gMankeyMission: @ 80E87DC @@ -407,43 +1355,1032 @@ gUnknown_80E8BCC: @ 80E8BCC .global gUnknown_80E8BF8 gUnknown_80E8BF8: @ 80E8BF8 - .incbin "baserom.gba", 0xE8BF8, 0x50 + .4byte sUnknown_80E8C40 + .4byte sUnknown_80E8C38 + .4byte sUnknown_80E8C30 + .4byte sUnknown_80E8C28 + .4byte sUnknown_80E8C20 + .4byte sUnknown_80E8C18 + .4byte sUnknown_80E8C14 + +sUnknown_80E8C14: @ 80E8C14 + .string "{STAR_BULLET}\0" + .align 2, 0 + +sUnknown_80E8C18: @ 80E8C18 + .string "#C2S#R\0" + .align 2, 0 + +sUnknown_80E8C20: @ 80E8C20 + .string "#C5A#R\0" + .align 2, 0 + +sUnknown_80E8C28: @ 80E8C28 + .string "#C5B#R\0" + .align 2, 0 + +sUnknown_80E8C30: @ 80E8C30 + .string "#C4C#R\0" + .align 2, 0 + +sUnknown_80E8C38: @ 80E8C38 + .string "#C4D#R\0" + .align 2, 0 + +sUnknown_80E8C40: @ 80E8C40 + .string "#C0E#R\0" + .align 2, 0 .global gMissionRewardText gMissionRewardText: @ 80E8C48 - .incbin "baserom.gba", 0xE8C48, 0x50 + .4byte sUnknown_80E8C90 + .4byte sUnknown_80E8C84 + .4byte sUnknown_80E8C7C + .4byte sUnknown_80E8C70 + .4byte sUnknown_80E8C64 + .4byte sUnknown_80E8C60 + +sUnknown_80E8C60: @ 80E8C60 + .string "???\0" + .align 2, 0 + +sUnknown_80E8C64: @ 80E8C64 + .string "Friend Area\0" + .align 2, 0 + +sUnknown_80E8C70: @ 80E8C70 + .string "#C4%s#R + ?\0" + .align 2, 0 + +sUnknown_80E8C7C: @ 80E8C7C + .string "#C4%s#R\0" + .align 2, 0 + +sUnknown_80E8C84: @ 80E8C84 + .string "%d {POKE} + ?\0" + .align 2, 0 + +sUnknown_80E8C90: @ 80E8C90 + .string "%d {POKE}\0" + .align 2, 0 .global gUnknown_80E8C98 gUnknown_80E8C98: @ 80E8C98 - .incbin "baserom.gba", 0xE8C98, 0x14C + .4byte sUnknown_80E8DDC + .4byte sUnknown_80E8DC8 + .4byte sUnknown_80E8DB4 + .4byte sUnknown_80E8DA4 + .4byte sUnknown_80E8D88 + .4byte sUnknown_80E8D7C + .4byte sUnknown_80E8D6C + .4byte sUnknown_80E8D5C + .4byte sUnknown_80E8D44 + .4byte sUnknown_80E8D28 + .4byte sUnknown_80E8D18 + .4byte sUnknown_80E8D0C + .4byte sUnknown_80E8CF4 + .4byte sUnknown_80E8CE0 + .4byte sUnknown_80E8CD4 + +sUnknown_80E8CD4: @ 80E8CD4 + .string "Help me!\0" + .align 2, 0 + +sUnknown_80E8CE0: @ 80E8CE0 + .string "I can~27t get home!\0" + .align 2, 0 + +sUnknown_80E8CF4: @ 80E8CF4 + .string "I~27m sad and lonely.\0" + .align 2, 0 + +sUnknown_80E8D0C: @ 80E8D0C + .string "Where am I?\0" + .align 2, 0 + +sUnknown_80E8D18: @ 80E8D18 + .string "I was KO~27d...\0" + .align 2, 0 + +sUnknown_80E8D28: @ 80E8D28 + .string "I~27m too tired to move.\0" + .align 2, 0 + +sUnknown_80E8D44: @ 80E8D44 + .string "I~27m not a fighter...\0" + .align 2, 0 + +sUnknown_80E8D5C: @ 80E8D5C + .string "I fainted...\0" + .align 2, 0 + +sUnknown_80E8D6C: @ 80E8D6C + .string "I was attacked!\0" + .align 2, 0 + +sUnknown_80E8D7C: @ 80E8D7C + .string "I~27m lost.\0" + .align 2, 0 + +sUnknown_80E8D88: @ 80E8D88 + .string "I can~27t seem to get out.\0" + .align 2, 0 + +sUnknown_80E8DA4: @ 80E8DA4 + .string "I~27m scared!\0" + .align 2, 0 + +sUnknown_80E8DB4: @ 80E8DB4 + .string "I~27m in trouble...\0" + .align 2, 0 + +sUnknown_80E8DC8: @ 80E8DC8 + .string "I can~27t get out!\0" + .align 2, 0 + +sUnknown_80E8DDC: @ 80E8DDC + .string "Help!\0" + .align 2, 0 .global gUnknown_80E8DE4 gUnknown_80E8DE4: @ 80E8DE4 - .incbin "baserom.gba", 0xE8DE4, 0x1CC + .4byte sUnknown_80E8F7C + .4byte sUnknown_80E8F50 + .4byte sUnknown_80E8F2C + .4byte sUnknown_80E8F10 + .4byte sUnknown_80E8EF8 + .4byte sUnknown_80E8ED0 + .4byte sUnknown_80E8EB4 + .4byte sUnknown_80E8E98 + .4byte sUnknown_80E8E80 + .4byte sUnknown_80E8E6C + .4byte sUnknown_80E8E4C + .4byte sUnknown_80E8E2C + .4byte sUnknown_80E8E18 + +sUnknown_80E8E18: @ 80E8E18 + .string "I~27m famished...\0" + .align 2, 0 + +sUnknown_80E8E2C: @ 80E8E2C + .string "I can~27t move another step.\0" + .align 2, 0 + +sUnknown_80E8E4C: @ 80E8E4C + .string "Whoa! It~27s too rough here...\0" + .align 2, 0 + +sUnknown_80E8E6C: @ 80E8E6C + .string "I was done in...\0" + .align 2, 0 + +sUnknown_80E8E80: @ 80E8E80 + .string "I lost in a battle...\0" + .align 2, 0 + +sUnknown_80E8E98: @ 80E8E98 + .string "I~27m close to fainting...\0" + .align 2, 0 + +sUnknown_80E8EB4: @ 80E8EB4 + .string "I~27ve reached my limit...\0" + .align 2, 0 + +sUnknown_80E8ED0: @ 80E8ED0 + .string "Fighting the tough foe was a mistake...\0" + .align 2, 0 + +sUnknown_80E8EF8: @ 80E8EF8 + .string "This dungeon is scary!\0" + .align 2, 0 + +sUnknown_80E8F10: @ 80E8F10 + .string "I got lost in this dungeon!\0" + .align 2, 0 + +sUnknown_80E8F2C: @ 80E8F2C + .string "I~27m simply no good at fighting.\0" + .align 2, 0 + +sUnknown_80E8F50: @ 80E8F50 + .string "I was attacked when I was sitting still!\0" + .align 2, 0 + +sUnknown_80E8F7C: @ 80E8F7C + .string "I don~27t know how I did it~2c but I can~27t exit!\0" + .align 2, 0 .global gUnknown_80E8FB0 gUnknown_80E8FB0: @ 80E8FB0 - .incbin "baserom.gba", 0xE8FB0, 0x15C + .4byte sUnknown_80E90F4 + .4byte sUnknown_80E90E8 + .4byte sUnknown_80E90D4 + .4byte sUnknown_80E90B4 + .4byte sUnknown_80E9090 + .4byte sUnknown_80E907C + .4byte sUnknown_80E9064 + .4byte sUnknown_80E903C + .4byte sUnknown_80E9024 + .4byte sUnknown_80E900C + .4byte sUnknown_80E8DDC + .4byte sUnknown_80E8FF4 + .4byte sUnknown_80E8FE4 + +sUnknown_80E8FE4: @ 80E8FE4 + .string "Aiyeeeeeeeeh!\0" + .align 2, 0 + +sUnknown_80E8FF4: @ 80E8FF4 + .string "...Gasp! Waaaaaaaah!\0" + .align 2, 0 + +sUnknown_80E900C: @ 80E900C + .string "Someone~2c please help!\0" + .align 2, 0 + +sUnknown_80E9024: @ 80E9024 + .string "Rescue is requested!\0" + .align 2, 0 + +sUnknown_80E903C: @ 80E903C + .string "My consciousness is slipping... Help...\0" + .align 2, 0 + +sUnknown_80E9064: @ 80E9064 + .string "Wroooooaaar! Someone!\0" + .align 2, 0 + +sUnknown_80E907C: @ 80E907C + .string "Where am I? Help!\0" + .align 2, 0 + +sUnknown_80E9090: @ 80E9090 + .string "Why? Why is everyone attacking me?\0" + .align 2, 0 + +sUnknown_80E90B4: @ 80E90B4 + .string "I feel faint... Please help...\0" + .align 2, 0 + +sUnknown_80E90D4: @ 80E90D4 + .string "Someone~2c help!\0" + .align 2, 0 + +sUnknown_80E90E8: @ 80E90E8 + .string "Someone!\0" + .align 2, 0 + +sUnknown_80E90F4: @ 80E90F4 + .string "Please~2c I need help!\0" + .align 2, 0 .global gUnknown_80E910C gUnknown_80E910C: @ 80E910C - .incbin "baserom.gba", 0xE910C, 0xC8 + .4byte sUnknown_80E91BC + .4byte sUnknown_80E91A8 + .4byte sUnknown_80E9190 + .4byte sUnknown_80E917C + .4byte sUnknown_80E8DDC + .4byte sUnknown_80E9170 + .4byte sUnknown_80E9160 + .4byte sUnknown_80E914C + .4byte sUnknown_80E9144 + .4byte sUnknown_80E9134 + +sUnknown_80E9134: @ 80E9134 + .string "Disappearance!\0" + .align 2, 0 + +sUnknown_80E9144: @ 80E9144 + .string "Hurry!\0" + .align 2, 0 + +sUnknown_80E914C: @ 80E914C + .string "Hasn~27t come back.\0" + .align 2, 0 + +sUnknown_80E9160: @ 80E9160 + .string "I~27m worried.\0" + .align 2, 0 + +sUnknown_80E9170: @ 80E9170 + .string "Somebody!\0" + .align 2, 0 + +sUnknown_80E917C: @ 80E917C + .string "Failed to return.\0" + .align 2, 0 + +sUnknown_80E9190: @ 80E9190 + .string "Hurry~2c save #C6%s#R!\0" + .align 2, 0 + +sUnknown_80E91A8: @ 80E91A8 + .string "#C6%s#R needs help!\0" + .align 2, 0 + +sUnknown_80E91BC: @ 80E91BC + .string "Please help #C6%s#R!\0" + .align 2, 0 .global gUnknown_80E91D4 gUnknown_80E91D4: @ 80E91D4 - .incbin "baserom.gba", 0xE91D4, 0x64C + .4byte sUnknown_80E97FC + .4byte sUnknown_80E97E0 + .4byte sUnknown_80E97C4 + .4byte sUnknown_80E97A0 + .4byte sUnknown_80E9788 + .4byte sUnknown_80E976C + .4byte sUnknown_80E9748 + .4byte sUnknown_80E9728 + .4byte sUnknown_80E9708 + .4byte sUnknown_80E96E4 + .4byte sUnknown_80E96C4 + .4byte sUnknown_80E96A8 + .4byte sUnknown_80E9688 + .4byte sUnknown_80E9668 + .4byte sUnknown_80E9650 + .4byte sUnknown_80E9628 + .4byte sUnknown_80E9608 + .4byte sUnknown_80E95EC + .4byte sUnknown_80E95C8 + .4byte sUnknown_80E95AC + .4byte sUnknown_80E9588 + .4byte sUnknown_80E955C + .4byte sUnknown_80E9538 + .4byte sUnknown_80E951C + .4byte sUnknown_80E94FC + .4byte sUnknown_80E94E0 + .4byte sUnknown_80E94C0 + .4byte sUnknown_80E94A0 + .4byte sUnknown_80E9480 + .4byte sUnknown_80E9460 + .4byte sUnknown_80E9440 + .4byte sUnknown_80E9420 + .4byte sUnknown_80E9400 + .4byte sUnknown_80E93E0 + .4byte sUnknown_80E93B8 + .4byte sUnknown_80E9394 + .4byte sUnknown_80E9378 + .4byte sUnknown_80E9358 + .4byte sUnknown_80E9344 + .4byte sUnknown_80E9328 + .4byte sUnknown_80E9300 + .4byte sUnknown_80E92E0 + .4byte sUnknown_80E92C4 + .4byte sUnknown_80E92A4 + .4byte sUnknown_80E9288 + +sUnknown_80E9288: @ 80E9288 + .string "#C6%s#R fell into a trap!\0" + .align 2, 0 + +sUnknown_80E92A4: @ 80E92A4 + .string "I lost contact with #C6%s#R!\0" + .align 2, 0 + +sUnknown_80E92C4: @ 80E92C4 + .string "I can~27t contact #C6%s#R!\0" + .align 2, 0 + +sUnknown_80E92E0: @ 80E92E0 + .string "#C6%s#R can~27t walk anymore!\0" + .align 2, 0 + +sUnknown_80E9300: @ 80E9300 + .string "#C6%s#R~27s been missing three days!\0" + .align 2, 0 + +sUnknown_80E9328: @ 80E9328 + .string "#C6%s#R went the wrong way!\0" + .align 2, 0 + +sUnknown_80E9344: @ 80E9344 + .string "#C6%s#R is lost!\0" + .align 2, 0 + +sUnknown_80E9358: @ 80E9358 + .string "#C6%s#R appears to be stuck!\0" + .align 2, 0 + +sUnknown_80E9378: @ 80E9378 + .string "#C6%s#R appears to be lost!\0" + .align 2, 0 + +sUnknown_80E9394: @ 80E9394 + .string "#C6%s#R may have had an accident!\0" + .align 2, 0 + +sUnknown_80E93B8: @ 80E93B8 + .string "I~27m worried for #C6%s#R~27s safety!\0" + .align 2, 0 + +sUnknown_80E93E0: @ 80E93E0 + .string "#C6%s#R is fighting all alone!\0" + .align 2, 0 + +sUnknown_80E9400: @ 80E9400 + .string "#C6%s#R is too hungry to move!\0" + .align 2, 0 + +sUnknown_80E9420: @ 80E9420 + .string "Hurry~2c bring back #C6%s#R.\0" + .align 2, 0 + +sUnknown_80E9440: @ 80E9440 + .string "I got separated from #C6%s#R.\0" + .align 2, 0 + +sUnknown_80E9460: @ 80E9460 + .string "#C6%s#R is running out of time!\0" + .align 2, 0 + +sUnknown_80E9480: @ 80E9480 + .string "#C6%s#R was attacked~2c maybe!\0" + .align 2, 0 + +sUnknown_80E94A0: @ 80E94A0 + .string "Something happened to #C6%s#R!\0" + .align 2, 0 + +sUnknown_80E94C0: @ 80E94C0 + .string "#C6%s#R appears to be trapped!\0" + .align 2, 0 + +sUnknown_80E94E0: @ 80E94E0 + .string "#C6%s#R is stuck in a cave!\0" + .align 2, 0 + +sUnknown_80E94FC: @ 80E94FC + .string "#C6%s#R appears to be helpless!\0" + .align 2, 0 + +sUnknown_80E951C: @ 80E951C + .string "#C6%s#R hasn~27t reemerged!\0" + .align 2, 0 + +sUnknown_80E9538: @ 80E9538 + .string "#C6%s#R was attacked by assailants!\0" + .align 2, 0 + +sUnknown_80E955C: @ 80E955C + .string "It appears as if #C6%s#R can~27t escape!\0" + .align 2, 0 + +sUnknown_80E9588: @ 80E9588 + .string "#C6%s#R may have fainted already!\0" + .align 2, 0 + +sUnknown_80E95AC: @ 80E95AC + .string "#C6%s#R is about to faint!\0" + .align 2, 0 + +sUnknown_80E95C8: @ 80E95C8 + .string "#C6%s#R~27s been gone a long time!\0" + .align 2, 0 + +sUnknown_80E95EC: @ 80E95EC + .string "#C6%s#R has been cornered!\0" + .align 2, 0 + +sUnknown_80E9608: @ 80E9608 + .string "I~27m worried about #C6%s#R!\0" + .align 2, 0 + +sUnknown_80E9628: @ 80E9628 + .string "#C6%s#R~27s whereabouts are unknown!\0" + .align 2, 0 + +sUnknown_80E9650: @ 80E9650 + .string "#C6%s#R was paralyzed!\0" + .align 2, 0 + +sUnknown_80E9668: @ 80E9668 + .string "Trouble may have found #C6%s#R!\0" + .align 2, 0 + +sUnknown_80E9688: @ 80E9688 + .string "#C6%s#R appears to be freezing!\0" + .align 2, 0 + +sUnknown_80E96A8: @ 80E96A8 + .string "#C6%s#R may be confused!\0" + .align 2, 0 + +sUnknown_80E96C4: @ 80E96C4 + .string "#C6%s#R is too scared to move!\0" + .align 2, 0 + +sUnknown_80E96E4: @ 80E96E4 + .string "#C6%s#R went missing this morning!\0" + .align 2, 0 + +sUnknown_80E9708: @ 80E9708 + .string "#C6%s#R appears to be injured!\0" + .align 2, 0 + +sUnknown_80E9728: @ 80E9728 + .string "#C6%s#R may be facing danger!\0" + .align 2, 0 + +sUnknown_80E9748: @ 80E9748 + .string "#C6%s#R might be unable to return.\0" + .align 2, 0 + +sUnknown_80E976C: @ 80E976C + .string "#C6%s#R hasn~27t come back!\0" + .align 2, 0 + +sUnknown_80E9788: @ 80E9788 + .string "#C6%s#R can~27t swim!\0" + .align 2, 0 + +sUnknown_80E97A0: @ 80E97A0 + .string "#C6%s#R hasn~27t been heard from!\0" + .align 2, 0 + +sUnknown_80E97C4: @ 80E97C4 + .string "#C6%s#R is still missing.\0" + .align 2, 0 + +sUnknown_80E97E0: @ 80E97E0 + .string "#C6%s#R may be endangered!\0" + .align 2, 0 + +sUnknown_80E97FC: @ 80E97FC + .string "#C6%s#R passed out from the heat!\0" + .align 2, 0 .global gUnknown_80E9820 gUnknown_80E9820: @ 80E9820 - .incbin "baserom.gba", 0xE9820, 0x100 + .4byte sUnknown_80E9908 + .4byte sUnknown_80E98F0 + .4byte sUnknown_80E98DC + .4byte sUnknown_80E98B4 + .4byte sUnknown_80E8CD4 + .4byte sUnknown_80E9898 + .4byte sUnknown_80E90D4 + .4byte sUnknown_80E987C + .4byte sUnknown_80E985C + .4byte sUnknown_80E9848 + +sUnknown_80E9848: @ 80E9848 + .string "Reward upon rescue!\0" + .align 2, 0 + +sUnknown_80E985C: @ 80E985C + .string "A rescue is urgently needed!\0" + .align 2, 0 + +sUnknown_80E987C: @ 80E987C + .string "Please send a rescue team!\0" + .align 2, 0 + +sUnknown_80E9898: @ 80E9898 + .string "I~27m pleading for help!\0" + .align 2, 0 + +sUnknown_80E98B4: @ 80E98B4 + .string "I don~27t care who it is! Please help!\0" + .align 2, 0 + +sUnknown_80E98DC: @ 80E98DC + .string "Someone! Anyone?\0" + .align 2, 0 + +sUnknown_80E98F0: @ 80E98F0 + .string "Please! I need help!\0" + .align 2, 0 + +sUnknown_80E9908: @ 80E9908 + .string "Please! Someone help!\0" + .align 2, 0 .global gUnknown_80E9920 gUnknown_80E9920: @ 80E9920 - .incbin "baserom.gba", 0xE9920, 0x66C +.macro st_80E9920 a, b, c + .2byte \a, \b + .4byte \c +.endm + st_80E9920 15, 13, sUnknown_80E9F5C + st_80E9920 18, 16, sUnknown_80E9F24 + st_80E9920 20, 19, sUnknown_80E9ED8 + st_80E9920 26, 172, sUnknown_80E9E80 + st_80E9920 36, 173, sUnknown_80E9E40 + st_80E9920 40, 174, sUnknown_80E9DFC + st_80E9920 169, 41, sUnknown_80E9DA4 + st_80E9920 45, 43, sUnknown_80E9D50 + st_80E9920 62, 60, sUnknown_80E9D04 + st_80E9920 176, 175, sUnknown_80E9CC4 + st_80E9920 184, 323, sUnknown_80E9C80 + st_80E9920 242, 241, sUnknown_80E9C38 + st_80E9920 257, 256, sUnknown_80E9BFC + st_80E9920 125, 264, sUnknown_80E9BAC + st_80E9920 126, 265, sUnknown_80E9B58 + st_80E9920 273, 271, sUnknown_80E9B18 + st_80E9920 292, 290, sUnknown_80E9ACC + st_80E9920 331, 329, sUnknown_80E9A94 + st_80E9920 355, 353, sUnknown_80E9A54 + st_80E9920 393, 391, sUnknown_80E9A0C + st_80E9920 302, 301, sUnknown_80E99C8 + +sUnknown_80E99C8: @ 80E99C8 + .string "Please look for Taillow!\n" + .string "My baby is very timid~2c so I~27m worried!\0" + .align 2, 0 + +sUnknown_80E9A0C: @ 80E9A0C + .string "Save my baby Spheal! My baby is easy to\n" + .string "spot because she likes to roll!\0" + .align 2, 0 + +sUnknown_80E9A54: @ 80E9A54 + .string "Please find my little Trapinch!\n" + .string "My baby is probably lying low!\0" + .align 2, 0 + +sUnknown_80E9A94: @ 80E9A94 + .string "Please find my Aron!\n" + .string "He~27s my only child! Please help!\0" + .align 2, 0 + +sUnknown_80E9ACC: @ 80E9ACC + .string "My Wurmple went missing! Please look\n" + .string "for the cute spikes on his rear end!\0" + .align 2, 0 + +sUnknown_80E9B18: @ 80E9B18 + .string "Please search for Larvitar!\n" + .string "He loves to eat dirt! I need help!\0" + .align 2, 0 + +sUnknown_80E9B58: @ 80E9B58 + .string "My baby Magby is lost. I~27m worried sick.\n" + .string "She~27s a cheerful child who loves fire.\0" + .align 2, 0 + +sUnknown_80E9BAC: @ 80E9BAC + .string "My son can be wild with thunderbolts~2c\n" + .string "but he~27s kindhearted. Please help!\0" + .align 2, 0 + +sUnknown_80E9BFC: @ 80E9BFC + .string "Please look for Phanpy!\n" + .string "My son has a distinctive long nose!\0" + .align 2, 0 + +sUnknown_80E9C38: @ 80E9C38 + .string "Please find Teddiursa! My baby~27s head\n" + .string "has a cute crescent mark! Help!\0" + .align 2, 0 + +sUnknown_80E9C80: @ 80E9C80 + .string "Please save my adorable Azurill!\n" + .string "Watch for a round and bouncy tail!\0" + .align 2, 0 + +sUnknown_80E9CC4: @ 80E9CC4 + .string "Help! Togepi~27s just a baby!\n" + .string "I~27m worried sick! Please help!\0" + .align 2, 0 + +sUnknown_80E9D04: @ 80E9D04 + .string "My baby Poliwag! He wandered off...\n" + .string "He only just learned how to walk! Help!\0" + .align 2, 0 + +sUnknown_80E9D50: @ 80E9D50 + .string "Oddish disappeared from sight! She may be\n" + .string "buried somewhere! Someone~2c please help!\0" + .align 2, 0 + +sUnknown_80E9DA4: @ 80E9DA4 + .string "Please rescue Zubat! He~27s so young he\n" + .string "can~27t even hang from cavern ceilings well!\0" + .align 2, 0 + +sUnknown_80E9DFC: @ 80E9DFC + .string "Please find Igglybuff! Oh~2c where did that\n" + .string "child roll off to?! Oh!\0" + .align 2, 0 + +sUnknown_80E9E40: @ 80E9E40 + .string "Cleffa disappeared! Please let me know\n" + .string "if you find my child!\0" + .align 2, 0 + +sUnknown_80E9E80: @ 80E9E80 + .string "Please rescue Pichu! He~27s a little cutie\n" + .string "who can~27t charge power well yet. Please!\0" + .align 2, 0 + +sUnknown_80E9ED8: @ 80E9ED8 + .string "Rattata is missing! My precious child!\n" + .string "Please~2c won~27t someone help me?\0" + .align 2, 0 + +sUnknown_80E9F24: @ 80E9F24 + .string "Oh~2c my cute little Pidgey!\n" + .string "Please~2c someone help!\0" + .align 2, 0 + +sUnknown_80E9F5C: @ 80E9F5C + .string "Please rescue Weedle!\n" + .string "He~27s my son! Please!\0" + .align 2, 0 .global gUnknown_80E9F8C gUnknown_80E9F8C: @ 80E9F8C - .incbin "baserom.gba", 0xE9F8C, 0xED0 +.macro st_80E9F8C a, b, c, d + .2byte \a, \b + .4byte \c, \d +.endm + st_80E9F8C 103, 85, sUnknown_80EAE44, sUnknown_80EADFC + st_80E9F8C 22, 112, sUnknown_80EAE44, sUnknown_80EADD0 + st_80E9F8C 90, 394, sUnknown_80EAE44, sUnknown_80EAD94 + st_80E9F8C 89, 342, sUnknown_80EAE44, sUnknown_80EAD50 + st_80E9F8C 52, 325, sUnknown_80EAE44, sUnknown_80EAD20 + st_80E9F8C 129, 374, sUnknown_80EAE44, sUnknown_80EACD4 + st_80E9F8C 13, 290, sUnknown_80EAE44, sUnknown_80EAC88 + st_80E9F8C 293, 291, sUnknown_80EAE44, sUnknown_80EAC38 + st_80E9F8C 301, 16, sUnknown_80EAE44, sUnknown_80EABE8 + st_80E9F8C 37, 347, sUnknown_80EAE44, sUnknown_80EABA8 + st_80E9F8C 174, 173, sUnknown_80EAE44, sUnknown_80EAB68 + st_80E9F8C 49, 294, sUnknown_80EAE44, sUnknown_80EAB10 + st_80E9F8C 313, 57, sUnknown_80EAE44, sUnknown_80EAAC8 + st_80E9F8C 286, 58, sUnknown_80EAE44, sUnknown_80EAA84 + st_80E9F8C 69, 238, sUnknown_80EAE44, sUnknown_80EAA34 + st_80E9F8C 86, 392, sUnknown_80EAE44, sUnknown_80EA9F8 + st_80E9F8C 97, 122, sUnknown_80EAE44, sUnknown_80EA9A4 + st_80E9F8C 98, 366, sUnknown_80EAE44, sUnknown_80EA968 + st_80E9F8C 143, 314, sUnknown_80EAE44, sUnknown_80EA914 + st_80E9F8C 127, 239, sUnknown_80EAE44, sUnknown_80EA8D0 + st_80E9F8C 240, 360, sUnknown_80EAE44, sUnknown_80EA880 + st_80E9F8C 323, 175, sUnknown_80EAE44, sUnknown_80EA84C + st_80E9F8C 132, 185, sUnknown_80EAE44, sUnknown_80EA7FC + st_80E9F8C 241, 352, sUnknown_80EAE44, sUnknown_80EA7A8 + st_80E9F8C 79, 312, sUnknown_80EAE44, sUnknown_80EA784 + st_80E9F8C 164, 198, sUnknown_80EAE44, sUnknown_80EA730 + st_80E9F8C 340, 182, sUnknown_80EAE44, sUnknown_80EA6E4 + st_80E9F8C 250, 304, sUnknown_80EAE44, sUnknown_80EA698 + st_80E9F8C 397, 38, sUnknown_80EAE44, sUnknown_80EA650 + st_80E9F8C 187, 386, sUnknown_80EAE44, sUnknown_80EA614 + st_80E9F8C 200, 381, sUnknown_80EAE44, sUnknown_80EA5C4 + st_80E9F8C 247, 398, sUnknown_80EAE44, sUnknown_80EA57C + st_80E9F8C 176, 267, sUnknown_80EAE44, sUnknown_80EA534 + st_80E9F8C 32, 29, sUnknown_80EA51C, sUnknown_80EA4E4 + st_80E9F8C 33, 30, sUnknown_80EA51C, sUnknown_80EA4A0 + st_80E9F8C 34, 31, sUnknown_80EA51C, sUnknown_80EA45C + st_80E9F8C 128, 266, sUnknown_80EA51C, sUnknown_80EA41C + st_80E9F8C 338, 339, sUnknown_80EA51C, sUnknown_80EA3DC + st_80E9F8C 337, 336, sUnknown_80EA51C, sUnknown_80EA398 + st_80E9F8C 360, 361, sUnknown_80EA384, sUnknown_80EA33C + st_80E9F8C 106, 107, sUnknown_80EA384, sUnknown_80EA30C + st_80E9F8C 362, 363, sUnknown_80EA384, sUnknown_80EA2BC + st_80E9F8C 138, 140, sUnknown_80EA384, sUnknown_80EA26C + st_80E9F8C 370, 372, sUnknown_80EA384, sUnknown_80EA214 + st_80E9F8C 172, 172, sUnknown_80EA1FC, sUnknown_80EA1A8 + +sUnknown_80EA1A8: @ 80EA1A8 + .string "My little brother Pichu disappeared!\n" + .string "I~27m really worried! Someone~2c please help!\0" + .align 2, 0 + +sUnknown_80EA1FC: @ 80EA1FC + .string "Please help my brother!\0" + .align 2, 0 + +sUnknown_80EA214: @ 80EA214 + .string "We~27ve been rivals with #C6%s#R for\n" + .string "generations. It can~27t suddenly end like this!\0" + .align 2, 0 + +sUnknown_80EA26C: @ 80EA26C + .string "#C6%s#R has been a rival since my\n" + .string "ancestors~27 time. The rivalry can~27t end!\0" + .align 2, 0 + +sUnknown_80EA2BC: @ 80EA2BC + .string "#C6%s#R can~27t leave without settling\n" + .string "which one of us is better. Please help!\0" + .align 2, 0 + +sUnknown_80EA30C: @ 80EA30C + .string "Please save #C6%s#R.\n" + .string "We owe each other a game!\0" + .align 2, 0 + +sUnknown_80EA33C: @ 80EA33C + .string "Please rescue #C6%s#R! We detest\n" + .string "each other~2c but we need each other!\0" + .align 2, 0 + +sUnknown_80EA384: @ 80EA384 + .string "Rescue my rival!\0" + .align 2, 0 + +sUnknown_80EA398: @ 80EA398 + .string "I can~27t live without #C6%s#R!\n" + .string "My heart is breaking! Please! Help!\0" + .align 2, 0 + +sUnknown_80EA3DC: @ 80EA3DC + .string "Please save #C6%s#R!\n" + .string "We~27re no good if we~27re not together!\0" + .align 2, 0 + +sUnknown_80EA41C: @ 80EA41C + .string "Please save my #C6%s#R! Now I\n" + .string "know what #C6%s#R means to me...\0" + .align 2, 0 + +sUnknown_80EA45C: @ 80EA45C + .string "Please rescue #C6%s#R! We\n" + .string "promised our futures together! Please!\0" + .align 2, 0 + +sUnknown_80EA4A0: @ 80EA4A0 + .string "Please rescue my precious #C6%s#R!\n" + .string "We~27re in love! Please help!\0" + .align 2, 0 + +sUnknown_80EA4E4: @ 80EA4E4 + .string "Please! Please rescue #C6%s#R!\n" + .string "We~27re madly in love!\0" + .align 2, 0 + +sUnknown_80EA51C: @ 80EA51C + .string "Please save my love!\0" + .align 2, 0 + +sUnknown_80EA534: @ 80EA534 + .string "We make each other happy--it~27s in our\n" + .string "nature. Please save #C6%s#R!\0" + .align 2, 0 + +sUnknown_80EA57C: @ 80EA57C + .string "Please rescue #C6%s#R! The beach\n" + .string "feels empty without my usual friend...\0" + .align 2, 0 + +sUnknown_80EA5C4: @ 80EA5C4 + .string "I feel lonely without #C6%s#R to pull\n" + .string "pranks and mess around with. Please help!\0" + .align 2, 0 + +sUnknown_80EA614: @ 80EA614 + .string "Help #C6%s#R~2c please!\n" + .string "We often took strolls on the wind!\0" + .align 2, 0 + +sUnknown_80EA650: @ 80EA650 + .string "Please save #C6%s#R! We~27re both\n" + .string "old-timers who are longtime friends!\0" + .align 2, 0 + +sUnknown_80EA698: @ 80EA698 + .string "Please save #C6%s#R. We~27ve been in\n" + .string "the delivery business for many years!\0" + .align 2, 0 + +sUnknown_80EA6E4: @ 80EA6E4 + .string "I~27m sad without #C6%s#R~27s company.\n" + .string "We showed flowers to each other...\0" + .align 2, 0 + +sUnknown_80EA730: @ 80EA730 + .string "Without #C6%s#R~2c there~27s no one for\n" + .string "me to play with in the dark! Please help!\0" + .align 2, 0 + +sUnknown_80EA784: @ 80EA784 + .string "...Help... Please...\n" + .string "Who was it?\0" + .align 2, 0 + +sUnknown_80EA7A8: @ 80EA7A8 + .string "Please save #C6%s#R. We~27re both alike\n" + .string "in being kind of vacant and unpredictable!\0" + .align 2, 0 + +sUnknown_80EA7FC: @ 80EA7FC + .string "Without #C6%s#R around~2c there~27s no\n" + .string "one to heckle! Please break my boredom!\0" + .align 2, 0 + +sUnknown_80EA84C: @ 80EA84C + .string "Please help #C6%s#R!\n" + .string "My tiny and round best friend!\0" + .align 2, 0 + +sUnknown_80EA880: @ 80EA880 + .string "We promised to show each other how\n" + .string "sharp our claws could be... Someone~2c help!\0" + .align 2, 0 + +sUnknown_80EA8D0: @ 80EA8D0 + .string "I lock horns with #C6%s#R for fun.\n" + .string "I terribly miss doing that...\0" + .align 2, 0 + +sUnknown_80EA914: @ 80EA914 + .string "Please help #C6%s#R! We~27re both lazy~2c\n" + .string "so we~27re comfortable around each other!\0" + .align 2, 0 + +sUnknown_80EA968: @ 80EA968 + .string "I want to help #C6%s#R!\n" + .string "We both have a thing for pincers!\0" + .align 2, 0 + +sUnknown_80EA9A4: @ 80EA9A4 + .string "We promised each other to perform magic\n" + .string "and hypnosis shows together. Please help!\0" + .align 2, 0 + +sUnknown_80EA9F8: @ 80EA9F8 + .string "Someone save #C6%s#R--my friend\n" + .string "and rival at ball juggling!\0" + .align 2, 0 + +sUnknown_80EAA34: @ 80EAA34 + .string "Please help #C6%s#R! Our cries are\n" + .string "identical! We can tell each other anything!\0" + .align 2, 0 + +sUnknown_80EAA84: @ 80EAA84 + .string "I can~27t play the biting game without my pal\n" + .string "#C6%s#R! Please help!\0" + .align 2, 0 + +sUnknown_80EAAC8: @ 80EAAC8 + .string "#C6%s#R is really noisy.\n" + .string "But it~27s lonely without the racket... Sob...\0" + .align 2, 0 + +sUnknown_80EAB10: @ 80EAB10 + .string "Without #C6%s#R~2c it~27s no fun playing\n" + .string "with toxic powders! Someone~2c please help!\0" + .align 2, 0 + +sUnknown_80EAB68: @ 80EAB68 + .string "Please rescue #C6%s#R!\n" + .string "We~27ve been friends since we were eggs!\0" + .align 2, 0 + +sUnknown_80EABA8: @ 80EABA8 + .string "Please help #C6%s#R--a good\n" + .string "friend who shares my love of fire!\0" + .align 2, 0 + +sUnknown_80EABE8: @ 80EABE8 + .string "#C6%s#R and I are of the same height.\n" + .string "We~27re lifelong friends! Please help!\0" + .align 2, 0 + +sUnknown_80EAC38: @ 80EAC38 + .string "We identify with each other because we\n" + .string "both evolved from Wurmple. Please help!\0" + .align 2, 0 + +sUnknown_80EAC88: @ 80EAC88 + .string "Help! I~27m friends with #C6%s#R\n" + .string "because we both evolve fast! Please help!\0" + .align 2, 0 + +sUnknown_80EACD4: @ 80EACD4 + .string "Help! #C6%s#R isn~27t much now~2c but\n" + .string "my friend is amazing after evolution!\0" + .align 2, 0 + +sUnknown_80EAD20: @ 80EAD20 + .string "Please rescue #C6%s#R!\n" + .string "We always play together!\0" + .align 2, 0 + +sUnknown_80EAD50: @ 80EAD50 + .string "Please rescue #C6%s#R.\n" + .string "I can~27t stand to see a sludge buddy hurt!\0" + .align 2, 0 + +sUnknown_80EAD94: @ 80EAD94 + .string "Please save my best friend #C6%s#R!\n" + .string "We~27re both bivalves!\0" + .align 2, 0 + +sUnknown_80EADD0: @ 80EADD0 + .string "Please save #C6%s#R~2c\n" + .string "my drilling buddy!\0" + .align 2, 0 + +sUnknown_80EADFC: @ 80EADFC + .string "This precious friend can chat separately\n" + .string "with three heads. Please help!\0" + .align 2, 0 + +sUnknown_80EAE44: @ 80EAE44 + .string "Please save my friend!\0" + .align 2, 0 @ Escort Mission Text .global gUnknown_80EAE5C @@ -709,8 +2646,222 @@ gUnknown_80EB2F0: @ 80EB2F0 @ Item Delivery Mission Text .global gUnknown_80EB3F8 gUnknown_80EB3F8: @ 80EB3F8 - .incbin "baserom.gba", 0xEB3F8, 0x334 + .4byte sUnknown_80EB708 + .4byte sUnknown_80EB6E4 + .4byte sUnknown_80EB6C0 + .4byte sUnknown_80EB6A0 + .4byte sUnknown_80EB67C + .4byte sUnknown_80EB654 + .4byte sUnknown_80EB638 + .4byte sUnknown_80EB618 + .4byte sUnknown_80EB5F8 + .4byte sUnknown_80EB5D4 + .4byte sUnknown_80EB5B4 + .4byte sUnknown_80EB590 + .4byte sUnknown_80EB568 + .4byte sUnknown_80EB54C + .4byte sUnknown_80EB524 + .4byte sUnknown_80EB500 + .4byte sUnknown_80EB4E0 + .4byte sUnknown_80EB4C0 + .4byte sUnknown_80EB4AC + .4byte sUnknown_80EB494 + .4byte sUnknown_80EB470 + .4byte sUnknown_80EB450 + +sUnknown_80EB450: @ 80EB450 + .string "Is it true about the #C4%s#R?\0" + .align 2, 0 + +sUnknown_80EB470: @ 80EB470 + .string "The item #C4%s#R is the in thing!\0" + .align 2, 0 + +sUnknown_80EB494: @ 80EB494 + .string "Wanted: my own #C4%s#R.\0" + .align 2, 0 + +sUnknown_80EB4AC: @ 80EB4AC + .string "I lost my #C4%s#R.\0" + .align 2, 0 + +sUnknown_80EB4C0: @ 80EB4C0 + .string "#C4%s#R wanted for nostalgia.\0" + .align 2, 0 + +sUnknown_80EB4E0: @ 80EB4E0 + .string "#C4%s#R wanted to test effects.\0" + .align 2, 0 + +sUnknown_80EB500: @ 80EB500 + .string "#C4%s#R~27s texture is comforting.\0" + .align 2, 0 + +sUnknown_80EB524: @ 80EB524 + .string "#C4%s#R--it~27s my mom~27s favorite.\0" + .align 2, 0 + +sUnknown_80EB54C: @ 80EB54C + .string "#C4%s#R makes me strong.\0" + .align 2, 0 + +sUnknown_80EB568: @ 80EB568 + .string "I can~27t sleep without it: #C4%s#R.\0" + .align 2, 0 + +sUnknown_80EB590: @ 80EB590 + .string "#C4%s#R--I get scared without it!\0" + .align 2, 0 + +sUnknown_80EB5B4: @ 80EB5B4 + .string "Hard-to-find #C4%s#R sought.\0" + .align 2, 0 + +sUnknown_80EB5D4: @ 80EB5D4 + .string "I can~27t find one more #C4%s#R.\0" + .align 2, 0 + +sUnknown_80EB5F8: @ 80EB5F8 + .string "Help this #C4%s#R collector!\0" + .align 2, 0 + +sUnknown_80EB618: @ 80EB618 + .string "#C4%s#R! Seeking in quantity!\0" + .align 2, 0 + +sUnknown_80EB638: @ 80EB638 + .string "#C4%s#R wanted as a charm.\0" + .align 2, 0 + +sUnknown_80EB654: @ 80EB654 + .string "#C4%s#R--I can~27t leave without it.\0" + .align 2, 0 + +sUnknown_80EB67C: @ 80EB67C + .string "#C4%s#R--I~27d love to utilize one!\0" + .align 2, 0 + +sUnknown_80EB6A0: @ 80EB6A0 + .string "#C4%s#R wanted for exploration.\0" + .align 2, 0 + +sUnknown_80EB6C0: @ 80EB6C0 + .string "#C4%s#R wanted after long search.\0" + .align 2, 0 + +sUnknown_80EB6E4: @ 80EB6E4 + .string "#C4%s#R--it~27s convenient to have.\0" + .align 2, 0 + +sUnknown_80EB708: @ 80EB708 + .string "Having one #C4%s#R is reassuring.\0" + .align 2, 0 .global gUnknown_80EB72C gUnknown_80EB72C: @ 80EB72C - .incbin "baserom.gba", 0xEB72C, 0x2EC + .4byte sUnknown_80EBA00 + .4byte sUnknown_80EB9E8 + .4byte sUnknown_80EB9D0 + .4byte sUnknown_80EB9BC + .4byte sUnknown_80EB9A0 + .4byte sUnknown_80EB97C + .4byte sUnknown_80EB95C + .4byte sUnknown_80EB930 + .4byte sUnknown_80EB90C + .4byte sUnknown_80EB8E8 + .4byte sUnknown_80EB8D0 + .4byte sUnknown_80EB8AC + .4byte sUnknown_80EB890 + .4byte sUnknown_80EB86C + .4byte sUnknown_80EB850 + .4byte sUnknown_80EB9A0 + .4byte sUnknown_80EB82C + .4byte sUnknown_80EB818 + .4byte sUnknown_80EB800 + .4byte sUnknown_80EB7D8 + .4byte sUnknown_80EB7A8 + .4byte sUnknown_80EB784 + +sUnknown_80EB784: @ 80EB784 + .string "Please contact me if you find it!\0" + .align 2, 0 + +sUnknown_80EB7A8: @ 80EB7A8 + .string "Please help! I~27ll make it worth your time!\0" + .align 2, 0 + +sUnknown_80EB7D8: @ 80EB7D8 + .string "Please help! I~27m offering a reward!\0" + .align 2, 0 + +sUnknown_80EB800: @ 80EB800 + .string "Please! Please help me!\0" + .align 2, 0 + +sUnknown_80EB818: @ 80EB818 + .string "Please help me out!\0" + .align 2, 0 + +sUnknown_80EB82C: @ 80EB82C + .string "Please! I need some cooperation!\0" + .align 2, 0 + +sUnknown_80EB850: @ 80EB850 + .string "Please share a little bit!\0" + .align 2, 0 + +sUnknown_80EB86C: @ 80EB86C + .string "Please help! You~27re my only hope!\0" + .align 2, 0 + +sUnknown_80EB890: @ 80EB890 + .string "Please! I need your help!\0" + .align 2, 0 + +sUnknown_80EB8AC: @ 80EB8AC + .string "Please help! I~27m counting on you!\0" + .align 2, 0 + +sUnknown_80EB8D0: @ 80EB8D0 + .string "Please search for it!\0" + .align 2, 0 + +sUnknown_80EB8E8: @ 80EB8E8 + .string "Please let me know if you find one!\0" + .align 2, 0 + +sUnknown_80EB90C: @ 80EB90C + .string "I~27m looking forward to your help!\0" + .align 2, 0 + +sUnknown_80EB930: @ 80EB930 + .string "Please! I~27m offering a generous reward!\0" + .align 2, 0 + +sUnknown_80EB95C: @ 80EB95C + .string "Please help! Reward offered!\0" + .align 2, 0 + +sUnknown_80EB97C: @ 80EB97C + .string "Please! I must have one delivered!\0" + .align 2, 0 + +sUnknown_80EB9A0: @ 80EB9A0 + .string "Please share one with me!\0" + .align 2, 0 + +sUnknown_80EB9BC: @ 80EB9BC + .string "Please give me one!\0" + .align 2, 0 + +sUnknown_80EB9D0: @ 80EB9D0 + .string "Please find one for me!\0" + .align 2, 0 + +sUnknown_80EB9E8: @ 80EB9E8 + .string "Please trade me one!\0" + .align 2, 0 + +sUnknown_80EBA00: @ 80EBA00 + .string "Please! May I have one?\0" + .align 2, 0 -- cgit v1.2.3 From 99a038284bcbbf3a0f5ee95982f761a71a72850d Mon Sep 17 00:00:00 2001 From: mid-kid Date: Sun, 19 Dec 2021 20:05:40 +0100 Subject: Translate all .include to #include MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This decision was made to reduce the complexity of using .include whilst juggling with tools/scaninc and tools/preproc: - tools/scaninc doesn't apply the proper search rules for .include (it assumes #include behavior). In particular, it doesn't consider paths starting from $PWD, and doesn't scan the included files as a result. - .include had to be processed before #include by preproc in many cases, as code was being included that had to be preprocessed by CPP (think of #define). This contradicts standard GCC behavior. To make include paths consistent across the asm/ data/ and src/ directories, the following files were moved: - constants/ → include/asm/constants/ - asm/macros/ → include/asm/macros/ - asm/macros.inc → include/asm/macros.inc - include/macros/m4a.inc → include/asm/macros/m4a.inc As part of the necessary changes for this to work, the scaninc method in the makefile was improved to generate .d files that don't choke when files are missing. --- Makefile | 44 ++- asm/arm_func.s | 4 +- asm/code_2.s | 4 +- asm/code_8002774.s | 4 +- asm/code_80035F0.s | 4 +- asm/code_8004AA0.s | 4 +- asm/code_800558C.s | 4 +- asm/code_8009804.s | 4 +- asm/code_800B5F0.s | 4 +- asm/code_800D090.s | 4 +- asm/code_8012A18.s | 4 +- asm/code_801B3C0.s | 4 +- asm/code_801C620.s | 4 +- asm/code_801D760.s | 4 +- asm/code_801DCC4.s | 4 +- asm/code_801EE10.s | 4 +- asm/code_803B050.s | 4 +- asm/code_803C1D0.s | 4 +- asm/code_803D110.s | 4 +- asm/code_8040094.s | 4 +- asm/code_8041AD0.s | 4 +- asm/code_80428A0.s | 4 +- asm/code_80450F8.s | 4 +- asm/code_8045A00.s | 4 +- asm/code_8048480.s | 4 +- asm/code_8049590.s | 4 +- asm/code_804ACA0.s | 4 +- asm/code_80521D0.s | 4 +- asm/code_8057144.s | 4 +- asm/code_8057824.s | 4 +- asm/code_806CD90.s | 4 +- asm/code_807001C.s | 4 +- asm/code_8070BC0.s | 4 +- asm/code_8070D04.s | 4 +- asm/code_8071518.s | 4 +- asm/code_807167C.s | 4 +- asm/code_8071858.s | 4 +- asm/code_80718D8.s | 4 +- asm/code_8073B78.s | 4 +- asm/code_8075BA4.s | 4 +- asm/code_808333C.s | 6 +- asm/code_808411C.s | 4 +- asm/code_8084160.s | 4 +- asm/code_80848F0.s | 4 +- asm/code_8085B0C.s | 4 +- asm/code_80869E4.s | 4 +- asm/code_8086A3C.s | 4 +- asm/code_809017C.s | 4 +- asm/code_8090208.s | 4 +- asm/code_8094148.s | 4 +- asm/code_8094D28.s | 4 +- asm/code_8095014.s | 4 +- asm/code_80958E8.s | 4 +- asm/code_809747C.s | 4 +- asm/code_8097670.s | 4 +- asm/code_80983D8.s | 4 +- asm/code_8098468.s | 4 +- asm/code_8098BDC.s | 4 +- asm/code_809D148.s | 4 +- asm/code_80A26CC.s | 4 +- asm/code_8272724.s | 4 +- asm/credits.s | 4 +- asm/crt0.s | 4 +- asm/debug_menu.s | 4 +- asm/debug_menu_1.s | 4 +- asm/debug_menu_2.s | 4 +- asm/event_flag.s | 4 +- asm/exclusive_pokemon.s | 4 +- asm/felicity_bank.s | 4 +- asm/friend_area_1.s | 4 +- asm/friend_area_action_menu.s | 4 +- asm/friend_list_menu.s | 4 +- asm/friend_rescue.s | 4 +- asm/ground_effect.s | 4 +- asm/ground_event.s | 4 +- asm/ground_link.s | 4 +- asm/ground_lives.s | 4 +- asm/ground_map.s | 4 +- asm/ground_object.s | 4 +- asm/ground_script.s | 4 +- asm/ground_sprite.s | 4 +- asm/gulpin_shop.s | 4 +- asm/jirachi_wish.s | 4 +- asm/kangaskhan_storage.s | 4 +- asm/kangaskhan_storage_1.s | 4 +- asm/kangaskhan_storage_2.s | 4 +- asm/kecleon_items.s | 4 +- asm/kecleon_items_1.s | 4 +- asm/m4a_1.s | 6 +- asm/macros.inc | 3 - asm/macros/function.inc | 29 -- asm/macros/music_voice.inc | 140 ------- asm/macros/script.inc | 415 -------------------- asm/mailbox.s | 4 +- asm/makuhita_dojo.s | 4 +- asm/memory.s | 4 +- asm/memory_1.s | 4 +- asm/moves_1.s | 4 +- asm/music.s | 4 +- asm/other_menus.s | 4 +- asm/pelipper_board.s | 4 +- asm/pokemon.s | 4 +- asm/pokemon_2.s | 4 +- asm/pokemon_3.s | 4 +- asm/rescue_password_menu.s | 4 +- asm/sprite.s | 4 +- asm/text.s | 4 +- asm/unk_menu_203B360.s | 4 +- asm/unk_menu_203B364.s | 4 +- asm/wonder_mail_2.s | 4 +- asm/wonder_mail_3.s | 4 +- asm/wonder_mail_3_mid.s | 4 +- asm/wonder_mail_4.s | 4 +- asm/wonder_mail_5.s | 4 +- constants/gba_constants.inc | 490 ------------------------ constants/m4a_constants.inc | 199 ---------- constants/script_func_constants.inc | 14 - data/cutscenes.s | 6 +- data/cutscenes_1.s | 18 +- data/data.s | 2 +- data/data_80D47B8.s | 6 +- data/data_80DED44.s | 4 +- data/data_80E2068.s | 2 +- data/data_80F4278.s | 6 +- data/dungeon/floor_id.inc | 128 +++---- data/dungeon/main_data.inc | 46 +-- data/dungeon/pokemon_found.inc | 40 +- data/dungeon_sbin.s | 34 +- data/sound_data.s | 6 +- data/system_sbin.s | 14 +- include/asm/constants/gba_constants.inc | 490 ++++++++++++++++++++++++ include/asm/constants/m4a_constants.inc | 199 ++++++++++ include/asm/constants/script_func_constants.inc | 14 + include/asm/macros.inc | 3 + include/asm/macros/function.inc | 29 ++ include/asm/macros/m4a.inc | 13 + include/asm/macros/music_voice.inc | 140 +++++++ include/asm/macros/script.inc | 415 ++++++++++++++++++++ include/macros/m4a.inc | 13 - libagbsyscall/libagbsyscall.s | 4 +- tools/dungeonjson/dungeonjson.cpp | 20 +- 141 files changed, 1715 insertions(+), 1711 deletions(-) delete mode 100644 asm/macros.inc delete mode 100644 asm/macros/function.inc delete mode 100644 asm/macros/music_voice.inc delete mode 100644 asm/macros/script.inc delete mode 100644 constants/gba_constants.inc delete mode 100644 constants/m4a_constants.inc delete mode 100644 constants/script_func_constants.inc create mode 100644 include/asm/constants/gba_constants.inc create mode 100644 include/asm/constants/m4a_constants.inc create mode 100644 include/asm/constants/script_func_constants.inc create mode 100644 include/asm/macros.inc create mode 100644 include/asm/macros/function.inc create mode 100644 include/asm/macros/m4a.inc create mode 100644 include/asm/macros/music_voice.inc create mode 100644 include/asm/macros/script.inc delete mode 100644 include/macros/m4a.inc diff --git a/Makefile b/Makefile index 609786f..cc39e09 100755 --- a/Makefile +++ b/Makefile @@ -65,7 +65,8 @@ TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE)) ASFLAGS := -mcpu=arm7tdmi override CC1FLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Wunused -Werror -O2 -fhex-asm -CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef +INCLUDE_PATHS := -I include -I tools/agbcc/include +CPPFLAGS := -iquote include -I tools/agbcc/include -nostdinc -undef #### Files #### @@ -77,7 +78,6 @@ ELF := $(ROM:%.gba=%.elf) MAP := $(ROM:%.gba=%.map) C_SUBDIR = src -GFLIB_SUBDIR = gflib ASM_SUBDIR = asm DATA_SRC_SUBDIR = src/data DATA_ASM_SUBDIR = data @@ -86,7 +86,6 @@ MID_SUBDIR = sound/songs/midi SAMPLE_SUBDIR = sound/direct_sound_samples C_BUILDDIR = $(BUILD_DIR)/$(C_SUBDIR) -GFLIB_BUILDDIR = $(BUILD_DIR)/$(GFLIB_SUBDIR) ASM_BUILDDIR = $(BUILD_DIR)/$(ASM_SUBDIR) DATA_ASM_BUILDDIR = $(BUILD_DIR)/$(DATA_ASM_SUBDIR) SONG_BUILDDIR = $(BUILD_DIR)/$(SONG_SUBDIR) @@ -137,10 +136,8 @@ infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst # Disable dependency scanning for clean/tidy/tools # Use a separate minimal makefile for speed # Since we don't need to reload most of this makefile -ifeq (,$(filter-out all rom compare libagbsyscall syms,$(MAKECMDGOALS))) +ifeq (,$(filter-out clean,$(MAKECMDGOALS))) $(call infoshell, $(MAKE) -f make_tools.mk) -else -NODEP ?= 1 endif .PRECIOUS: %.1bpp %.4bpp %.8bpp %.gbapal %.lz %.rl %.pcm %.bin @@ -163,9 +160,8 @@ include graphics.mk $(TOOLDIRS): @$(MAKE) -C $@ CC=$(HOSTCC) CXX=$(HOSTCXX) -$(SCANINC): tools/scaninc -compare: all +compare: $(ROM) @$(SHA1SUM) $(BUILD_NAME).sha1 clean: tidy clean-tools @@ -179,29 +175,37 @@ tidy: $(RM) -r $(BUILD_DIR) @$(MAKE) clean -C libagbsyscall +define scaninc + ( paths="$$($(SCANINC) $1 $<)"; \ + echo -n "$(@:.d=.o): " > $@; \ + echo "$$paths" | xargs printf "%s " >> $@; \ + test -n "$$paths" && echo "$$paths" | xargs printf "\n%s:" >> $@; \ + echo >> $@; ) +endef + $(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.c @$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i @$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CC1FLAGS) -o $(C_BUILDDIR)/$*.s @echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s -$(C_BUILDDIR)/%.d: $(C_SUBDIR)/%.c $(SCANINC) - @echo -n "$(@:.d=.o): " > $@ - @$(SCANINC) -I include -I tools/agbcc/include -I gflib $< | xargs printf "%s " >> $@ +$(C_BUILDDIR)/%.d: $(C_SUBDIR)/%.c + @$(call scaninc,$(INCLUDE_PATHS)) $(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s dungeon_pokemon dungeon_floor data_pokemon data_item data_move - $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ + @$(CPP) -x assembler-with-cpp $(CPPFLAGS) $< -o $(DATA_ASM_BUILDDIR)/$*.i.s + @$(PREPROC) $(DATA_ASM_BUILDDIR)/$*.i.s charmap.txt > $(DATA_ASM_BUILDDIR)/$*.s + $(AS) $(ASFLAGS) -o $@ $(DATA_ASM_BUILDDIR)/$*.s -$(DATA_ASM_BUILDDIR)/%.d: $(DATA_ASM_SUBDIR)/%.s $(SCANINC) - @echo -n "$(@:.d=.o): " > $@ - @$(SCANINC) -I include $< | xargs printf "%s " >> $@ +$(DATA_ASM_BUILDDIR)/%.d: $(DATA_ASM_SUBDIR)/%.s + @$(call scaninc,$(INCLUDE_PATHS)) $(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s - $(AS) $(ASFLAGS) $< -o $@ + @$(CPP) -x assembler-with-cpp $(CPPFLAGS) $< -o $(ASM_BUILDDIR)/$*.s + $(AS) $(ASFLAGS) -o $@ $(ASM_BUILDDIR)/$*.s -$(ASM_BUILDDIR)/%.d: $(ASM_SUBDIR)/%.s $(SCANINC) - @echo -n "$(@:.d=.o): " > $@ - @$(SCANINC) $< | xargs printf "%s " >> $@ +$(ASM_BUILDDIR)/%.d: $(ASM_SUBDIR)/%.s + @$(call scaninc,$(INCLUDE_PATHS)) libagbsyscall: @$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) @@ -220,5 +224,5 @@ $(ROM): %.gba: $(ELF) $(GBAFIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent ifeq (,$(filter clean,$(MAKECMDGOALS))) -include $(ALL_OBJECTS:.o=.d) +-include $(ALL_OBJECTS:.o=.d) endif diff --git a/asm/arm_func.s b/asm/arm_func.s index a84435f..f10e342 100644 --- a/asm/arm_func.s +++ b/asm/arm_func.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_2.s b/asm/code_2.s index a9dbf43..b062aab 100644 --- a/asm/code_2.s +++ b/asm/code_2.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8002774.s b/asm/code_8002774.s index c1e3140..14c5b6c 100644 --- a/asm/code_8002774.s +++ b/asm/code_8002774.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80035F0.s b/asm/code_80035F0.s index 19bb1c3..dd96da9 100644 --- a/asm/code_80035F0.s +++ b/asm/code_80035F0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8004AA0.s b/asm/code_8004AA0.s index 44d52f6..2f1f5bf 100644 --- a/asm/code_8004AA0.s +++ b/asm/code_8004AA0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_800558C.s b/asm/code_800558C.s index ad90f29..9ae474a 100644 --- a/asm/code_800558C.s +++ b/asm/code_800558C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8009804.s b/asm/code_8009804.s index 8273b0f..9498ccd 100644 --- a/asm/code_8009804.s +++ b/asm/code_8009804.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_800B5F0.s b/asm/code_800B5F0.s index 2afdbed..bcad95a 100644 --- a/asm/code_800B5F0.s +++ b/asm/code_800B5F0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_800D090.s b/asm/code_800D090.s index 505b5e1..dd890d8 100644 --- a/asm/code_800D090.s +++ b/asm/code_800D090.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s index 0a2d752..53f3185 100644 --- a/asm/code_8012A18.s +++ b/asm/code_8012A18.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_801B3C0.s b/asm/code_801B3C0.s index 435b731..9b84072 100644 --- a/asm/code_801B3C0.s +++ b/asm/code_801B3C0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_801C620.s b/asm/code_801C620.s index 2cbc4a8..4770bb5 100644 --- a/asm/code_801C620.s +++ b/asm/code_801C620.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_801D760.s b/asm/code_801D760.s index 6f026d5..3b4d8df 100644 --- a/asm/code_801D760.s +++ b/asm/code_801D760.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_801DCC4.s b/asm/code_801DCC4.s index 52212b1..9ac7c8a 100644 --- a/asm/code_801DCC4.s +++ b/asm/code_801DCC4.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_801EE10.s b/asm/code_801EE10.s index 4de5bb1..84256f9 100644 --- a/asm/code_801EE10.s +++ b/asm/code_801EE10.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_803B050.s b/asm/code_803B050.s index 7e62294..c13b2b6 100644 --- a/asm/code_803B050.s +++ b/asm/code_803B050.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_803C1D0.s b/asm/code_803C1D0.s index fe52d74..fb6c7cf 100644 --- a/asm/code_803C1D0.s +++ b/asm/code_803C1D0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_803D110.s b/asm/code_803D110.s index 1bf4f5d..8ee110e 100644 --- a/asm/code_803D110.s +++ b/asm/code_803D110.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8040094.s b/asm/code_8040094.s index 1e11d74..5ea38ec 100644 --- a/asm/code_8040094.s +++ b/asm/code_8040094.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8041AD0.s b/asm/code_8041AD0.s index 7d4f30a..2b216de 100644 --- a/asm/code_8041AD0.s +++ b/asm/code_8041AD0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s index 321afa0..49ef590 100644 --- a/asm/code_80428A0.s +++ b/asm/code_80428A0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80450F8.s b/asm/code_80450F8.s index ddd60e7..6d391de 100644 --- a/asm/code_80450F8.s +++ b/asm/code_80450F8.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8045A00.s b/asm/code_8045A00.s index 3731a1a..529fb22 100644 --- a/asm/code_8045A00.s +++ b/asm/code_8045A00.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8048480.s b/asm/code_8048480.s index 7520dd1..37e3310 100644 --- a/asm/code_8048480.s +++ b/asm/code_8048480.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8049590.s b/asm/code_8049590.s index 93dc942..846f24c 100644 --- a/asm/code_8049590.s +++ b/asm/code_8049590.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_804ACA0.s b/asm/code_804ACA0.s index f5172dc..7e25d6d 100644 --- a/asm/code_804ACA0.s +++ b/asm/code_804ACA0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s index 5156376..8e97c19 100644 --- a/asm/code_80521D0.s +++ b/asm/code_80521D0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8057144.s b/asm/code_8057144.s index 8973709..8aecb64 100644 --- a/asm/code_8057144.s +++ b/asm/code_8057144.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8057824.s b/asm/code_8057824.s index 456278c..7ea4a18 100644 --- a/asm/code_8057824.s +++ b/asm/code_8057824.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_806CD90.s b/asm/code_806CD90.s index 14e2d70..535fa42 100644 --- a/asm/code_806CD90.s +++ b/asm/code_806CD90.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_807001C.s b/asm/code_807001C.s index 96457c9..958db4f 100644 --- a/asm/code_807001C.s +++ b/asm/code_807001C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8070BC0.s b/asm/code_8070BC0.s index 36d911a..4435a85 100644 --- a/asm/code_8070BC0.s +++ b/asm/code_8070BC0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8070D04.s b/asm/code_8070D04.s index d995bdc..7a511ab 100644 --- a/asm/code_8070D04.s +++ b/asm/code_8070D04.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8071518.s b/asm/code_8071518.s index 4a5f226..f33352f 100644 --- a/asm/code_8071518.s +++ b/asm/code_8071518.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_807167C.s b/asm/code_807167C.s index acb27c6..ee32631 100644 --- a/asm/code_807167C.s +++ b/asm/code_807167C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8071858.s b/asm/code_8071858.s index d0cb318..9fc337a 100644 --- a/asm/code_8071858.s +++ b/asm/code_8071858.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80718D8.s b/asm/code_80718D8.s index 35f9c8b..699dad9 100644 --- a/asm/code_80718D8.s +++ b/asm/code_80718D8.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8073B78.s b/asm/code_8073B78.s index 55f8418..84affaa 100644 --- a/asm/code_8073B78.s +++ b/asm/code_8073B78.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8075BA4.s b/asm/code_8075BA4.s index 841838c..2cf8274 100644 --- a/asm/code_8075BA4.s +++ b/asm/code_8075BA4.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_808333C.s b/asm/code_808333C.s index 9256eec..5677a42 100644 --- a/asm/code_808333C.s +++ b/asm/code_808333C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified @@ -1876,4 +1876,4 @@ sub_80840D8: _080840E4: .4byte gDungeonRngState thumb_func_end sub_80840D8 - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/code_808411C.s b/asm/code_808411C.s index 385dd10..cf6bc94 100644 --- a/asm/code_808411C.s +++ b/asm/code_808411C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8084160.s b/asm/code_8084160.s index 54f31d7..fce2f1b 100644 --- a/asm/code_8084160.s +++ b/asm/code_8084160.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80848F0.s b/asm/code_80848F0.s index 189480c..3b54680 100644 --- a/asm/code_80848F0.s +++ b/asm/code_80848F0.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8085B0C.s b/asm/code_8085B0C.s index 0080472..fa3b3f5 100644 --- a/asm/code_8085B0C.s +++ b/asm/code_8085B0C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80869E4.s b/asm/code_80869E4.s index 0d39418..2083a2e 100644 --- a/asm/code_80869E4.s +++ b/asm/code_80869E4.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8086A3C.s b/asm/code_8086A3C.s index d0cd7dc..0d2aead 100644 --- a/asm/code_8086A3C.s +++ b/asm/code_8086A3C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_809017C.s b/asm/code_809017C.s index 3ef1c2c..fefed28 100644 --- a/asm/code_809017C.s +++ b/asm/code_809017C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8090208.s b/asm/code_8090208.s index 463cffa..81ff2ec 100644 --- a/asm/code_8090208.s +++ b/asm/code_8090208.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8094148.s b/asm/code_8094148.s index 8a2e077..d894e66 100644 --- a/asm/code_8094148.s +++ b/asm/code_8094148.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8094D28.s b/asm/code_8094D28.s index 10991a1..81210da 100644 --- a/asm/code_8094D28.s +++ b/asm/code_8094D28.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8095014.s b/asm/code_8095014.s index bd88144..228811d 100644 --- a/asm/code_8095014.s +++ b/asm/code_8095014.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80958E8.s b/asm/code_80958E8.s index b8d3c7a..b73e519 100644 --- a/asm/code_80958E8.s +++ b/asm/code_80958E8.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_809747C.s b/asm/code_809747C.s index 5c2e04f..05ec4f8 100644 --- a/asm/code_809747C.s +++ b/asm/code_809747C.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8097670.s b/asm/code_8097670.s index 0039819..c4d68ec 100644 --- a/asm/code_8097670.s +++ b/asm/code_8097670.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80983D8.s b/asm/code_80983D8.s index aed2fc9..31cc100 100644 --- a/asm/code_80983D8.s +++ b/asm/code_80983D8.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8098468.s b/asm/code_8098468.s index 1f46809..62154f7 100644 --- a/asm/code_8098468.s +++ b/asm/code_8098468.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s index ce93c0d..32f6f5d 100644 --- a/asm/code_8098BDC.s +++ b/asm/code_8098BDC.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_809D148.s b/asm/code_809D148.s index c3a3f96..aa255fb 100644 --- a/asm/code_809D148.s +++ b/asm/code_809D148.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_80A26CC.s b/asm/code_80A26CC.s index c7d5fd0..63543ff 100644 --- a/asm/code_80A26CC.s +++ b/asm/code_80A26CC.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/code_8272724.s b/asm/code_8272724.s index b2cad11..b1dd9d4 100644 --- a/asm/code_8272724.s +++ b/asm/code_8272724.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/credits.s b/asm/credits.s index e4ae06b..b95d3dc 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/crt0.s b/asm/crt0.s index fe1f127..ac6b515 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -1,4 +1,4 @@ - .include "constants/gba_constants.inc" + #include "asm/constants/gba_constants.inc" .syntax unified @@ -11,7 +11,7 @@ Start: @ 8000000 b Init - .include "asm/rom_header.inc" + #include "rom_header.inc" .arm .align 2, 0 diff --git a/asm/debug_menu.s b/asm/debug_menu.s index 1a1454a..794249f 100644 --- a/asm/debug_menu.s +++ b/asm/debug_menu.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/debug_menu_1.s b/asm/debug_menu_1.s index 08a2888..82f7163 100644 --- a/asm/debug_menu_1.s +++ b/asm/debug_menu_1.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/debug_menu_2.s b/asm/debug_menu_2.s index 1cd5fab..19719a6 100644 --- a/asm/debug_menu_2.s +++ b/asm/debug_menu_2.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/event_flag.s b/asm/event_flag.s index 6777a5b..0623be2 100644 --- a/asm/event_flag.s +++ b/asm/event_flag.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/exclusive_pokemon.s b/asm/exclusive_pokemon.s index 79cd1ff..71152bc 100644 --- a/asm/exclusive_pokemon.s +++ b/asm/exclusive_pokemon.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/felicity_bank.s b/asm/felicity_bank.s index 7711bc9..410f394 100644 --- a/asm/felicity_bank.s +++ b/asm/felicity_bank.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/friend_area_1.s b/asm/friend_area_1.s index b6fe42d..0a16b66 100644 --- a/asm/friend_area_1.s +++ b/asm/friend_area_1.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/friend_area_action_menu.s b/asm/friend_area_action_menu.s index 15b6f88..75d3dd2 100644 --- a/asm/friend_area_action_menu.s +++ b/asm/friend_area_action_menu.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/friend_list_menu.s b/asm/friend_list_menu.s index 391bd3f..98a68a4 100644 --- a/asm/friend_list_menu.s +++ b/asm/friend_list_menu.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/friend_rescue.s b/asm/friend_rescue.s index ef88261..241bbf6 100644 --- a/asm/friend_rescue.s +++ b/asm/friend_rescue.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/ground_effect.s b/asm/ground_effect.s index 8591bbc..3610df8 100644 --- a/asm/ground_effect.s +++ b/asm/ground_effect.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/ground_event.s b/asm/ground_event.s index 871ec68..ba241ec 100644 --- a/asm/ground_event.s +++ b/asm/ground_event.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/ground_link.s b/asm/ground_link.s index 4e8b43b..16e8578 100644 --- a/asm/ground_link.s +++ b/asm/ground_link.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/ground_lives.s b/asm/ground_lives.s index 2c1819b..c85d536 100644 --- a/asm/ground_lives.s +++ b/asm/ground_lives.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/ground_map.s b/asm/ground_map.s index 43ad583..204fda8 100644 --- a/asm/ground_map.s +++ b/asm/ground_map.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/ground_object.s b/asm/ground_object.s index 6425371..71f46eb 100644 --- a/asm/ground_object.s +++ b/asm/ground_object.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/ground_script.s b/asm/ground_script.s index 0bc3285..3a8bf35 100644 --- a/asm/ground_script.s +++ b/asm/ground_script.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/ground_sprite.s b/asm/ground_sprite.s index aa23ef4..1a0d2ac 100644 --- a/asm/ground_sprite.s +++ b/asm/ground_sprite.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/gulpin_shop.s b/asm/gulpin_shop.s index 6482a8a..a8f910d 100644 --- a/asm/gulpin_shop.s +++ b/asm/gulpin_shop.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/jirachi_wish.s b/asm/jirachi_wish.s index f641862..9055379 100644 --- a/asm/jirachi_wish.s +++ b/asm/jirachi_wish.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/kangaskhan_storage.s b/asm/kangaskhan_storage.s index 65f009a..c1cac72 100644 --- a/asm/kangaskhan_storage.s +++ b/asm/kangaskhan_storage.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/kangaskhan_storage_1.s b/asm/kangaskhan_storage_1.s index 4652c29..9890fe4 100644 --- a/asm/kangaskhan_storage_1.s +++ b/asm/kangaskhan_storage_1.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/kangaskhan_storage_2.s b/asm/kangaskhan_storage_2.s index ec64f19..98fc275 100644 --- a/asm/kangaskhan_storage_2.s +++ b/asm/kangaskhan_storage_2.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/kecleon_items.s b/asm/kecleon_items.s index 90bf697..87f2bdd 100644 --- a/asm/kecleon_items.s +++ b/asm/kecleon_items.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/kecleon_items_1.s b/asm/kecleon_items_1.s index 1b20264..e892e48 100644 --- a/asm/kecleon_items_1.s +++ b/asm/kecleon_items_1.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/m4a_1.s b/asm/m4a_1.s index 8c1d78a..b6fe6f9 100644 --- a/asm/m4a_1.s +++ b/asm/m4a_1.s @@ -1,6 +1,6 @@ - .include "asm/macros.inc" - .include "constants/gba_constants.inc" - .include "constants/m4a_constants.inc" + #include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/constants/m4a_constants.inc" .syntax unified diff --git a/asm/macros.inc b/asm/macros.inc deleted file mode 100644 index d821836..0000000 --- a/asm/macros.inc +++ /dev/null @@ -1,3 +0,0 @@ - .include "asm/macros/function.inc" - .include "asm/macros/music_voice.inc" - .include "asm/macros/script.inc" diff --git a/asm/macros/function.inc b/asm/macros/function.inc deleted file mode 100644 index 67fb373..0000000 --- a/asm/macros/function.inc +++ /dev/null @@ -1,29 +0,0 @@ - .macro arm_func_start name - .align 2, 0 - .global \name - .arm - .type \name, function - .endm - - .macro arm_func_end name - .size \name, .-\name - .endm - - .macro thumb_func_start name - .align 2, 0 - .global \name - .thumb - .thumb_func - .type \name, function - .endm - - .macro non_word_aligned_thumb_func_start name - .global \name - .thumb - .thumb_func - .type \name, function - .endm - - .macro thumb_func_end name - .size \name, .-\name - .endm diff --git a/asm/macros/music_voice.inc b/asm/macros/music_voice.inc deleted file mode 100644 index 7dd6c74..0000000 --- a/asm/macros/music_voice.inc +++ /dev/null @@ -1,140 +0,0 @@ - .macro voice_directsound base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req - .byte 0 - _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release - .endm - - .macro voice_directsound_no_resample base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req - .byte 8 - _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release - .endm - - .macro voice_directsound_alt base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req - .byte 16 - _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release - .endm - - .macro _voice_directsound base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req - .byte \base_midi_key - .byte 0 - .if \pan != 0 - .byte (0x80 | \pan) - .else - .byte 0 - .endif - .4byte \sample_data_pointer - .byte \attack - .byte \decay - .byte \sustain - .byte \release - .endm - - .macro voice_square_1 base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req - _voice_square_1 1, \base_midi_key, \pan, \sweep, \duty_cycle, \attack, \decay, \sustain, \release - .endm - - .macro voice_square_1_alt base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req - _voice_square_1 9, \base_midi_key, \pan, \sweep, \duty_cycle, \attack, \decay, \sustain, \release - .endm - - .macro _voice_square_1 type:req, base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req - .byte \type - .byte \base_midi_key - .if \pan != 0 - .byte (0x80 | \pan) - .else - .byte 0 - .endif - .byte \sweep - .byte (\duty_cycle & 0x3) - .byte 0, 0, 0 - .byte (\attack & 0x7) - .byte (\decay & 0x7) - .byte (\sustain & 0xF) - .byte (\release & 0x7) - .endm - - .macro voice_square_2 base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req - _voice_square_2 2, \base_midi_key, \pan, \duty_cycle, \attack, \decay, \sustain, \release - .endm - - .macro voice_square_2_alt base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req - _voice_square_2 10, \base_midi_key, \pan, \duty_cycle, \attack, \decay, \sustain, \release - .endm - - .macro _voice_square_2 type:req, base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req - .byte \type - .byte \base_midi_key - .if \pan != 0 - .byte (0x80 | \pan) - .else - .byte 0 - .endif - .byte 0 - .byte (\duty_cycle & 0x3) - .byte 0, 0, 0 - .byte (\attack & 0x7) - .byte (\decay & 0x7) - .byte (\sustain & 0xF) - .byte (\release & 0x7) - .endm - - .macro voice_programmable_wave base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req - _voice_programmable_wave 3, \base_midi_key, \pan, \wave_samples_pointer, \attack, \decay, \sustain, \release - .endm - - .macro voice_programmable_wave_alt base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req - _voice_programmable_wave 11, \base_midi_key, \pan, \wave_samples_pointer, \attack, \decay, \sustain, \release - .endm - - .macro _voice_programmable_wave type:req, base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req - .byte \type - .byte \base_midi_key - .if \pan != 0 - .byte (0x80 | \pan) - .else - .byte 0 - .endif - .byte 0 - .4byte \wave_samples_pointer - .byte (\attack & 0x7) - .byte (\decay & 0x7) - .byte (\sustain & 0xF) - .byte (\release & 0x7) - .endm - - .macro voice_noise base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req - _voice_noise 4, \base_midi_key, \pan, \period, \attack, \decay, \sustain, \release - .endm - - .macro voice_noise_alt base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req - _voice_noise 12, \base_midi_key, \pan, \period, \attack, \decay, \sustain, \release - .endm - - .macro _voice_noise type:req, base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req - .byte \type - .byte \base_midi_key - .if \pan != 0 - .byte (0x80 | \pan) - .else - .byte 0 - .endif - .byte 0 - .byte (\period & 0x1) - .byte 0, 0, 0 - .byte (\attack & 0x7) - .byte (\decay & 0x7) - .byte (\sustain & 0xF) - .byte (\release & 0x7) - .endm - - .macro voice_keysplit voice_group_pointer:req, keysplit_table_pointer:req - .byte 0x40, 0, 0, 0 - .4byte \voice_group_pointer - .4byte \keysplit_table_pointer - .endm - - .macro voice_keysplit_all voice_group_pointer:req - .byte 0x80, 0, 0, 0 - .4byte \voice_group_pointer - .4byte 0 - .endm diff --git a/asm/macros/script.inc b/asm/macros/script.inc deleted file mode 100644 index 8ef4bd8..0000000 --- a/asm/macros/script.inc +++ /dev/null @@ -1,415 +0,0 @@ -.macro warpLocation id:req - .byte 0x01 - .byte 0x00 - .2byte \id - .4byte 0x00, 0x00, 0x00 -.endm - -.macro warpDungeon id:req - .byte 0x02 - .byte 0x00 - .2byte \id - .4byte 0x00, 0x00, 0x00 -.endm - -.macro warpFriendArea time:req - .byte 0x02 - .byte 0x00 - .2byte \time - .4byte 0x00, 0x00, 0x00 -.endm - -.macro ConfirmDungeonRules - .byte 0x05 - .4byte 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -.macro changeTileset id:req - .byte 0x08, 0x00, 0x00, 0x00 - .2byte \id - .4byte 0x00, 0x00 - .2byte 0x00 -.endm - -@ Start Scene? Run Call? -.macro StartSceneRunCall id:req - .byte 0x0C - .byte \id - .byte 0xFF, 0xFF - .4byte 0x00, 0x00, 0x00 -.endm - -.macro RunCall id:req - .byte 0x0D - .byte \id - .byte 0xFF, 0xFF - .4byte 0x00, 0x00, 0x00 -.endm - -.macro triggerCutscene id:req - .byte 0x1B - .byte 0x00 - .2byte \id - .4byte 0x00, 0x00, 0x00 -.endm - -.macro fadeOut arg0:req time:req arg2:req - .byte 0x23 - .byte \arg0 - .2byte \time - .4byte \arg2 - .4byte 0x00, 0x00 -.endm - -.macro fadeColorOut arg0:req arg1:req time:req color:req - .byte 0x27 - .byte \arg0 - .2byte \arg1 - .4byte \time - .4byte \color - .4byte 0x00 -.endm - -.macro fadeColorIn arg0:req arg1:req time:req color:req - .byte 0x28 - .byte \arg0 - .2byte \arg1 - .4byte \time - .4byte \color - .4byte 0x00 -.endm - -.macro loadData type:req charac:req source:req - .byte 0x2D - .byte \type - .2byte \charac - .2byte \source - .4byte 0x00, 0x00 - .2byte 0x00 -.endm - -@ Face Locations -.set bottomL, 0x2 -.set bottomR, 0x3 -.set insetTopL, 0xE -.set insetTopR, 0xF - -.set previousLoc, 0x15 - -.macro selectFace loc:req charac:req face:req - .byte 0x2E - .byte \loc - .2byte \charac - .4byte \face - .4byte 0x00, 0x00 -.endm - -.macro closeTextBox - .byte 0x30 - .4byte 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -.macro scrollTextBox character:req textPtr:req - .byte 0x33, 0x00 - .2byte \character - .4byte 0x00, 0x00 - .4byte \textPtr -.endm - -.macro PicNameTextBox character:req textPtr:req - .byte 0x34, 0x00 - .2byte \character - .4byte 0x00, 0x00 - .4byte \textPtr -.endm - -.macro quickCloseTextBox character:req textPtr:req - .byte 0x36, 0x00 - .2byte \character - .4byte 0x00, 0x00 - .4byte \textPtr -.endm - -@ Is it always 0xff, 0xff? -.macro floatingText textPtr:req - .byte 0x37, 0x00 - .byte 0xff, 0xff - .4byte 0x00, 0x00 - .4byte \textPtr -.endm - -.macro fadeFloatingText time:req textPtr:req - .byte 0x39, 0x00 - .2byte \time - .4byte 0x00, 0x00 - .4byte \textPtr -.endm - -.macro YesNoTextBox eventID:req character:req textPtr:req - .byte 0x3A, 0x00 - .2byte \eventID - .2byte \character - .2byte 0x00 - .4byte 0x00 - .4byte \textPtr -.endm - -.macro showName arg0:req - .byte 0x3B - .byte \arg0 - .2byte 0x00 - .4byte 0x00, 0x00, 0x00 -.endm - -@ TODO: 0x3C has a lot of different cases... - -.macro renamePoke id:req - .byte 0x3D, 0x00, 0x00, 0x00 - .byte \id, 0x00, 0x00, 0x00 - .4byte 0x00, 0x00 -.endm - -.macro renameTeam - .byte 0x3D, 0x00, 0x00, 0x00 - .4byte 0x00, 0x00, 0x00 -.endm - -.macro abruptStopMusic - .byte 0x42 - .4byte 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -.macro fadeMusic time:req - .byte 0x43 - .byte 0x00 - .2byte \time - .4byte 0x00, 0x00, 0x00 -.endm - -.macro PlayMusic id:req - .byte 0x44 - .byte 0x00 - .2byte 0x0 - .2byte \id - .2byte 0x00 - .4byte 0x00, 0x00 -.endm - -.macro fadeInMusic id:req time:req - .byte 0x45, 0x00 - .2byte \id - .2byte \time - .4byte 0x00, 0x00 - .2byte 0x00 -.endm - -@ Also seen referred to as StopSng -.macro pushR14 - .byte 0x47 - .4byte 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -.macro fadeMusicOut time:req - .byte 0x48 - .byte 0x00 - .2byte \time - .4byte 0x00, 0x00, 0x00 -.endm - -.macro playSound id:req - .byte 0x4C - .byte 0x00, 0x00, 0x00 - .2byte \id - .4byte 0x00, 0x00 - .2byte 0x00 -.endm - -.macro stopSound id:req - .byte 0x4D - .byte 0x00, 0x00, 0x00 - .2byte \id - .4byte 0x00, 0x00 - .2byte 0x00 -.endm - -.macro setAnimation anim:req - .byte 0x54 - .byte 0x00 - .2byte \anim - .4byte 0x00, 0x00, 0x00 -.endm - -.macro warpToLoc id:req - .byte 0x5B, 0x00 - .2byte 0x00 - .byte \id - .byte 0x00, 0x00, 0x00 - .4byte 0x00, 0x00 -.endm - -@ move to prefined location along grid -.macro gridMoveTo speed:req id:req - .byte 0x6B, 0x00 - .2byte \speed - .byte \id - .4byte 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -.macro changeSpriteZ speed:req targetHeight:req - .byte 0x70, 0x00 - .byte \speed - .3byte \targetHeight - .4byte 0x00, 0x00 - .2byte 0x00 -.endm - -@ Rotation Directions -.set CW, 1 -.set CCW, 2 -.set shortestDir, 0xA - -@ Cardinal Directions / Facing Directions -.set south, 0 -.set southeast, 1 -.set east, 2 -.set northeast, 3 -.set north, 4 -.set northwest, 5 -.set west, 6 -.set southwest, 7 - -.macro setFaceDir delay:req faceDir:req - .byte 0x8B - .byte \delay - .byte \faceDir - .byte 0x00 - .4byte 0x00, 0x00, 0x00 -.endm - -.macro rotate time:req rotDir:req faceDir:req - .byte 0x91 - .byte \time - .byte \rotDir - .byte 0x00 - .byte \faceDir - .byte 0x00 - .4byte 0x00, 0x00 - .2byte 0x00 -.endm - -.macro initVariableTextBox arg0:req arg1:req speaker:req - .byte 0xCF - .byte \arg0 - .byte \arg1 - .byte 0x00 - .4byte \speaker - .4byte 0x00, 0x00 -.endm - -.macro variableTextBox version:req textPtr:req - .byte 0xD0, 0x00 - .2byte \version - .4byte 0x00, 0x00 - .4byte \textPtr -.endm - -.macro elseTextBox textPtr:req - .byte 0xD1, 0x00 - .4byte 0x00, 0x00 - .byte 0x00, 0x00 - .4byte \textPtr -.endm - -.macro pause time:req - .byte 0xDB - .byte 0x00 - .2byte \time - .4byte 0x00, 0x00, 0x00 -.endm - -@ Wait for sound to finish playing? -.macro waitSound id:req - .byte 0xE2 - .byte 0x00 - .2byte \id - .4byte 0x00, 0x00, 0x00 -.endm - -.macro waitFlag flagnum:req - .byte 0xE3 - .byte 0x00 - .2byte \flagnum - .4byte 0x00, 0x00, 0x00 -.endm - -.macro setFlag flagnum:req - .byte 0xE4 - .byte 0x00 - .2byte \flagnum - .4byte 0x00, 0x00, 0x00 -.endm - -.macro goTo id:req - .byte 0xE5 - .byte 0x00 - .byte \id - .byte 0x00 - .4byte 0x00, 0x00, 0x00 -.endm - -@ Loop at label until end of scene -.macro loopLabel id:req - .byte 0xE7, 0x00 - .byte \id, 0x00 - .4byte 0x00, 0x00, 0x00 -.endm - -.macro executeScript scriptNum:req - .byte 0xE8 - .byte 0x00 - .2byte \scriptNum - .4byte 0x00, 0x00, 0x00 -.endm - -.macro MsgEnd arg0:req - .byte 0xE9 - .byte 0x00 - .2byte \arg0 - .4byte 0x00, 0x00, 0x00 -.endm - -.macro endFuncContinueScript - .byte 0xEE - .4byte 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -.macro endFuncandScript - .byte 0xEF - .4byte 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -.macro closeThread - .byte 0xF0 - .4byte 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -.macro closeThreadRemoveObject - .byte 0xF1 - .4byte 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00 -.endm - -@ Set label for loop -.macro label id:req - .byte 0xF4, 0x00 - .byte \id, 0x00 - .4byte 0x00, 0x00, 0x00 -.endm diff --git a/asm/mailbox.s b/asm/mailbox.s index f164a29..d99fbde 100644 --- a/asm/mailbox.s +++ b/asm/mailbox.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/makuhita_dojo.s b/asm/makuhita_dojo.s index ef01d6d..f43f21f 100644 --- a/asm/makuhita_dojo.s +++ b/asm/makuhita_dojo.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/memory.s b/asm/memory.s index e856585..8fd07a2 100644 --- a/asm/memory.s +++ b/asm/memory.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/memory_1.s b/asm/memory_1.s index 97833ca..7896523 100644 --- a/asm/memory_1.s +++ b/asm/memory_1.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/moves_1.s b/asm/moves_1.s index c9f1ce8..969c450 100644 --- a/asm/moves_1.s +++ b/asm/moves_1.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/music.s b/asm/music.s index 4d617a6..c617794 100644 --- a/asm/music.s +++ b/asm/music.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/other_menus.s b/asm/other_menus.s index 676ba9a..9fe889d 100644 --- a/asm/other_menus.s +++ b/asm/other_menus.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/pelipper_board.s b/asm/pelipper_board.s index 20119ed..3ab0db1 100644 --- a/asm/pelipper_board.s +++ b/asm/pelipper_board.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/pokemon.s b/asm/pokemon.s index 3682c14..105c4ed 100644 --- a/asm/pokemon.s +++ b/asm/pokemon.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s index dec099a..2ffbf37 100644 --- a/asm/pokemon_2.s +++ b/asm/pokemon_2.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index fc29dfb..43173ec 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/rescue_password_menu.s b/asm/rescue_password_menu.s index 44675db..99e1211 100644 --- a/asm/rescue_password_menu.s +++ b/asm/rescue_password_menu.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/sprite.s b/asm/sprite.s index 284526c..2714e7e 100644 --- a/asm/sprite.s +++ b/asm/sprite.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/text.s b/asm/text.s index 404a250..2afc507 100644 --- a/asm/text.s +++ b/asm/text.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/unk_menu_203B360.s b/asm/unk_menu_203B360.s index 5ac6b47..d2962a7 100644 --- a/asm/unk_menu_203B360.s +++ b/asm/unk_menu_203B360.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/unk_menu_203B364.s b/asm/unk_menu_203B364.s index 40e9de2..d0a2b6e 100644 --- a/asm/unk_menu_203B364.s +++ b/asm/unk_menu_203B364.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/wonder_mail_2.s b/asm/wonder_mail_2.s index dd6f99f..383a1c6 100644 --- a/asm/wonder_mail_2.s +++ b/asm/wonder_mail_2.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/wonder_mail_3.s b/asm/wonder_mail_3.s index 2423107..043c1e7 100644 --- a/asm/wonder_mail_3.s +++ b/asm/wonder_mail_3.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/wonder_mail_3_mid.s b/asm/wonder_mail_3_mid.s index 4aa1e3b..90c0c25 100644 --- a/asm/wonder_mail_3_mid.s +++ b/asm/wonder_mail_3_mid.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/wonder_mail_4.s b/asm/wonder_mail_4.s index ea27a3f..8103af1 100644 --- a/asm/wonder_mail_4.s +++ b/asm/wonder_mail_4.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/asm/wonder_mail_5.s b/asm/wonder_mail_5.s index cad53b3..e461b13 100644 --- a/asm/wonder_mail_5.s +++ b/asm/wonder_mail_5.s @@ -1,5 +1,5 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" .syntax unified diff --git a/constants/gba_constants.inc b/constants/gba_constants.inc deleted file mode 100644 index 9d59c8f..0000000 --- a/constants/gba_constants.inc +++ /dev/null @@ -1,490 +0,0 @@ - .set PSR_USR_MODE, 0x00000010 - .set PSR_FIQ_MODE, 0x00000011 - .set PSR_IRQ_MODE, 0x00000012 - .set PSR_SVC_MODE, 0x00000013 - .set PSR_ABT_MODE, 0x00000017 - .set PSR_UND_MODE, 0x0000001b - .set PSR_SYS_MODE, 0x0000001f - .set PSR_MODE_MASK, 0x0000001f - .set PSR_T_BIT, 0x00000020 - .set PSR_F_BIT, 0x00000040 - .set PSR_I_BIT, 0x00000080 - - .set EWRAM_START, 0x02000000 - .set EWRAM_END, EWRAM_START + 0x40000 - .set IWRAM_START, 0x03000000 - .set IWRAM_END, IWRAM_START + 0x8000 - - .set PLTT, 0x5000000 - .set BG_PLTT, PLTT - .set OBJ_PLTT, PLTT + 0x200 - - .set VRAM, 0x6000000 - .set BG_VRAM, VRAM - .set OBJ_VRAM0, VRAM + 0x10000 @ text-mode BG - .set OBJ_VRAM1, VRAM + 0x14000 @ bitmap-mode BG - - .set OAM, 0x7000000 - - .set SOUND_INFO_PTR, 0x3007FF0 - .set INTR_CHECK, 0x3007FF8 - .set INTR_VECTOR, 0x3007FFC - - .set INTR_FLAG_VBLANK, 1 << 0 - .set INTR_FLAG_HBLANK, 1 << 1 - .set INTR_FLAG_VCOUNT, 1 << 2 - .set INTR_FLAG_TIMER0, 1 << 3 - .set INTR_FLAG_TIMER1, 1 << 4 - .set INTR_FLAG_TIMER2, 1 << 5 - .set INTR_FLAG_TIMER3, 1 << 6 - .set INTR_FLAG_SERIAL, 1 << 7 - .set INTR_FLAG_DMA0, 1 << 8 - .set INTR_FLAG_DMA1, 1 << 9 - .set INTR_FLAG_DMA2, 1 << 10 - .set INTR_FLAG_DMA3, 1 << 11 - .set INTR_FLAG_KEYPAD, 1 << 12 - .set INTR_FLAG_GAMEPAK, 1 << 13 - - .set VCOUNT_VBLANK, 160 - .set TOTAL_SCANLINES, 228 - - .set REG_BASE, 0x4000000 @ I/O register base address - -@ I/O register offsets - .set OFFSET_REG_DISPCNT, 0x0 - .set OFFSET_REG_DISPSTAT, 0x4 - .set OFFSET_REG_VCOUNT, 0x6 - .set OFFSET_REG_BG0CNT, 0x8 - .set OFFSET_REG_BG1CNT, 0xa - .set OFFSET_REG_BG2CNT, 0xc - .set OFFSET_REG_BG3CNT, 0xe - .set OFFSET_REG_BG0HOFS, 0x10 - .set OFFSET_REG_BG0VOFS, 0x12 - .set OFFSET_REG_BG1HOFS, 0x14 - .set OFFSET_REG_BG1VOFS, 0x16 - .set OFFSET_REG_BG2HOFS, 0x18 - .set OFFSET_REG_BG2VOFS, 0x1a - .set OFFSET_REG_BG3HOFS, 0x1c - .set OFFSET_REG_BG3VOFS, 0x1e - .set OFFSET_REG_BG2PA, 0x20 - .set OFFSET_REG_BG2PB, 0x22 - .set OFFSET_REG_BG2PC, 0x24 - .set OFFSET_REG_BG2PD, 0x26 - .set OFFSET_REG_BG2X_L, 0x28 - .set OFFSET_REG_BG2X_H, 0x2a - .set OFFSET_REG_BG2Y_L, 0x2c - .set OFFSET_REG_BG2Y_H, 0x2e - .set OFFSET_REG_BG3PA, 0x30 - .set OFFSET_REG_BG3PB, 0x32 - .set OFFSET_REG_BG3PC, 0x34 - .set OFFSET_REG_BG3PD, 0x36 - .set OFFSET_REG_BG3X_L, 0x38 - .set OFFSET_REG_BG3X_H, 0x3a - .set OFFSET_REG_BG3Y_L, 0x3c - .set OFFSET_REG_BG3Y_H, 0x3e - .set OFFSET_REG_WIN0H, 0x40 - .set OFFSET_REG_WIN1H, 0x42 - .set OFFSET_REG_WIN0V, 0x44 - .set OFFSET_REG_WIN1V, 0x46 - .set OFFSET_REG_WININ, 0x48 - .set OFFSET_REG_WINOUT, 0x4a - .set OFFSET_REG_MOSAIC, 0x4c - .set OFFSET_REG_BLDCNT, 0x50 - .set OFFSET_REG_BLDALPHA, 0x52 - .set OFFSET_REG_BLDY, 0x54 - - .set OFFSET_REG_SOUND1CNT, 0x60 - .set OFFSET_REG_SOUND1CNT_L, 0x60 - .set OFFSET_REG_NR10, 0x60 - .set OFFSET_REG_SOUND1CNT_H, 0x62 - .set OFFSET_REG_NR11, 0x62 - .set OFFSET_REG_NR12, 0x63 - .set OFFSET_REG_SOUND1CNT_X, 0x64 - .set OFFSET_REG_NR13, 0x64 - .set OFFSET_REG_NR14, 0x65 - .set OFFSET_REG_SOUND2CNT, 0x68 - .set OFFSET_REG_SOUND2CNT_L, 0x68 - .set OFFSET_REG_NR21, 0x68 - .set OFFSET_REG_NR22, 0x69 - .set OFFSET_REG_SOUND2CNT_H, 0x6c - .set OFFSET_REG_NR23, 0x6c - .set OFFSET_REG_NR24, 0x6d - .set OFFSET_REG_SOUND3CNT, 0x70 - .set OFFSET_REG_SOUND3CNT_L, 0x70 - .set OFFSET_REG_NR30, 0x70 - .set OFFSET_REG_SOUND3CNT_H, 0x72 - .set OFFSET_REG_NR31, 0x72 - .set OFFSET_REG_NR32, 0x73 - .set OFFSET_REG_SOUND3CNT_X, 0x74 - .set OFFSET_REG_NR33, 0x74 - .set OFFSET_REG_NR34, 0x75 - .set OFFSET_REG_SOUND4CNT, 0x78 - .set OFFSET_REG_SOUND4CNT_L, 0x78 - .set OFFSET_REG_NR41, 0x78 - .set OFFSET_REG_NR42, 0x79 - .set OFFSET_REG_SOUND4CNT_H, 0x7c - .set OFFSET_REG_NR43, 0x7c - .set OFFSET_REG_NR44, 0x7d - .set OFFSET_REG_SOUNDCNT, 0x80 - .set OFFSET_REG_SOUNDCNT_L, 0x80 - .set OFFSET_REG_NR50, 0x80 - .set OFFSET_REG_NR51, 0x81 - .set OFFSET_REG_SOUNDCNT_H, 0x82 - .set OFFSET_REG_SOUNDCNT_X, 0x84 - .set OFFSET_REG_NR52, 0x84 - .set OFFSET_REG_SOUNDBIAS, 0x88 - .set OFFSET_REG_WAVE_RAM, 0x90 - .set OFFSET_REG_WAVE_RAM0, 0x90 - .set OFFSET_REG_WAVE_RAM0_L, 0x90 - .set OFFSET_REG_WAVE_RAM0_H, 0x92 - .set OFFSET_REG_WAVE_RAM1, 0x94 - .set OFFSET_REG_WAVE_RAM1_L, 0x94 - .set OFFSET_REG_WAVE_RAM1_H, 0x96 - .set OFFSET_REG_WAVE_RAM2, 0x98 - .set OFFSET_REG_WAVE_RAM2_L, 0x98 - .set OFFSET_REG_WAVE_RAM2_H, 0x9a - .set OFFSET_REG_WAVE_RAM3, 0x9c - .set OFFSET_REG_WAVE_RAM3_L, 0x9c - .set OFFSET_REG_WAVE_RAM3_H, 0x9e - .set OFFSET_REG_FIFO, 0xa0 - .set OFFSET_REG_FIFO_A, 0xa0 - .set OFFSET_REG_FIFO_A_L, 0xa0 - .set OFFSET_REG_FIFO_A_H, 0xa2 - .set OFFSET_REG_FIFO_B, 0xa4 - .set OFFSET_REG_FIFO_B_L, 0xa4 - .set OFFSET_REG_FIFO_B_H, 0xa6 - - .set OFFSET_REG_DMA0, 0xb0 - .set OFFSET_REG_DMA0SAD, 0xb0 - .set OFFSET_REG_DMA0SAD_L, 0xb0 - .set OFFSET_REG_DMA0SAD_H, 0xb2 - .set OFFSET_REG_DMA0DAD, 0xb4 - .set OFFSET_REG_DMA0DAD_L, 0xb4 - .set OFFSET_REG_DMA0DAD_H, 0xb6 - .set OFFSET_REG_DMA0CNT, 0xb8 - .set OFFSET_REG_DMA0CNT_L, 0xb8 - .set OFFSET_REG_DMA0CNT_H, 0xba - .set OFFSET_REG_DMA1, 0xbc - .set OFFSET_REG_DMA1SAD, 0xbc - .set OFFSET_REG_DMA1SAD_L, 0xbc - .set OFFSET_REG_DMA1SAD_H, 0xbe - .set OFFSET_REG_DMA1DAD, 0xc0 - .set OFFSET_REG_DMA1DAD_L, 0xc0 - .set OFFSET_REG_DMA1DAD_H, 0xc2 - .set OFFSET_REG_DMA1CNT, 0xc4 - .set OFFSET_REG_DMA1CNT_L, 0xc4 - .set OFFSET_REG_DMA1CNT_H, 0xc6 - .set OFFSET_REG_DMA2, 0xc8 - .set OFFSET_REG_DMA2SAD, 0xc8 - .set OFFSET_REG_DMA2SAD_L, 0xc8 - .set OFFSET_REG_DMA2SAD_H, 0xca - .set OFFSET_REG_DMA2DAD, 0xcc - .set OFFSET_REG_DMA2DAD_L, 0xcc - .set OFFSET_REG_DMA2DAD_H, 0xce - .set OFFSET_REG_DMA2CNT, 0xd0 - .set OFFSET_REG_DMA2CNT_L, 0xd0 - .set OFFSET_REG_DMA2CNT_H, 0xd2 - .set OFFSET_REG_DMA3, 0xd4 - .set OFFSET_REG_DMA3SAD, 0xd4 - .set OFFSET_REG_DMA3SAD_L, 0xd4 - .set OFFSET_REG_DMA3SAD_H, 0xd6 - .set OFFSET_REG_DMA3DAD, 0xd8 - .set OFFSET_REG_DMA3DAD_L, 0xd8 - .set OFFSET_REG_DMA3DAD_H, 0xda - .set OFFSET_REG_DMA3CNT, 0xdc - .set OFFSET_REG_DMA3CNT_L, 0xdc - .set OFFSET_REG_DMA3CNT_H, 0xde - - .set OFFSET_REG_TM0CNT, 0x100 - .set OFFSET_REG_TM0CNT_L, 0x100 - .set OFFSET_REG_TM0CNT_H, 0x102 - .set OFFSET_REG_TM1CNT, 0x104 - .set OFFSET_REG_TM1CNT_L, 0x104 - .set OFFSET_REG_TM1CNT_H, 0x106 - .set OFFSET_REG_TM2CNT, 0x108 - .set OFFSET_REG_TM2CNT_L, 0x108 - .set OFFSET_REG_TM2CNT_H, 0x10a - .set OFFSET_REG_TM3CNT, 0x10c - .set OFFSET_REG_TM3CNT_L, 0x10c - .set OFFSET_REG_TM3CNT_H, 0x10e - - .set OFFSET_REG_SIOCNT, 0x128 - .set OFFSET_REG_SIODATA8, 0x12a - .set OFFSET_REG_SIODATA32, 0x120 - .set OFFSET_REG_SIOMLT_SEND, 0x12a - .set OFFSET_REG_SIOMLT_RECV, 0x120 - .set OFFSET_REG_SIOMULTI0, 0x120 - .set OFFSET_REG_SIOMULTI1, 0x122 - .set OFFSET_REG_SIOMULTI2, 0x124 - .set OFFSET_REG_SIOMULTI3, 0x126 - - .set OFFSET_REG_KEYINPUT, 0x130 - .set OFFSET_REG_KEYCNT, 0x132 - - .set OFFSET_REG_RCNT, 0x134 - - .set OFFSET_REG_JOYCNT, 0x140 - .set OFFSET_REG_JOYSTAT, 0x158 - .set OFFSET_REG_JOY_RECV, 0x150 - .set OFFSET_REG_JOY_RECV_L, 0x150 - .set OFFSET_REG_JOY_RECV_H, 0x152 - .set OFFSET_REG_JOY_TRANS, 0x154 - .set OFFSET_REG_JOY_TRANS_L, 0x154 - .set OFFSET_REG_JOY_TRANS_H, 0x156 - - .set OFFSET_REG_IME, 0x208 - .set OFFSET_REG_IE, 0x200 - .set OFFSET_REG_IF, 0x202 - - .set OFFSET_REG_WAITCNT, 0x204 - -@ I/O register addresses - .set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT - .set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT - .set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT - .set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT - .set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT - .set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT - .set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT - .set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS - .set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS - .set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS - .set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS - .set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS - .set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS - .set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS - .set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS - .set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA - .set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB - .set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC - .set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD - .set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L - .set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H - .set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L - .set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H - .set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA - .set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB - .set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC - .set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD - .set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L - .set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H - .set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L - .set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H - .set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H - .set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H - .set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V - .set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V - .set REG_WININ, REG_BASE + OFFSET_REG_WININ - .set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT - .set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC - .set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT - .set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA - .set REG_BLDY, REG_BASE + OFFSET_REG_BLDY - - .set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT - .set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L - .set REG_NR10, REG_BASE + OFFSET_REG_NR10 - .set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H - .set REG_NR11, REG_BASE + OFFSET_REG_NR11 - .set REG_NR12, REG_BASE + OFFSET_REG_NR12 - .set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X - .set REG_NR13, REG_BASE + OFFSET_REG_NR13 - .set REG_NR14, REG_BASE + OFFSET_REG_NR14 - .set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT - .set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L - .set REG_NR21, REG_BASE + OFFSET_REG_NR21 - .set REG_NR22, REG_BASE + OFFSET_REG_NR22 - .set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H - .set REG_NR23, REG_BASE + OFFSET_REG_NR23 - .set REG_NR24, REG_BASE + OFFSET_REG_NR24 - .set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT - .set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L - .set REG_NR30, REG_BASE + OFFSET_REG_NR30 - .set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H - .set REG_NR31, REG_BASE + OFFSET_REG_NR31 - .set REG_NR32, REG_BASE + OFFSET_REG_NR32 - .set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X - .set REG_NR33, REG_BASE + OFFSET_REG_NR33 - .set REG_NR34, REG_BASE + OFFSET_REG_NR34 - .set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT - .set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L - .set REG_NR41, REG_BASE + OFFSET_REG_NR41 - .set REG_NR42, REG_BASE + OFFSET_REG_NR42 - .set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H - .set REG_NR43, REG_BASE + OFFSET_REG_NR43 - .set REG_NR44, REG_BASE + OFFSET_REG_NR44 - .set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT - .set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L - .set REG_NR50, REG_BASE + OFFSET_REG_NR50 - .set REG_NR51, REG_BASE + OFFSET_REG_NR51 - .set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H - .set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X - .set REG_NR52, REG_BASE + OFFSET_REG_NR52 - .set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS - .set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM - .set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0 - .set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L - .set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H - .set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1 - .set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L - .set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H - .set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2 - .set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L - .set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H - .set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3 - .set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L - .set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H - .set REG_FIFO, REG_BASE + OFFSET_REG_FIFO - .set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A - .set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L - .set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H - .set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B - .set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L - .set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H - - .set REG_DMA0, REG_BASE + OFFSET_REG_DMA0 - .set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD - .set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L - .set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H - .set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD - .set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L - .set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H - .set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT - .set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L - .set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H - .set REG_DMA1, REG_BASE + OFFSET_REG_DMA1 - .set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD - .set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L - .set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H - .set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD - .set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L - .set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H - .set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT - .set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L - .set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H - .set REG_DMA2, REG_BASE + OFFSET_REG_DMA2 - .set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD - .set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L - .set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H - .set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD - .set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L - .set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H - .set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT - .set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L - .set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H - .set REG_DMA3, REG_BASE + OFFSET_REG_DMA3 - .set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD - .set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L - .set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H - .set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD - .set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L - .set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H - .set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT - .set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L - .set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H - - .set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT - .set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L - .set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H - .set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT - .set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L - .set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H - .set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT - .set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L - .set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H - .set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT - .set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L - .set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H - - .set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT - .set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8 - .set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32 - .set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND - .set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV - .set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0 - .set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1 - .set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2 - .set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3 - - .set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT - .set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT - - .set REG_RCNT, REG_BASE + OFFSET_REG_RCNT - - .set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT - .set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT - .set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV - .set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L - .set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H - .set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS - .set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L - .set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H - - .set REG_IME, REG_BASE + OFFSET_REG_IME - .set REG_IE, REG_BASE + OFFSET_REG_IE - .set REG_IF, REG_BASE + OFFSET_REG_IF - - .set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT - -@ DMA register constants - - .set DMA_DEST_INC, 0x0000 - .set DMA_DEST_DEC, 0x0020 - .set DMA_DEST_FIXED, 0x0040 - .set DMA_DEST_RELOAD, 0x0060 - .set DMA_SRC_INC, 0x0000 - .set DMA_SRC_DEC, 0x0080 - .set DMA_SRC_FIXED, 0x0100 - .set DMA_REPEAT, 0x0200 - .set DMA_16BIT, 0x0000 - .set DMA_32BIT, 0x0400 - .set DMA_DREQ_ON, 0x0800 - .set DMA_START_NOW, 0x0000 - .set DMA_START_VBLANK, 0x1000 - .set DMA_START_HBLANK, 0x2000 - .set DMA_START_SPECIAL, 0x3000 - .set DMA_INTR_ENABLE, 0x4000 - .set DMA_ENABLE, 0x8000 - -@ OAM attribute constants - - .set OAM_OBJ_NORMAL, 0x00000000 - .set OAM_OBJ_BLEND, 0x00000400 - .set OAM_OBJ_WINDOW, 0x00000800 - - .set OAM_AFFINE_NONE, 0x00000000 - .set OAM_AFFINE_NORMAL_SIZE, 0x00000100 - .set OAM_OBJ_DISABLED, 0x00000200 - .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300 - - .set OAM_MOSAIC_OFF, 0x00000000 - .set OAM_MOSAIC_ON, 0x00001000 - - .set OAM_4BPP, 0x00000000 - .set OAM_8BPP, 0x00002000 - - .set OAM_H_FLIP, 0x10000000 - .set OAM_V_FLIP, 0x20000000 - - .set OAM_SQUARE, 0x00000000 - .set OAM_H_RECTANGLE, 0x00004000 - .set OAM_V_RECTANGLE, 0x00008000 - .set OAM_SIZE_0, 0x00000000 - .set OAM_SIZE_1, 0x40000000 - .set OAM_SIZE_2, 0x80000000 - .set OAM_SIZE_3, 0xc0000000 - - .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE - .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE - .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE - .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE - - .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE - .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE - .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE - .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE - - .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE - .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE - .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE - .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE diff --git a/constants/m4a_constants.inc b/constants/m4a_constants.inc deleted file mode 100644 index 62ca5bb..0000000 --- a/constants/m4a_constants.inc +++ /dev/null @@ -1,199 +0,0 @@ - .equiv ID_NUMBER, 0x68736d53 - - .equiv PCM_DMA_BUF_SIZE, 1584 - - .equiv TONEDATA_TYPE_CGB, 0x07 - .equiv TONEDATA_TYPE_FIX, 0x08 - .equiv TONEDATA_TYPE_SPL, 0x40 @ key split - .equiv TONEDATA_TYPE_RHY, 0x80 @ rhythm - - .macro struct_begin - .struct 0 - .endm - - .macro struct_field name, size -\name: - .struct \name + \size - .endm - - struct_begin - struct_field o_SoundInfo_ident, 4 - struct_field o_SoundInfo_pcmDmaCounter, 1 - struct_field o_SoundInfo_reverb, 1 - struct_field o_SoundInfo_maxChans, 1 - struct_field o_SoundInfo_masterVolume, 1 - struct_field o_SoundInfo_freq, 1 - struct_field o_SoundInfo_mode, 1 - struct_field o_SoundInfo_c15, 1 - struct_field o_SoundInfo_pcmDmaPeriod, 1 - struct_field o_SoundInfo_maxLines, 1 - struct_field o_SoundInfo_gap, 3 - struct_field o_SoundInfo_pcmSamplesPerVBlank, 4 - struct_field o_SoundInfo_pcmFreq, 4 - struct_field o_SoundInfo_divFreq, 4 - struct_field o_SoundInfo_cgbChans, 4 - struct_field o_SoundInfo_func, 4 - struct_field o_SoundInfo_intp, 4 - struct_field o_SoundInfo_CgbSound, 4 - struct_field o_SoundInfo_CgbOscOff, 4 - struct_field o_SoundInfo_MidiKeyToCgbFreq, 4 - struct_field o_SoundInfo_MPlayJumpTable, 4 - struct_field o_SoundInfo_plynote, 4 - struct_field o_SoundInfo_ExtVolPit, 4 - struct_field o_SoundInfo_gap2, 16 - struct_field o_SoundInfo_chans, 768 - struct_field o_SoundInfo_pcmBuffer, PCM_DMA_BUF_SIZE * 2 - struct_field SoundInfo_size, 0 - - struct_begin - struct_field o_SoundChannel_status, 1 - struct_field o_SoundChannel_type, 1 - struct_field o_SoundChannel_rightVolume, 1 - struct_field o_SoundChannel_leftVolume, 1 - struct_field o_SoundChannel_attack, 1 - struct_field o_SoundChannel_decay, 1 - struct_field o_SoundChannel_sustain, 1 - struct_field o_SoundChannel_release, 1 - struct_field o_SoundChannel_ky, 1 - struct_field o_SoundChannel_ev, 1 - struct_field o_SoundChannel_er, 1 - struct_field o_SoundChannel_el, 1 - struct_field o_SoundChannel_iev, 1 - struct_field o_SoundChannel_iel, 1 - struct_field o_SoundChannel_d1, 1 - struct_field o_SoundChannel_d2, 1 - struct_field o_SoundChannel_gt, 1 - struct_field o_SoundChannel_mk, 1 - struct_field o_SoundChannel_ve, 1 - struct_field o_SoundChannel_pr, 1 - struct_field o_SoundChannel_rp, 1 - struct_field o_SoundChannel_d3, 3 - struct_field o_SoundChannel_ct, 4 - struct_field o_SoundChannel_fw, 4 - struct_field o_SoundChannel_freq, 4 - struct_field o_SoundChannel_wav, 4 - struct_field o_SoundChannel_cp, 4 - struct_field o_SoundChannel_track, 4 - struct_field o_SoundChannel_pp, 4 - struct_field o_SoundChannel_np, 4 - struct_field o_SoundChannel_d4, 4 - struct_field o_SoundChannel_xpi, 2 - struct_field o_SoundChannel_xpc, 2 - struct_field SoundChannel_size, 0 - - struct_begin - struct_field o_MusicPlayerTrack_flags, 1 - struct_field o_MusicPlayerTrack_wait, 1 - struct_field o_MusicPlayerTrack_patternLevel, 1 - struct_field o_MusicPlayerTrack_repN, 1 - struct_field o_MusicPlayerTrack_gateTime, 1 - struct_field o_MusicPlayerTrack_key, 1 - struct_field o_MusicPlayerTrack_velocity, 1 - struct_field o_MusicPlayerTrack_runningStatus, 1 - struct_field o_MusicPlayerTrack_keyM, 1 - struct_field o_MusicPlayerTrack_pitM, 1 - struct_field o_MusicPlayerTrack_keyShift, 1 - struct_field o_MusicPlayerTrack_keyShiftX, 1 - struct_field o_MusicPlayerTrack_tune, 1 - struct_field o_MusicPlayerTrack_pitX, 1 - struct_field o_MusicPlayerTrack_bend, 1 - struct_field o_MusicPlayerTrack_bendRange, 1 - struct_field o_MusicPlayerTrack_volMR, 1 - struct_field o_MusicPlayerTrack_volML, 1 - struct_field o_MusicPlayerTrack_vol, 1 - struct_field o_MusicPlayerTrack_volX, 1 - struct_field o_MusicPlayerTrack_pan, 1 - struct_field o_MusicPlayerTrack_panX, 1 - struct_field o_MusicPlayerTrack_modM, 1 - struct_field o_MusicPlayerTrack_mod, 1 - struct_field o_MusicPlayerTrack_modT, 1 - struct_field o_MusicPlayerTrack_lfoSpeed, 1 - struct_field o_MusicPlayerTrack_lfoSpeedC, 1 - struct_field o_MusicPlayerTrack_lfoDelay, 1 - struct_field o_MusicPlayerTrack_lfoDelayC, 1 - struct_field o_MusicPlayerTrack_priority, 1 - struct_field o_MusicPlayerTrack_echoVolume, 1 - struct_field o_MusicPlayerTrack_echoLength, 1 - struct_field o_MusicPlayerTrack_chan, 4 - struct_field o_MusicPlayerTrack_ToneData_type, 1 - struct_field o_MusicPlayerTrack_ToneData_key, 1 - struct_field o_MusicPlayerTrack_ToneData_length, 1 - struct_field o_MusicPlayerTrack_ToneData_pan_sweep, 1 - struct_field o_MusicPlayerTrack_ToneData_wav, 4 - struct_field o_MusicPlayerTrack_ToneData_attack, 1 - struct_field o_MusicPlayerTrack_ToneData_decay, 1 - struct_field o_MusicPlayerTrack_ToneData_sustain, 1 - struct_field o_MusicPlayerTrack_ToneData_release, 1 - struct_field o_MusicPlayerTrack_gap, 10 - struct_field o_MusicPlayerTrack_unk_3A, 2 - struct_field o_MusicPlayerTrack_unk_3C, 4 - struct_field o_MusicPlayerTrack_cmdPtr, 4 - struct_field o_MusicPlayerTrack_patternStack, 12 - struct_field MusicPlayerTrack_size, 0 - - .equiv o_MusicPlayerTrack_ToneData_keySplitTable, o_MusicPlayerTrack_ToneData_attack - - struct_begin - struct_field o_MusicPlayerInfo_songHeader, 4 - struct_field o_MusicPlayerInfo_status, 4 - struct_field o_MusicPlayerInfo_trackCount, 1 - struct_field o_MusicPlayerInfo_priority, 1 - struct_field o_MusicPlayerInfo_cmd, 1 - struct_field o_MusicPlayerInfo_unk_B, 1 - struct_field o_MusicPlayerInfo_clock, 4 - struct_field o_MusicPlayerInfo_gap, 8 - struct_field o_MusicPlayerInfo_memAccArea, 4 - struct_field o_MusicPlayerInfo_tempoD, 2 - struct_field o_MusicPlayerInfo_tempoU, 2 - struct_field o_MusicPlayerInfo_tempoI, 2 - struct_field o_MusicPlayerInfo_tempoC, 2 - struct_field o_MusicPlayerInfo_fadeOI, 2 - struct_field o_MusicPlayerInfo_fadeOC, 2 - struct_field o_MusicPlayerInfo_fadeOV, 2 - struct_field o_MusicPlayerInfo_padding, 2 - struct_field o_MusicPlayerInfo_tracks, 4 - struct_field o_MusicPlayerInfo_tone, 4 - struct_field o_MusicPlayerInfo_ident, 4 - struct_field o_MusicPlayerInfo_func, 4 - struct_field o_MusicPlayerInfo_intp, 4 - struct_field MusicPlayerInfo_size, 0 - - struct_begin - struct_field o_CgbChannel_sf, 1 - struct_field o_CgbChannel_ty, 1 - struct_field o_CgbChannel_rightVolume, 1 - struct_field o_CgbChannel_leftVolume, 1 - struct_field o_CgbChannel_at, 1 - struct_field o_CgbChannel_de, 1 - struct_field o_CgbChannel_su, 1 - struct_field o_CgbChannel_re, 1 - struct_field o_CgbChannel_ky, 1 - struct_field o_CgbChannel_ev, 1 - struct_field o_CgbChannel_eg, 1 - struct_field o_CgbChannel_ec, 1 - struct_field o_CgbChannel_echoVolume, 1 - struct_field o_CgbChannel_echoLength, 1 - struct_field o_CgbChannel_d1, 1 - struct_field o_CgbChannel_d2, 1 - struct_field o_CgbChannel_gt, 1 - struct_field o_CgbChannel_mk, 1 - struct_field o_CgbChannel_ve, 1 - struct_field o_CgbChannel_pr, 1 - struct_field o_CgbChannel_rp, 1 - struct_field o_CgbChannel_d3, 3 - struct_field o_CgbChannel_d5, 1 - struct_field o_CgbChannel_sg, 1 - struct_field o_CgbChannel_n4, 1 - struct_field o_CgbChannel_pan, 1 - struct_field o_CgbChannel_panMask, 1 - struct_field o_CgbChannel_mo, 1 - struct_field o_CgbChannel_le, 1 - struct_field o_CgbChannel_sw, 1 - struct_field o_CgbChannel_fr, 4 - struct_field o_CgbChannel_wp, 4 - struct_field o_CgbChannel_cp, 4 - struct_field o_CgbChannel_tp, 4 - struct_field o_CgbChannel_pp, 4 - struct_field o_CgbChannel_np, 4 - struct_field o_CgbChannel_d4, 8 - struct_field CgbChannel_size, 0 diff --git a/constants/script_func_constants.inc b/constants/script_func_constants.inc deleted file mode 100644 index 157153d..0000000 --- a/constants/script_func_constants.inc +++ /dev/null @@ -1,14 +0,0 @@ -.set WAIT_START_FUNC, 0x03 -.set WAKEUP_FUNC, 0x20 -.set LOOK_AROUND_FUNC, 0x21 -.set JUMP_HAPPY_FUNC, 0x25 -.set JUMP_ANGRY_FUNC, 0x27 -.set NOTICE_FUNC, 0x28 -.set QUESTION_FUNC, 0x29 -.set SWEAT_FUNC, 0x2A -.set SHOCK_FUNC, 0x2B -.set SMILE_START_FUNC, 0x2E -.set SMILE_END_FUNC, 0x2F -.set INIT_SLEEP_FUNC, 0x35 -.set LIVES_WARP_ARRIVE_FUNC, 0x51 -.set LIVES_WARP_ARRIVE2_FUNC, 0x52 diff --git a/data/cutscenes.s b/data/cutscenes.s index fecbf45..cad1fe1 100644 --- a/data/cutscenes.s +++ b/data/cutscenes.s @@ -1,8 +1,8 @@ .section .rodata - .include "asm/macros.inc" - .include "constants/script_func_constants.inc" - .include "include/constants/bg_music.h" + #include "asm/macros.inc" + #include "asm/constants/script_func_constants.inc" + #include "constants/bg_music.h" @ Debug Room .global Cutscene_DebugRoom_Main diff --git a/data/cutscenes_1.s b/data/cutscenes_1.s index e3f197c..096fae4 100644 --- a/data/cutscenes_1.s +++ b/data/cutscenes_1.s @@ -1,8 +1,8 @@ .section .rodata - .include "asm/macros.inc" - .include "constants/script_func_constants.inc" - .include "include/constants/bg_music.h" + #include "asm/macros.inc" + #include "asm/constants/script_func_constants.inc" + #include "constants/bg_music.h" .global Unk_822C248 Unk_822C248: @@ -9156,25 +9156,25 @@ .string "pksdir0\0" .align 2,0 - .include "data/scripts/personality_test.inc" + #include "scripts/personality_test.inc" .string "pksdir0\0" .align 2,0 - .include "data/scripts/title.inc" + #include "scripts/title.inc" .string "pksdir0\0" .align 2,0 - .include "data/scripts/intro.inc" + #include "scripts/intro.inc" .string "pksdir0\0" .align 2,0 - .include "data/scripts/company_screens.inc" + #include "scripts/company_screens.inc" .string "pksdir0\0" .align 2,0 - .include "data/scripts/health_safety.inc" + #include "scripts/health_safety.inc" .string "pksdir0\0" .align 2,0 - .include "data/scripts/world_map.inc" + #include "scripts/world_map.inc" diff --git a/data/data.s b/data/data.s index c51e2d1..e00d0ce 100644 --- a/data/data.s +++ b/data/data.s @@ -99,7 +99,7 @@ gLoadScreenBackgroundPaletteFileNames: @ 80B6A28 .4byte titlen1p_text .4byte titlen2p_text - .include "data/text/save.inc" + #include "text/save.inc" .global gUnknown_80B6D90 gUnknown_80B6D90: @ 80B6D90 diff --git a/data/data_80D47B8.s b/data/data_80D47B8.s index 25fb2b1..1b63067 100644 --- a/data/data_80D47B8.s +++ b/data/data_80D47B8.s @@ -4617,11 +4617,11 @@ gUnknown_80DCA2C: @ 80DCA2C .align 2,0 .4byte gUnknown_80DCA2C - .include "data/text/luminous_cave.inc" + #include "text/luminous_cave.inc" - .include "data/friend_area.inc" + #include "friend_area.inc" - .include "data/text/party_menu.inc" + #include "text/party_menu.inc" .global gUnknown_80DD6EC gUnknown_80DD6EC: @ 80DD6EC diff --git a/data/data_80DED44.s b/data/data_80DED44.s index 4989dea..758d88b 100644 --- a/data/data_80DED44.s +++ b/data/data_80DED44.s @@ -257,7 +257,7 @@ gUnknown_80DFE1C: @ 80DFE1C .byte 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 - .include "data/text/wonder_mail_3.inc" + #include "text/wonder_mail_3.inc" .global gUnknown_80E016C gUnknown_80E016C: @ 80E016C @@ -268,7 +268,7 @@ gUnknown_80E016C: @ 80E016C .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 - .include "data/text/wonder_mail_complete.inc" + #include "text/wonder_mail_complete.inc" .global gUnknown_80E0248 gUnknown_80E0248: @ 80E0248 diff --git a/data/data_80E2068.s b/data/data_80E2068.s index d00a658..e7e5921 100644 --- a/data/data_80E2068.s +++ b/data/data_80E2068.s @@ -1219,7 +1219,7 @@ gUnknown_80E4A40: @ 80E4A40 .byte 0x18, 0xff .byte 0x19, 0xff - .include "data/text/credits.inc" + #include "text/credits.inc" .global gUnknown_80E5990 gUnknown_80E5990: @ 80E5990 diff --git a/data/data_80F4278.s b/data/data_80F4278.s index 8a64e9e..339464f 100644 --- a/data/data_80F4278.s +++ b/data/data_80F4278.s @@ -1,5 +1,5 @@ -.include "include/constants/status.h" -.include "include/constants/targeting.h" +#include "constants/status.h" +#include "constants/targeting.h" .section .rodata .global gUnknown_80F42D0 @@ -7430,7 +7430,7 @@ gChargeMovesToStatuses: @ 81069F4 .global gMultiTurnChargingStatuses gMultiTurnChargingStatuses: @ 8106A1C - .include "include/constants/status.h" + #include "constants/status.h" .4byte CHARGING_STATUS_SOLARBEAM .4byte CHARGING_STATUS_SKY_ATTACK .4byte CHARGING_STATUS_RAZOR_WIND diff --git a/data/dungeon/floor_id.inc b/data/dungeon/floor_id.inc index accd20e..8214573 100644 --- a/data/dungeon/floor_id.inc +++ b/data/dungeon/floor_id.inc @@ -1,67 +1,67 @@ -.include "data/dungeon/TinyWoods/floor_id.inc" -.include "data/dungeon/ThunderwaveCave/floor_id.inc" -.include "data/dungeon/MtSteel/floor_id.inc" -.include "data/dungeon/SinisterWoods/floor_id.inc" -.include "data/dungeon/SilentChasm/floor_id.inc" -.include "data/dungeon/MtThunder/floor_id.inc" -.include "data/dungeon/MtThunderPeak/floor_id.inc" -.include "data/dungeon/GreatCanyon/floor_id.inc" -.include "data/dungeon/LapisCave/floor_id.inc" -.include "data/dungeon/MtBlaze/floor_id.inc" -.include "data/dungeon/MtBlazePeak/floor_id.inc" -.include "data/dungeon/FrostyForest/floor_id.inc" -.include "data/dungeon/FrostyGrotto/floor_id.inc" -.include "data/dungeon/MtFreeze/floor_id.inc" -.include "data/dungeon/MtFreezePeak/floor_id.inc" -.include "data/dungeon/MagmaCavern/floor_id.inc" -.include "data/dungeon/MagmaCavernPit/floor_id.inc" -.include "data/dungeon/SkyTower/floor_id.inc" -.include "data/dungeon/SkyTowerSummit/floor_id.inc" -.include "data/dungeon/StormySea/floor_id.inc" -.include "data/dungeon/SilverTrench/floor_id.inc" -.include "data/dungeon/MeteorCave/floor_id.inc" -.include "data/dungeon/MtFreezePeakAlt/floor_id.inc" -.include "data/dungeon/WesternCave/floor_id.inc" -.include "data/dungeon/Boss3/floor_id.inc" -.include "data/dungeon/Boss4/floor_id.inc" -.include "data/dungeon/WishCave/floor_id.inc" -.include "data/dungeon/BuriedRelic/floor_id.inc" -.include "data/dungeon/PitfallValley/floor_id.inc" -.include "data/dungeon/NorthernRange/floor_id.inc" -.include "data/dungeon/Boss9/floor_id.inc" -.include "data/dungeon/DesertRegion/floor_id.inc" -.include "data/dungeon/SouthernCavern/floor_id.inc" -.include "data/dungeon/WyvernHill/floor_id.inc" -.include "data/dungeon/FieryField/floor_id.inc" -.include "data/dungeon/NorthwindField/floor_id.inc" -.include "data/dungeon/SolarCave/floor_id.inc" -.include "data/dungeon/LightningField/floor_id.inc" -.include "data/dungeon/DarknightRelic/floor_id.inc" -.include "data/dungeon/WondrousSea/floor_id.inc" -.include "data/dungeon/MurkyCave/floor_id.inc" -.include "data/dungeon/GrandSea/floor_id.inc" -.include "data/dungeon/UproarForest/floor_id.inc" -.include "data/dungeon/OddityCave/floor_id.inc" -.include "data/dungeon/RemainsIsland/floor_id.inc" -.include "data/dungeon/MarvelousSea/floor_id.inc" -.include "data/dungeon/FantasyStrait/floor_id.inc" -.include "data/dungeon/RockPath/floor_id.inc" -.include "data/dungeon/SnowPath/floor_id.inc" -.include "data/dungeon/Autopilot/floor_id.inc" -.include "data/dungeon/D50/floor_id.inc" -.include "data/dungeon/D51/floor_id.inc" -.include "data/dungeon/DojoRegistration/floor_id.inc" -.include "data/dungeon/HowlingForest/floor_id.inc" -.include "data/dungeon/D54/floor_id.inc" -.include "data/dungeon/FantasyStraitAlt/floor_id.inc" -.include "data/dungeon/WaterfallPond/floor_id.inc" -.include "data/dungeon/UnownRelic/floor_id.inc" -.include "data/dungeon/JoyousTower/floor_id.inc" -.include "data/dungeon/FaroffSea/floor_id.inc" -.include "data/dungeon/MtFaraway/floor_id.inc" -.include "data/dungeon/D61/floor_id.inc" -.include "data/dungeon/PurityForest/floor_id.inc" -.include "data/dungeon/D63/floor_id.inc" +#include "TinyWoods/floor_id.inc" +#include "ThunderwaveCave/floor_id.inc" +#include "MtSteel/floor_id.inc" +#include "SinisterWoods/floor_id.inc" +#include "SilentChasm/floor_id.inc" +#include "MtThunder/floor_id.inc" +#include "MtThunderPeak/floor_id.inc" +#include "GreatCanyon/floor_id.inc" +#include "LapisCave/floor_id.inc" +#include "MtBlaze/floor_id.inc" +#include "MtBlazePeak/floor_id.inc" +#include "FrostyForest/floor_id.inc" +#include "FrostyGrotto/floor_id.inc" +#include "MtFreeze/floor_id.inc" +#include "MtFreezePeak/floor_id.inc" +#include "MagmaCavern/floor_id.inc" +#include "MagmaCavernPit/floor_id.inc" +#include "SkyTower/floor_id.inc" +#include "SkyTowerSummit/floor_id.inc" +#include "StormySea/floor_id.inc" +#include "SilverTrench/floor_id.inc" +#include "MeteorCave/floor_id.inc" +#include "MtFreezePeakAlt/floor_id.inc" +#include "WesternCave/floor_id.inc" +#include "Boss3/floor_id.inc" +#include "Boss4/floor_id.inc" +#include "WishCave/floor_id.inc" +#include "BuriedRelic/floor_id.inc" +#include "PitfallValley/floor_id.inc" +#include "NorthernRange/floor_id.inc" +#include "Boss9/floor_id.inc" +#include "DesertRegion/floor_id.inc" +#include "SouthernCavern/floor_id.inc" +#include "WyvernHill/floor_id.inc" +#include "FieryField/floor_id.inc" +#include "NorthwindField/floor_id.inc" +#include "SolarCave/floor_id.inc" +#include "LightningField/floor_id.inc" +#include "DarknightRelic/floor_id.inc" +#include "WondrousSea/floor_id.inc" +#include "MurkyCave/floor_id.inc" +#include "GrandSea/floor_id.inc" +#include "UproarForest/floor_id.inc" +#include "OddityCave/floor_id.inc" +#include "RemainsIsland/floor_id.inc" +#include "MarvelousSea/floor_id.inc" +#include "FantasyStrait/floor_id.inc" +#include "RockPath/floor_id.inc" +#include "SnowPath/floor_id.inc" +#include "Autopilot/floor_id.inc" +#include "D50/floor_id.inc" +#include "D51/floor_id.inc" +#include "DojoRegistration/floor_id.inc" +#include "HowlingForest/floor_id.inc" +#include "D54/floor_id.inc" +#include "FantasyStraitAlt/floor_id.inc" +#include "WaterfallPond/floor_id.inc" +#include "UnownRelic/floor_id.inc" +#include "JoyousTower/floor_id.inc" +#include "FaroffSea/floor_id.inc" +#include "MtFaraway/floor_id.inc" +#include "D61/floor_id.inc" +#include "PurityForest/floor_id.inc" +#include "D63/floor_id.inc" @ Start of Dungeon Floor ID Table .global DungeonPointerTable diff --git a/data/dungeon/main_data.inc b/data/dungeon/main_data.inc index de8e282..6ea5946 100644 --- a/data/dungeon/main_data.inc +++ b/data/dungeon/main_data.inc @@ -2,29 +2,29 @@ .global DungeonMainData DungeonMainData: -.include "data/dungeon/TinyWoods/main_data.inc" -.include "data/dungeon/ThunderwaveCave/main_data.inc" -.include "data/dungeon/MtSteel/main_data.inc" -.include "data/dungeon/SinisterWoods/main_data.inc" -.include "data/dungeon/SilentChasm/main_data.inc" -.include "data/dungeon/MtThunder/main_data.inc" -.include "data/dungeon/MtThunderPeak/main_data.inc" -.include "data/dungeon/GreatCanyon/main_data.inc" -.include "data/dungeon/LapisCave/main_data.inc" -.include "data/dungeon/MtBlaze/main_data.inc" -.include "data/dungeon/MtBlazePeak/main_data.inc" -.include "data/dungeon/FrostyForest/main_data.inc" -.include "data/dungeon/FrostyGrotto/main_data.inc" -.include "data/dungeon/MtFreeze/main_data.inc" -.include "data/dungeon/MtFreezePeak/main_data.inc" -.include "data/dungeon/MagmaCavern/main_data.inc" -.include "data/dungeon/MagmaCavernPit/main_data.inc" -.include "data/dungeon/SkyTower/main_data.inc" -.include "data/dungeon/SkyTowerSummit/main_data.inc" -.include "data/dungeon/StormySea/main_data.inc" -.include "data/dungeon/SilverTrench/main_data.inc" -.include "data/dungeon/MeteorCave/main_data.inc" -.include "data/dungeon/MtFreezePeakAlt/main_data.inc" +#include "TinyWoods/main_data.inc" +#include "ThunderwaveCave/main_data.inc" +#include "MtSteel/main_data.inc" +#include "SinisterWoods/main_data.inc" +#include "SilentChasm/main_data.inc" +#include "MtThunder/main_data.inc" +#include "MtThunderPeak/main_data.inc" +#include "GreatCanyon/main_data.inc" +#include "LapisCave/main_data.inc" +#include "MtBlaze/main_data.inc" +#include "MtBlazePeak/main_data.inc" +#include "FrostyForest/main_data.inc" +#include "FrostyGrotto/main_data.inc" +#include "MtFreeze/main_data.inc" +#include "MtFreezePeak/main_data.inc" +#include "MagmaCavern/main_data.inc" +#include "MagmaCavernPit/main_data.inc" +#include "SkyTower/main_data.inc" +#include "SkyTowerSummit/main_data.inc" +#include "StormySea/main_data.inc" +#include "SilverTrench/main_data.inc" +#include "MeteorCave/main_data.inc" +#include "MtFreezePeakAlt/main_data.inc" diff --git a/data/dungeon/pokemon_found.inc b/data/dungeon/pokemon_found.inc index 67ca464..c32676b 100644 --- a/data/dungeon/pokemon_found.inc +++ b/data/dungeon/pokemon_found.inc @@ -1,26 +1,26 @@ @ Start of Pokemon Found (0x84b6064) -.include "include/constants/species.h" +#include "constants/species.h" -.include "data/dungeon/TinyWoods/pokemon_found.inc" -.include "data/dungeon/ThunderwaveCave/pokemon_found.inc" -.include "data/dungeon/MtSteel/pokemon_found.inc" -.include "data/dungeon/SinisterWoods/pokemon_found.inc" -.include "data/dungeon/SilentChasm/pokemon_found.inc" -.include "data/dungeon/MtThunder/pokemon_found.inc" -.include "data/dungeon/MtThunderPeak/pokemon_found.inc" -.include "data/dungeon/GreatCanyon/pokemon_found.inc" -.include "data/dungeon/LapisCave/pokemon_found.inc" -.include "data/dungeon/MtBlaze/pokemon_found.inc" -.include "data/dungeon/MtBlazePeak/pokemon_found.inc" -.include "data/dungeon/FrostyForest/pokemon_found.inc" -.include "data/dungeon/FrostyGrotto/pokemon_found.inc" -.include "data/dungeon/MtFreeze/pokemon_found.inc" -.include "data/dungeon/MtFreezePeak/pokemon_found.inc" -.include "data/dungeon/MagmaCavern/pokemon_found.inc" -.include "data/dungeon/MagmaCavernPit/pokemon_found.inc" -.include "data/dungeon/SkyTower/pokemon_found.inc" -.include "data/dungeon/SkyTowerSummit/pokemon_found.inc" +#include "TinyWoods/pokemon_found.inc" +#include "ThunderwaveCave/pokemon_found.inc" +#include "MtSteel/pokemon_found.inc" +#include "SinisterWoods/pokemon_found.inc" +#include "SilentChasm/pokemon_found.inc" +#include "MtThunder/pokemon_found.inc" +#include "MtThunderPeak/pokemon_found.inc" +#include "GreatCanyon/pokemon_found.inc" +#include "LapisCave/pokemon_found.inc" +#include "MtBlaze/pokemon_found.inc" +#include "MtBlazePeak/pokemon_found.inc" +#include "FrostyForest/pokemon_found.inc" +#include "FrostyGrotto/pokemon_found.inc" +#include "MtFreeze/pokemon_found.inc" +#include "MtFreezePeak/pokemon_found.inc" +#include "MagmaCavern/pokemon_found.inc" +#include "MagmaCavernPit/pokemon_found.inc" +#include "SkyTower/pokemon_found.inc" +#include "SkyTowerSummit/pokemon_found.inc" .byte 0x48, 0x32, 0x1a, 0x07, 0x1a, 0x07, 0x00, 0x00 diff --git a/data/dungeon_sbin.s b/data/dungeon_sbin.s index d24b3b7..95f455e 100644 --- a/data/dungeon_sbin.s +++ b/data/dungeon_sbin.s @@ -30725,16 +30725,16 @@ b00pal: .byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80 -.include "data/dungeon/banfont.inc" -.include "data/dungeon/banrpal.inc" -.include "data/dungeon/colvec.inc" -.include "data/dungeon/etcfont.inc" -.include "data/dungeon/etcfonta.inc" -.include "data/dungeon/fixedmap.inc" -.include "data/dungeon/hp5font.inc" -.include "data/dungeon/itempat.inc" -.include "data/dungeon/jyochu.inc" -.include "data/dungeon/levfont.inc" +#include "dungeon/banfont.inc" +#include "dungeon/banrpal.inc" +#include "dungeon/colvec.inc" +#include "dungeon/etcfont.inc" +#include "dungeon/etcfonta.inc" +#include "dungeon/fixedmap.inc" +#include "dungeon/hp5font.inc" +#include "dungeon/itempat.inc" +#include "dungeon/jyochu.inc" +#include "dungeon/levfont.inc" @ Dungoeon Floor SIRO HEADER .global Mapparam_SIRO @@ -30744,11 +30744,11 @@ Mapparam_SIRO: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 -.include "data/dungeon/floor_id.inc" -.include "data/dungeon/main_data.inc" -.include "data/dungeon/pokemon_found.inc" -.include "data/dungeon/traps_found.inc" -.include "data/dungeon/items_found.inc" +#include "dungeon/floor_id.inc" +#include "dungeon/main_data.inc" +#include "dungeon/pokemon_found.inc" +#include "dungeon/traps_found.inc" +#include "dungeon/items_found.inc" .global DungeonMasterTable DungeonMasterTable: @@ -36413,5 +36413,5 @@ PartnerConversion9SIRO: .byte 0x30, 0x5f, 0x30, 0x32, 0x00, 0x00, 0x00, 0x00, 0x24, 0x6d, 0x30, 0x3a, 0x20, 0x5f, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f .byte 0x6e, 0x5f, 0x30, 0x39, 0x30, 0x5f, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00 -.include "data/dungeon/trappat.inc" -.include "data/dungeon/zmappat.inc" +#include "dungeon/trappat.inc" +#include "dungeon/zmappat.inc" diff --git a/data/sound_data.s b/data/sound_data.s index d21dfbb..32367fd 100644 --- a/data/sound_data.s +++ b/data/sound_data.s @@ -1,8 +1,8 @@ .section .rodata - .include "include/macros/m4a.inc" + #include "asm/macros/m4a.inc" - .include "sound/music_player_table.inc" - .include "sound/song_table.inc" + #include "../sound/music_player_table.inc" + #include "../sound/song_table.inc" .incbin "baserom.gba", 0x1E8841C, 0x177BE4 diff --git a/data/system_sbin.s b/data/system_sbin.s index 6742b67..7ea8cd5 100644 --- a/data/system_sbin.s +++ b/data/system_sbin.s @@ -1583,14 +1583,14 @@ DataRootTable: .byte 0x28, 0xcc, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 @ Address 0x306580 -.include "data/item/item_descriptions.s" +#include "item/item_descriptions.s" .align 2,0 @ Address 0x30cc28 -.include "data/item/item_data.inc" +#include "item/item_data.inc" @ Address 0x30ea28 -.include "data/item/item_names.s" +#include "item/item_names.s" .string "SIRO" .byte 0xb0, 0x91, 0x31, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 @@ -10923,10 +10923,10 @@ DataRootTable: .byte 0x00, 0x00, 0x00, 0x00 @ Address 0x357b98 -.include "data/pokemon/species_data.inc" +#include "pokemon/species_data.inc" @ Address 0x35f2d8 -.include "data/pokemon/species_names.s" +#include "pokemon/species_names.s" .string "SIRO" .byte 0x38, 0x33, 0x37, 0x08, 0x00, 0x00, 0x00, 0x00 @@ -11809,10 +11809,10 @@ DataRootTable: .byte 0x0f, 0x83, 0x10, 0x83, 0x11, 0x83, 0x12, 0x83, 0x13, 0x83, 0x14, 0x83, 0x15, 0x83, 0x16, 0x83, 0x17, 0x83, 0x18, 0x83, 0x19, 0x83, 0x1a, 0x83, 0x1b, 0x83, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00 @ Address 0x3679a0 -.include "data/move/move_data.inc" +#include "move/move_data.inc" @ Address 0x36b3b4 -.include "data/move/move_names.s" +#include "move/move_names.s" .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x06, 0x0c, 0x36, 0x08, 0x26, 0x0c, 0x36, 0x08, 0x4a, 0x0c, 0x36, 0x08, 0x70, 0x0c, 0x36, 0x08, 0x94, 0x0c, 0x36, 0x08, 0xc0, 0x0c, 0x36, 0x08, 0xe9, 0x0c, 0x36, 0x08, 0x06, 0x0d, 0x36, 0x08 diff --git a/include/asm/constants/gba_constants.inc b/include/asm/constants/gba_constants.inc new file mode 100644 index 0000000..9d59c8f --- /dev/null +++ b/include/asm/constants/gba_constants.inc @@ -0,0 +1,490 @@ + .set PSR_USR_MODE, 0x00000010 + .set PSR_FIQ_MODE, 0x00000011 + .set PSR_IRQ_MODE, 0x00000012 + .set PSR_SVC_MODE, 0x00000013 + .set PSR_ABT_MODE, 0x00000017 + .set PSR_UND_MODE, 0x0000001b + .set PSR_SYS_MODE, 0x0000001f + .set PSR_MODE_MASK, 0x0000001f + .set PSR_T_BIT, 0x00000020 + .set PSR_F_BIT, 0x00000040 + .set PSR_I_BIT, 0x00000080 + + .set EWRAM_START, 0x02000000 + .set EWRAM_END, EWRAM_START + 0x40000 + .set IWRAM_START, 0x03000000 + .set IWRAM_END, IWRAM_START + 0x8000 + + .set PLTT, 0x5000000 + .set BG_PLTT, PLTT + .set OBJ_PLTT, PLTT + 0x200 + + .set VRAM, 0x6000000 + .set BG_VRAM, VRAM + .set OBJ_VRAM0, VRAM + 0x10000 @ text-mode BG + .set OBJ_VRAM1, VRAM + 0x14000 @ bitmap-mode BG + + .set OAM, 0x7000000 + + .set SOUND_INFO_PTR, 0x3007FF0 + .set INTR_CHECK, 0x3007FF8 + .set INTR_VECTOR, 0x3007FFC + + .set INTR_FLAG_VBLANK, 1 << 0 + .set INTR_FLAG_HBLANK, 1 << 1 + .set INTR_FLAG_VCOUNT, 1 << 2 + .set INTR_FLAG_TIMER0, 1 << 3 + .set INTR_FLAG_TIMER1, 1 << 4 + .set INTR_FLAG_TIMER2, 1 << 5 + .set INTR_FLAG_TIMER3, 1 << 6 + .set INTR_FLAG_SERIAL, 1 << 7 + .set INTR_FLAG_DMA0, 1 << 8 + .set INTR_FLAG_DMA1, 1 << 9 + .set INTR_FLAG_DMA2, 1 << 10 + .set INTR_FLAG_DMA3, 1 << 11 + .set INTR_FLAG_KEYPAD, 1 << 12 + .set INTR_FLAG_GAMEPAK, 1 << 13 + + .set VCOUNT_VBLANK, 160 + .set TOTAL_SCANLINES, 228 + + .set REG_BASE, 0x4000000 @ I/O register base address + +@ I/O register offsets + .set OFFSET_REG_DISPCNT, 0x0 + .set OFFSET_REG_DISPSTAT, 0x4 + .set OFFSET_REG_VCOUNT, 0x6 + .set OFFSET_REG_BG0CNT, 0x8 + .set OFFSET_REG_BG1CNT, 0xa + .set OFFSET_REG_BG2CNT, 0xc + .set OFFSET_REG_BG3CNT, 0xe + .set OFFSET_REG_BG0HOFS, 0x10 + .set OFFSET_REG_BG0VOFS, 0x12 + .set OFFSET_REG_BG1HOFS, 0x14 + .set OFFSET_REG_BG1VOFS, 0x16 + .set OFFSET_REG_BG2HOFS, 0x18 + .set OFFSET_REG_BG2VOFS, 0x1a + .set OFFSET_REG_BG3HOFS, 0x1c + .set OFFSET_REG_BG3VOFS, 0x1e + .set OFFSET_REG_BG2PA, 0x20 + .set OFFSET_REG_BG2PB, 0x22 + .set OFFSET_REG_BG2PC, 0x24 + .set OFFSET_REG_BG2PD, 0x26 + .set OFFSET_REG_BG2X_L, 0x28 + .set OFFSET_REG_BG2X_H, 0x2a + .set OFFSET_REG_BG2Y_L, 0x2c + .set OFFSET_REG_BG2Y_H, 0x2e + .set OFFSET_REG_BG3PA, 0x30 + .set OFFSET_REG_BG3PB, 0x32 + .set OFFSET_REG_BG3PC, 0x34 + .set OFFSET_REG_BG3PD, 0x36 + .set OFFSET_REG_BG3X_L, 0x38 + .set OFFSET_REG_BG3X_H, 0x3a + .set OFFSET_REG_BG3Y_L, 0x3c + .set OFFSET_REG_BG3Y_H, 0x3e + .set OFFSET_REG_WIN0H, 0x40 + .set OFFSET_REG_WIN1H, 0x42 + .set OFFSET_REG_WIN0V, 0x44 + .set OFFSET_REG_WIN1V, 0x46 + .set OFFSET_REG_WININ, 0x48 + .set OFFSET_REG_WINOUT, 0x4a + .set OFFSET_REG_MOSAIC, 0x4c + .set OFFSET_REG_BLDCNT, 0x50 + .set OFFSET_REG_BLDALPHA, 0x52 + .set OFFSET_REG_BLDY, 0x54 + + .set OFFSET_REG_SOUND1CNT, 0x60 + .set OFFSET_REG_SOUND1CNT_L, 0x60 + .set OFFSET_REG_NR10, 0x60 + .set OFFSET_REG_SOUND1CNT_H, 0x62 + .set OFFSET_REG_NR11, 0x62 + .set OFFSET_REG_NR12, 0x63 + .set OFFSET_REG_SOUND1CNT_X, 0x64 + .set OFFSET_REG_NR13, 0x64 + .set OFFSET_REG_NR14, 0x65 + .set OFFSET_REG_SOUND2CNT, 0x68 + .set OFFSET_REG_SOUND2CNT_L, 0x68 + .set OFFSET_REG_NR21, 0x68 + .set OFFSET_REG_NR22, 0x69 + .set OFFSET_REG_SOUND2CNT_H, 0x6c + .set OFFSET_REG_NR23, 0x6c + .set OFFSET_REG_NR24, 0x6d + .set OFFSET_REG_SOUND3CNT, 0x70 + .set OFFSET_REG_SOUND3CNT_L, 0x70 + .set OFFSET_REG_NR30, 0x70 + .set OFFSET_REG_SOUND3CNT_H, 0x72 + .set OFFSET_REG_NR31, 0x72 + .set OFFSET_REG_NR32, 0x73 + .set OFFSET_REG_SOUND3CNT_X, 0x74 + .set OFFSET_REG_NR33, 0x74 + .set OFFSET_REG_NR34, 0x75 + .set OFFSET_REG_SOUND4CNT, 0x78 + .set OFFSET_REG_SOUND4CNT_L, 0x78 + .set OFFSET_REG_NR41, 0x78 + .set OFFSET_REG_NR42, 0x79 + .set OFFSET_REG_SOUND4CNT_H, 0x7c + .set OFFSET_REG_NR43, 0x7c + .set OFFSET_REG_NR44, 0x7d + .set OFFSET_REG_SOUNDCNT, 0x80 + .set OFFSET_REG_SOUNDCNT_L, 0x80 + .set OFFSET_REG_NR50, 0x80 + .set OFFSET_REG_NR51, 0x81 + .set OFFSET_REG_SOUNDCNT_H, 0x82 + .set OFFSET_REG_SOUNDCNT_X, 0x84 + .set OFFSET_REG_NR52, 0x84 + .set OFFSET_REG_SOUNDBIAS, 0x88 + .set OFFSET_REG_WAVE_RAM, 0x90 + .set OFFSET_REG_WAVE_RAM0, 0x90 + .set OFFSET_REG_WAVE_RAM0_L, 0x90 + .set OFFSET_REG_WAVE_RAM0_H, 0x92 + .set OFFSET_REG_WAVE_RAM1, 0x94 + .set OFFSET_REG_WAVE_RAM1_L, 0x94 + .set OFFSET_REG_WAVE_RAM1_H, 0x96 + .set OFFSET_REG_WAVE_RAM2, 0x98 + .set OFFSET_REG_WAVE_RAM2_L, 0x98 + .set OFFSET_REG_WAVE_RAM2_H, 0x9a + .set OFFSET_REG_WAVE_RAM3, 0x9c + .set OFFSET_REG_WAVE_RAM3_L, 0x9c + .set OFFSET_REG_WAVE_RAM3_H, 0x9e + .set OFFSET_REG_FIFO, 0xa0 + .set OFFSET_REG_FIFO_A, 0xa0 + .set OFFSET_REG_FIFO_A_L, 0xa0 + .set OFFSET_REG_FIFO_A_H, 0xa2 + .set OFFSET_REG_FIFO_B, 0xa4 + .set OFFSET_REG_FIFO_B_L, 0xa4 + .set OFFSET_REG_FIFO_B_H, 0xa6 + + .set OFFSET_REG_DMA0, 0xb0 + .set OFFSET_REG_DMA0SAD, 0xb0 + .set OFFSET_REG_DMA0SAD_L, 0xb0 + .set OFFSET_REG_DMA0SAD_H, 0xb2 + .set OFFSET_REG_DMA0DAD, 0xb4 + .set OFFSET_REG_DMA0DAD_L, 0xb4 + .set OFFSET_REG_DMA0DAD_H, 0xb6 + .set OFFSET_REG_DMA0CNT, 0xb8 + .set OFFSET_REG_DMA0CNT_L, 0xb8 + .set OFFSET_REG_DMA0CNT_H, 0xba + .set OFFSET_REG_DMA1, 0xbc + .set OFFSET_REG_DMA1SAD, 0xbc + .set OFFSET_REG_DMA1SAD_L, 0xbc + .set OFFSET_REG_DMA1SAD_H, 0xbe + .set OFFSET_REG_DMA1DAD, 0xc0 + .set OFFSET_REG_DMA1DAD_L, 0xc0 + .set OFFSET_REG_DMA1DAD_H, 0xc2 + .set OFFSET_REG_DMA1CNT, 0xc4 + .set OFFSET_REG_DMA1CNT_L, 0xc4 + .set OFFSET_REG_DMA1CNT_H, 0xc6 + .set OFFSET_REG_DMA2, 0xc8 + .set OFFSET_REG_DMA2SAD, 0xc8 + .set OFFSET_REG_DMA2SAD_L, 0xc8 + .set OFFSET_REG_DMA2SAD_H, 0xca + .set OFFSET_REG_DMA2DAD, 0xcc + .set OFFSET_REG_DMA2DAD_L, 0xcc + .set OFFSET_REG_DMA2DAD_H, 0xce + .set OFFSET_REG_DMA2CNT, 0xd0 + .set OFFSET_REG_DMA2CNT_L, 0xd0 + .set OFFSET_REG_DMA2CNT_H, 0xd2 + .set OFFSET_REG_DMA3, 0xd4 + .set OFFSET_REG_DMA3SAD, 0xd4 + .set OFFSET_REG_DMA3SAD_L, 0xd4 + .set OFFSET_REG_DMA3SAD_H, 0xd6 + .set OFFSET_REG_DMA3DAD, 0xd8 + .set OFFSET_REG_DMA3DAD_L, 0xd8 + .set OFFSET_REG_DMA3DAD_H, 0xda + .set OFFSET_REG_DMA3CNT, 0xdc + .set OFFSET_REG_DMA3CNT_L, 0xdc + .set OFFSET_REG_DMA3CNT_H, 0xde + + .set OFFSET_REG_TM0CNT, 0x100 + .set OFFSET_REG_TM0CNT_L, 0x100 + .set OFFSET_REG_TM0CNT_H, 0x102 + .set OFFSET_REG_TM1CNT, 0x104 + .set OFFSET_REG_TM1CNT_L, 0x104 + .set OFFSET_REG_TM1CNT_H, 0x106 + .set OFFSET_REG_TM2CNT, 0x108 + .set OFFSET_REG_TM2CNT_L, 0x108 + .set OFFSET_REG_TM2CNT_H, 0x10a + .set OFFSET_REG_TM3CNT, 0x10c + .set OFFSET_REG_TM3CNT_L, 0x10c + .set OFFSET_REG_TM3CNT_H, 0x10e + + .set OFFSET_REG_SIOCNT, 0x128 + .set OFFSET_REG_SIODATA8, 0x12a + .set OFFSET_REG_SIODATA32, 0x120 + .set OFFSET_REG_SIOMLT_SEND, 0x12a + .set OFFSET_REG_SIOMLT_RECV, 0x120 + .set OFFSET_REG_SIOMULTI0, 0x120 + .set OFFSET_REG_SIOMULTI1, 0x122 + .set OFFSET_REG_SIOMULTI2, 0x124 + .set OFFSET_REG_SIOMULTI3, 0x126 + + .set OFFSET_REG_KEYINPUT, 0x130 + .set OFFSET_REG_KEYCNT, 0x132 + + .set OFFSET_REG_RCNT, 0x134 + + .set OFFSET_REG_JOYCNT, 0x140 + .set OFFSET_REG_JOYSTAT, 0x158 + .set OFFSET_REG_JOY_RECV, 0x150 + .set OFFSET_REG_JOY_RECV_L, 0x150 + .set OFFSET_REG_JOY_RECV_H, 0x152 + .set OFFSET_REG_JOY_TRANS, 0x154 + .set OFFSET_REG_JOY_TRANS_L, 0x154 + .set OFFSET_REG_JOY_TRANS_H, 0x156 + + .set OFFSET_REG_IME, 0x208 + .set OFFSET_REG_IE, 0x200 + .set OFFSET_REG_IF, 0x202 + + .set OFFSET_REG_WAITCNT, 0x204 + +@ I/O register addresses + .set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT + .set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT + .set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT + .set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT + .set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT + .set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT + .set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT + .set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS + .set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS + .set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS + .set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS + .set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS + .set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS + .set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS + .set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS + .set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA + .set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB + .set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC + .set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD + .set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L + .set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H + .set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L + .set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H + .set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA + .set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB + .set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC + .set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD + .set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L + .set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H + .set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L + .set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H + .set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H + .set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H + .set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V + .set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V + .set REG_WININ, REG_BASE + OFFSET_REG_WININ + .set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT + .set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC + .set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT + .set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA + .set REG_BLDY, REG_BASE + OFFSET_REG_BLDY + + .set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT + .set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L + .set REG_NR10, REG_BASE + OFFSET_REG_NR10 + .set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H + .set REG_NR11, REG_BASE + OFFSET_REG_NR11 + .set REG_NR12, REG_BASE + OFFSET_REG_NR12 + .set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X + .set REG_NR13, REG_BASE + OFFSET_REG_NR13 + .set REG_NR14, REG_BASE + OFFSET_REG_NR14 + .set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT + .set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L + .set REG_NR21, REG_BASE + OFFSET_REG_NR21 + .set REG_NR22, REG_BASE + OFFSET_REG_NR22 + .set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H + .set REG_NR23, REG_BASE + OFFSET_REG_NR23 + .set REG_NR24, REG_BASE + OFFSET_REG_NR24 + .set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT + .set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L + .set REG_NR30, REG_BASE + OFFSET_REG_NR30 + .set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H + .set REG_NR31, REG_BASE + OFFSET_REG_NR31 + .set REG_NR32, REG_BASE + OFFSET_REG_NR32 + .set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X + .set REG_NR33, REG_BASE + OFFSET_REG_NR33 + .set REG_NR34, REG_BASE + OFFSET_REG_NR34 + .set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT + .set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L + .set REG_NR41, REG_BASE + OFFSET_REG_NR41 + .set REG_NR42, REG_BASE + OFFSET_REG_NR42 + .set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H + .set REG_NR43, REG_BASE + OFFSET_REG_NR43 + .set REG_NR44, REG_BASE + OFFSET_REG_NR44 + .set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT + .set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L + .set REG_NR50, REG_BASE + OFFSET_REG_NR50 + .set REG_NR51, REG_BASE + OFFSET_REG_NR51 + .set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H + .set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X + .set REG_NR52, REG_BASE + OFFSET_REG_NR52 + .set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS + .set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM + .set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0 + .set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L + .set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H + .set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1 + .set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L + .set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H + .set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2 + .set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L + .set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H + .set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3 + .set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L + .set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H + .set REG_FIFO, REG_BASE + OFFSET_REG_FIFO + .set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A + .set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L + .set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H + .set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B + .set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L + .set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H + + .set REG_DMA0, REG_BASE + OFFSET_REG_DMA0 + .set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD + .set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L + .set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H + .set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD + .set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L + .set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H + .set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT + .set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L + .set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H + .set REG_DMA1, REG_BASE + OFFSET_REG_DMA1 + .set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD + .set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L + .set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H + .set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD + .set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L + .set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H + .set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT + .set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L + .set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H + .set REG_DMA2, REG_BASE + OFFSET_REG_DMA2 + .set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD + .set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L + .set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H + .set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD + .set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L + .set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H + .set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT + .set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L + .set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H + .set REG_DMA3, REG_BASE + OFFSET_REG_DMA3 + .set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD + .set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L + .set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H + .set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD + .set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L + .set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H + .set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT + .set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L + .set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H + + .set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT + .set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L + .set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H + .set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT + .set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L + .set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H + .set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT + .set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L + .set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H + .set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT + .set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L + .set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H + + .set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT + .set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8 + .set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32 + .set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND + .set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV + .set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0 + .set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1 + .set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2 + .set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3 + + .set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT + .set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT + + .set REG_RCNT, REG_BASE + OFFSET_REG_RCNT + + .set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT + .set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT + .set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV + .set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L + .set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H + .set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS + .set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L + .set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H + + .set REG_IME, REG_BASE + OFFSET_REG_IME + .set REG_IE, REG_BASE + OFFSET_REG_IE + .set REG_IF, REG_BASE + OFFSET_REG_IF + + .set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT + +@ DMA register constants + + .set DMA_DEST_INC, 0x0000 + .set DMA_DEST_DEC, 0x0020 + .set DMA_DEST_FIXED, 0x0040 + .set DMA_DEST_RELOAD, 0x0060 + .set DMA_SRC_INC, 0x0000 + .set DMA_SRC_DEC, 0x0080 + .set DMA_SRC_FIXED, 0x0100 + .set DMA_REPEAT, 0x0200 + .set DMA_16BIT, 0x0000 + .set DMA_32BIT, 0x0400 + .set DMA_DREQ_ON, 0x0800 + .set DMA_START_NOW, 0x0000 + .set DMA_START_VBLANK, 0x1000 + .set DMA_START_HBLANK, 0x2000 + .set DMA_START_SPECIAL, 0x3000 + .set DMA_INTR_ENABLE, 0x4000 + .set DMA_ENABLE, 0x8000 + +@ OAM attribute constants + + .set OAM_OBJ_NORMAL, 0x00000000 + .set OAM_OBJ_BLEND, 0x00000400 + .set OAM_OBJ_WINDOW, 0x00000800 + + .set OAM_AFFINE_NONE, 0x00000000 + .set OAM_AFFINE_NORMAL_SIZE, 0x00000100 + .set OAM_OBJ_DISABLED, 0x00000200 + .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300 + + .set OAM_MOSAIC_OFF, 0x00000000 + .set OAM_MOSAIC_ON, 0x00001000 + + .set OAM_4BPP, 0x00000000 + .set OAM_8BPP, 0x00002000 + + .set OAM_H_FLIP, 0x10000000 + .set OAM_V_FLIP, 0x20000000 + + .set OAM_SQUARE, 0x00000000 + .set OAM_H_RECTANGLE, 0x00004000 + .set OAM_V_RECTANGLE, 0x00008000 + .set OAM_SIZE_0, 0x00000000 + .set OAM_SIZE_1, 0x40000000 + .set OAM_SIZE_2, 0x80000000 + .set OAM_SIZE_3, 0xc0000000 + + .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE + .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE + .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE + .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE + + .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE + .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE + .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE + .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE + + .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE + .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE + .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE + .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE diff --git a/include/asm/constants/m4a_constants.inc b/include/asm/constants/m4a_constants.inc new file mode 100644 index 0000000..62ca5bb --- /dev/null +++ b/include/asm/constants/m4a_constants.inc @@ -0,0 +1,199 @@ + .equiv ID_NUMBER, 0x68736d53 + + .equiv PCM_DMA_BUF_SIZE, 1584 + + .equiv TONEDATA_TYPE_CGB, 0x07 + .equiv TONEDATA_TYPE_FIX, 0x08 + .equiv TONEDATA_TYPE_SPL, 0x40 @ key split + .equiv TONEDATA_TYPE_RHY, 0x80 @ rhythm + + .macro struct_begin + .struct 0 + .endm + + .macro struct_field name, size +\name: + .struct \name + \size + .endm + + struct_begin + struct_field o_SoundInfo_ident, 4 + struct_field o_SoundInfo_pcmDmaCounter, 1 + struct_field o_SoundInfo_reverb, 1 + struct_field o_SoundInfo_maxChans, 1 + struct_field o_SoundInfo_masterVolume, 1 + struct_field o_SoundInfo_freq, 1 + struct_field o_SoundInfo_mode, 1 + struct_field o_SoundInfo_c15, 1 + struct_field o_SoundInfo_pcmDmaPeriod, 1 + struct_field o_SoundInfo_maxLines, 1 + struct_field o_SoundInfo_gap, 3 + struct_field o_SoundInfo_pcmSamplesPerVBlank, 4 + struct_field o_SoundInfo_pcmFreq, 4 + struct_field o_SoundInfo_divFreq, 4 + struct_field o_SoundInfo_cgbChans, 4 + struct_field o_SoundInfo_func, 4 + struct_field o_SoundInfo_intp, 4 + struct_field o_SoundInfo_CgbSound, 4 + struct_field o_SoundInfo_CgbOscOff, 4 + struct_field o_SoundInfo_MidiKeyToCgbFreq, 4 + struct_field o_SoundInfo_MPlayJumpTable, 4 + struct_field o_SoundInfo_plynote, 4 + struct_field o_SoundInfo_ExtVolPit, 4 + struct_field o_SoundInfo_gap2, 16 + struct_field o_SoundInfo_chans, 768 + struct_field o_SoundInfo_pcmBuffer, PCM_DMA_BUF_SIZE * 2 + struct_field SoundInfo_size, 0 + + struct_begin + struct_field o_SoundChannel_status, 1 + struct_field o_SoundChannel_type, 1 + struct_field o_SoundChannel_rightVolume, 1 + struct_field o_SoundChannel_leftVolume, 1 + struct_field o_SoundChannel_attack, 1 + struct_field o_SoundChannel_decay, 1 + struct_field o_SoundChannel_sustain, 1 + struct_field o_SoundChannel_release, 1 + struct_field o_SoundChannel_ky, 1 + struct_field o_SoundChannel_ev, 1 + struct_field o_SoundChannel_er, 1 + struct_field o_SoundChannel_el, 1 + struct_field o_SoundChannel_iev, 1 + struct_field o_SoundChannel_iel, 1 + struct_field o_SoundChannel_d1, 1 + struct_field o_SoundChannel_d2, 1 + struct_field o_SoundChannel_gt, 1 + struct_field o_SoundChannel_mk, 1 + struct_field o_SoundChannel_ve, 1 + struct_field o_SoundChannel_pr, 1 + struct_field o_SoundChannel_rp, 1 + struct_field o_SoundChannel_d3, 3 + struct_field o_SoundChannel_ct, 4 + struct_field o_SoundChannel_fw, 4 + struct_field o_SoundChannel_freq, 4 + struct_field o_SoundChannel_wav, 4 + struct_field o_SoundChannel_cp, 4 + struct_field o_SoundChannel_track, 4 + struct_field o_SoundChannel_pp, 4 + struct_field o_SoundChannel_np, 4 + struct_field o_SoundChannel_d4, 4 + struct_field o_SoundChannel_xpi, 2 + struct_field o_SoundChannel_xpc, 2 + struct_field SoundChannel_size, 0 + + struct_begin + struct_field o_MusicPlayerTrack_flags, 1 + struct_field o_MusicPlayerTrack_wait, 1 + struct_field o_MusicPlayerTrack_patternLevel, 1 + struct_field o_MusicPlayerTrack_repN, 1 + struct_field o_MusicPlayerTrack_gateTime, 1 + struct_field o_MusicPlayerTrack_key, 1 + struct_field o_MusicPlayerTrack_velocity, 1 + struct_field o_MusicPlayerTrack_runningStatus, 1 + struct_field o_MusicPlayerTrack_keyM, 1 + struct_field o_MusicPlayerTrack_pitM, 1 + struct_field o_MusicPlayerTrack_keyShift, 1 + struct_field o_MusicPlayerTrack_keyShiftX, 1 + struct_field o_MusicPlayerTrack_tune, 1 + struct_field o_MusicPlayerTrack_pitX, 1 + struct_field o_MusicPlayerTrack_bend, 1 + struct_field o_MusicPlayerTrack_bendRange, 1 + struct_field o_MusicPlayerTrack_volMR, 1 + struct_field o_MusicPlayerTrack_volML, 1 + struct_field o_MusicPlayerTrack_vol, 1 + struct_field o_MusicPlayerTrack_volX, 1 + struct_field o_MusicPlayerTrack_pan, 1 + struct_field o_MusicPlayerTrack_panX, 1 + struct_field o_MusicPlayerTrack_modM, 1 + struct_field o_MusicPlayerTrack_mod, 1 + struct_field o_MusicPlayerTrack_modT, 1 + struct_field o_MusicPlayerTrack_lfoSpeed, 1 + struct_field o_MusicPlayerTrack_lfoSpeedC, 1 + struct_field o_MusicPlayerTrack_lfoDelay, 1 + struct_field o_MusicPlayerTrack_lfoDelayC, 1 + struct_field o_MusicPlayerTrack_priority, 1 + struct_field o_MusicPlayerTrack_echoVolume, 1 + struct_field o_MusicPlayerTrack_echoLength, 1 + struct_field o_MusicPlayerTrack_chan, 4 + struct_field o_MusicPlayerTrack_ToneData_type, 1 + struct_field o_MusicPlayerTrack_ToneData_key, 1 + struct_field o_MusicPlayerTrack_ToneData_length, 1 + struct_field o_MusicPlayerTrack_ToneData_pan_sweep, 1 + struct_field o_MusicPlayerTrack_ToneData_wav, 4 + struct_field o_MusicPlayerTrack_ToneData_attack, 1 + struct_field o_MusicPlayerTrack_ToneData_decay, 1 + struct_field o_MusicPlayerTrack_ToneData_sustain, 1 + struct_field o_MusicPlayerTrack_ToneData_release, 1 + struct_field o_MusicPlayerTrack_gap, 10 + struct_field o_MusicPlayerTrack_unk_3A, 2 + struct_field o_MusicPlayerTrack_unk_3C, 4 + struct_field o_MusicPlayerTrack_cmdPtr, 4 + struct_field o_MusicPlayerTrack_patternStack, 12 + struct_field MusicPlayerTrack_size, 0 + + .equiv o_MusicPlayerTrack_ToneData_keySplitTable, o_MusicPlayerTrack_ToneData_attack + + struct_begin + struct_field o_MusicPlayerInfo_songHeader, 4 + struct_field o_MusicPlayerInfo_status, 4 + struct_field o_MusicPlayerInfo_trackCount, 1 + struct_field o_MusicPlayerInfo_priority, 1 + struct_field o_MusicPlayerInfo_cmd, 1 + struct_field o_MusicPlayerInfo_unk_B, 1 + struct_field o_MusicPlayerInfo_clock, 4 + struct_field o_MusicPlayerInfo_gap, 8 + struct_field o_MusicPlayerInfo_memAccArea, 4 + struct_field o_MusicPlayerInfo_tempoD, 2 + struct_field o_MusicPlayerInfo_tempoU, 2 + struct_field o_MusicPlayerInfo_tempoI, 2 + struct_field o_MusicPlayerInfo_tempoC, 2 + struct_field o_MusicPlayerInfo_fadeOI, 2 + struct_field o_MusicPlayerInfo_fadeOC, 2 + struct_field o_MusicPlayerInfo_fadeOV, 2 + struct_field o_MusicPlayerInfo_padding, 2 + struct_field o_MusicPlayerInfo_tracks, 4 + struct_field o_MusicPlayerInfo_tone, 4 + struct_field o_MusicPlayerInfo_ident, 4 + struct_field o_MusicPlayerInfo_func, 4 + struct_field o_MusicPlayerInfo_intp, 4 + struct_field MusicPlayerInfo_size, 0 + + struct_begin + struct_field o_CgbChannel_sf, 1 + struct_field o_CgbChannel_ty, 1 + struct_field o_CgbChannel_rightVolume, 1 + struct_field o_CgbChannel_leftVolume, 1 + struct_field o_CgbChannel_at, 1 + struct_field o_CgbChannel_de, 1 + struct_field o_CgbChannel_su, 1 + struct_field o_CgbChannel_re, 1 + struct_field o_CgbChannel_ky, 1 + struct_field o_CgbChannel_ev, 1 + struct_field o_CgbChannel_eg, 1 + struct_field o_CgbChannel_ec, 1 + struct_field o_CgbChannel_echoVolume, 1 + struct_field o_CgbChannel_echoLength, 1 + struct_field o_CgbChannel_d1, 1 + struct_field o_CgbChannel_d2, 1 + struct_field o_CgbChannel_gt, 1 + struct_field o_CgbChannel_mk, 1 + struct_field o_CgbChannel_ve, 1 + struct_field o_CgbChannel_pr, 1 + struct_field o_CgbChannel_rp, 1 + struct_field o_CgbChannel_d3, 3 + struct_field o_CgbChannel_d5, 1 + struct_field o_CgbChannel_sg, 1 + struct_field o_CgbChannel_n4, 1 + struct_field o_CgbChannel_pan, 1 + struct_field o_CgbChannel_panMask, 1 + struct_field o_CgbChannel_mo, 1 + struct_field o_CgbChannel_le, 1 + struct_field o_CgbChannel_sw, 1 + struct_field o_CgbChannel_fr, 4 + struct_field o_CgbChannel_wp, 4 + struct_field o_CgbChannel_cp, 4 + struct_field o_CgbChannel_tp, 4 + struct_field o_CgbChannel_pp, 4 + struct_field o_CgbChannel_np, 4 + struct_field o_CgbChannel_d4, 8 + struct_field CgbChannel_size, 0 diff --git a/include/asm/constants/script_func_constants.inc b/include/asm/constants/script_func_constants.inc new file mode 100644 index 0000000..157153d --- /dev/null +++ b/include/asm/constants/script_func_constants.inc @@ -0,0 +1,14 @@ +.set WAIT_START_FUNC, 0x03 +.set WAKEUP_FUNC, 0x20 +.set LOOK_AROUND_FUNC, 0x21 +.set JUMP_HAPPY_FUNC, 0x25 +.set JUMP_ANGRY_FUNC, 0x27 +.set NOTICE_FUNC, 0x28 +.set QUESTION_FUNC, 0x29 +.set SWEAT_FUNC, 0x2A +.set SHOCK_FUNC, 0x2B +.set SMILE_START_FUNC, 0x2E +.set SMILE_END_FUNC, 0x2F +.set INIT_SLEEP_FUNC, 0x35 +.set LIVES_WARP_ARRIVE_FUNC, 0x51 +.set LIVES_WARP_ARRIVE2_FUNC, 0x52 diff --git a/include/asm/macros.inc b/include/asm/macros.inc new file mode 100644 index 0000000..21adecd --- /dev/null +++ b/include/asm/macros.inc @@ -0,0 +1,3 @@ + #include "macros/function.inc" + #include "macros/music_voice.inc" + #include "macros/script.inc" diff --git a/include/asm/macros/function.inc b/include/asm/macros/function.inc new file mode 100644 index 0000000..67fb373 --- /dev/null +++ b/include/asm/macros/function.inc @@ -0,0 +1,29 @@ + .macro arm_func_start name + .align 2, 0 + .global \name + .arm + .type \name, function + .endm + + .macro arm_func_end name + .size \name, .-\name + .endm + + .macro thumb_func_start name + .align 2, 0 + .global \name + .thumb + .thumb_func + .type \name, function + .endm + + .macro non_word_aligned_thumb_func_start name + .global \name + .thumb + .thumb_func + .type \name, function + .endm + + .macro thumb_func_end name + .size \name, .-\name + .endm diff --git a/include/asm/macros/m4a.inc b/include/asm/macros/m4a.inc new file mode 100644 index 0000000..6c5abc0 --- /dev/null +++ b/include/asm/macros/m4a.inc @@ -0,0 +1,13 @@ + .macro song label, music_player, unknown + .4byte \label + .2byte \music_player + .2byte \unknown + .endm + + .macro music_player info_struct, track_struct, unknown_1, unknown_2 + .4byte \info_struct + .4byte \track_struct + .byte \unknown_1 + .space 1 + .2byte \unknown_2 + .endm diff --git a/include/asm/macros/music_voice.inc b/include/asm/macros/music_voice.inc new file mode 100644 index 0000000..7dd6c74 --- /dev/null +++ b/include/asm/macros/music_voice.inc @@ -0,0 +1,140 @@ + .macro voice_directsound base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req + .byte 0 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_no_resample base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req + .byte 8 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_alt base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req + .byte 16 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro _voice_directsound base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req + .byte \base_midi_key + .byte 0 + .if \pan != 0 + .byte (0x80 | \pan) + .else + .byte 0 + .endif + .4byte \sample_data_pointer + .byte \attack + .byte \decay + .byte \sustain + .byte \release + .endm + + .macro voice_square_1 base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req + _voice_square_1 1, \base_midi_key, \pan, \sweep, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro voice_square_1_alt base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req + _voice_square_1 9, \base_midi_key, \pan, \sweep, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro _voice_square_1 type:req, base_midi_key:req, pan:req, sweep:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req + .byte \type + .byte \base_midi_key + .if \pan != 0 + .byte (0x80 | \pan) + .else + .byte 0 + .endif + .byte \sweep + .byte (\duty_cycle & 0x3) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_square_2 base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req + _voice_square_2 2, \base_midi_key, \pan, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro voice_square_2_alt base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req + _voice_square_2 10, \base_midi_key, \pan, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro _voice_square_2 type:req, base_midi_key:req, pan:req, duty_cycle:req, attack:req, decay:req, sustain:req, release:req + .byte \type + .byte \base_midi_key + .if \pan != 0 + .byte (0x80 | \pan) + .else + .byte 0 + .endif + .byte 0 + .byte (\duty_cycle & 0x3) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_programmable_wave base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req + _voice_programmable_wave 3, \base_midi_key, \pan, \wave_samples_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_programmable_wave_alt base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req + _voice_programmable_wave 11, \base_midi_key, \pan, \wave_samples_pointer, \attack, \decay, \sustain, \release + .endm + + .macro _voice_programmable_wave type:req, base_midi_key:req, pan:req, wave_samples_pointer:req, attack:req, decay:req, sustain:req, release:req + .byte \type + .byte \base_midi_key + .if \pan != 0 + .byte (0x80 | \pan) + .else + .byte 0 + .endif + .byte 0 + .4byte \wave_samples_pointer + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_noise base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req + _voice_noise 4, \base_midi_key, \pan, \period, \attack, \decay, \sustain, \release + .endm + + .macro voice_noise_alt base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req + _voice_noise 12, \base_midi_key, \pan, \period, \attack, \decay, \sustain, \release + .endm + + .macro _voice_noise type:req, base_midi_key:req, pan:req, period:req, attack:req, decay:req, sustain:req, release:req + .byte \type + .byte \base_midi_key + .if \pan != 0 + .byte (0x80 | \pan) + .else + .byte 0 + .endif + .byte 0 + .byte (\period & 0x1) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_keysplit voice_group_pointer:req, keysplit_table_pointer:req + .byte 0x40, 0, 0, 0 + .4byte \voice_group_pointer + .4byte \keysplit_table_pointer + .endm + + .macro voice_keysplit_all voice_group_pointer:req + .byte 0x80, 0, 0, 0 + .4byte \voice_group_pointer + .4byte 0 + .endm diff --git a/include/asm/macros/script.inc b/include/asm/macros/script.inc new file mode 100644 index 0000000..8ef4bd8 --- /dev/null +++ b/include/asm/macros/script.inc @@ -0,0 +1,415 @@ +.macro warpLocation id:req + .byte 0x01 + .byte 0x00 + .2byte \id + .4byte 0x00, 0x00, 0x00 +.endm + +.macro warpDungeon id:req + .byte 0x02 + .byte 0x00 + .2byte \id + .4byte 0x00, 0x00, 0x00 +.endm + +.macro warpFriendArea time:req + .byte 0x02 + .byte 0x00 + .2byte \time + .4byte 0x00, 0x00, 0x00 +.endm + +.macro ConfirmDungeonRules + .byte 0x05 + .4byte 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +.macro changeTileset id:req + .byte 0x08, 0x00, 0x00, 0x00 + .2byte \id + .4byte 0x00, 0x00 + .2byte 0x00 +.endm + +@ Start Scene? Run Call? +.macro StartSceneRunCall id:req + .byte 0x0C + .byte \id + .byte 0xFF, 0xFF + .4byte 0x00, 0x00, 0x00 +.endm + +.macro RunCall id:req + .byte 0x0D + .byte \id + .byte 0xFF, 0xFF + .4byte 0x00, 0x00, 0x00 +.endm + +.macro triggerCutscene id:req + .byte 0x1B + .byte 0x00 + .2byte \id + .4byte 0x00, 0x00, 0x00 +.endm + +.macro fadeOut arg0:req time:req arg2:req + .byte 0x23 + .byte \arg0 + .2byte \time + .4byte \arg2 + .4byte 0x00, 0x00 +.endm + +.macro fadeColorOut arg0:req arg1:req time:req color:req + .byte 0x27 + .byte \arg0 + .2byte \arg1 + .4byte \time + .4byte \color + .4byte 0x00 +.endm + +.macro fadeColorIn arg0:req arg1:req time:req color:req + .byte 0x28 + .byte \arg0 + .2byte \arg1 + .4byte \time + .4byte \color + .4byte 0x00 +.endm + +.macro loadData type:req charac:req source:req + .byte 0x2D + .byte \type + .2byte \charac + .2byte \source + .4byte 0x00, 0x00 + .2byte 0x00 +.endm + +@ Face Locations +.set bottomL, 0x2 +.set bottomR, 0x3 +.set insetTopL, 0xE +.set insetTopR, 0xF + +.set previousLoc, 0x15 + +.macro selectFace loc:req charac:req face:req + .byte 0x2E + .byte \loc + .2byte \charac + .4byte \face + .4byte 0x00, 0x00 +.endm + +.macro closeTextBox + .byte 0x30 + .4byte 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +.macro scrollTextBox character:req textPtr:req + .byte 0x33, 0x00 + .2byte \character + .4byte 0x00, 0x00 + .4byte \textPtr +.endm + +.macro PicNameTextBox character:req textPtr:req + .byte 0x34, 0x00 + .2byte \character + .4byte 0x00, 0x00 + .4byte \textPtr +.endm + +.macro quickCloseTextBox character:req textPtr:req + .byte 0x36, 0x00 + .2byte \character + .4byte 0x00, 0x00 + .4byte \textPtr +.endm + +@ Is it always 0xff, 0xff? +.macro floatingText textPtr:req + .byte 0x37, 0x00 + .byte 0xff, 0xff + .4byte 0x00, 0x00 + .4byte \textPtr +.endm + +.macro fadeFloatingText time:req textPtr:req + .byte 0x39, 0x00 + .2byte \time + .4byte 0x00, 0x00 + .4byte \textPtr +.endm + +.macro YesNoTextBox eventID:req character:req textPtr:req + .byte 0x3A, 0x00 + .2byte \eventID + .2byte \character + .2byte 0x00 + .4byte 0x00 + .4byte \textPtr +.endm + +.macro showName arg0:req + .byte 0x3B + .byte \arg0 + .2byte 0x00 + .4byte 0x00, 0x00, 0x00 +.endm + +@ TODO: 0x3C has a lot of different cases... + +.macro renamePoke id:req + .byte 0x3D, 0x00, 0x00, 0x00 + .byte \id, 0x00, 0x00, 0x00 + .4byte 0x00, 0x00 +.endm + +.macro renameTeam + .byte 0x3D, 0x00, 0x00, 0x00 + .4byte 0x00, 0x00, 0x00 +.endm + +.macro abruptStopMusic + .byte 0x42 + .4byte 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +.macro fadeMusic time:req + .byte 0x43 + .byte 0x00 + .2byte \time + .4byte 0x00, 0x00, 0x00 +.endm + +.macro PlayMusic id:req + .byte 0x44 + .byte 0x00 + .2byte 0x0 + .2byte \id + .2byte 0x00 + .4byte 0x00, 0x00 +.endm + +.macro fadeInMusic id:req time:req + .byte 0x45, 0x00 + .2byte \id + .2byte \time + .4byte 0x00, 0x00 + .2byte 0x00 +.endm + +@ Also seen referred to as StopSng +.macro pushR14 + .byte 0x47 + .4byte 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +.macro fadeMusicOut time:req + .byte 0x48 + .byte 0x00 + .2byte \time + .4byte 0x00, 0x00, 0x00 +.endm + +.macro playSound id:req + .byte 0x4C + .byte 0x00, 0x00, 0x00 + .2byte \id + .4byte 0x00, 0x00 + .2byte 0x00 +.endm + +.macro stopSound id:req + .byte 0x4D + .byte 0x00, 0x00, 0x00 + .2byte \id + .4byte 0x00, 0x00 + .2byte 0x00 +.endm + +.macro setAnimation anim:req + .byte 0x54 + .byte 0x00 + .2byte \anim + .4byte 0x00, 0x00, 0x00 +.endm + +.macro warpToLoc id:req + .byte 0x5B, 0x00 + .2byte 0x00 + .byte \id + .byte 0x00, 0x00, 0x00 + .4byte 0x00, 0x00 +.endm + +@ move to prefined location along grid +.macro gridMoveTo speed:req id:req + .byte 0x6B, 0x00 + .2byte \speed + .byte \id + .4byte 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +.macro changeSpriteZ speed:req targetHeight:req + .byte 0x70, 0x00 + .byte \speed + .3byte \targetHeight + .4byte 0x00, 0x00 + .2byte 0x00 +.endm + +@ Rotation Directions +.set CW, 1 +.set CCW, 2 +.set shortestDir, 0xA + +@ Cardinal Directions / Facing Directions +.set south, 0 +.set southeast, 1 +.set east, 2 +.set northeast, 3 +.set north, 4 +.set northwest, 5 +.set west, 6 +.set southwest, 7 + +.macro setFaceDir delay:req faceDir:req + .byte 0x8B + .byte \delay + .byte \faceDir + .byte 0x00 + .4byte 0x00, 0x00, 0x00 +.endm + +.macro rotate time:req rotDir:req faceDir:req + .byte 0x91 + .byte \time + .byte \rotDir + .byte 0x00 + .byte \faceDir + .byte 0x00 + .4byte 0x00, 0x00 + .2byte 0x00 +.endm + +.macro initVariableTextBox arg0:req arg1:req speaker:req + .byte 0xCF + .byte \arg0 + .byte \arg1 + .byte 0x00 + .4byte \speaker + .4byte 0x00, 0x00 +.endm + +.macro variableTextBox version:req textPtr:req + .byte 0xD0, 0x00 + .2byte \version + .4byte 0x00, 0x00 + .4byte \textPtr +.endm + +.macro elseTextBox textPtr:req + .byte 0xD1, 0x00 + .4byte 0x00, 0x00 + .byte 0x00, 0x00 + .4byte \textPtr +.endm + +.macro pause time:req + .byte 0xDB + .byte 0x00 + .2byte \time + .4byte 0x00, 0x00, 0x00 +.endm + +@ Wait for sound to finish playing? +.macro waitSound id:req + .byte 0xE2 + .byte 0x00 + .2byte \id + .4byte 0x00, 0x00, 0x00 +.endm + +.macro waitFlag flagnum:req + .byte 0xE3 + .byte 0x00 + .2byte \flagnum + .4byte 0x00, 0x00, 0x00 +.endm + +.macro setFlag flagnum:req + .byte 0xE4 + .byte 0x00 + .2byte \flagnum + .4byte 0x00, 0x00, 0x00 +.endm + +.macro goTo id:req + .byte 0xE5 + .byte 0x00 + .byte \id + .byte 0x00 + .4byte 0x00, 0x00, 0x00 +.endm + +@ Loop at label until end of scene +.macro loopLabel id:req + .byte 0xE7, 0x00 + .byte \id, 0x00 + .4byte 0x00, 0x00, 0x00 +.endm + +.macro executeScript scriptNum:req + .byte 0xE8 + .byte 0x00 + .2byte \scriptNum + .4byte 0x00, 0x00, 0x00 +.endm + +.macro MsgEnd arg0:req + .byte 0xE9 + .byte 0x00 + .2byte \arg0 + .4byte 0x00, 0x00, 0x00 +.endm + +.macro endFuncContinueScript + .byte 0xEE + .4byte 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +.macro endFuncandScript + .byte 0xEF + .4byte 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +.macro closeThread + .byte 0xF0 + .4byte 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +.macro closeThreadRemoveObject + .byte 0xF1 + .4byte 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00 +.endm + +@ Set label for loop +.macro label id:req + .byte 0xF4, 0x00 + .byte \id, 0x00 + .4byte 0x00, 0x00, 0x00 +.endm diff --git a/include/macros/m4a.inc b/include/macros/m4a.inc deleted file mode 100644 index 6c5abc0..0000000 --- a/include/macros/m4a.inc +++ /dev/null @@ -1,13 +0,0 @@ - .macro song label, music_player, unknown - .4byte \label - .2byte \music_player - .2byte \unknown - .endm - - .macro music_player info_struct, track_struct, unknown_1, unknown_2 - .4byte \info_struct - .4byte \track_struct - .byte \unknown_1 - .space 1 - .2byte \unknown_2 - .endm diff --git a/libagbsyscall/libagbsyscall.s b/libagbsyscall/libagbsyscall.s index 0c90da9..e4968b2 100644 --- a/libagbsyscall/libagbsyscall.s +++ b/libagbsyscall/libagbsyscall.s @@ -1,5 +1,5 @@ - .include "../constants/gba_constants.inc" - .include "../asm/macros/function.inc" + .include "../include/asm/constants/gba_constants.inc" + .include "../include/asm/macros/function.inc" .syntax unified diff --git a/tools/dungeonjson/dungeonjson.cpp b/tools/dungeonjson/dungeonjson.cpp index 48ef147..50ef81a 100644 --- a/tools/dungeonjson/dungeonjson.cpp +++ b/tools/dungeonjson/dungeonjson.cpp @@ -387,13 +387,13 @@ string generate_species_data_text(Json data) { ostringstream text; text << "@ This is auto-generated by species_data.json.\n"; - text << ".include \"include/constants/ability.h\"\n"; - text << ".include \"include/constants/evolve_type.h\"\n"; - text << ".include \"include/constants/friend_area.h\"\n"; - text << ".include \"include/constants/item.h\"\n"; - text << ".include \"include/constants/species.h\"\n"; - text << ".include \"include/constants/type.h\"\n"; - text << ".include \"include/constants/walkable_tile.h\"\n"; + text << "#include \"constants/ability.h\"\n"; + text << "#include \"constants/evolve_type.h\"\n"; + text << "#include \"constants/friend_area.h\"\n"; + text << "#include \"constants/item.h\"\n"; + text << "#include \"constants/species.h\"\n"; + text << "#include \"constants/type.h\"\n"; + text << "#include \"constants/walkable_tile.h\"\n"; text << ".global gSpeciesData\n"; text << "gSpeciesData:"; for (Json data_entry : data.array_items()) { @@ -447,8 +447,8 @@ string generate_item_data_text(Json data) { ostringstream text; text << "@ This is auto-generated by item_data.json.\n"; - text << ".include \"include/constants/item.h\"\n"; - text << ".include \"include/constants/move_id.h\"\n"; + text << "#include \"constants/item.h\"\n"; + text << "#include \"constants/move_id.h\"\n"; text << ".global gItemData\n"; text << "gItemData:"; for (Json data_entry : data.array_items()) { @@ -476,7 +476,7 @@ string generate_move_data_text(Json data) { ostringstream text; text << "@ This is auto-generated by move_data.json.\n"; - text << ".include \"include/constants/type.h\"\n"; + text << "#include \"constants/type.h\"\n"; text << ".global gMoveData\n"; text << "gMoveData:"; for (Json data_entry : data.array_items()) { -- cgit v1.2.3 From 010d641899be44eb7fc5f458d819c332e092d03f Mon Sep 17 00:00:00 2001 From: mid-kid Date: Sun, 19 Dec 2021 22:27:11 +0100 Subject: Explicitly declare dependencies for generated files These are harder to pick up automatically, and will only change when the tools are edited, anyway... Any other methods for solving this issue can always be reconsidered later down the line... --- Makefile | 4 ++-- data_item.mk | 7 ++++++- data_move.mk | 6 +++++- data_pokemon.mk | 12 +++++++++++- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index cc39e09..5ea70d1 100755 --- a/Makefile +++ b/Makefile @@ -117,7 +117,7 @@ $(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc ALL_BUILDS := red # Available targets -.PHONY: all clean tidy libagbsyscall tools clean-tools $(TOOLDIRS) +.PHONY: all clean compare tidy libagbsyscall tools clean-tools $(TOOLDIRS) MAKEFLAGS += --no-print-directory @@ -136,7 +136,7 @@ infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst # Disable dependency scanning for clean/tidy/tools # Use a separate minimal makefile for speed # Since we don't need to reload most of this makefile -ifeq (,$(filter-out clean,$(MAKECMDGOALS))) +ifeq (,$(filter clean,$(MAKECMDGOALS))) $(call infoshell, $(MAKE) -f make_tools.mk) endif diff --git a/data_item.mk b/data_item.mk index 375cbf1..db010c9 100644 --- a/data_item.mk +++ b/data_item.mk @@ -3,7 +3,12 @@ ITEM_DIR = $(DATA_ASM_SUBDIR)/item ITEM_DATA = $(ITEM_DIR)/item_data.inc +# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_item_data_text +ITEM_DATA_INC = \ + include/constants/item.h \ + include/constants/move_id.h + data_item: $(ITEM_DATA); -$(ITEM_DATA): $(ITEM_DIR)/item_data.json +$(ITEM_DATA): $(ITEM_DIR)/item_data.json $(ITEM_DATA_INC) $(DUNGEONJSON) item pmd-red $< diff --git a/data_move.mk b/data_move.mk index 48350cb..63d756d 100644 --- a/data_move.mk +++ b/data_move.mk @@ -3,7 +3,11 @@ MOVE_DIR = $(DATA_ASM_SUBDIR)/move MOVE_DATA = $(MOVE_DIR)/move_data.inc +# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_move_data_text +MOVE_DATA_INC = \ + include/constants/type.h + data_move: $(MOVE_DATA); -$(MOVE_DATA): $(MOVE_DIR)/move_data.json +$(MOVE_DATA): $(MOVE_DIR)/move_data.json $(MOVE_DATA_INC) $(DUNGEONJSON) move pmd-red $< diff --git a/data_pokemon.mk b/data_pokemon.mk index 9a81bca..c690a9c 100644 --- a/data_pokemon.mk +++ b/data_pokemon.mk @@ -3,7 +3,17 @@ POKEMON_DIR = $(DATA_ASM_SUBDIR)/pokemon POKEMON_SPECIES = $(POKEMON_DIR)/species_data.inc +# Headers included by tools/dungeonjson/dungeonjson.cpp:generate_species_data_text +POKEMON_SPECIES_INC = \ + include/constants/ability.h \ + include/constants/evolve_type.h \ + include/constants/friend_area.h \ + include/constants/item.h \ + include/constants/species.h \ + include/constants/type.h \ + include/constants/walkable_tile.h + data_pokemon: $(POKEMON_SPECIES); -$(POKEMON_SPECIES): $(POKEMON_DIR)/species_data.json +$(POKEMON_SPECIES): $(POKEMON_DIR)/species_data.json $(POKEMON_SPECIES_INC) $(DUNGEONJSON) species pmd-red $< -- cgit v1.2.3