summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-07-04 12:38:03 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-07-04 12:38:03 -0400
commit47e39cc08132f43a25d49a807a5a8d5718424cff (patch)
tree0e3034c0f28ab3e75264f7147dc25e1f833704d8
parentdc06934d12b2b1e840bba06e2b242e345a823200 (diff)
Add variable to shift the ROM
-rw-r--r--Makefile8
-rw-r--r--arm9/Makefile7
-rw-r--r--config.mk6
3 files changed, 18 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 2e1b1082..9b8b430e 100644
--- a/Makefile
+++ b/Makefile
@@ -194,10 +194,10 @@ $(BUILD_DIR)/%.o: %.s $$(dep)
$(AS) $(ASFLAGS) $< -o $@
arm9:
- $(MAKE) -C arm9 COMPARE=$(COMPARE) GAME_LANGUAGE=$(GAME_LANGUAGE) GAME_VERSION=$(GAME_VERSION)
+ $(MAKE) -C arm9 $(MAKE_VARS)
arm7:
- $(MAKE) -C arm7 COMPARE=$(COMPARE) GAME_LANGUAGE=$(GAME_LANGUAGE) GAME_VERSION=$(GAME_VERSION)
+ $(MAKE) -C arm7 $(MAKE_VARS)
include filesystem.mk
@@ -205,7 +205,11 @@ include filesystem.mk
# FIXME: Computed secure area CRC in header is incorrect due to first 8 bytes of header not actually being "encryObj"
$(ROM): rom.rsf arm9 arm7 filesystem $(BNR) tools/bin/rom_header.template.sbin
$(MAKEROM) -DBUILD_DIR="$(BUILD_DIR)" -DBNR="$(BNR)" -DTITLE_NAME="$(TITLE_NAME)" -DNITROFS_FILES="$(NITROFS_FILES)" $< $@
+ifeq ($(SHIFTED),0)
$(FIXROM) $@ --secure-crc $(SECURE_CRC) --game-code $(GAME_CODE)
+else
+ $(FIXROM) $@ --game-code $(GAME_CODE)
+endif
# Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS)
diff --git a/arm9/Makefile b/arm9/Makefile
index 42f86232..4d4b553c 100644
--- a/arm9/Makefile
+++ b/arm9/Makefile
@@ -202,7 +202,12 @@ $(ROM): $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(STATIC_LIBS)
cd $(BUILD_DIR) && LM_LICENSE_FILE=../../$(LM_LICENSE_FILE) $(WINE) ../../$(MWLDARM) $(LDFLAGS) $(LIBS) -o ../../$(ELF) $(LD_SCRIPT) $(O_FILES:$(BUILD_DIR)/%=%)
$(OBJCOPY) $(foreach ov,arm9 $(OVERLAYS),--update-section $(ov)=$(BUILD_DIR)/$(ov).sbin -j $(ov)) $(ELF) 2>/dev/null
-$(BUILD_DIR)/lib/libsyscall.a: $(BUILD_DIR)/lib/syscall/secure.o
+ifeq ($(SHIFTED),0)
+SYSCALL_OBJS := $(BUILD_DIR)/lib/syscall/secure.o
+else
+SYSCALL_OBJS := $(BUILD_DIR)/lib/syscall/_svc_mw.o
+endif
+$(BUILD_DIR)/lib/libsyscall.a: $(SYSCALL_OBJS)
$(AR) $(ARFLAGS) -o $@ $^
# Make sure build directory exists before compiling anything
diff --git a/config.mk b/config.mk
index 704634f3..f861fdfb 100644
--- a/config.mk
+++ b/config.mk
@@ -1,6 +1,10 @@
GAME_VERSION ?= DIAMOND
GAME_LANGUAGE ?= ENGLISH
COMPARE ?= 1
+SHIFTED ?= 0
+ifneq ($(SHIFTED),0)
+COMPARE := 0
+endif
ifeq ($(GAME_VERSION),DIAMOND)
GAME_CODE := ADA
@@ -37,3 +41,5 @@ endif
endif
BUILD_TARGET := poke$(BUILD_NAME)
+
+MAKE_VARS := SHIFTED=$(SHIFTED) COMPARE=$(COMPARE) GAME_LANGUAGE=$(GAME_LANGUAGE) GAME_VERSION=$(GAME_VERSION)