mirror of
https://github.com/SAT-R/sa2.git
synced 2026-10-28 09:43:38 +00:00
finish dissasembling collect rings
This commit is contained in:
1 parent
64b9426dc9
commit
07e01bb854
13 files changed
+3043
-2630
No files matched your search
+2
-1
@@ -38,6 +38,7 @@ gUnknown_08CB41C0:
|
||||
gUnknown_08CBAC04:
|
||||
.incbin "multi_boot/signed_collect_rings/mb_signed_collect_rings.gba.lz"
|
||||
|
||||
@; another rom??
|
||||
.global gUnknown_08CD0728
|
||||
gUnknown_08CD0728:
|
||||
.incbin "baserom.gba", 0x00CD0728, 0x2DDC
|
||||
.incbin "multi_boot/subgame_loader_2/subgame_loader_2.gba.lz"
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,82 @@
|
||||
.include "../../../asm/macros/function.inc"
|
||||
.include "../../../constants/gba_constants.inc"
|
||||
|
||||
.syntax unified
|
||||
.arm
|
||||
|
||||
.global start_vector
|
||||
start_vector:
|
||||
mov r0, #0x12
|
||||
msr cpsr_fc, r0
|
||||
ldr sp, _020001B8 @ =gUnknown_03007FA0
|
||||
mov r0, #0x1f
|
||||
msr cpsr_fc, r0
|
||||
ldr sp, _020001B4 @ =gUnknown_03007F00
|
||||
ldr r1, _02000280 @ =gUnknown_03007FFC
|
||||
add r0, pc, #0x18 @ =sub_020001BC
|
||||
str r0, [r1]
|
||||
ldr r1, _02000284 @ =sub_02001898
|
||||
mov lr, pc
|
||||
bx r1
|
||||
b start_vector
|
||||
.align 2, 0
|
||||
_020001B4: .4byte gUnknown_03007F00
|
||||
_020001B8: .4byte gUnknown_03007FA0
|
||||
|
||||
arm_func_start sub_020001BC
|
||||
sub_020001BC: @ 0x020001BC
|
||||
mov r3, #0x4000000
|
||||
add r3, r3, #0x200
|
||||
ldr r2, [r3]
|
||||
and r1, r2, r2, lsr #16
|
||||
mov r2, #0
|
||||
ands r0, r1, #0x2000
|
||||
_020001D4:
|
||||
bne _020001D4
|
||||
ands r0, r1, #0xc0
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #1
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #2
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #4
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #8
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #0x10
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #0x20
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #0x100
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #0x200
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #0x400
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #0x800
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #0x1000
|
||||
bne _0200026C
|
||||
add r2, r2, #4
|
||||
ands r0, r1, #0x2000
|
||||
_0200026C:
|
||||
strh r0, [r3, #2]
|
||||
ldr r1, _02000288 @ =gUnknown_03000790
|
||||
add r1, r1, r2
|
||||
ldr r0, [r1]
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_02000280: .4byte gUnknown_03007FFC
|
||||
_02000284: .4byte sub_02001898
|
||||
_02000288: .4byte gUnknown_03000790
|
||||
@@ -0,0 +1,45 @@
|
||||
.include "../../../asm/macros/function.inc"
|
||||
.include "../../../constants/gba_constants.inc"
|
||||
|
||||
.syntax unified
|
||||
.arm
|
||||
|
||||
_entry: @ 0x02000000
|
||||
b start_vector
|
||||
|
||||
.global RomHeaderNintendoLogo
|
||||
RomHeaderNintendoLogo:
|
||||
.space 156
|
||||
|
||||
RomHeaderGameTitle:
|
||||
.space 12
|
||||
|
||||
.global RomHeaderGameCode
|
||||
RomHeaderGameCode:
|
||||
.space 4
|
||||
|
||||
RomHeaderMakerCode:
|
||||
.space 2
|
||||
|
||||
.global RomHeaderMagic
|
||||
RomHeaderMagic:
|
||||
.byte 0
|
||||
|
||||
RomHeaderMainUnitCode:
|
||||
.byte 0
|
||||
|
||||
RomHeaderDeviceType:
|
||||
.byte 0
|
||||
|
||||
RomHeaderReserved1:
|
||||
.space 7
|
||||
|
||||
.global RomHeaderSoftwareVersion
|
||||
RomHeaderSoftwareVersion:
|
||||
.byte 0
|
||||
|
||||
RomHeaderChecksum:
|
||||
.byte 0
|
||||
|
||||
RomHeaderReserved2:
|
||||
.space 2
|
||||
@@ -0,0 +1 @@
|
||||
768694bad480aad0b33399f7499e332248cf0faa collect_rings.gba
|
||||
@@ -1,5 +1,174 @@
|
||||
.section .rodata
|
||||
|
||||
.global gRomData
|
||||
.global gUnknown_02014F10
|
||||
gUnknown_02014F10:
|
||||
.incbin "data/rom_data.bin", 0x00014E50, 0x7d1C
|
||||
.incbin "data/rom_data.bin", 0x00014E50, 0x34
|
||||
|
||||
.global gUnknown_02014F44
|
||||
gUnknown_02014F44:
|
||||
.incbin "data/rom_data.bin", 0x00014E84, 0x38
|
||||
|
||||
.global gUnknown_02014F7C
|
||||
gUnknown_02014F7C:
|
||||
.incbin "data/rom_data.bin", 0x00014EBC, 0xC
|
||||
|
||||
.global gUnknown_02014F88
|
||||
gUnknown_02014F88:
|
||||
.incbin "data/rom_data.bin", 0x00014EC8, 0x30
|
||||
|
||||
.global gUnknown_02014FB8
|
||||
gUnknown_02014FB8:
|
||||
.incbin "data/rom_data.bin", 0x00014EF8, 0xA00
|
||||
|
||||
.global gUnknown_020159B8
|
||||
gUnknown_020159B8:
|
||||
.incbin "data/rom_data.bin", 0x000158F8, 0x8
|
||||
|
||||
.global gUnknown_020159C0
|
||||
gUnknown_020159C0:
|
||||
.incbin "data/rom_data.bin", 0x00015900, 0x30
|
||||
|
||||
.global gUnknown_020159F0
|
||||
gUnknown_020159F0:
|
||||
.incbin "data/rom_data.bin", 0x00015930, 0x18
|
||||
|
||||
.global gUnknown_02015A08
|
||||
gUnknown_02015A08:
|
||||
.incbin "data/rom_data.bin", 0x00015948, 0x1C
|
||||
|
||||
.global gUnknown_02015A24
|
||||
gUnknown_02015A24:
|
||||
.incbin "data/rom_data.bin", 0x00015964, 0x74
|
||||
|
||||
.global gUnknown_02015A98
|
||||
gUnknown_02015A98:
|
||||
.incbin "data/rom_data.bin", 0x000159D8, 0x6
|
||||
|
||||
.global gUnknown_02015A9E
|
||||
gUnknown_02015A9E:
|
||||
.incbin "data/rom_data.bin", 0x000159DE, 0x10
|
||||
|
||||
.global gUnknown_02015AAE
|
||||
gUnknown_02015AAE:
|
||||
.incbin "data/rom_data.bin", 0x000159EE, 0xE
|
||||
|
||||
.global gUnknown_02015ABC
|
||||
gUnknown_02015ABC:
|
||||
.incbin "data/rom_data.bin", 0x000159FC, 0x3C
|
||||
|
||||
.global gUnknown_02015AF8
|
||||
gUnknown_02015AF8:
|
||||
.incbin "data/rom_data.bin", 0x00015A38, 0x20
|
||||
|
||||
.global gUnknown_02015B18
|
||||
gUnknown_02015B18:
|
||||
.incbin "data/rom_data.bin", 0x00015A58, 0x8
|
||||
|
||||
.global gUnknown_02015B20
|
||||
gUnknown_02015B20:
|
||||
.incbin "data/rom_data.bin", 0x00015A60, 0x4
|
||||
|
||||
.global gUnknown_02015B24
|
||||
gUnknown_02015B24:
|
||||
.incbin "data/rom_data.bin", 0x00015A64, 0x14
|
||||
|
||||
.global gUnknown_02015B38
|
||||
gUnknown_02015B38:
|
||||
.incbin "data/rom_data.bin", 0x00015A78, 0xC
|
||||
|
||||
.global gUnknown_02015B44
|
||||
gUnknown_02015B44:
|
||||
.incbin "data/rom_data.bin", 0x00015A84, 0x100
|
||||
|
||||
.global gUnknown_02015C44
|
||||
gUnknown_02015C44:
|
||||
.incbin "data/rom_data.bin", 0x00015B84, 0x4
|
||||
|
||||
.global gUnknown_02015C48
|
||||
gUnknown_02015C48:
|
||||
.incbin "data/rom_data.bin", 0x00015B88, 0x4
|
||||
|
||||
.global gUnknown_02015C4C
|
||||
gUnknown_02015C4C:
|
||||
.incbin "data/rom_data.bin", 0x00015B8C, 0x4
|
||||
|
||||
.global gUnknown_02015C50
|
||||
gUnknown_02015C50:
|
||||
.incbin "data/rom_data.bin", 0x00015B90, 0x2
|
||||
|
||||
.global gUnknown_02015C52
|
||||
gUnknown_02015C52:
|
||||
.incbin "data/rom_data.bin", 0x00015B92, 0x1CC
|
||||
|
||||
.global gUnknown_02015E1E
|
||||
gUnknown_02015E1E:
|
||||
.incbin "data/rom_data.bin", 0x00015D5E, 0x14
|
||||
|
||||
.global gUnknown_02015E32
|
||||
gUnknown_02015E32:
|
||||
.incbin "data/rom_data.bin", 0x00015D72, 0xA
|
||||
|
||||
.global gUnknown_02015E3C
|
||||
gUnknown_02015E3C:
|
||||
.incbin "data/rom_data.bin", 0x00015D7C, 0x1A
|
||||
|
||||
.global gUnknown_02015E56
|
||||
gUnknown_02015E56:
|
||||
.incbin "data/rom_data.bin", 0x00015D96, 0x8
|
||||
|
||||
.global gUnknown_02015E5E
|
||||
gUnknown_02015E5E:
|
||||
.incbin "data/rom_data.bin", 0x00015D9E, 0xE
|
||||
|
||||
.global gUnknown_02015E6C
|
||||
gUnknown_02015E6C:
|
||||
.incbin "data/rom_data.bin", 0x00015DAC, 0x90
|
||||
|
||||
.global gUnknown_02015EFC
|
||||
gUnknown_02015EFC:
|
||||
.incbin "data/rom_data.bin", 0x00015E3C, 0xB4
|
||||
|
||||
.global gUnknown_02015FB0
|
||||
gUnknown_02015FB0:
|
||||
.incbin "data/rom_data.bin", 0x00015EF0, 0x30
|
||||
|
||||
.global gUnknown_02015FE0
|
||||
gUnknown_02015FE0:
|
||||
.incbin "data/rom_data.bin", 0x00015F20, 0x18
|
||||
|
||||
.global gUnknown_02015FF8
|
||||
gUnknown_02015FF8:
|
||||
.incbin "data/rom_data.bin", 0x00015F38, 0x84
|
||||
|
||||
.global gUnknown_0201607C
|
||||
gUnknown_0201607C:
|
||||
.incbin "data/rom_data.bin", 0x00015FBC, 0x18
|
||||
|
||||
.global gUnknown_02016094
|
||||
gUnknown_02016094:
|
||||
.incbin "data/rom_data.bin", 0x00015FD4, 0x3C
|
||||
|
||||
.global gUnknown_020160D0
|
||||
gUnknown_020160D0:
|
||||
.incbin "data/rom_data.bin", 0x00016010, 0x10
|
||||
|
||||
.global gUnknown_020160E0
|
||||
gUnknown_020160E0:
|
||||
.incbin "data/rom_data.bin", 0x00016020, 0x34
|
||||
|
||||
.global gUnknown_02016114
|
||||
gUnknown_02016114:
|
||||
.incbin "data/rom_data.bin", 0x00016054, 0xC48
|
||||
|
||||
.global gUnknown_02016D5C
|
||||
gUnknown_02016D5C:
|
||||
.incbin "data/rom_data.bin", 0x00016C9C, 0x30
|
||||
|
||||
.global gUnknown_02016D8C
|
||||
gUnknown_02016D8C:
|
||||
.incbin "data/rom_data.bin", 0x00016CCC, 0x5A34
|
||||
|
||||
.global gUnknown_0201C7C0
|
||||
gUnknown_0201C7C0:
|
||||
.incbin "data/rom_data.bin", 0x0001C700, 0x46C
|
||||
|
||||
@@ -1,7 +1,16 @@
|
||||
SECTIONS {
|
||||
. = 0x03000000;
|
||||
IWRAM (NOLOAD) :
|
||||
ALIGN(4)
|
||||
{
|
||||
INCLUDE "sym_iwram.txt"
|
||||
}
|
||||
|
||||
. = 0x20000C0;
|
||||
.text :
|
||||
ALIGN(4) {
|
||||
build/collect_rings/asm/rom_header.o(.text);
|
||||
build/collect_rings/asm/crt0.o(.text);
|
||||
build/collect_rings/asm/code.o(.text);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
. = 0x00000000; gUnknown_03000000 = .;
|
||||
. = 0x00000001; gUnknown_03000001 = .;
|
||||
. = 0x00000004; gUnknown_03000004 = .;
|
||||
. = 0x00000006; gUnknown_03000006 = .;
|
||||
. = 0x00000008; gUnknown_03000008 = .;
|
||||
. = 0x00000009; gUnknown_03000009 = .;
|
||||
. = 0x0000000C; gUnknown_0300000C = .;
|
||||
. = 0x00000010; gUnknown_03000010 = .;
|
||||
. = 0x00000020; gUnknown_03000020 = .;
|
||||
. = 0x00000021; gUnknown_03000021 = .;
|
||||
. = 0x00000022; gUnknown_03000022 = .;
|
||||
. = 0x00000025; gUnknown_03000025 = .;
|
||||
. = 0x0000002C; gUnknown_0300002C = .;
|
||||
. = 0x0000002D; gUnknown_0300002D = .;
|
||||
. = 0x0000002E; gUnknown_0300002E = .;
|
||||
. = 0x0000002F; gUnknown_0300002F = .;
|
||||
. = 0x00000030; gUnknown_03000030 = .;
|
||||
. = 0x00000031; gUnknown_03000031 = .;
|
||||
. = 0x00000032; gUnknown_03000032 = .;
|
||||
. = 0x00000034; gUnknown_03000034 = .;
|
||||
. = 0x00000035; gUnknown_03000035 = .;
|
||||
. = 0x0000003C; gUnknown_0300003C = .;
|
||||
. = 0x0000003D; gUnknown_0300003D = .;
|
||||
. = 0x00000040; gUnknown_03000040 = .;
|
||||
. = 0x00000050; gUnknown_03000050 = .;
|
||||
. = 0x00000052; gUnknown_03000052 = .;
|
||||
. = 0x00000054; gUnknown_03000054 = .;
|
||||
. = 0x00000056; gUnknown_03000056 = .;
|
||||
. = 0x00000058; gUnknown_03000058 = .;
|
||||
. = 0x0000005C; gUnknown_0300005C = .;
|
||||
. = 0x0000005D; gUnknown_0300005D = .;
|
||||
. = 0x0000005E; gUnknown_0300005E = .;
|
||||
. = 0x00000060; gUnknown_03000060 = .;
|
||||
. = 0x00000061; gUnknown_03000061 = .;
|
||||
. = 0x00000064; gUnknown_03000064 = .;
|
||||
. = 0x00000066; gUnknown_03000066 = .;
|
||||
. = 0x00000068; gUnknown_03000068 = .;
|
||||
. = 0x0000006A; gUnknown_0300006A = .;
|
||||
. = 0x0000006C; gUnknown_0300006C = .;
|
||||
. = 0x00000080; gUnknown_03000080 = .;
|
||||
. = 0x00000082; gUnknown_03000082 = .;
|
||||
. = 0x000002B0; gUnknown_030002B0 = .;
|
||||
. = 0x000002B4; gUnknown_030002B4 = .;
|
||||
. = 0x000002B6; gUnknown_030002B6 = .;
|
||||
. = 0x00000378; gUnknown_03000378 = .;
|
||||
. = 0x00000400; gUnknown_03000400 = .;
|
||||
. = 0x00000410; gUnknown_03000410 = .;
|
||||
. = 0x00000420; gUnknown_03000420 = .;
|
||||
. = 0x00000430; gUnknown_03000430 = .;
|
||||
. = 0x00000434; gUnknown_03000434 = .;
|
||||
. = 0x0000043C; gUnknown_0300043C = .;
|
||||
. = 0x00000540; gUnknown_03000540 = .;
|
||||
. = 0x00000730; gUnknown_03000730 = .;
|
||||
. = 0x00000770; gUnknown_03000770 = .;
|
||||
. = 0x00000790; gUnknown_03000790 = .;
|
||||
. = 0x000007D0; gUnknown_030007D0 = .;
|
||||
. = 0x000009D0; gUnknown_030009D0 = .;
|
||||
. = 0x000017D0; gUnknown_030017D0 = .;
|
||||
. = 0x000017D4; gUnknown_030017D4 = .;
|
||||
. = 0x000017E0; gUnknown_030017E0 = .;
|
||||
. = 0x00001820; gUnknown_03001820 = .;
|
||||
. = 0x00001830; gUnknown_03001830 = .;
|
||||
. = 0x00001850; gUnknown_03001850 = .;
|
||||
. = 0x00001860; gUnknown_03001860 = .;
|
||||
. = 0x00001864; gUnknown_03001864 = .;
|
||||
. = 0x00001868; gUnknown_03001868 = .;
|
||||
. = 0x0000186C; gUnknown_0300186C = .;
|
||||
. = 0x00001870; gUnknown_03001870 = .;
|
||||
. = 0x000018C0; gUnknown_030018C0 = .;
|
||||
. = 0x000018C8; gUnknown_030018C8 = .;
|
||||
. = 0x000018D0; gUnknown_030018D0 = .;
|
||||
. = 0x000018E0; gUnknown_030018E0 = .;
|
||||
. = 0x00001900; gUnknown_03001900 = .;
|
||||
. = 0x00001920; gUnknown_03001920 = .;
|
||||
. = 0x00001924; gUnknown_03001924 = .;
|
||||
. = 0x00001928; gUnknown_03001928 = .;
|
||||
. = 0x0000192C; gUnknown_0300192C = .;
|
||||
. = 0x00001930; gUnknown_03001930 = .;
|
||||
. = 0x00001934; gUnknown_03001934 = .;
|
||||
. = 0x00001940; gUnknown_03001940 = .;
|
||||
. = 0x00001B40; gUnknown_03001B40 = .;
|
||||
. = 0x00002040; gUnknown_03002040 = .;
|
||||
. = 0x00002240; gUnknown_03002240 = .;
|
||||
. = 0x00002244; gUnknown_03002244 = .;
|
||||
. = 0x00002250; gUnknown_03002250 = .;
|
||||
. = 0x0000225C; gUnknown_0300225C = .;
|
||||
. = 0x00002260; gUnknown_03002260 = .;
|
||||
. = 0x00002262; gUnknown_03002262 = .;
|
||||
. = 0x00002263; gUnknown_03002263 = .;
|
||||
. = 0x00002270; gUnknown_03002270 = .;
|
||||
. = 0x00002280; gUnknown_03002280 = .;
|
||||
. = 0x0000228C; gUnknown_0300228C = .;
|
||||
. = 0x00002290; gUnknown_03002290 = .;
|
||||
. = 0x00002298; gUnknown_03002298 = .;
|
||||
. = 0x0000229C; gUnknown_0300229C = .;
|
||||
. = 0x000022A0; gUnknown_030022A0 = .;
|
||||
. = 0x000022A8; gUnknown_030022A8 = .;
|
||||
. = 0x000022B0; gUnknown_030022B0 = .;
|
||||
. = 0x000026B0; gUnknown_030026B0 = .;
|
||||
. = 0x000026C0; gUnknown_030026C0 = .;
|
||||
. = 0x000026D0; gUnknown_030026D0 = .;
|
||||
. = 0x000026D4; gUnknown_030026D4 = .;
|
||||
. = 0x000026E0; gUnknown_030026E0 = .;
|
||||
. = 0x000026EC; gUnknown_030026EC = .;
|
||||
. = 0x000026F0; gUnknown_030026F0 = .;
|
||||
. = 0x00002770; gUnknown_03002770 = .;
|
||||
. = 0x00002774; gUnknown_03002774 = .;
|
||||
. = 0x00002780; gUnknown_03002780 = .;
|
||||
. = 0x00002800; gUnknown_03002800 = .;
|
||||
. = 0x00002810; gUnknown_03002810 = .;
|
||||
. = 0x00002820; gUnknown_03002820 = .;
|
||||
. = 0x00002830; gUnknown_03002830 = .;
|
||||
. = 0x00002840; gUnknown_03002840 = .;
|
||||
. = 0x0000284E; gUnknown_0300284E = .;
|
||||
. = 0x00002854; gUnknown_03002854 = .;
|
||||
. = 0x00002858; gUnknown_03002858 = .;
|
||||
. = 0x0000285C; gUnknown_0300285C = .;
|
||||
. = 0x00002860; gUnknown_03002860 = .;
|
||||
. = 0x00002A60; gUnknown_03002A60 = .;
|
||||
. = 0x00002A64; gUnknown_03002A64 = .;
|
||||
. = 0x00002A68; gUnknown_03002A68 = .;
|
||||
. = 0x00002A6C; gUnknown_03002A6C = .;
|
||||
. = 0x00002ABC; gUnknown_03002ABC = .;
|
||||
. = 0x00002AC0; gUnknown_03002AC0 = .;
|
||||
. = 0x00002AC4; gUnknown_03002AC4 = .;
|
||||
. = 0x00002AD0; gUnknown_03002AD0 = .;
|
||||
. = 0x00002AE0; gUnknown_03002AE0 = .;
|
||||
. = 0x00004D30; gUnknown_03004D30 = .;
|
||||
. = 0x00004D34; gUnknown_03004D34 = .;
|
||||
. = 0x00004D38; gUnknown_03004D38 = .;
|
||||
. = 0x00004D3C; gUnknown_03004D3C = .;
|
||||
. = 0x00004D40; gUnknown_03004D40 = .;
|
||||
. = 0x00004D60; gUnknown_03004D60 = .;
|
||||
. = 0x00004D70; gUnknown_03004D70 = .;
|
||||
. = 0x00004D76; gUnknown_03004D76 = .;
|
||||
. = 0x00005170; gUnknown_03005170 = .;
|
||||
. = 0x00005370; gUnknown_03005370 = .;
|
||||
. = 0x00005374; gUnknown_03005374 = .;
|
||||
. = 0x00005378; gUnknown_03005378 = .;
|
||||
. = 0x00005380; gUnknown_03005380 = .;
|
||||
. = 0x00005394; gUnknown_03005394 = .;
|
||||
. = 0x00005398; gUnknown_03005398 = .;
|
||||
. = 0x000053A0; gUnknown_030053A0 = .;
|
||||
. = 0x000053A4; gUnknown_030053A4 = .;
|
||||
. = 0x000053A8; gUnknown_030053A8 = .;
|
||||
. = 0x000053AC; gUnknown_030053AC = .;
|
||||
. = 0x000053B0; gUnknown_030053B0 = .;
|
||||
. = 0x000053CC; gUnknown_030053CC = .;
|
||||
. = 0x000053D0; gUnknown_030053D0 = .;
|
||||
. = 0x000053D4; gUnknown_030053D4 = .;
|
||||
. = 0x000053D8; gUnknown_030053D8 = .;
|
||||
. = 0x000053E0; gUnknown_030053E0 = .;
|
||||
. = 0x000053E4; gUnknown_030053E4 = .;
|
||||
. = 0x000053E8; gUnknown_030053E8 = .;
|
||||
. = 0x000053EC; gUnknown_030053EC = .;
|
||||
. = 0x000053F0; gUnknown_030053F0 = .;
|
||||
. = 0x000053F4; gUnknown_030053F4 = .;
|
||||
. = 0x000053F8; gUnknown_030053F8 = .;
|
||||
. = 0x000053FC; gUnknown_030053FC = .;
|
||||
. = 0x00005400; gUnknown_03005400 = .;
|
||||
. = 0x00005404; gUnknown_03005404 = .;
|
||||
. = 0x00005408; gUnknown_03005408 = .;
|
||||
. = 0x00005418; gUnknown_03005418 = .;
|
||||
. = 0x00005428; gUnknown_03005428 = .;
|
||||
. = 0x0000542C; gUnknown_0300542C = .;
|
||||
. = 0x00005430; gUnknown_03005430 = .;
|
||||
. = 0x00005434; gUnknown_03005434 = .;
|
||||
. = 0x00005444; gUnknown_03005444 = .;
|
||||
. = 0x00005448; gUnknown_03005448 = .;
|
||||
. = 0x0000544C; gUnknown_0300544C = .;
|
||||
. = 0x00005454; gUnknown_03005454 = .;
|
||||
. = 0x00005458; gUnknown_03005458 = .;
|
||||
. = 0x00005460; gUnknown_03005460 = .;
|
||||
. = 0x00005468; gUnknown_03005468 = .;
|
||||
. = 0x0000546C; gUnknown_0300546C = .;
|
||||
. = 0x00005470; gUnknown_03005470 = .;
|
||||
. = 0x00005474; gUnknown_03005474 = .;
|
||||
. = 0x00005478; gUnknown_03005478 = .;
|
||||
. = 0x00005480; gUnknown_03005480 = .;
|
||||
. = 0x00005500; gUnknown_03005500 = .;
|
||||
. = 0x00005510; gUnknown_03005510 = .;
|
||||
. = 0x00005520; gUnknown_03005520 = .;
|
||||
. = 0x00005524; gUnknown_03005524 = .;
|
||||
. = 0x00005528; gUnknown_03005528 = .;
|
||||
. = 0x00005530; gUnknown_03005530 = .;
|
||||
. = 0x0000553C; gUnknown_0300553C = .;
|
||||
. = 0x00005544; gUnknown_03005544 = .;
|
||||
. = 0x00005548; gUnknown_03005548 = .;
|
||||
. = 0x00005550; gUnknown_03005550 = .;
|
||||
. = 0x00005590; gUnknown_03005590 = .;
|
||||
. = 0x00005650; gUnknown_03005650 = .;
|
||||
. = 0x000056B8; gUnknown_030056B8 = .;
|
||||
. = 0x000056C0; gUnknown_030056C0 = .;
|
||||
. = 0x00005780; gUnknown_03005780 = .;
|
||||
. = 0x000057C4; gUnknown_030057C4 = .;
|
||||
. = 0x000057C8; gUnknown_030057C8 = .;
|
||||
. = 0x000057D0; gUnknown_030057D0 = .;
|
||||
. = 0x000057D4; gUnknown_030057D4 = .;
|
||||
. = 0x000057D8; gUnknown_030057D8 = .;
|
||||
. = 0x00007F00; gUnknown_03007F00 = .;
|
||||
. = 0x00007FA0; gUnknown_03007FA0 = .;
|
||||
. = 0x00007FF0; gUnknown_03007FF0 = .;
|
||||
. = 0x00007FF8; gUnknown_03007FF8 = .;
|
||||
. = 0x00007FFC; gUnknown_03007FFC = .;
|
||||
@@ -1 +1 @@
|
||||
61116586a27d700a2d38ce6eaedfbbb32317dd9d mb_signed_collect_rings.gba
|
||||
77d836a9ac6fb0397f0330675d8cb9d95572d562 mb_signed_collect_rings.gba
|
||||
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
725ac63883901d03c954d0ecadd0b37b00961cac sa2_europe.gba
|
||||
b0f64bdca097f2de8f05ac4c8caea2b80c5faeb1 sa2_europe.gba
|
||||
Vendored
+7
-7
@@ -1,10 +1,10 @@
|
||||
rom_start = 0x0203B000
|
||||
end_of_code = 0x0203C206
|
||||
end_of_data = 0x0203f72c
|
||||
rom_start = 0x020000C0
|
||||
end_of_code = 0x02014F10
|
||||
end_of_data = 0x0201cc2c
|
||||
|
||||
addresses = set()
|
||||
|
||||
with open('multi_boot/subgame_loader/signed_payload/payload/asm/code.s') as code:
|
||||
with open('multi_boot/signed_collect_rings/collect_rings/asm/code.s') as code:
|
||||
for line in code.readlines():
|
||||
line = line.strip()
|
||||
if ".4byte 0x02" in line:
|
||||
@@ -37,7 +37,7 @@ for i in range(len(sorted_addresses)):
|
||||
|
||||
summed = 0
|
||||
|
||||
with open("multi_boot/subgame_loader/signed_payload/payload/data/new_data.s", "w") as data_file:
|
||||
with open("multi_boot/signed_collect_rings/collect_rings/data/new_data.s", "w") as data_file:
|
||||
data_file.write(' .section .rodata\n')
|
||||
data_file.write('\n')
|
||||
for raw_addr, addr, size in addresses_with_size:
|
||||
@@ -50,8 +50,8 @@ with open("multi_boot/subgame_loader/signed_payload/payload/data/new_data.s", "w
|
||||
""")
|
||||
|
||||
print(hex(summed))
|
||||
with open("multi_boot/subgame_loader/signed_payload/payload/asm/new_code.s", "w") as new_rom:
|
||||
existing_code = "".join(open("multi_boot/subgame_loader/signed_payload/payload/asm/code.s").readlines())
|
||||
with open("multi_boot/signed_collect_rings/collect_rings/asm/new_code.s", "w") as new_rom:
|
||||
existing_code = "".join(open("multi_boot/signed_collect_rings/collect_rings/asm/code.s").readlines())
|
||||
for _, addr, __ in addresses_with_size:
|
||||
var = to_var_name(addr)
|
||||
existing_code = existing_code.replace(addr, to_var_name(addr))
|
||||
|
||||
Vendored
+9
-15
@@ -3,21 +3,15 @@ iwram_syms = {}
|
||||
|
||||
replace = {}
|
||||
|
||||
max_ewram = "0x0202EB6C"
|
||||
max_ewram = "0x02014F10"
|
||||
|
||||
with open("multi_boot/subgame_loader/signed_payload/payload/asm/code.s") as code_file:
|
||||
with open("multi_boot/signed_collect_rings/collect_rings/asm/code.s") as code_file:
|
||||
for line in code_file.readlines():
|
||||
line = line.strip()
|
||||
if "0x030" in line and ":" not in line:
|
||||
addr = line.split("0x03")[1].split(" ")[0]
|
||||
iwram_syms[f"0x00{addr}"] = f"gUnknown_03{addr}"
|
||||
replace[f"0x03{addr}"] = f"gUnknown_03{addr}"
|
||||
elif "0x020" in line and ":" not in line:
|
||||
addr = line.split("0x02")[1].split(" ")[0]
|
||||
full_addr = f"0x02{addr}"
|
||||
if full_addr < max_ewram:
|
||||
ewram_syms[f"0x00{addr}"] = f"gUnknown_02{addr}"
|
||||
replace[full_addr] = f"gUnknown_02{addr}"
|
||||
|
||||
code_file.seek(0)
|
||||
code_content = code_file.read()
|
||||
@@ -25,18 +19,18 @@ with open("multi_boot/subgame_loader/signed_payload/payload/asm/code.s") as code
|
||||
for addr, sym in replace.items():
|
||||
code_content = code_content.replace(addr, sym)
|
||||
|
||||
with open("multi_boot/subgame_loader/signed_payload/payload/asm/new_code.s", "w") as new_code:
|
||||
with open("multi_boot/signed_collect_rings/collect_rings/asm/new_code.s", "w") as new_code:
|
||||
new_code.write(code_content)
|
||||
|
||||
with open("multi_boot/subgame_loader/signed_payload/payload/sym_iwram.txt", "w") as iwram_sym_file:
|
||||
with open("multi_boot/signed_collect_rings/collect_rings/asm/sym_iwram.txt", "w") as iwram_sym_file:
|
||||
keys = sorted(iwram_syms.keys())
|
||||
for addr in keys:
|
||||
sym = iwram_syms[addr]
|
||||
iwram_sym_file.write(f". = {addr}; {sym} = .;\n")
|
||||
|
||||
with open("multi_boot/subgame_loader/signed_payload/payload/sym_ewram.txt", "w") as ewram_sym_file:
|
||||
keys = sorted(ewram_syms.keys())
|
||||
for addr in keys:
|
||||
sym = ewram_syms[addr]
|
||||
ewram_sym_file.write(f". = {addr}; {sym} = .;\n")
|
||||
# with open("multi_boot/signed_collect_rings/collect_rings/asm/sym_ewram.txt", "w") as ewram_sym_file:
|
||||
# keys = sorted(ewram_syms.keys())
|
||||
# for addr in keys:
|
||||
# sym = ewram_syms[addr]
|
||||
# ewram_sym_file.write(f". = {addr}; {sym} = .;\n")
|
||||
|
||||
Reference in new issue
Block a user