diff options
author | Revo <projectrevotpp@hotmail.com> | 2020-04-30 10:44:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-30 10:44:45 -0400 |
commit | 837c28444a009f52e5090bc9e2e98e67a7c6b313 (patch) | |
tree | 28e73e44d20676fe1e5bede3dfa5f89e0a12839e /arm9 | |
parent | 88b88fc656c8ab7b79be0e0029265ead6f126012 (diff) | |
parent | a87bc1ba42ac72758435ea5bb31f0c13d5bb7217 (diff) |
Merge pull request #37 from PikalaxALT/makelcf
Makelcf
Diffstat (limited to 'arm9')
-rw-r--r-- | arm9/Makefile | 13 | ||||
-rw-r--r-- | arm9/arm9.lcf | 28 | ||||
-rw-r--r-- | arm9/arm9.lsf | 492 | ||||
-rw-r--r-- | arm9/arm9.sha1 | 2 | ||||
-rw-r--r-- | arm9/asm/libcard.s (renamed from arm9/asm/CARD_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libcp.s (renamed from arm9/asm/CP_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libctrdg.s (renamed from arm9/asm/CTRDG_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libdgt.s (renamed from arm9/asm/DGT_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libfs.s (renamed from arm9/asm/FS_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libmath.s (renamed from arm9/asm/MATH_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libmi.s (renamed from arm9/asm/MI_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libpm.s (renamed from arm9/asm/PM_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libpxi.s (renamed from arm9/asm/PXI_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/librtc.s (renamed from arm9/asm/RTC_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libsnd.s (renamed from arm9/asm/SND_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libspi.s (renamed from arm9/asm/SPI_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libstd.s (renamed from arm9/asm/STD_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/libwm.s (renamed from arm9/asm/WM_arm9.s) | 0 | ||||
-rw-r--r-- | arm9/asm/secure.s | 7 | ||||
-rw-r--r-- | arm9/asm/unk_02046030.s | 2 | ||||
-rw-r--r-- | arm9/global.inc | 2 |
21 files changed, 521 insertions, 25 deletions
diff --git a/arm9/Makefile b/arm9/Makefile index ac28bbcf..0343dd8c 100644 --- a/arm9/Makefile +++ b/arm9/Makefile @@ -39,9 +39,11 @@ BUILD_DIR := build TARGET := arm9 -ROM := $(BUILD_DIR)/$(TARGET).bin +ROM := $(BUILD_DIR)/$(TARGET).sbin ELF := $(BUILD_DIR)/$(TARGET).elf -LD_SCRIPT := arm9.lcf +LD_SCRIPT := $(TARGET).lcf +LD_SPEC := $(TARGET).lsf +LD_TEMPLATE := ARM9-TS.lcf.template # Directories containing source files SRC_DIRS := src @@ -73,6 +75,8 @@ MWCCARM := $(TOOLS_DIR)/mwccarm/$(MWCCVERSION)/mwccarm.exe # only dependency should be MWCCARM. MWLDARM := $(TOOLS_DIR)/mwccarm/$(MWCCVERSION)/mwldarm.exe MWASMARM := $(TOOLS_DIR)/mwccarm/$(MWCCVERSION)/mwasmarm.exe +MAKELSF := $(WINE) $(TOOLS_DIR)/bin/makelcf.exe +MAKELSF_FLAGS := -DCONST_34=0x34 -DCONST_3F=0x3F AS := $(WINE) $(MWASMARM) CC := $(WINE) $(MWCCARM) @@ -95,7 +99,7 @@ JSONPROC = $(TOOLS_DIR)/jsonproc/jsonproc GFX = $(TOOLS_DIR)/nitrogfx/nitrogfx MWASMARM_PATCHER = $(TOOLS_DIR)/mwasmarm_patcher/mwasmarm_patcher$(EXE) -q -TOOLDIRS = $(filter-out $(TOOLS_DIR)/mwccarm,$(wildcard $(TOOLS_DIR)/*)) +TOOLDIRS = $(filter-out $(TOOLS_DIR)/mwccarm $(TOOLS_DIR)/bin,$(wildcard $(TOOLS_DIR)/*)) TOOLBASE = $(TOOLDIRS:$(TOOLS_DIR)/%=%) TOOLS = $(foreach tool,$(TOOLBASE),$(TOOLS_DIR)/$(tool)/$(tool)$(EXE)) @@ -145,7 +149,8 @@ $(BUILD_DIR)/%.o: %.c $(BUILD_DIR)/%.o: %.s $(AS) $(ASFLAGS) $< -o $@ -$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) undefined_syms.txt macros.lcf.inc +$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) $(LD_TEMPLATE) undefined_syms.txt macros.lcf.inc + # $(MAKELSF) $(MAKELSF_FLAGS) $< $(LD_TEMPLATE) $@ $(CPP) $(VERSION_CFLAGS) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $< $(ELF): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BIN_FILES) diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf index dbcec8b2..4eefb24b 100644 --- a/arm9/arm9.lcf +++ b/arm9/arm9.lcf @@ -168,20 +168,20 @@ SECTIONS { OS_vramExclusive.o (.text) OS_entropy.o (.text) OS_terminate_proc.o (.text) - MI_arm9.o (.text) - SND_arm9.o (.text) - PXI_arm9.o (.text) - FS_arm9.o (.text) - DGT_arm9.o (.text) - CP_arm9.o (.text) - SPI_arm9.o (.text) - PM_arm9.o (.text) - RTC_arm9.o (.text) - CARD_arm9.o (.text) - WM_arm9.o (.text) - CTRDG_arm9.o (.text) - MATH_arm9.o (.text) - STD_arm9.o (.text) + libmi.o (.text) + libsnd.o (.text) + libpxi.o (.text) + libfs.o (.text) + libdgt.o (.text) + libcp.o (.text) + libspi.o (.text) + libpm.o (.text) + librtc.o (.text) + libcard.o (.text) + libwm.o (.text) + libctrdg.o (.text) + libmath.o (.text) + libstd.o (.text) /* C standard library */ libc.o (.text) /* MWCC library */ diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf new file mode 100644 index 00000000..3df64d7d --- /dev/null +++ b/arm9/arm9.lsf @@ -0,0 +1,492 @@ + +Static arm9 +{ + Address 0x02000000 + Object main.o + Object FUN_02000DF4.o + Object unk_02000E0C.o + Object rom2.o + Object string_util.o + Object unk_020023C0.o + Object filesystem.o + Object unk_02006864.o + Object script.o + Object unk_02038C78.o + Object scrcmd.o + Object unk_02046030.o + Object unk_0208AC14.o + Object unk_020AF030.o + Library libfx.a + Library libgx.a + Library libos.a + Library libmi.a + Library libsnd.a + Library libpxi.a + Library libfs.a + Library libdgt.a + Library libcp.a + Library libspi.a + Library libpm.a + Library librtc.a + Library libcard.a + Library libwm.a + Library libctrdg.a + Library libmath.a + Library libstd.a + Library libc.a + Library libmwcc.a + Object rom2_2.o +} + +Autoload ITCM +{ + Address 0x01FF8000 + Object arm9_itcm.o +} + +Autoload DTCM +{ + Address 0x027E0000 + Library libos.a +} + +Autoload EXT +{ + Address 0x02400000 +} + +Overlay overlay_00 +{ + Address 0x021D74E0 + Object FILE_10C400.o +} +Overlay overlay_01 +{ + Address 0x021D74E0 + Object FILE_10C600.o +} +Overlay overlay_02 +{ + Address 0x021D7520 + Object FILE_10C800.o +} +Overlay overlay_03 +{ + Address 0x01FF8700 + Object FILE_10CA00.o +} +Overlay overlay_04 +{ + Address 0x021D74E0 + Object FILE_10CC00.o +} +Overlay overlay_05 +{ + Address 0x021D74E0 + Object FILE_145400.o +} +Overlay overlay_06 +{ + Address 0x022396A0 + Object FILE_16B600.o +} +Overlay overlay_07 +{ + Address 0x02211E60 + Object FILE_184400.o +} +Overlay overlay_08 +{ + Address 0x02211E60 + Object FILE_187800.o +} +Overlay overlay_09 +{ + Address 0x02211E60 + Object FILE_1A3000.o +} +Overlay overlay_10 +{ + Address 0x021D74E0 + Object FILE_1AD200.o +} +Overlay overlay_11 +{ + Address 0x0222D5C0 + Object FILE_1AD400.o +} +Overlay overlay_12 +{ + Address 0x0222D5C0 + Object FILE_1DFE00.o +} +Overlay overlay_13 +{ + Address 0x02211E60 + Object FILE_1F9200.o +} +Overlay overlay_14 +{ + Address 0x021D74E0 + Object FILE_227E00.o +} +Overlay overlay_15 +{ + Address 0x021D74E0 + Object FILE_237400.o +} +Overlay overlay_16 +{ + Address 0x021D74E0 + Object FILE_23BC00.o +} +Overlay overlay_17 +{ + Address 0x021D74E0 + Object FILE_264200.o +} +Overlay overlay_18 +{ + Address 0x022396A0 + Object FILE_26B200.o +} +Overlay overlay_19 +{ + Address 0x02252440 + Object FILE_283000.o +} +Overlay overlay_20 +{ + Address 0x02252440 + Object FILE_283200.o +} +Overlay overlay_21 +{ + Address 0x02254840 + Object FILE_285600.o +} +Overlay overlay_22 +{ + Address 0x02254840 + Object FILE_285C00.o +} +Overlay overlay_23 +{ + Address 0x02254840 + Object FILE_286C00.o +} +Overlay overlay_24 +{ + Address 0x02254840 + Object FILE_288600.o +} +Overlay overlay_25 +{ + Address 0x02254840 + Object FILE_289000.o +} +Overlay overlay_26 +{ + Address 0x02254840 + Object FILE_289600.o +} +Overlay overlay_27 +{ + Address 0x02254840 + Object FILE_289E00.o +} +Overlay overlay_28 +{ + Address 0x02254840 + Object FILE_28AA00.o +} +Overlay overlay_29 +{ + Address 0x02254840 + Object FILE_28C200.o +} +Overlay overlay_30 +{ + Address 0x02254840 + Object FILE_28CC00.o +} +Overlay overlay_31 +{ + Address 0x02254840 + Object FILE_28D200.o +} +Overlay overlay_32 +{ + Address 0x02254840 + Object FILE_28D800.o +} +Overlay overlay_33 +{ + Address 0x02254840 + Object FILE_28DE00.o +} +Overlay overlay_34 +{ + Address 0x02254840 + Object FILE_28E200.o +} +Overlay overlay_35 +{ + Address 0x02254840 + Object FILE_28E800.o +} +Overlay overlay_36 +{ + Address 0x02254840 + Object FILE_28F200.o +} +Overlay overlay_37 +{ + Address 0x02254840 + Object FILE_290000.o +} +Overlay overlay_38 +{ + Address 0x02254840 + Object FILE_290600.o +} +Overlay overlay_39 +{ + Address 0x02254840 + Object FILE_291200.o +} +Overlay overlay_40 +{ + Address 0x02254840 + Object FILE_292000.o +} +Overlay overlay_41 +{ + Address 0x02254840 + Object FILE_292E00.o +} +Overlay overlay_42 +{ + Address 0x02254840 + Object FILE_294000.o +} +Overlay overlay_43 +{ + Address 0x02254840 + Object FILE_294A00.o +} +Overlay overlay_44 +{ + Address 0x02254840 + Object FILE_295400.o +} +Overlay overlay_45 +{ + Address 0x02254840 + Object FILE_295A00.o +} +Overlay overlay_46 +{ + Address 0x02254840 + Object FILE_296400.o +} +Overlay overlay_47 +{ + Address 0x02254840 + Object FILE_296800.o +} +Overlay overlay_48 +{ + Address 0x02254840 + Object FILE_297600.o +} +Overlay overlay_49 +{ + Address 0x02254840 + Object FILE_298000.o +} +Overlay overlay_50 +{ + Address 0x02254840 + Object FILE_298600.o +} +Overlay overlay_51 +{ + Address 0x02254840 + Object FILE_298A00.o +} +Overlay overlay_52 +{ + Address 0x021D74E0 + Object FILE_299A00.o +} +Overlay overlay_53 +{ + Address 0x021D74E0 + Object FILE_299E00.o +} +Overlay overlay_54 +{ + Address 0x021D74E0 + Object FILE_29C400.o +} +Overlay overlay_55 +{ + Address 0x021D74E0 + Object FILE_29E800.o +} +Overlay overlay_56 +{ + Address 0x02211E60 + Object FILE_2A1A00.o +} +Overlay overlay_57 +{ + Address 0x021D74E0 + Object FILE_2A6200.o +} +Overlay overlay_58 +{ + Address 0x021D9A20 + Object FILE_2A8800.o +} +Overlay overlay_59 +{ + Address 0x021D74E0 + Object FILE_2A9E00.o +} +Overlay overlay_60 +{ + Address 0x021D74E0 + Object FILE_2ACC00.o +} +Overlay overlay_61 +{ + Address 0x021D74E0 + Object FILE_2ADA00.o +} +Overlay overlay_62 +{ + Address 0x0222D5C0 + Object FILE_2AEC00.o +} +Overlay overlay_63 +{ + Address 0x021D74E0 + Object FILE_2B2A00.o +} +Overlay overlay_64 +{ + Address 0x021D74E0 + Object FILE_2B7600.o +} +Overlay overlay_65 +{ + Address 0x021D74E0 + Object FILE_2B9400.o +} +Overlay overlay_66 +{ + Address 0x021D74E0 + Object FILE_2BC400.o +} +Overlay overlay_67 +{ + Address 0x021D74E0 + Object FILE_2BEC00.o +} +Overlay overlay_68 +{ + Address 0x021D74E0 + Object FILE_2C1200.o +} +Overlay overlay_69 +{ + Address 0x0222D5C0 + Object FILE_2C2800.o +} +Overlay overlay_70 +{ + Address 0x021D74E0 + Object FILE_2C4C00.o +} +Overlay overlay_71 +{ + Address 0x0222D5C0 + Object FILE_2C5C00.o +} +Overlay overlay_72 +{ + Address 0x021D74E0 + Object FILE_2C9C00.o +} +Overlay overlay_73 +{ + Address 0x021D74E0 + Object FILE_2C9E00.o +} +Overlay overlay_74 +{ + Address 0x021D74E0 + Object FILE_2CEA00.o +} +Overlay overlay_75 +{ + Address 0x021E6BA0 + Object FILE_2CFE00.o +} +Overlay overlay_76 +{ + Address 0x021D74E0 + Object FILE_2D5C00.o +} +Overlay overlay_77 +{ + Address 0x021D74E0 + Object FILE_2D7C00.o +} +Overlay overlay_78 +{ + Address 0x021D74E0 + Object FILE_2D9800.o +} +Overlay overlay_79 +{ + Address 0x02211E60 + Object FILE_2D9E00.o +} +Overlay overlay_80 +{ + Address 0x0222D5C0 + Object FILE_2DF200.o +} +Overlay overlay_81 +{ + Address 0x02237E40 + Object FILE_2E9A00.o +} +Overlay overlay_82 +{ + Address 0x0222D5C0 + Object FILE_2EF000.o +} +Overlay overlay_83 +{ + Address 0x0222D5C0 + Object FILE_2F1600.o +} +Overlay overlay_84 +{ + Address 0x021D74E0 + Object FILE_2FFA00.o +} +Overlay overlay_85 +{ + Address 0x021D74E0 + Object FILE_303400.o +} +Overlay overlay_86 +{ + Address 0x021D74E0 + Object FILE_30C600.o +} diff --git a/arm9/arm9.sha1 b/arm9/arm9.sha1 index 3bc27b8a..dd825541 100644 --- a/arm9/arm9.sha1 +++ b/arm9/arm9.sha1 @@ -1 +1 @@ -f72681568e075a56beb25b584734a35d118468a1 build/arm9.bin +f72681568e075a56beb25b584734a35d118468a1 build/arm9.sbin diff --git a/arm9/asm/CARD_arm9.s b/arm9/asm/libcard.s index 664e85f5..664e85f5 100644 --- a/arm9/asm/CARD_arm9.s +++ b/arm9/asm/libcard.s diff --git a/arm9/asm/CP_arm9.s b/arm9/asm/libcp.s index c756e8e2..c756e8e2 100644 --- a/arm9/asm/CP_arm9.s +++ b/arm9/asm/libcp.s diff --git a/arm9/asm/CTRDG_arm9.s b/arm9/asm/libctrdg.s index 301ea233..301ea233 100644 --- a/arm9/asm/CTRDG_arm9.s +++ b/arm9/asm/libctrdg.s diff --git a/arm9/asm/DGT_arm9.s b/arm9/asm/libdgt.s index d5ef358d..d5ef358d 100644 --- a/arm9/asm/DGT_arm9.s +++ b/arm9/asm/libdgt.s diff --git a/arm9/asm/FS_arm9.s b/arm9/asm/libfs.s index d9b791b8..d9b791b8 100644 --- a/arm9/asm/FS_arm9.s +++ b/arm9/asm/libfs.s diff --git a/arm9/asm/MATH_arm9.s b/arm9/asm/libmath.s index 02dcfbcf..02dcfbcf 100644 --- a/arm9/asm/MATH_arm9.s +++ b/arm9/asm/libmath.s diff --git a/arm9/asm/MI_arm9.s b/arm9/asm/libmi.s index 82747b38..82747b38 100644 --- a/arm9/asm/MI_arm9.s +++ b/arm9/asm/libmi.s diff --git a/arm9/asm/PM_arm9.s b/arm9/asm/libpm.s index 331c0fa9..331c0fa9 100644 --- a/arm9/asm/PM_arm9.s +++ b/arm9/asm/libpm.s diff --git a/arm9/asm/PXI_arm9.s b/arm9/asm/libpxi.s index ab3af5de..ab3af5de 100644 --- a/arm9/asm/PXI_arm9.s +++ b/arm9/asm/libpxi.s diff --git a/arm9/asm/RTC_arm9.s b/arm9/asm/librtc.s index 8116f8de..8116f8de 100644 --- a/arm9/asm/RTC_arm9.s +++ b/arm9/asm/librtc.s diff --git a/arm9/asm/SND_arm9.s b/arm9/asm/libsnd.s index 99351712..99351712 100644 --- a/arm9/asm/SND_arm9.s +++ b/arm9/asm/libsnd.s diff --git a/arm9/asm/SPI_arm9.s b/arm9/asm/libspi.s index 915bb22c..915bb22c 100644 --- a/arm9/asm/SPI_arm9.s +++ b/arm9/asm/libspi.s diff --git a/arm9/asm/STD_arm9.s b/arm9/asm/libstd.s index 39946c46..39946c46 100644 --- a/arm9/asm/STD_arm9.s +++ b/arm9/asm/libstd.s diff --git a/arm9/asm/WM_arm9.s b/arm9/asm/libwm.s index cc3e7998..cc3e7998 100644 --- a/arm9/asm/WM_arm9.s +++ b/arm9/asm/libwm.s diff --git a/arm9/asm/secure.s b/arm9/asm/secure.s index f9d8f159..632f43bc 100644 --- a/arm9/asm/secure.s +++ b/arm9/asm/secure.s @@ -5,11 +5,11 @@ .incbin "baserom.nds", 0x4000, 0x19E - non_word_aligned_thumb_func_start FUN_0200019E -FUN_0200019E: ; 0x0200019E + non_word_aligned_thumb_func_start SVC_Sqrt +SVC_Sqrt: ; 0x0200019E swi 13 bx lr - thumb_func_end FUN_0200019E + thumb_func_end SVC_Sqrt .incbin "baserom.nds", 0x41A2, 0x15C @@ -20,7 +20,6 @@ FUN_020002FE: ; 0x020002FE .incbin "baserom.nds", 0x4302, 0x2F0 - non_word_aligned_thumb_func_start SVC_WaitByLoop SVC_WaitByLoop: swi 3 diff --git a/arm9/asm/unk_02046030.s b/arm9/asm/unk_02046030.s index 30b8ee4c..b70ef94e 100644 --- a/arm9/asm/unk_02046030.s +++ b/arm9/asm/unk_02046030.s @@ -107533,7 +107533,7 @@ FUN_020799F4: ; 0x020799F4 mul r0, r1
add r0, r2, r0
lsl r0, r0, #0x4
- bl FUN_0200019E
+ bl SVC_Sqrt
lsr r0, r0, #0x2
pop {r3, pc}
.balign 4
diff --git a/arm9/global.inc b/arm9/global.inc index ea11120a..e9ddbc3f 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -50,7 +50,7 @@ .extern FS_UnloadOverlay
.extern FS_WaitAsync
.extern FUNRTC_Init
-.extern FUN_0200019E
+.extern SVC_Sqrt
.extern FUN_020002FE
.extern FUN_02000DF4
.extern FUN_02000E7C
|