diff --git a/data/data_emerald2.s b/data/data_emerald2.s index 7efcbbecf..ce7e2a6e3 100644 --- a/data/data_emerald2.s +++ b/data/data_emerald2.s @@ -34,36 +34,7 @@ gUnknown_08617E34:: @ 8617E34 gUnknown_08617E60:: @ 8617E60 .incbin "baserom.gba", 0x617e60, 0x18 -gUnknown_08617E78:: @ 8617E78 - .incbin "baserom.gba", 0x617e78, 0x15 - -gUnknown_08617E8D:: @ 8617E8D - .incbin "baserom.gba", 0x617e8d, 0xe - -gUnknown_08617E9B:: @ 8617E9B - .incbin "baserom.gba", 0x617e9b, 0x26d - -gUnknown_08618108:: @ 8618108 - .incbin "baserom.gba", 0x618108, 0x8 - -gUnknown_08618110:: @ 8618110 - .incbin "baserom.gba", 0x618110, 0x28 - -gUnknown_08618138:: @ 8618138 - .incbin "baserom.gba", 0x618138, 0x20 - -gUnknown_08618158:: @ 8618158 - .incbin "baserom.gba", 0x618158, 0x3 - -gUnknown_0861815B:: @ 861815B - .incbin "baserom.gba", 0x61815b, 0x5 - -gUnknown_08618160:: @ 8618160 - .incbin "baserom.gba", 0x618160, 0x18 - -gUnknown_08618178:: @ 8618178 - .incbin "baserom.gba", 0x618178, 0x49 - + .section .rodata.2 @ 86181C1 .include "data/text/move_descriptions.inc" diff --git a/data/graphics.s b/data/graphics.s index bf080fd95..1be6d1a07 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -953,7 +953,7 @@ gUnknown_08DD4BF0:: @ 8DD4BF0 gUnknown_08DD4C4C:: @ 8DD4C4C .incbin "baserom.gba", 0xdd4c4c, 0xac - + .align 2 gUnknown_08DD4CF8:: @ 8DD4CF8 .incbin "graphics/interface/unk_change_case.4bpp.lz" @@ -988,7 +988,61 @@ gUnknown_08DD7300:: @ 8DD7300 .incbin "baserom.gba", 0xdd7300, 0x60 gUnknown_08DD7360:: @ 8DD7360 - .incbin "baserom.gba", 0xdd7360, 0x4084 + .incbin "baserom.gba", 0xdd7360, 0x1420 + +gUnknown_08DD8780:: @ 8DD8780 + .incbin "baserom.gba", 0xdd8780, 0x40 + +gUnknown_08DD87C0:: @ 8DD87C0 + .incbin "baserom.gba", 0xdd87c0, 0x720 + +gUnknown_08DD8EE0:: @ 8DD8EE0 + .incbin "baserom.gba", 0xdd8ee0, 0x1a0 + +gUnknown_08DD9080:: @ 8DD9080 + .incbin "baserom.gba", 0xdd9080, 0x60 + +gUnknown_08DD90E0:: @ 8DD90E0 + .incbin "baserom.gba", 0xdd90e0, 0x638 + +gUnknown_08DD9718:: @ 8DD9718 + .incbin "baserom.gba", 0xdd9718, 0x15c + +gUnknown_08DD9874:: @ 8DD9874 + .incbin "baserom.gba", 0xdd9874, 0x40 + +gUnknown_08DD98B4:: @ 8DD98B4 + .incbin "baserom.gba", 0xdd98b4, 0x5a4 + +gUnknown_08DD9E58:: @ 8DD9E58 + .incbin "baserom.gba", 0xdd9e58, 0x194 + +gUnknown_08DD9FEC:: @ 8DD9FEC + .incbin "baserom.gba", 0xdd9fec, 0x40 + +gUnknown_08DDA02C:: @ 8DDA02C + .incbin "baserom.gba", 0xdda02c, 0x610 + +gUnknown_08DDA63C:: @ 8DDA63C + .incbin "baserom.gba", 0xdda63c, 0x1c4 + +gUnknown_08DDA800:: @ 8DDA800 + .incbin "baserom.gba", 0xdda800, 0x40 + +gUnknown_08DDA840:: @ 8DDA840 + .incbin "baserom.gba", 0xdda840, 0x600 + +gUnknown_08DDAE40:: @ 8DDAE40 + .incbin "baserom.gba", 0xddae40, 0x1a0 + +gUnknown_08DDAFE0:: @ 8DDAFE0 + .incbin "baserom.gba", 0xddafe0, 0x40 + +gUnknown_08DDB020:: @ 8DDB020 + .incbin "baserom.gba", 0xddb020, 0x2a4 + +gUnknown_08DDB2C4:: @ 8DDB2C4 + .incbin "baserom.gba", 0xddb2c4, 0x120 gUnknown_08DDB3E4:: @ 8DDB3E4 .incbin "baserom.gba", 0xddb3e4, 0x80 diff --git a/data/text/move_descriptions.inc b/data/text/move_descriptions.inc index 454e49ae1..0f6b1adbf 100644 --- a/data/text/move_descriptions.inc +++ b/data/text/move_descriptions.inc @@ -1,3 +1,6 @@ +gNullMoveDescription:: @ 86181C0 + .string "$" + gPoundMoveDescription:: @ 86181C1 .string "Pounds the foe with\nforelegs or tail.$" diff --git a/get_diffs.py b/get_diffs.py new file mode 100644 index 000000000..d42ce7827 --- /dev/null +++ b/get_diffs.py @@ -0,0 +1,24 @@ +addrs = sorted([0xdd7360, + 0xdd87c0, + 0xdd8ee0, + 0xdd8780, + 0xdd90e0, + 0xdd9718, + 0xdd9080, + 0xdd98b4, + 0xdd9e58, + 0xdd9874, + 0xdda02c, + 0xdda63c, + 0xdd9fec, + 0xdda840, + 0xddae40, + 0xdda800, + 0xddb020, + 0xddb2c4, + 0xddafe0, + 0xddb3e4]) +for i, addr in enumerate(addrs[:-1]): + print 'gUnknown_08{0:06X}:: @ 8{0:06X}'.format(addr) + print '\t.incbin "baserom.gba", 0x{:06x}, 0x{:x}'.format(addr, addrs[i + 1] - addr) + print '' diff --git a/ld_script.txt b/ld_script.txt index 621df10f8..24356a435 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -379,6 +379,8 @@ SECTIONS { data/data_emerald.o(.rodata); data/battle_controller_player_partner.o(.rodata); data/data_emerald2.o(.rodata); + src/berry_fix_program.o(.rodata); + data/data_emerald2.o(.rodata.2); data/fonts.o(.rodata); data/mystery_event_msg.o(.rodata); src/m4a_tables.o(.rodata); diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index e4ec0d8c4..fa13c7e1e 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -36,20 +36,103 @@ static void sub_81BF8D8(void); // .rodata +const u8 gUnknown_08617E78[] = _("Berry Program Update"); +const u8 gUnknown_08617E8D[] = _("Ruby/Sapphire"); +const u8 gUnknown_08617E9B[] = _("Emerald"); + +const u8 Unknown_08617EA3[] = _("The Berry Program on your POKéMON\nRuby/Sapphire Game Pak will be updated.\n{COLOR RED}{SHADOW LIGHT_RED}Press the A Button."); +const u8 Unknown_08617F07[] = _("Please ensure the connection of your\nGame Boy Advance system matches this.\n{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\nNO: Turn off the power and try again."); +const u8 Unknown_08617F97[] = _("Please turn on the power of POKéMON\nRuby/Sapphire while holding START and\nSELECT simultaneously. Then, ensure\nthe picture above appears."); +const u8 Unknown_08618020[] = _("Transmitting. Please wait.\n{COLOR RED}{SHADOW LIGHT_RED}Please do not turn off the power or\nunplug the Game Boy Advance Game\nLink Cable."); +const u8 Unknown_08618092[] = _("Please follow the instructions on your\nPOKéMON Ruby/Sapphire screen."); +const u8 Unknown_086180D7[] = _("Transmission failure.\n{COLOR RED}{SHADOW LIGHT_RED}Please try again."); + +const struct BgTemplate gUnknown_08618108[] = { + { + 0, 0, 30, 0, 0, 0 + }, { + 1, 1, 31, 0, 0, 1 + } +}; + +const struct WindowTemplate gUnknown_08618110[] = { + {0, 2, 4, 26, 2, 15, 0x001}, + {0, 1, 11, 28, 8, 15, 0x035}, + {0, 0, 8, 30, 2, 15, 0x115}, + {0, 8, 0, 14, 2, 15, 0x151}, + {-1} +}; + +const u16 gUnknown_08618138[] = { + 0x7fff, 0x7fff, 0x318c, 0x675a, + 0x043c, 0x3aff, 0x0664, 0x4bd2, + 0x6546, 0x7b14, 0x7fff, 0x318c, + 0x675a, 0x0000, 0x0000, 0x0000 +}; + +const u8 gUnknown_08618158[] = {10, 11, 12}; +const u8 gUnknown_0861815B[] = { 0, 10, 13}; + +const u8 *const gUnknown_08618160[] = { + Unknown_08617F07, + Unknown_08617F97, + Unknown_08618020, + Unknown_08618092, + Unknown_086180D7, + Unknown_08617EA3 +}; + +extern const u8 gUnknown_08DD87C0[]; +extern const u8 gUnknown_08DD8EE0[]; +extern const u8 gUnknown_08DD8780[]; +extern const u8 gUnknown_08DD90E0[]; +extern const u8 gUnknown_08DD9718[]; +extern const u8 gUnknown_08DD9080[]; +extern const u8 gUnknown_08DD98B4[]; +extern const u8 gUnknown_08DD9E58[]; +extern const u8 gUnknown_08DD9874[]; +extern const u8 gUnknown_08DDA02C[]; +extern const u8 gUnknown_08DDA63C[]; +extern const u8 gUnknown_08DD9FEC[]; +extern const u8 gUnknown_08DDA840[]; +extern const u8 gUnknown_08DDAE40[]; +extern const u8 gUnknown_08DDA800[]; +extern const u8 gUnknown_08DDB020[]; +extern const u8 gUnknown_08DDB2C4[]; +extern const u8 gUnknown_08DDAFE0[]; + +const u8 *const gUnknown_08618178[][3] = { + { + gUnknown_08DD87C0, + gUnknown_08DD8EE0, + gUnknown_08DD8780 + }, { + gUnknown_08DD90E0, + gUnknown_08DD9718, + gUnknown_08DD9080 + }, { + gUnknown_08DD98B4, + gUnknown_08DD9E58, + gUnknown_08DD9874 + }, { + gUnknown_08DDA02C, + gUnknown_08DDA63C, + gUnknown_08DD9FEC + }, { + gUnknown_08DDA840, + gUnknown_08DDAE40, + gUnknown_08DDA800 + }, { + gUnknown_08DDB020, + gUnknown_08DDB2C4, + gUnknown_08DDAFE0 + }, +}; + extern const u8 gUnknown_089A6550[0xC0]; extern const u8 gMultiBootProgram_BerryGlitchFix_Script[0x3b34]; extern const u8 gMultiBootProgram_BerryGlitchFix_Start[]; extern const u8 gMultiBootProgram_BerryGlitchFix_End[]; -extern const u8 gUnknown_08617E78[]; -extern const u8 gUnknown_08617E8D[]; -extern const u8 gUnknown_08617E9B[]; -extern const struct BgTemplate gUnknown_08618108[2]; -extern const struct WindowTemplate gUnknown_08618110[7]; -extern const u16 gUnknown_08618138[16]; -extern const u8 gUnknown_08618158[3]; -extern const u8 gUnknown_0861815B[3]; -extern const u8 *const gUnknown_08618160[6]; -extern const u8 *const gUnknown_08618178[6][3]; // .text