summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml4
-rw-r--r--.travis/post_failed.sh8
-rw-r--r--Makefile31
-rw-r--r--config.mk3
-rw-r--r--data/fat.s359
-rw-r--r--data/filenametable.s1160
-rw-r--r--filesystem.mk14
-rw-r--r--pokediamond.lcf1468
-rw-r--r--pokediamond.rsf2
-rw-r--r--tools/fixrom/.gitignore1
-rw-r--r--tools/fixrom/Makefile13
-rw-r--r--tools/fixrom/fixrom.c190
-rw-r--r--tools/scaninc/source_file.cpp14
13 files changed, 241 insertions, 3026 deletions
diff --git a/.travis.yml b/.travis.yml
index 32b091c5..72ec8878 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,6 +12,7 @@ addons:
- binutils-arm-none-eabi
- wine32
- wine-stable
+ - jq
cache:
apt: true
install:
@@ -33,6 +34,3 @@ notifications:
after_success:
- .travis/calcrom/webhook.sh pokediamond
-
-after_failure:
- - .travis/post_failed.sh pokediamond
diff --git a/.travis/post_failed.sh b/.travis/post_failed.sh
deleted file mode 100644
index 310c7748..00000000
--- a/.travis/post_failed.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash -ex
-
-ZIPFILE=${HOME}/pokediamond.zip
-
-build_name=${1:-pokediamond}
-zip -r ${ZIPFILE} ${TRAVIS_BUILD_DIR}
-ANONFILES_URL=$(curl -F "file=@$ZIPFILE" https://api.anonfiles.com/upload | grep -Po '"short": "\K[^"]*')
-curl -d "{\"username\": \"$CALCROM_DISCORD_WEBHOOK_USERNAME\", \"avatar_url\": \"$CALCROM_DISCORD_WEBHOOK_AVATAR_URL_NOTOK\", \"content\":\"ERROR IN $build_name\\nBranch: $TRAVIS_BRANCH\\nPull request: $TRAVIS_PULL_REQUEST\\nBuild state: $ANONFILES_URL\"}" -H "Content-Type: application/json" -X POST $CALCROM_DISCORD_WEBHOOK_URL
diff --git a/Makefile b/Makefile
index 828e754b..662cb2c5 100644
--- a/Makefile
+++ b/Makefile
@@ -209,13 +209,14 @@ LDFLAGS = -map -nodead -w off -proc v5te -interworking -map -symtab -m _start
# DS TOOLS
TOOLS_DIR = tools
SHA1SUM = sha1sum
-CSV2BIN = $(TOOLS_DIR)/csv2bin/csv2bin
-JSONPROC = $(TOOLS_DIR)/jsonproc/jsonproc
-O2NARC = $(TOOLS_DIR)/o2narc/o2narc
-GFX = $(TOOLS_DIR)/nitrogfx/nitrogfx
+CSV2BIN = $(TOOLS_DIR)/csv2bin/csv2bin$(EXE)
+JSONPROC = $(TOOLS_DIR)/jsonproc/jsonproc$(EXE)
+O2NARC = $(TOOLS_DIR)/o2narc/o2narc$(EXE)
+GFX = $(TOOLS_DIR)/nitrogfx/nitrogfx$(EXE)
MWASMARM_PATCHER = $(TOOLS_DIR)/mwasmarm_patcher/mwasmarm_patcher$(EXE) -q
MAKEBANNER = $(WINE) $(TOOLS_DIR)/bin/makebanner.exe
-MAKEROM = $(WIND) $(TOOLS_DIR)/bin/makerom.exe
+MAKEROM = $(WINE) $(TOOLS_DIR)/bin/makerom.exe
+FIXROM = $(TOOLS_DIR)/fixrom/fixrom$(EXE)
TOOLDIRS = $(filter-out $(TOOLS_DIR)/mwccarm $(TOOLS_DIR)/bin,$(wildcard $(TOOLS_DIR)/*))
TOOLBASE = $(TOOLDIRS:$(TOOLS_DIR)/%=%)
@@ -291,9 +292,6 @@ $(BUILD_DIR)/%.o: %.c $$(dep)
$(BUILD_DIR)/%.o: %.s $$(dep)
$(AS) $(ASFLAGS) $< -o $@
-$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT)
- $(CPP) $(VERSION_CFLAGS) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $<
-
$(SBINFILES): arm9 arm7
arm9:
@@ -302,26 +300,17 @@ arm9:
arm7:
$(MAKE) -C arm7 COMPARE=$(COMPARE)
-$(BINFILES): %.bin: %.sbin
- @# Hack because mwldarm doesn't like the sbin suffix
- @cp $< $@
-
-$(ELF): $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(BINFILES) $(BUILD_DIR)/pokediamond_bnr.bin
- $(LD) $(LDFLAGS) -o $@ $^
-
-$(ROM): $(ELF)
- $(OBJCOPY) -O binary --gap-fill=0xFF --pad-to=0x04000000 $< $@
+include filesystem.mk
# TODO: Rules for Pearl
# FIXME: Computed secure area CRC in header is incorrect due to first 8 bytes of header not actually being "encryObj"
-#$(ROM): pokediamond.rsf $(BUILD_DIR)/pokediamond_bnr.bin $(SBINFILES) $(HOSTFS_FILES)
-# $(MAKEROM) -DNITROFS_FILES="$(NITROFS_FILES)" $< $@
+$(ROM): pokediamond.rsf $(BUILD_DIR)/pokediamond_bnr.bin $(SBINFILES) $(HOSTFS_FILES) tools/bin/rom_header.template.sbin
+ $(MAKEROM) -DNITROFS_FILES="$(NITROFS_FILES)" $< $@
+ $(FIXROM) $@ --secure-crc $(SECURE_CRC) --game-code $(GAME_CODE)
# Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS)
-include filesystem.mk
-
%.4bpp: %.png
$(GFX) $< $@
diff --git a/config.mk b/config.mk
index b112c988..4a16fe5c 100644
--- a/config.mk
+++ b/config.mk
@@ -1,2 +1,5 @@
GAME_VERSION := DIAMOND
GAME_LANGUAGE := ENGLISH
+
+GAME_CODE := ADAE
+SECURE_CRC := 0x5931
diff --git a/data/fat.s b/data/fat.s
deleted file mode 100644
index 7188a59a..00000000
--- a/data/fat.s
+++ /dev/null
@@ -1,359 +0,0 @@
- .text
- .global FileAllocationTable
-FileAllocationTable:
- .word 0x0010C400, 0x0010C420
- .word 0x0010C600, 0x0010C620
- .word 0x0010C800, 0x0010C820
- .word 0x0010CA00, 0x0010CA20
- .word 0x0010CC00, 0x001452E0
- .word 0x00145400, 0x0016B5A0
- .word 0x0016B600, 0x00184380
- .word 0x00184400, 0x001876E0
- .word 0x00187800, 0x001A2F60
- .word 0x001A3000, 0x001AD1A0
- .word 0x001AD200, 0x001AD220
- .word 0x001AD400, 0x001DFDE0
- .word 0x001DFE00, 0x001F9060
- .word 0x001F9200, 0x00227DE0
- .word 0x00227E00, 0x00237320
- .word 0x00237400, 0x0023BA80
- .word 0x0023BC00, 0x00264100
- .word 0x00264200, 0x0026B080
- .word 0x0026B200, 0x00282EE0
- .word 0x00283000, 0x00283100
- .word 0x00283200, 0x00285600
- .word 0x00285600, 0x00285BC0
- .word 0x00285C00, 0x00286B00
- .word 0x00286C00, 0x00288500
- .word 0x00288600, 0x00288FA0
- .word 0x00289000, 0x00289560
- .word 0x00289600, 0x00289E00
- .word 0x00289E00, 0x0028A9A0
- .word 0x0028AA00, 0x0028C180
- .word 0x0028C200, 0x0028CB00
- .word 0x0028CC00, 0x0028D200
- .word 0x0028D200, 0x0028D800
- .word 0x0028D800, 0x0028DCA0
- .word 0x0028DE00, 0x0028E120
- .word 0x0028E200, 0x0028E6C0
- .word 0x0028E800, 0x0028F1A0
- .word 0x0028F200, 0x0028FEC0
- .word 0x00290000, 0x00290560
- .word 0x00290600, 0x00291140
- .word 0x00291200, 0x00291EC0
- .word 0x00292000, 0x00292C60
- .word 0x00292E00, 0x00293F40
- .word 0x00294000, 0x00294900
- .word 0x00294A00, 0x002953C0
- .word 0x00295400, 0x002958A0
- .word 0x00295A00, 0x00296340
- .word 0x00296400, 0x00296720
- .word 0x00296800, 0x002974A0
- .word 0x00297600, 0x00297EA0
- .word 0x00298000, 0x00298600
- .word 0x00298600, 0x00298920
- .word 0x00298A00, 0x002999C0
- .word 0x00299A00, 0x00299E00
- .word 0x00299E00, 0x0029C280
- .word 0x0029C400, 0x0029E780
- .word 0x0029E800, 0x002A1840
- .word 0x002A1A00, 0x002A61A0
- .word 0x002A6200, 0x002A8740
- .word 0x002A8800, 0x002A9DA0
- .word 0x002A9E00, 0x002ACA20
- .word 0x002ACC00, 0x002AD900
- .word 0x002ADA00, 0x002AEA80
- .word 0x002AEC00, 0x002B29E0
- .word 0x002B2A00, 0x002B74C0
- .word 0x002B7600, 0x002B9240
- .word 0x002B9400, 0x002BC400
- .word 0x002BC400, 0x002BEA60
- .word 0x002BEC00, 0x002C1040
- .word 0x002C1200, 0x002C2800
- .word 0x002C2800, 0x002C4BA0
- .word 0x002C4C00, 0x002C5A20
- .word 0x002C5C00, 0x002C9AC0
- .word 0x002C9C00, 0x002C9C20
- .word 0x002C9E00, 0x002CE8E0
- .word 0x002CEA00, 0x002CFC20
- .word 0x002CFE00, 0x002D5BE0
- .word 0x002D5C00, 0x002D7A20
- .word 0x002D7C00, 0x002D97E0
- .word 0x002D9800, 0x002D9C60
- .word 0x002D9E00, 0x002DF0C0
- .word 0x002DF200, 0x002E9920
- .word 0x002E9A00, 0x002EEF80
- .word 0x002EF000, 0x002F1540
- .word 0x002F1600, 0x002FF8A0
- .word 0x002FFA00, 0x00303320
- .word 0x00303400, 0x0030C500
- .word 0x0030C600, 0x0030CE20
- .word 0x03810200, 0x0381EF8C
- .word 0x037B2400, 0x037D7674
- .word 0x037D7800, 0x037D84C8
- .word 0x037ACA00, 0x037B2218
- .word 0x03938000, 0x039497E0
- .word 0x03949800, 0x0395AFC8
- .word 0x03835000, 0x0383E200
- .word 0x0383E200, 0x03841CB8
- .word 0x03841E00, 0x03842524
- .word 0x03842600, 0x038431CC
- .word 0x03843200, 0x0385A558
- .word 0x0385A600, 0x0385A980
- .word 0x0392A200, 0x0392FB5C
- .word 0x0392FC00, 0x03937FC0
- .word 0x01C35400, 0x01C3A304
- .word 0x01C3A400, 0x01C4C6A8
- .word 0x01C4C800, 0x01CE8C7C
- .word 0x01CE8E00, 0x01D0905C
- .word 0x01D09200, 0x01D0E380
- .word 0x01D4F800, 0x01D539FC
- .word 0x01D53A00, 0x01D60138
- .word 0x01D60200, 0x01D61B10
- .word 0x0382AA00, 0x03834FD0
- .word 0x037A0C00, 0x037A433C
- .word 0x03787200, 0x0379AD44
- .word 0x0379AE00, 0x037A0B24
- .word 0x00339200, 0x00339A22
- .word 0x00339C00, 0x0033A3E8
- .word 0x0033A400, 0x0033AC42
- .word 0x0033AE00, 0x0033B624
- .word 0x0033B800, 0x0033B834
- .word 0x0033BA00, 0x0033BA40
- .word 0x0033BC00, 0x0033BC34
- .word 0x0033BE00, 0x0033BE34
- .word 0x0033C000, 0x0033C034
- .word 0x0033C200, 0x0033E230
- .word 0x0033E400, 0x0033E628
- .word 0x0033E800, 0x0033E86F
- .word 0x0033EA00, 0x0033F704
- .word 0x0033F800, 0x003B2E2C
- .word 0x003B3000, 0x003B3170
- .word 0x003B3200, 0x003B3428
- .word 0x003B3600, 0x003B3636
- .word 0x003B3800, 0x003B3826
- .word 0x003B3A00, 0x003B3A26
- .word 0x003B3C00, 0x003B3C2B
- .word 0x003B3E00, 0x003B3E10
- .word 0x003B4000, 0x003B4010
- .word 0x003B4200, 0x003B422D
- .word 0x003B4400, 0x003B4978
- .word 0x003B4A00, 0x003FAA00
- .word 0x003FAA00, 0x003FAB24
- .word 0x003FAC00, 0x00407E20
- .word 0x00408000, 0x00408048
- .word 0x00408200, 0x00408248
- .word 0x00408400, 0x00408448
- .word 0x00408600, 0x00408648
- .word 0x00408800, 0x00408848
- .word 0x00408A00, 0x00408A48
- .word 0x00408C00, 0x00408C48
- .word 0x00408E00, 0x00408E48
- .word 0x00409000, 0x00409048
- .word 0x00409200, 0x00409248
- .word 0x00409400, 0x00409448
- .word 0x00409600, 0x00409DF4
- .word 0x00409E00, 0x00411E30
- .word 0x00412000, 0x00412228
- .word 0x00412400, 0x00412C24
- .word 0x00412E00, 0x00412E14
- .word 0x00413000, 0x00414150
- .word 0x00414200, 0x00415388
- .word 0x00415400, 0x00415978
- .word 0x00415A00, 0x00416B88
- .word 0x00416C00, 0x00417178
- .word 0x00417200, 0x004174C8
- .word 0x00417600, 0x0041B558
- .word 0x0041B600, 0x00423630
- .word 0x00423800, 0x00423A28
- .word 0x00423C00, 0x00423D8C
- .word 0x00423E00, 0x00423EC4
- .word 0x00424000, 0x004240C4
- .word 0x00424200, 0x0042433C
- .word 0x00424400, 0x004245A0
- .word 0x00424600, 0x00424694
- .word 0x00424800, 0x0042484C
- .word 0x00424A00, 0x00424A60
- .word 0x00424C00, 0x00424C4C
- .word 0x00424E00, 0x00424E4C
- .word 0x00425000, 0x00425034
- .word 0x00425200, 0x004253B4
- .word 0x00425400, 0x004255B4
- .word 0x00425600, 0x00425A24
- .word 0x00425C00, 0x00426180
- .word 0x00426200, 0x004262AC
- .word 0x00426400, 0x00426464
- .word 0x00426600, 0x00426664
- .word 0x00426800, 0x00426864
- .word 0x00426A00, 0x00426A80
- .word 0x00426C00, 0x00426C4C
- .word 0x00426E00, 0x0043C744
- .word 0x0043C800, 0x0043C8A3
- .word 0x0043CA00, 0x0043CAD7
- .word 0x0043CC00, 0x0043D8B0
- .word 0x0043DA00, 0x0043DC28
- .word 0x0043DE00, 0x0043DE6F
- .word 0x0043E000, 0x0043E063
- .word 0x0043E200, 0x0043E430
- .word 0x0043E600, 0x0043E828
- .word 0x0043EA00, 0x0043EC50
- .word 0x0043EE00, 0x0043F050
- .word 0x0043F200, 0x0043F450
- .word 0x0043F600, 0x0043F850
- .word 0x0043FA00, 0x00440200
- .word 0x00440200, 0x00441314
- .word 0x00441400, 0x004416DC
- .word 0x00441800, 0x00441894
- .word 0x00441A00, 0x00441AC0
- .word 0x00441C00, 0x00441D0C
- .word 0x00441E00, 0x00441E94
- .word 0x00442000, 0x00442094
- .word 0x00442200, 0x0044224C
- .word 0x00442400, 0x004424AA
- .word 0x00442600, 0x004426BA
- .word 0x00442800, 0x004428DC
- .word 0x00442A00, 0x00442A95
- .word 0x00442C00, 0x00445674
- .word 0x00445800, 0x00445A64
- .word 0x00445C00, 0x0044B880
- .word 0x0044BA00, 0x0044C094
- .word 0x0044C200, 0x0044D430
- .word 0x0044D600, 0x0044D828
- .word 0x0044DA00, 0x004518D8
- .word 0x00451A00, 0x00451AF9
- .word 0x00451C00, 0x00451D09
- .word 0x00451E00, 0x00451ED6
- .word 0x00452000, 0x004520A2
- .word 0x00452200, 0x00452730
- .word 0x00452800, 0x00472F9C
- .word 0x00473000, 0x00476868
- .word 0x00476A00, 0x004945AC
- .word 0x00494600, 0x00499368
- .word 0x00499400, 0x0049944C
- .word 0x00499600, 0x0049964C
- .word 0x00499800, 0x0049984C
- .word 0x00499A00, 0x00499A4C
- .word 0x00499C00, 0x00499C60
- .word 0x00499E00, 0x00499E34
- .word 0x0049A000, 0x0049A034
- .word 0x0049A200, 0x004A4434
- .word 0x00339000, 0x003391EA
- .word 0x004A4600, 0x0057FAC0
- .word 0x0057FC00, 0x0058F4A8
- .word 0x0058F600, 0x0058F840
- .word 0x0058FA00, 0x0059334C
- .word 0x00593400, 0x00597214
- .word 0x00597400, 0x00597640
- .word 0x00597800, 0x00597A28
- .word 0x02242200, 0x0225E098
- .word 0x02119C00, 0x0224205C
- .word 0x00597C00, 0x00CBB160
- .word 0x0381F000, 0x03821AFC
- .word 0x03821C00, 0x038241EC
- .word 0x03863600, 0x0387E98C
- .word 0x0387EA00, 0x0388C9E0
- .word 0x03861000, 0x03863494
- .word 0x03923C00, 0x0392A0C4
- .word 0x0388CA00, 0x03923B88
- .word 0x037D8600, 0x03810110
- .word 0x0397AA00, 0x03A55EC0
- .word 0x02715000, 0x027153E4
- .word 0x02715400, 0x02716674
- .word 0x02716800, 0x0283BCB4
- .word 0x0283BE00, 0x0296EB50
- .word 0x0296EC00, 0x0296F0D8
- .word 0x0253C200, 0x027107CC
- .word 0x02710800, 0x02711F24
- .word 0x02515600, 0x02528B04
- .word 0x02528C00, 0x0253C104
- .word 0x024F3200, 0x025154F4
- .word 0x0296F200, 0x0378712C
- .word 0x02712000, 0x02714E18
- .word 0x0385AA00, 0x0385CCF0
- .word 0x03824200, 0x03824464
- .word 0x03860E00, 0x03860F94
- .word 0x01D70800, 0x01DA61D8
- .word 0x01DA6200, 0x01DBFE74
- .word 0x01DC0000, 0x01DDBB20
- .word 0x01DDBC00, 0x01DDFDF8
- .word 0x01DDFE00, 0x01DE00AC
- .word 0x01DE0200, 0x01DE7D18
- .word 0x01DE7E00, 0x01DE841C
- .word 0x01DE8600, 0x01DE889C
- .word 0x01DE8A00, 0x01E3A09C
- .word 0x01E3A200, 0x01E5C724
- .word 0x01E5C800, 0x01E5F17C
- .word 0x01E5F200, 0x01E69AFC
- .word 0x01E69C00, 0x01E73308
- .word 0x01E73400, 0x01E73764
- .word 0x01E73800, 0x01E94658
- .word 0x01E94800, 0x01E94DA4
- .word 0x01E94E00, 0x01E9CC14
- .word 0x01E9CE00, 0x01EDB430
- .word 0x01EDB600, 0x01EF5730
- .word 0x01EF5800, 0x01EFA370
- .word 0x01EFA400, 0x01EFB4B8
- .word 0x01EFB600, 0x01F02EC4
- .word 0x01F03000, 0x01F2FE70
- .word 0x01F30000, 0x01F5C2F4
- .word 0x01F5C400, 0x01F5D924
- .word 0x01F5DA00, 0x01F645BC
- .word 0x01F64600, 0x01F6E2AC
- .word 0x01F6E400, 0x01F71564
- .word 0x01F71600, 0x01F7FBC4
- .word 0x01F7FC00, 0x01F865E4
- .word 0x01F86600, 0x01F87AAC
- .word 0x01F87C00, 0x01F89E6C
- .word 0x01F8A000, 0x01FA90B0
- .word 0x01FA9200, 0x01FAA6C8
- .word 0x01FAA800, 0x01FB01C4
- .word 0x01FB0200, 0x01FB2940
- .word 0x01FB2A00, 0x01FC7910
- .word 0x01FC7A00, 0x01FC8398
- .word 0x01FC8400, 0x01FFFFE0
- .word 0x02000000, 0x02001210
- .word 0x02001400, 0x02004334
- .word 0x02004400, 0x0200CCE4
- .word 0x0200CE00, 0x020184D8
- .word 0x02018600, 0x0201D22C
- .word 0x0201D400, 0x0207DCB0
- .word 0x0207DE00, 0x0207E334
- .word 0x00CBB200, 0x00F4D210
- .word 0x00F4D400, 0x00F4EE5C
- .word 0x037A4400, 0x037AC9FC
- .word 0x03824600, 0x0382A944
- .word 0x0385CE00, 0x0385D218
- .word 0x0385D400, 0x0385D56C
- .word 0x0207E400, 0x0210B4F0
- .word 0x01C1B000, 0x01C215F8
- .word 0x01C21600, 0x01C22314
- .word 0x01C14A00, 0x01C1AFF8
- .word 0x01C22400, 0x01C227EA
- .word 0x01C22800, 0x01C27140
- .word 0x0385D600, 0x03860C44
- .word 0x0210B600, 0x02119AEC
- .word 0x00F4F000, 0x00F54A44
- .word 0x00F54C00, 0x00F55294
- .word 0x00F55400, 0x0102EAEC
- .word 0x0102EC00, 0x0102EE2C
- .word 0x0102F000, 0x0102F22C
- .word 0x0102F400, 0x0102F62C
- .word 0x0102F800, 0x01B6B274
- .word 0x01C27200, 0x01C2CF2C
- .word 0x01C2D000, 0x01C32594
- .word 0x01B6B400, 0x01B78074
- .word 0x01B78200, 0x01C14844
- .word 0x01C32600, 0x01C34B84
- .word 0x01C34C00, 0x01C352E0
- .word 0x01D6DA00, 0x01D7065C
- .word 0x0395B000, 0x03968BE4
- .word 0x03968C00, 0x0397A91C
- .word 0x01D0E400, 0x01D4C44C
- .word 0x01D4C600, 0x01D4F624
- .word 0x01D61C00, 0x01D630F4
- .word 0x01D63200, 0x01D64450
- .word 0x01D64600, 0x01D6C734
- .word 0x01D6C800, 0x01D6D980
- .word 0x0225E200, 0x022ACA44
- .word 0x022ACC00, 0x024F2410
- .word 0x024F2600, 0x024F31C8
diff --git a/data/filenametable.s b/data/filenametable.s
deleted file mode 100644
index 7ff82dc8..00000000
--- a/data/filenametable.s
+++ /dev/null
@@ -1,1160 +0,0 @@
- .section .text
- .global FileNameTable
-FileNameTable:
- .word 0x00000228 ; offset
- .short 0x0057 ; first file
- .short 0x0045 ; dir count
- .word 0x000002CD ; offset
- .short 0x0057 ; first file
- .short 0xF000 ; parent id
- .word 0x000002F5 ; offset
- .short 0x0057 ; first file
- .short 0xF001 ; parent id
- .word 0x000002FD ; offset
- .short 0x0057 ; first file
- .short 0xF002 ; parent id
- .word 0x0000030B ; offset
- .short 0x0058 ; first file
- .short 0xF001 ; parent id
- .word 0x00000332 ; offset
- .short 0x005A ; first file
- .short 0xF001 ; parent id
- .word 0x0000033E ; offset
- .short 0x005A ; first file
- .short 0xF005 ; parent id
- .word 0x0000037B ; offset
- .short 0x005D ; first file
- .short 0xF000 ; parent id
- .word 0x000003CF ; offset
- .short 0x0063 ; first file
- .short 0xF000 ; parent id
- .word 0x000003F4 ; offset
- .short 0x0063 ; first file
- .short 0xF008 ; parent id
- .word 0x0000040B ; offset
- .short 0x0065 ; first file
- .short 0xF008 ; parent id
- .word 0x00000458 ; offset
- .short 0x006A ; first file
- .short 0xF008 ; parent id
- .word 0x00000480 ; offset
- .short 0x006D ; first file
- .short 0xF008 ; parent id
- .word 0x00000490 ; offset
- .short 0x006E ; first file
- .short 0xF000 ; parent id
- .word 0x000004A2 ; offset
- .short 0x006E ; first file
- .short 0xF00D ; parent id
- .word 0x000004B5 ; offset
- .short 0x006F ; first file
- .short 0xF00D ; parent id
- .word 0x000004D7 ; offset
- .short 0x0071 ; first file
- .short 0xF000 ; parent id
- .word 0x00000D2E ; offset
- .short 0x00F4 ; first file
- .short 0xF010 ; parent id
- .word 0x00000D47 ; offset
- .short 0x00F6 ; first file
- .short 0xF010 ; parent id
- .word 0x00000D58 ; offset
- .short 0x00F7 ; first file
- .short 0xF000 ; parent id
- .word 0x00000D83 ; offset
- .short 0x00F7 ; first file
- .short 0xF013 ; parent id
- .word 0x00000D8B ; offset
- .short 0x00F7 ; first file
- .short 0xF014 ; parent id
- .word 0x00000DA5 ; offset
- .short 0x00F8 ; first file
- .short 0xF015 ; parent id
- .word 0x00000DBD ; offset
- .short 0x00F9 ; first file
- .short 0xF013 ; parent id
- .word 0x00000DD7 ; offset
- .short 0x00FB ; first file
- .short 0xF013 ; parent id
- .word 0x00000DDF ; offset
- .short 0x00FB ; first file
- .short 0xF018 ; parent id
- .word 0x00000DEB ; offset
- .short 0x00FB ; first file
- .short 0xF019 ; parent id
- .word 0x00000E06 ; offset
- .short 0x00FC ; first file
- .short 0xF013 ; parent id
- .word 0x00000E15 ; offset
- .short 0x00FD ; first file
- .short 0xF013 ; parent id
- .word 0x00000E32 ; offset
- .short 0x00FF ; first file
- .short 0xF000 ; parent id
- .word 0x00000E3F ; offset
- .short 0x0100 ; first file
- .short 0xF000 ; parent id
- .word 0x00000EB9 ; offset
- .short 0x0100 ; first file
- .short 0xF01E ; parent id
- .word 0x00000EFD ; offset
- .short 0x0101 ; first file
- .short 0xF01F ; parent id
- .word 0x00000F21 ; offset
- .short 0x0103 ; first file
- .short 0xF01F ; parent id
- .word 0x00000F33 ; offset
- .short 0x0104 ; first file
- .short 0xF01F ; parent id
- .word 0x00000F49 ; offset
- .short 0x0105 ; first file
- .short 0xF01E ; parent id
- .word 0x00000F72 ; offset
- .short 0x0107 ; first file
- .short 0xF01E ; parent id
- .word 0x00000F93 ; offset
- .short 0x0109 ; first file
- .short 0xF01E ; parent id
- .word 0x00000FAC ; offset
- .short 0x010A ; first file
- .short 0xF01E ; parent id
- .word 0x00000FC4 ; offset
- .short 0x010B ; first file
- .short 0xF01E ; parent id
- .word 0x00000FD5 ; offset
- .short 0x010C ; first file
- .short 0xF01E ; parent id
- .word 0x00000FE2 ; offset
- .short 0x010D ; first file
- .short 0xF01E ; parent id
- .word 0x00000FF8 ; offset
- .short 0x010E ; first file
- .short 0xF01E ; parent id
- .word 0x00001008 ; offset
- .short 0x010F ; first file
- .short 0xF01E ; parent id
- .word 0x0000101E ; offset
- .short 0x0110 ; first file
- .short 0xF000 ; parent id
- .word 0x00001285 ; offset
- .short 0x013A ; first file
- .short 0xF000 ; parent id
- .word 0x00001291 ; offset
- .short 0x013A ; first file
- .short 0xF02D ; parent id
- .word 0x000012BF ; offset
- .short 0x013D ; first file
- .short 0xF000 ; parent id
- .word 0x000012D4 ; offset
- .short 0x013E ; first file
- .short 0xF02F ; parent id
- .word 0x000012E2 ; offset
- .short 0x013F ; first file
- .short 0xF000 ; parent id
- .word 0x000012F5 ; offset
- .short 0x0140 ; first file
- .short 0xF000 ; parent id
- .word 0x00001304 ; offset
- .short 0x0141 ; first file
- .short 0xF000 ; parent id
- .word 0x00001378 ; offset
- .short 0x0143 ; first file
- .short 0xF033 ; parent id
- .word 0x00001388 ; offset
- .short 0x0144 ; first file
- .short 0xF033 ; parent id
- .word 0x000013C1 ; offset
- .short 0x0149 ; first file
- .short 0xF033 ; parent id
- .word 0x000013CF ; offset
- .short 0x014A ; first file
- .short 0xF033 ; parent id
- .word 0x000013DE ; offset
- .short 0x014B ; first file
- .short 0xF033 ; parent id
- .word 0x0000144A ; offset
- .short 0x0152 ; first file
- .short 0xF033 ; parent id
- .word 0x00001463 ; offset
- .short 0x0154 ; first file
- .short 0xF033 ; parent id
- .word 0x0000147C ; offset
- .short 0x0156 ; first file
- .short 0xF033 ; parent id
- .word 0x00001496 ; offset
- .short 0x0158 ; first file
- .short 0xF033 ; parent id
- .word 0x000014A5 ; offset
- .short 0x0159 ; first file
- .short 0xF000 ; parent id
- .word 0x000014AC ; offset
- .short 0x0159 ; first file
- .short 0xF03D ; parent id
- .word 0x000014BD ; offset
- .short 0x0159 ; first file
- .short 0xF03E ; parent id
- .word 0x000014C9 ; offset
- .short 0x015A ; first file
- .short 0xF03E ; parent id
- .word 0x000014D5 ; offset
- .short 0x015B ; first file
- .short 0xF000 ; parent id
- .word 0x0000150F ; offset
- .short 0x015D ; first file
- .short 0xF041 ; parent id
- .word 0x00001543 ; offset
- .short 0x0161 ; first file
- .short 0xF041 ; parent id
- .word 0x0000156A ; offset
- .short 0x0163 ; first file
- .short 0xF041 ; parent id
-
- ; Directory: /
- .byte 11 | 0x80
- .ascii "application"
- .byte 0x01, 0xF0 ; dir ID
- .byte 3 | 0x80
- .ascii "arc"
- .byte 0x07, 0xF0 ; dir ID
- .byte 6 | 0x80
- .ascii "battle"
- .byte 0x08, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "contest"
- .byte 0x0D, 0xF0 ; dir ID
- .byte 4 | 0x80
- .ascii "data"
- .byte 0x10, 0xF0 ; dir ID
- .byte 4 | 0x80
- .ascii "demo"
- .byte 0x13, 0xF0 ; dir ID
- .byte 3 | 0x80
- .ascii "dwc"
- .byte 0x1D, 0xF0 ; dir ID
- .byte 9 | 0x80
- .ascii "fielddata"
- .byte 0x1E, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "graphic"
- .byte 0x2C, 0xF0 ; dir ID
- .byte 8 | 0x80
- .ascii "itemtool"
- .byte 0x2D, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "msgdata"
- .byte 0x2F, 0xF0 ; dir ID
- .byte 12 | 0x80
- .ascii "particledata"
- .byte 0x31, 0xF0 ; dir ID
- .byte 9 | 0x80
- .ascii "pokeanime"
- .byte 0x32, 0xF0 ; dir ID
- .byte 8 | 0x80
- .ascii "poketool"
- .byte 0x33, 0xF0 ; dir ID
- .byte 8 | 0x80
- .ascii "resource"
- .byte 0x3D, 0xF0 ; dir ID
- .byte 10 | 0x80
- .ascii "wazaeffect"
- .byte 0x41, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /application
- .byte 11 | 0x80
- .ascii "custom_ball"
- .byte 0x02, 0xF0 ; dir ID
- .byte 10 | 0x80
- .ascii "wifi_earth"
- .byte 0x04, 0xF0 ; dir ID
- .byte 9 | 0x80
- .ascii "zukanlist"
- .byte 0x05, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /application/custom_ball
- .byte 4 | 0x80
- .ascii "data"
- .byte 0x03, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /application/custom_ball/data
- .byte 12
- .ascii "cb_data.narc"
- .byte 0 ; end
-
- ; Directory: /application/wifi_earth
- .byte 15
- .ascii "wifi_earth.narc"
- .byte 21
- .ascii "wifi_earth_place.narc"
- .byte 0 ; end
-
- ; Directory: /application/zukanlist
- .byte 8 | 0x80
- .ascii "zkn_data"
- .byte 0x06, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /application/zukanlist/zkn_data
- .byte 15
- .ascii "zukan_data.narc"
- .byte 22
- .ascii "zukan_enc_diamond.narc"
- .byte 20
- .ascii "zukan_enc_pearl.narc"
- .byte 0 ; end
-
- ; Directory: /arc
- .byte 13
- .ascii "bm_anime.narc"
- .byte 18
- .ascii "bm_anime_list.narc"
- .byte 15
- .ascii "encdata_ex.narc"
- .byte 10
- .ascii "ppark.narc"
- .byte 14
- .ascii "ship_demo.narc"
- .byte 7
- .ascii "tv.narc"
- .byte 0 ; end
-
- ; Directory: /battle
- .byte 7 | 0x80
- .ascii "b_tower"
- .byte 0x09, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "graphic"
- .byte 0x0A, 0xF0 ; dir ID
- .byte 5 | 0x80
- .ascii "skill"
- .byte 0x0B, 0xF0 ; dir ID
- .byte 5 | 0x80
- .ascii "tr_ai"
- .byte 0x0C, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /battle/b_tower
- .byte 10
- .ascii "btdpm.narc"
- .byte 10
- .ascii "btdtr.narc"
- .byte 0 ; end
-
- ; Directory: /battle/graphic
- .byte 14
- .ascii "b_bag_gra.narc"
- .byte 16
- .ascii "b_plist_gra.narc"
- .byte 12
- .ascii "batt_bg.narc"
- .byte 13
- .ascii "batt_obj.narc"
- .byte 16
- .ascii "vs_demo_gra.narc"
- .byte 0 ; end
-
- ; Directory: /battle/skill
- .byte 11
- .ascii "be_seq.narc"
- .byte 12
- .ascii "sub_seq.narc"
- .byte 13
- .ascii "waza_seq.narc"
- .byte 0 ; end
-
- ; Directory: /battle/tr_ai
- .byte 14
- .ascii "tr_ai_seq.narc"
- .byte 0 ; end
-
- ; Directory: /contest
- .byte 4 | 0x80
- .ascii "data"
- .byte 0x0E, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "graphic"
- .byte 0x0F, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /contest/data
- .byte 17
- .ascii "contest_data.narc"
- .byte 0 ; end
-
- ; Directory: /contest/graphic
- .byte 15
- .ascii "contest_bg.narc"
- .byte 16
- .ascii "contest_obj.narc"
- .byte 0 ; end
-
- ; Directory: /data
- .byte 15
- .ascii "area00light.txt"
- .byte 15
- .ascii "area01light.txt"
- .byte 15
- .ascii "area02light.txt"
- .byte 15
- .ascii "battle_win.NSCR"
- .byte 18
- .ascii "btower_canm.resdat"
- .byte 19
- .ascii "btower_celact.cldat"
- .byte 18
- .ascii "btower_cell.resdat"
- .byte 17
- .ascii "btower_chr.resdat"
- .byte 17
- .ascii "btower_pal.resdat"
- .byte 10
- .ascii "cell0.NCGR"
- .byte 10
- .ascii "cell0.NCLR"
- .byte 18
- .ascii "clact_default.NANR"
- .byte 13
- .ascii "crystal.nsbmd"
- .byte 16
- .ascii "demo_climax.narc"
- .byte 18
- .ascii "dp_areawindow.NCGR"
- .byte 18
- .ascii "dp_areawindow.NCLR"
- .byte 18
- .ascii "dt_test_celact.txt"
- .byte 20
- .ascii "dt_test_res_cell.txt"
- .byte 23
- .ascii "dt_test_res_cellanm.txt"
- .byte 20
- .ascii "dt_test_res_char.txt"
- .byte 21
- .ascii "dt_test_res_multi.txt"
- .byte 24
- .ascii "dt_test_res_multianm.txt"
- .byte 20
- .ascii "dt_test_res_pltt.txt"
- .byte 13
- .ascii "dun_sea.nsbtx"
- .byte 7
- .ascii "eoo.dat"
- .byte 10
- .ascii "exdata.dat"
- .byte 16
- .ascii "field_cutin.narc"
- .byte 14
- .ascii "fld_anime0.bin"
- .byte 14
- .ascii "fld_anime1.bin"
- .byte 15
- .ascii "fld_anime10.bin"
- .byte 14
- .ascii "fld_anime2.bin"
- .byte 14
- .ascii "fld_anime3.bin"
- .byte 14
- .ascii "fld_anime4.bin"
- .byte 14
- .ascii "fld_anime5.bin"
- .byte 14
- .ascii "fld_anime6.bin"
- .byte 14
- .ascii "fld_anime7.bin"
- .byte 14
- .ascii "fld_anime8.bin"
- .byte 14
- .ascii "fld_anime9.bin"
- .byte 15
- .ascii "fs_kanban.nsbca"
- .byte 12
- .ascii "ground0.NCGR"
- .byte 12
- .ascii "ground0.NCLR"
- .byte 12
- .ascii "ground0.NSCR"
- .byte 16
- .ascii "kemu_itpconv.dat"
- .byte 15
- .ascii "lake_anim.nsbtx"
- .byte 19
- .ascii "miniasahamabe.nsbtx"
- .byte 16
- .ascii "miniasasea.nsbtx"
- .byte 16
- .ascii "minihamabe.nsbtx"
- .byte 13
- .ascii "minimum.nsbtx"
- .byte 15
- .ascii "minirhana.nsbtx"
- .byte 11
- .ascii "namein.narc"
- .byte 10
- .ascii "nfont.NCGR"
- .byte 10
- .ascii "nfont.NCLR"
- .byte 8
- .ascii "pc.nsbca"
- .byte 17
- .ascii "plist_canm.resdat"
- .byte 17
- .ascii "plist_cell.resdat"
- .byte 16
- .ascii "plist_chr.resdat"
- .byte 13
- .ascii "plist_h.cldat"
- .byte 16
- .ascii "plist_pal.resdat"
- .byte 20
- .ascii "porucase_canm.resdat"
- .byte 21
- .ascii "porucase_celact.cldat"
- .byte 20
- .ascii "porucase_cell.resdat"
- .byte 19
- .ascii "porucase_chr.resdat"
- .byte 19
- .ascii "porucase_pal.resdat"
- .byte 15
- .ascii "pst_canm.resdat"
- .byte 15
- .ascii "pst_cell.resdat"
- .byte 14
- .ascii "pst_chr.resdat"
- .byte 11
- .ascii "pst_h.cldat"
- .byte 14
- .ascii "pst_pal.resdat"
- .byte 16
- .ascii "shop_canm.resdat"
- .byte 16
- .ascii "shop_cell.resdat"
- .byte 15
- .ascii "shop_chr.resdat"
- .byte 12
- .ascii "shop_h.cldat"
- .byte 15
- .ascii "shop_pal.resdat"
- .byte 9
- .ascii "slot.narc"
- .byte 16
- .ascii "smptm_koori.NANR"
- .byte 16
- .ascii "smptm_koori.NCER"
- .byte 16
- .ascii "smptm_koori.NCGR"
- .byte 16
- .ascii "smptm_koori.NCLR"
- .byte 17
- .ascii "smptm_nemuri.NANR"
- .byte 17
- .ascii "smptm_nemuri.NCER"
- .byte 17
- .ascii "smptm_nemuri.NCGR"
- .byte 17
- .ascii "smptm_nemuri.NCLR"
- .byte 13
- .ascii "t3_fl_b.nsbtx"
- .byte 13
- .ascii "t3_fl_p.nsbtx"
- .byte 13
- .ascii "t3_fl_r.nsbtx"
- .byte 13
- .ascii "t3_fl_y.nsbtx"
- .byte 8
- .ascii "test.atr"
- .byte 14
- .ascii "tmap_block.dat"
- .byte 14
- .ascii "tmap_flags.dat"
- .byte 17
- .ascii "tmapn_canm.resdat"
- .byte 18
- .ascii "tmapn_celact.cldat"
- .byte 16
- .ascii "tmapn_celact.txt"
- .byte 17
- .ascii "tmapn_cell.resdat"
- .byte 16
- .ascii "tmapn_chr.resdat"
- .byte 16
- .ascii "tmapn_pal.resdat"
- .byte 18
- .ascii "tmapn_res_canm.txt"
- .byte 18
- .ascii "tmapn_res_cell.txt"
- .byte 17
- .ascii "tmapn_res_chr.txt"
- .byte 17
- .ascii "tmapn_res_pal.txt"
- .byte 14
- .ascii "tradelist.narc"
- .byte 13
- .ascii "trapmark.narc"
- .byte 12
- .ascii "ug_anim.narc"
- .byte 17
- .ascii "ug_base_cur.nsbmd"
- .byte 15
- .ascii "ug_boygirl.NCGR"
- .byte 15
- .ascii "ug_boygirl.NCLR"
- .byte 14
- .ascii "ug_fossil.narc"
- .byte 12
- .ascii "ug_hero.NANR"
- .byte 12
- .ascii "ug_hero.NCER"
- .byte 12
- .ascii "ug_hole.NANR"
- .byte 12
- .ascii "ug_hole.NCER"
- .byte 12
- .ascii "ug_hole.NCGR"
- .byte 13
- .ascii "ug_parts.narc"
- .byte 13
- .ascii "ug_radar.narc"
- .byte 12
- .ascii "ug_trap.narc"
- .byte 25
- .ascii "ugeffect_obj_graphic.narc"
- .byte 19
- .ascii "uground_cell.resdat"
- .byte 22
- .ascii "uground_cellanm.resdat"
- .byte 19
- .ascii "uground_char.resdat"
- .byte 20
- .ascii "uground_char2.resdat"
- .byte 19
- .ascii "uground_clact.cldat"
- .byte 19
- .ascii "uground_pltt.resdat"
- .byte 20
- .ascii "uground_pltt2.resdat"
- .byte 17
- .ascii "underg_radar.narc"
- .byte 9
- .ascii "UTF16.dat"
- .byte 11
- .ascii "utility.bin"
- .byte 16
- .ascii "weather_sys.narc"
- .byte 9
- .ascii "wifi.ncgr"
- .byte 13
- .ascii "wifinote.narc"
- .byte 17
- .ascii "wifip2pmatch.narc"
- .byte 7
- .ascii "wm.ncgr"
- .byte 7
- .ascii "wm.nclr"
- .byte 6 | 0x80
- .ascii "mmodel"
- .byte 0x11, 0xF0 ; dir ID
- .byte 5 | 0x80
- .ascii "sound"
- .byte 0x12, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /data/mmodel
- .byte 11
- .ascii "fldeff.narc"
- .byte 11
- .ascii "mmodel.narc"
- .byte 0 ; end
-
- ; Directory: /data/sound
- .byte 15
- .ascii "sound_data.sdat"
- .byte 0 ; end
-
- ; Directory: /demo
- .byte 3 | 0x80
- .ascii "egg"
- .byte 0x14, 0xF0 ; dir ID
- .byte 5 | 0x80
- .ascii "intro"
- .byte 0x17, 0xF0 ; dir ID
- .byte 6 | 0x80
- .ascii "shinka"
- .byte 0x18, 0xF0 ; dir ID
- .byte 8 | 0x80
- .ascii "syoujyou"
- .byte 0x1B, 0xF0 ; dir ID
- .byte 5 | 0x80
- .ascii "title"
- .byte 0x1C, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /demo/egg
- .byte 4 | 0x80
- .ascii "data"
- .byte 0x15, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /demo/egg/data
- .byte 13
- .ascii "egg_data.narc"
- .byte 8 | 0x80
- .ascii "particle"
- .byte 0x16, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /demo/egg/data/particle
- .byte 22
- .ascii "egg_demo_particle.narc"
- .byte 0 ; end
-
- ; Directory: /demo/intro
- .byte 10
- .ascii "intro.narc"
- .byte 13
- .ascii "intro_tv.narc"
- .byte 0 ; end
-
- ; Directory: /demo/shinka
- .byte 4 | 0x80
- .ascii "data"
- .byte 0x19, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /demo/shinka/data
- .byte 8 | 0x80
- .ascii "particle"
- .byte 0x1A, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /demo/shinka/data/particle
- .byte 25
- .ascii "shinka_demo_particle.narc"
- .byte 0 ; end
-
- ; Directory: /demo/syoujyou
- .byte 13
- .ascii "syoujyou.narc"
- .byte 0 ; end
-
- ; Directory: /demo/title
- .byte 12
- .ascii "op_demo.narc"
- .byte 14
- .ascii "titledemo.narc"
- .byte 0 ; end
-
- ; Directory: /dwc
- .byte 11
- .ascii "utility.bin"
- .byte 0 ; end
-
- ; Directory: /fielddata
- .byte 8 | 0x80
- .ascii "areadata"
- .byte 0x1F, 0xF0 ; dir ID
- .byte 11 | 0x80
- .ascii "build_model"
- .byte 0x23, 0xF0 ; dir ID
- .byte 11 | 0x80
- .ascii "encountdata"
- .byte 0x24, 0xF0 ; dir ID
- .byte 9 | 0x80
- .ascii "eventdata"
- .byte 0x25, 0xF0 ; dir ID
- .byte 9 | 0x80
- .ascii "land_data"
- .byte 0x26, 0xF0 ; dir ID
- .byte 9 | 0x80
- .ascii "mapmatrix"
- .byte 0x27, 0xF0 ; dir ID
- .byte 8 | 0x80
- .ascii "maptable"
- .byte 0x28, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "mm_list"
- .byte 0x29, 0xF0 ; dir ID
- .byte 13 | 0x80
- .ascii "pokemon_trade"
- .byte 0x2A, 0xF0 ; dir ID
- .byte 6 | 0x80
- .ascii "script"
- .byte 0x2B, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /fielddata/areadata
- .byte 14
- .ascii "area_data.narc"
- .byte 16 | 0x80
- .ascii "area_build_model"
- .byte 0x20, 0xF0 ; dir ID
- .byte 12 | 0x80
- .ascii "area_map_tex"
- .byte 0x21, 0xF0 ; dir ID
- .byte 15 | 0x80
- .ascii "area_move_model"
- .byte 0x22, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /fielddata/areadata/area_build_model
- .byte 15
- .ascii "area_build.narc"
- .byte 18
- .ascii "areabm_texset.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/areadata/area_map_tex
- .byte 16
- .ascii "map_tex_set.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/areadata/area_move_model
- .byte 20
- .ascii "move_model_list.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/build_model
- .byte 16
- .ascii "build_model.narc"
- .byte 22
- .ascii "build_model_matshp.dat"
- .byte 0 ; end
-
- ; Directory: /fielddata/encountdata
- .byte 15
- .ascii "d_enc_data.narc"
- .byte 15
- .ascii "p_enc_data.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/eventdata
- .byte 23
- .ascii "zone_event_release.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/land_data
- .byte 22
- .ascii "land_data_release.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/mapmatrix
- .byte 15
- .ascii "map_matrix.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/maptable
- .byte 11
- .ascii "mapname.bin"
- .byte 0 ; end
-
- ; Directory: /fielddata/mm_list
- .byte 20
- .ascii "move_model_list.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/pokemon_trade
- .byte 14
- .ascii "fld_trade.narc"
- .byte 0 ; end
-
- ; Directory: /fielddata/script
- .byte 20
- .ascii "scr_seq_release.narc"
- .byte 0 ; end
-
- ; Directory: /graphic
- .byte 12
- .ascii "bag_gra.narc"
- .byte 8
- .ascii "box.narc"
- .byte 11
- .ascii "btower.narc"
- .byte 15
- .ascii "config_gra.narc"
- .byte 15
- .ascii "demo_trade.narc"
- .byte 16
- .ascii "dendou_demo.narc"
- .byte 14
- .ascii "dendou_pc.narc"
- .byte 11
- .ascii "ending.narc"
- .byte 18
- .ascii "ev_pokeselect.narc"
- .byte 15
- .ascii "f_note_gra.narc"
- .byte 16
- .ascii "field_board.narc"
- .byte 24
- .ascii "field_encounteffect.narc"
- .byte 15
- .ascii "fld_comact.narc"
- .byte 9
- .ascii "font.narc"
- .byte 12
- .ascii "fontoam.narc"
- .byte 17
- .ascii "hiden_effect.narc"
- .byte 14
- .ascii "imageclip.narc"
- .byte 13
- .ascii "mail_gra.narc"
- .byte 13
- .ascii "menu_gra.narc"
- .byte 11
- .ascii "mysign.narc"
- .byte 12
- .ascii "mystery.narc"
- .byte 13
- .ascii "ntag_gra.narc"
- .byte 13
- .ascii "nutmixer.narc"
- .byte 11
- .ascii "oekaki.narc"
- .byte 12
- .ascii "opening.narc"
- .byte 14
- .ascii "plist_gra.narc"
- .byte 9
- .ascii "pmsi.narc"
- .byte 12
- .ascii "poketch.narc"
- .byte 13
- .ascii "poru_gra.narc"
- .byte 12
- .ascii "poruact.narc"
- .byte 13
- .ascii "porudemo.narc"
- .byte 12
- .ascii "pst_gra.narc"
- .byte 12
- .ascii "ranking.narc"
- .byte 11
- .ascii "record.narc"
- .byte 13
- .ascii "shop_gra.narc"
- .byte 13
- .ascii "tmap_gra.narc"
- .byte 20
- .ascii "touch_subwindow.narc"
- .byte 17
- .ascii "trainer_case.narc"
- .byte 14
- .ascii "unionroom.narc"
- .byte 19
- .ascii "waza_oshie_gra.narc"
- .byte 13
- .ascii "winframe.narc"
- .byte 15
- .ascii "worldtrade.narc"
- .byte 0 ; end
-
- ; Directory: /itemtool
- .byte 8 | 0x80
- .ascii "itemdata"
- .byte 0x2E, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /itemtool/itemdata
- .byte 14
- .ascii "item_data.narc"
- .byte 14
- .ascii "item_icon.narc"
- .byte 14
- .ascii "nuts_data.narc"
- .byte 0 ; end
-
- ; Directory: /msgdata
- .byte 8
- .ascii "msg.narc"
- .byte 8 | 0x80
- .ascii "scenario"
- .byte 0x30, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /msgdata/scenario
- .byte 12
- .ascii "scr_msg.narc"
- .byte 0 ; end
-
- ; Directory: /particledata
- .byte 17
- .ascii "particledata.narc"
- .byte 0 ; end
-
- ; Directory: /pokeanime
- .byte 13
- .ascii "poke_anm.narc"
- .byte 0 ; end
-
- ; Directory: /poketool
- .byte 14
- .ascii "pokezukan.narc"
- .byte 14
- .ascii "shinzukan.narc"
- .byte 7 | 0x80
- .ascii "icongra"
- .byte 0x34, 0xF0 ; dir ID
- .byte 8 | 0x80
- .ascii "personal"
- .byte 0x35, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "pokeanm"
- .byte 0x36, 0xF0 ; dir ID
- .byte 8 | 0x80
- .ascii "pokefoot"
- .byte 0x37, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "pokegra"
- .byte 0x38, 0xF0 ; dir ID
- .byte 7 | 0x80
- .ascii "trainer"
- .byte 0x39, 0xF0 ; dir ID
- .byte 5 | 0x80
- .ascii "trgra"
- .byte 0x3A, 0xF0 ; dir ID
- .byte 5 | 0x80
- .ascii "trmsg"
- .byte 0x3B, 0xF0 ; dir ID
- .byte 4 | 0x80
- .ascii "waza"
- .byte 0x3C, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /poketool/icongra
- .byte 14
- .ascii "poke_icon.narc"
- .byte 0 ; end
-
- ; Directory: /poketool/personal
- .byte 8
- .ascii "evo.narc"
- .byte 12
- .ascii "growtbl.narc"
- .byte 13
- .ascii "personal.narc"
- .byte 8
- .ascii "pms.narc"
- .byte 10
- .ascii "wotbl.narc"
- .byte 0 ; end
-
- ; Directory: /poketool/pokeanm
- .byte 12
- .ascii "pokeanm.narc"
- .byte 0 ; end
-
- ; Directory: /poketool/pokefoot
- .byte 13
- .ascii "pokefoot.narc"
- .byte 0 ; end
-
- ; Directory: /poketool/pokegra
- .byte 11
- .ascii "height.narc"
- .byte 13
- .ascii "height_o.narc"
- .byte 14
- .ascii "otherpoke.narc"
- .byte 16
- .ascii "poke_shadow.narc"
- .byte 20
- .ascii "poke_shadow_ofx.narc"
- .byte 14
- .ascii "poke_yofs.narc"
- .byte 12
- .ascii "pokegra.narc"
- .byte 0 ; end
-
- ; Directory: /poketool/trainer
- .byte 11
- .ascii "trdata.narc"
- .byte 11
- .ascii "trpoke.narc"
- .byte 0 ; end
-
- ; Directory: /poketool/trgra
- .byte 11
- .ascii "trbgra.narc"
- .byte 11
- .ascii "trfgra.narc"
- .byte 0 ; end
-
- ; Directory: /poketool/trmsg
- .byte 10
- .ascii "trtbl.narc"
- .byte 13
- .ascii "trtblofs.narc"
- .byte 0 ; end
-
- ; Directory: /poketool/waza
- .byte 13
- .ascii "waza_tbl.narc"
- .byte 0 ; end
-
- ; Directory: /resource
- .byte 3 | 0x80
- .ascii "eng"
- .byte 0x3E, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /resource/eng
- .byte 5 | 0x80
- .ascii "trial"
- .byte 0x3F, 0xF0 ; dir ID
- .byte 5 | 0x80
- .ascii "zukan"
- .byte 0x40, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /resource/eng/trial
- .byte 10
- .ascii "trial.narc"
- .byte 0 ; end
-
- ; Directory: /resource/eng/zukan
- .byte 10
- .ascii "zukan.narc"
- .byte 0 ; end
-
- ; Directory: /wazaeffect
- .byte 6
- .ascii "we.arc"
- .byte 11
- .ascii "we_sub.narc"
- .byte 11 | 0x80
- .ascii "effectclact"
- .byte 0x42, 0xF0 ; dir ID
- .byte 10 | 0x80
- .ascii "effectdata"
- .byte 0x43, 0xF0 ; dir ID
- .byte 8 | 0x80
- .ascii "pt_debug"
- .byte 0x44, 0xF0 ; dir ID
- .byte 0 ; end
-
- ; Directory: /wazaeffect/effectclact
- .byte 11
- .ascii "wecell.narc"
- .byte 14
- .ascii "wecellanm.narc"
- .byte 11
- .ascii "wechar.narc"
- .byte 11
- .ascii "wepltt.narc"
- .byte 0 ; end
-
- ; Directory: /wazaeffect/effectdata
- .byte 18
- .ascii "ball_particle.narc"
- .byte 18
- .ascii "waza_particle.narc"
- .byte 0 ; end
-
- ; Directory: /wazaeffect/pt_debug
- .byte 19
- .ascii "debug_particle.narc"
- .byte 0 ; end
- .balign 4, 0xFF
diff --git a/filesystem.mk b/filesystem.mk
index 05098980..9737436b 100644
--- a/filesystem.mk
+++ b/filesystem.mk
@@ -269,10 +269,10 @@ NITROFS_FILES := data/UTF16.dat \
dwc/utility.bin
ifeq ($(GAME_VERSION),PEARL)
-NITROFS_FILES = $(NITROFS_FILES:poketool/personal/personal.narc=poketool/personal_pearl/personal.narc)
+NITROFS_FILES := $(NITROFS_FILES:poketool/personal/personal.narc=poketool/personal_pearl/personal.narc)
endif
-HOSTFS_FILES = $(NITROFS_FILES:%=files/%)
+HOSTFS_FILES := $(NITROFS_FILES:%=files/%)
%.narc:
$(KNARC) -d $(basename $@)/ -p $@
@@ -289,8 +289,14 @@ O2NARC_TARGETS := \
files/poketool/personal/pms.narc: O2NARCFLAGS = -f
-$(O2NARC_TARGETS): %.narc: %.json %.json.txt
- $(JSONPROC) $^ $*.c
+ifeq (,$(NODEP))
+$(O2NARC_TARGETS): dep = $(shell $(SCANINC) -I include -I include-mw -I arm9/lib/include $(patsubst %.narc,%.json.txt,$@))
+else
+$(O2NARC_TARGETS): dep :=
+endif
+
+$(O2NARC_TARGETS): %.narc: %.json %.json.txt $$(dep)
+ $(JSONPROC) $*.json $*.json.txt $*.c
$(CC) $(CFLAGS) -c -o $*.o $*.c
$(O2NARC) $(O2NARCFLAGS) $*.o $@
@$(RM) $*.o $*.c
diff --git a/pokediamond.lcf b/pokediamond.lcf
deleted file mode 100644
index cdc82685..00000000
--- a/pokediamond.lcf
+++ /dev/null
@@ -1,1468 +0,0 @@
-/* TEST */
-MEMORY {
- header (RWX) : ORIGIN=0, LENGTH=0
- arm9 (RWX) : ORIGIN=0x02000000, LENGTH=0
- arm7 (RWX) : ORIGIN=0x02380000, LENGTH=0
- filenametable (RWX) : ORIGIN=0, LENGTH=0
- fileallocationtable (RWX) : ORIGIN=0, LENGTH=0
- icon_title (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_339000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_339200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_339C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33A400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33AE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33B800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33BA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33BC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33BE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33C000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33C200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33E400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33E800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33EA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_33F800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B3000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B3200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B3600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B3800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B3A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B3C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B3E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B4000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B4200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B4400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3B4A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3FAA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3FAC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_408000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_408200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_408400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_408600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_408800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_408A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_408C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_408E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_409000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_409200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_409400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_409600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_409E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_412000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_412400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_412E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_413000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_414200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_415400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_415A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_416C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_417200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_417600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_41B600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_423800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_423C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_423E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_424000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_424200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_424400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_424600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_424800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_424A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_424C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_424E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_425000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_425200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_425400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_425600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_425C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_426200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_426400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_426600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_426800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_426A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_426C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_426E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43C800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43CA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43CC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43DA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43DE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43E000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43E200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43E600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43EA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43EE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43F200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43F600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_43FA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_440200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_441400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_441800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_441A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_441C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_441E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_442000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_442200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_442400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_442600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_442800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_442A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_442C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_445800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_445C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_44BA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_44C200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_44D600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_44DA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_451A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_451C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_451E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_452000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_452200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_452800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_473000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_476A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_494600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_499400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_499600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_499800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_499A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_499C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_499E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_49A000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_49A200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_4A4600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_57FC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_58F600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_58FA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_593400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_597400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_597800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_597C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_CBB200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_F4D400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_F4F000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_F54C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_F55400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_102EC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_102F000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_102F400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_102F800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1B6B400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1B78200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C14A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C1B000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C21600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C22400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C22800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C27200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C2D000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C32600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C34C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C35400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C3A400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1C4C800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1CE8E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D09200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D0E400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D4C600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D4F800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D53A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D60200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D61C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D63200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D64600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D6C800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D6DA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1D70800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1DA6200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1DC0000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1DDBC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1DDFE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1DE0200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1DE7E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1DE8600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1DE8A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E3A200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E5C800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E5F200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E69C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E73400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E73800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E94800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E94E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1E9CE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1EDB600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1EF5800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1EFA400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1EFB600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F03000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F30000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F5C400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F5DA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F64600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F6E400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F71600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F7FC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F86600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F87C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1F8A000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1FA9200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1FAA800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1FB0200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1FB2A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1FC7A00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_1FC8400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2000000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2001400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2004400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_200CE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2018600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_201D400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_207DE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_207E400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_210B600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2119C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2242200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_225E200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_22ACC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_24F2600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_24F3200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2515600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2528C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_253C200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2710800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2712000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2715000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2715400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_2716800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_283BE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_296EC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_296F200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3787200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_379AE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_37A0C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_37A4400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_37ACA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_37B2400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_37D7800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_37D8600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3810200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_381F000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3821C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3824200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3824600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_382AA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3835000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_383E200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3841E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3842600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3843200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_385A600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_385AA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_385CE00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_385D400 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_385D600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3860E00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3861000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3863600 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_387EA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_388CA00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3923C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_392A200 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_392FC00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3938000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3949800 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_395B000 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_3968C00 (RWX) : ORIGIN=0, LENGTH=0
- narc.FILE_397AA00 (RWX) : ORIGIN=0, LENGTH=0
-}
-
-SECTIONS {
- .header: {
- rom_header.o (.text)
- . = 0x4000;
- } > header
-
- .arm9 : AT (0x4000) {
- _start = .;
- _start_AutoloadDoneCallback = . + 0xA74;
- INCLUDE arm9.bin
- } > arm9
-
- .arm9_table : AT (0x10B800) {
- INCLUDE arm9_table.bin
- } >> arm9
-
- .MODULE_00 : AT (0x10C400) {
- INCLUDE MODULE_00.bin
- } >> arm9
-
- .MODULE_01 : AT (0x10C600) {
- INCLUDE MODULE_01.bin
- } >> arm9
-
- .MODULE_02 : AT (0x10C800) {
- INCLUDE MODULE_02.bin
- } >> arm9
-
- .MODULE_03 : AT (0x10CA00) {
- INCLUDE MODULE_03.bin
- } >> arm9
-
- .MODULE_04 : AT (0x10CC00) {
- INCLUDE MODULE_04.bin
- } >> arm9
-
- .MODULE_05 : AT (0x145400) {
- INCLUDE MODULE_05.bin
- } >> arm9
-
- .MODULE_06 : AT (0x16B600) {
- INCLUDE MODULE_06.bin
- } >> arm9
-
- .MODULE_07 : AT (0x184400) {
- INCLUDE MODULE_07.bin
- } >> arm9
-
- .MODULE_08 : AT (0x187800) {
- INCLUDE MODULE_08.bin
- } >> arm9
-
- .MODULE_09 : AT (0x1A3000) {
- INCLUDE MODULE_09.bin
- } >> arm9
-
- .MODULE_10 : AT (0x1AD200) {
- INCLUDE MODULE_10.bin
- } >> arm9
-
- .MODULE_11 : AT (0x1AD400) {
- INCLUDE MODULE_11.bin
- } >> arm9
-
- .MODULE_12 : AT (0x1DFE00) {
- INCLUDE MODULE_12.bin
- } >> arm9
-
- .MODULE_13 : AT (0x1F9200) {
- INCLUDE MODULE_13.bin
- } >> arm9
-
- .MODULE_14 : AT (0x227E00) {
- INCLUDE MODULE_14.bin
- } >> arm9
-
- .MODULE_15 : AT (0x237400) {
- INCLUDE MODULE_15.bin
- } >> arm9
-
- .MODULE_16 : AT (0x23BC00) {
- INCLUDE MODULE_16.bin
- } >> arm9
-
- .MODULE_17 : AT (0x264200) {
- INCLUDE MODULE_17.bin
- } >> arm9
-
- .MODULE_18 : AT (0x26B200) {
- INCLUDE MODULE_18.bin
- } >> arm9
-
- .MODULE_19 : AT (0x283000) {
- INCLUDE MODULE_19.bin
- } >> arm9
-
- .MODULE_20 : AT (0x283200) {
- INCLUDE MODULE_20.bin
- } >> arm9
-
- .MODULE_21 : AT (0x285600) {
- INCLUDE MODULE_21.bin
- } >> arm9
-
- .MODULE_22 : AT (0x285C00) {
- INCLUDE MODULE_22.bin
- } >> arm9
-
- .MODULE_23 : AT (0x286C00) {
- INCLUDE MODULE_23.bin
- } >> arm9
-
- .MODULE_24 : AT (0x288600) {
- INCLUDE MODULE_24.bin
- } >> arm9
-
- .MODULE_25 : AT (0x289000) {
- INCLUDE MODULE_25.bin
- } >> arm9
-
- .MODULE_26 : AT (0x289600) {
- INCLUDE MODULE_26.bin
- } >> arm9
-
- .MODULE_27 : AT (0x289E00) {
- INCLUDE MODULE_27.bin
- } >> arm9
-
- .MODULE_28 : AT (0x28AA00) {
- INCLUDE MODULE_28.bin
- } >> arm9
-
- .MODULE_29 : AT (0x28C200) {
- INCLUDE MODULE_29.bin
- } >> arm9
-
- .MODULE_30 : AT (0x28CC00) {
- INCLUDE MODULE_30.bin
- } >> arm9
-
- .MODULE_31 : AT (0x28D200) {
- INCLUDE MODULE_31.bin
- } >> arm9
-
- .MODULE_32 : AT (0x28D800) {
- INCLUDE MODULE_32.bin
- } >> arm9
-
- .MODULE_33 : AT (0x28DE00) {
- INCLUDE MODULE_33.bin
- } >> arm9
-
- .MODULE_34 : AT (0x28E200) {
- INCLUDE MODULE_34.bin
- } >> arm9
-
- .MODULE_35 : AT (0x28E800) {
- INCLUDE MODULE_35.bin
- } >> arm9
-
- .MODULE_36 : AT (0x28F200) {
- INCLUDE MODULE_36.bin
- } >> arm9
-
- .MODULE_37 : AT (0x290000) {
- INCLUDE MODULE_37.bin
- } >> arm9
-
- .MODULE_38 : AT (0x290600) {
- INCLUDE MODULE_38.bin
- } >> arm9
-
- .MODULE_39 : AT (0x291200) {
- INCLUDE MODULE_39.bin
- } >> arm9
-
- .MODULE_40 : AT (0x292000) {
- INCLUDE MODULE_40.bin
- } >> arm9
-
- .MODULE_41 : AT (0x292E00) {
- INCLUDE MODULE_41.bin
- } >> arm9
-
- .MODULE_42 : AT (0x294000) {
- INCLUDE MODULE_42.bin
- } >> arm9
-
- .MODULE_43 : AT (0x294A00) {
- INCLUDE MODULE_43.bin
- } >> arm9
-
- .MODULE_44 : AT (0x295400) {
- INCLUDE MODULE_44.bin
- } >> arm9
-
- .MODULE_45 : AT (0x295A00) {
- INCLUDE MODULE_45.bin
- } >> arm9
-
- .MODULE_46 : AT (0x296400) {
- INCLUDE MODULE_46.bin
- } >> arm9
-
- .MODULE_47 : AT (0x296800) {
- INCLUDE MODULE_47.bin
- } >> arm9
-
- .MODULE_48 : AT (0x297600) {
- INCLUDE MODULE_48.bin
- } >> arm9
-
- .MODULE_49 : AT (0x298000) {
- INCLUDE MODULE_49.bin
- } >> arm9
-
- .MODULE_50 : AT (0x298600) {
- INCLUDE MODULE_50.bin
- } >> arm9
-
- .MODULE_51 : AT (0x298A00) {
- INCLUDE MODULE_51.bin
- } >> arm9
-
- .MODULE_52 : AT (0x299A00) {
- INCLUDE MODULE_52.bin
- } >> arm9
-
- .MODULE_53 : AT (0x299E00) {
- INCLUDE MODULE_53.bin
- } >> arm9
-
- .MODULE_54 : AT (0x29C400) {
- INCLUDE MODULE_54.bin
- } >> arm9
-
- .MODULE_55 : AT (0x29E800) {
- INCLUDE MODULE_55.bin
- } >> arm9
-
- .MODULE_56 : AT (0x2A1A00) {
- INCLUDE MODULE_56.bin
- } >> arm9
-
- .MODULE_57 : AT (0x2A6200) {
- INCLUDE MODULE_57.bin
- } >> arm9
-
- .MODULE_58 : AT (0x2A8800) {
- INCLUDE MODULE_58.bin
- } >> arm9
-
- .MODULE_59 : AT (0x2A9E00) {
- INCLUDE MODULE_59.bin
- } >> arm9
-
- .MODULE_60 : AT (0x2ACC00) {
- INCLUDE MODULE_60.bin
- } >> arm9
-
- .MODULE_61 : AT (0x2ADA00) {
- INCLUDE MODULE_61.bin
- } >> arm9
-
- .MODULE_62 : AT (0x2AEC00) {
- INCLUDE MODULE_62.bin
- } >> arm9
-
- .MODULE_63 : AT (0x2B2A00) {
- INCLUDE MODULE_63.bin
- } >> arm9
-
- .MODULE_64 : AT (0x2B7600) {
- INCLUDE MODULE_64.bin
- } >> arm9
-
- .MODULE_65 : AT (0x2B9400) {
- INCLUDE MODULE_65.bin
- } >> arm9
-
- .MODULE_66 : AT (0x2BC400) {
- INCLUDE MODULE_66.bin
- } >> arm9
-
- .MODULE_67 : AT (0x2BEC00) {
- INCLUDE MODULE_67.bin
- } >> arm9
-
- .MODULE_68 : AT (0x2C1200) {
- INCLUDE MODULE_68.bin
- } >> arm9
-
- .MODULE_69 : AT (0x2C2800) {
- INCLUDE MODULE_69.bin
- } >> arm9
-
- .MODULE_70 : AT (0x2C4C00) {
- INCLUDE MODULE_70.bin
- } >> arm9
-
- .MODULE_71 : AT (0x2C5C00) {
- INCLUDE MODULE_71.bin
- } >> arm9
-
- .MODULE_72 : AT (0x2C9C00) {
- INCLUDE MODULE_72.bin
- } >> arm9
-
- .MODULE_73 : AT (0x2C9E00) {
- INCLUDE MODULE_73.bin
- } >> arm9
-
- .MODULE_74 : AT (0x2CEA00) {
- INCLUDE MODULE_74.bin
- } >> arm9
-
- .MODULE_75 : AT (0x2CFE00) {
- INCLUDE MODULE_75.bin
- } >> arm9
-
- .MODULE_76 : AT (0x2D5C00) {
- INCLUDE MODULE_76.bin
- } >> arm9
-
- .MODULE_77 : AT (0x2D7C00) {
- INCLUDE MODULE_77.bin
- } >> arm9
-
- .MODULE_78 : AT (0x2D9800) {
- INCLUDE MODULE_78.bin
- } >> arm9
-
- .MODULE_79 : AT (0x2D9E00) {
- INCLUDE MODULE_79.bin
- } >> arm9
-
- .MODULE_80 : AT (0x2DF200) {
- INCLUDE MODULE_80.bin
- } >> arm9
-
- .MODULE_81 : AT (0x2E9A00) {
- INCLUDE MODULE_81.bin
- } >> arm9
-
- .MODULE_82 : AT (0x2EF000) {
- INCLUDE MODULE_82.bin
- } >> arm9
-
- .MODULE_83 : AT (0x2F1600) {
- INCLUDE MODULE_83.bin
- } >> arm9
-
- .MODULE_84 : AT (0x2FFA00) {
- INCLUDE MODULE_84.bin
- } >> arm9
-
- .MODULE_85 : AT (0x303400) {
- INCLUDE MODULE_85.bin
- } >> arm9
-
- .MODULE_86 : AT (0x30C600) {
- INCLUDE MODULE_86.bin
- } >> arm9
-
- .arm7 : AT(0x30D000) {
- ARM7AutoLoad = 0x02380158;
- INCLUDE arm7.bin
- } > arm7
-
- .filenametable : AT(0x336400) {
- filenametable.o(.text)
- } > filenametable
-
- .fileallocationtable : AT(0x337A00) {
- fat.o(.text)
- } > fileallocationtable
-
- .icon_title : AT(0x338600) {
- INCLUDE pokediamond_bnr.bin
- } > icon_title
-
- .FILE_339000 : AT (0x339000) {
- FILE_339000_UTF16.dat.o (.rodata) /* 0x339000 */
- } > narc.FILE_339000
- .FILE_339200 : AT (0x339200) {
- FILE_339200_area00light.txt.o (.rodata) /* 0x339200 */
- } > narc.FILE_339200
- .FILE_339C00 : AT (0x339C00) {
- FILE_339C00_area01light.txt.o (.rodata) /* 0x339C00 */
- } > narc.FILE_339C00
- .FILE_33A400 : AT (0x33A400) {
- FILE_33A400_area02light.txt.o (.rodata) /* 0x33A400 */
- } > narc.FILE_33A400
- .FILE_33AE00 : AT (0x33AE00) {
- FILE_33AE00_battle_win.NSCR.o (.rodata) /* 0x33AE00 */
- } > narc.FILE_33AE00
- .FILE_33B800 : AT (0x33B800) {
- FILE_33B800_btower_canm.resdat.o (.rodata) /* 0x33B800 */
- } > narc.FILE_33B800
- .FILE_33BA00 : AT (0x33BA00) {
- FILE_33BA00_btower_celact.cldat.o (.rodata) /* 0x33BA00 */
- } > narc.FILE_33BA00
- .FILE_33BC00 : AT (0x33BC00) {
- FILE_33BC00_btower_cell.resdat.o (.rodata) /* 0x33BC00 */
- } > narc.FILE_33BC00
- .FILE_33BE00 : AT (0x33BE00) {
- FILE_33BE00_btower_chr.resdat.o (.rodata) /* 0x33BE00 */
- } > narc.FILE_33BE00
- .FILE_33C000 : AT (0x33C000) {
- FILE_33C000_btower_pal.resdat.o (.rodata) /* 0x33C000 */
- } > narc.FILE_33C000
- .FILE_33C200 : AT (0x33C200) {
- FILE_33C200_cell0.NCGR.o (.rodata) /* 0x33C200 */
- } > narc.FILE_33C200
- .FILE_33E400 : AT (0x33E400) {
- FILE_33E400_cell0.NCLR.o (.rodata) /* 0x33E400 */
- } > narc.FILE_33E400
- .FILE_33E800 : AT (0x33E800) {
- FILE_33E800_clact_default.NANR.o (.rodata) /* 0x33E800 */
- } > narc.FILE_33E800
- .FILE_33EA00 : AT (0x33EA00) {
- FILE_33EA00_crystal.nsbmd.o (.rodata) /* 0x33EA00 */
- } > narc.FILE_33EA00
- .FILE_33F800 : AT (0x33F800) {
- FILE_33F800_demo_climax.narc.o (.rodata) /* 0x33F800 */
- } > narc.FILE_33F800
- .FILE_3B3000 : AT (0x3B3000) {
- FILE_3B3000_dp_areawindow.NCGR.o (.rodata) /* 0x3B3000 */
- } > narc.FILE_3B3000
- .FILE_3B3200 : AT (0x3B3200) {
- FILE_3B3200_dp_areawindow.NCLR.o (.rodata) /* 0x3B3200 */
- } > narc.FILE_3B3200
- .FILE_3B3600 : AT (0x3B3600) {
- FILE_3B3600_dt_test_celact.txt.o (.rodata) /* 0x3B3600 */
- } > narc.FILE_3B3600
- .FILE_3B3800 : AT (0x3B3800) {
- FILE_3B3800_dt_test_res_cell.txt.o (.rodata) /* 0x3B3800 */
- } > narc.FILE_3B3800
- .FILE_3B3A00 : AT (0x3B3A00) {
- FILE_3B3A00_dt_test_res_cellanm.txt.o (.rodata) /* 0x3B3A00 */
- } > narc.FILE_3B3A00
- .FILE_3B3C00 : AT (0x3B3C00) {
- FILE_3B3C00_dt_test_res_char.txt.o (.rodata) /* 0x3B3C00 */
- } > narc.FILE_3B3C00
- .FILE_3B3E00 : AT (0x3B3E00) {
- FILE_3B3E00_dt_test_res_multi.txt.o (.rodata) /* 0x3B3E00 */
- } > narc.FILE_3B3E00
- .FILE_3B4000 : AT (0x3B4000) {
- FILE_3B4000_dt_test_res_multianm.txt.o (.rodata) /* 0x3B4000 */
- } > narc.FILE_3B4000
- .FILE_3B4200 : AT (0x3B4200) {
- FILE_3B4200_dt_test_res_pltt.txt.o (.rodata) /* 0x3B4200 */
- } > narc.FILE_3B4200
- .FILE_3B4400 : AT (0x3B4400) {
- FILE_3B4400_dun_sea.nsbtx.o (.rodata) /* 0x3B4400 */
- } > narc.FILE_3B4400
- .FILE_3B4A00 : AT (0x3B4A00) {
- FILE_3B4A00_eoo.dat.o (.rodata) /* 0x3B4A00 */
- } > narc.FILE_3B4A00
- .FILE_3FAA00 : AT (0x3FAA00) {
- FILE_3FAA00_exdata.dat.o (.rodata) /* 0x3FAA00 */
- } > narc.FILE_3FAA00
- .FILE_3FAC00 : AT (0x3FAC00) {
- FILE_3FAC00_field_cutin.narc.o (.rodata) /* 0x3FAC00 */
- } > narc.FILE_3FAC00
- .FILE_408000 : AT (0x408000) {
- FILE_408000_fld_anime0.bin.o (.rodata) /* 0x408000 */
- } > narc.FILE_408000
- .FILE_408200 : AT (0x408200) {
- FILE_408200_fld_anime1.bin.o (.rodata) /* 0x408200 */
- } > narc.FILE_408200
- .FILE_408400 : AT (0x408400) {
- FILE_408400_fld_anime10.bin.o (.rodata) /* 0x408400 */
- } > narc.FILE_408400
- .FILE_408600 : AT (0x408600) {
- FILE_408600_fld_anime2.bin.o (.rodata) /* 0x408600 */
- } > narc.FILE_408600
- .FILE_408800 : AT (0x408800) {
- FILE_408800_fld_anime3.bin.o (.rodata) /* 0x408800 */
- } > narc.FILE_408800
- .FILE_408A00 : AT (0x408A00) {
- FILE_408A00_fld_anime4.bin.o (.rodata) /* 0x408A00 */
- } > narc.FILE_408A00
- .FILE_408C00 : AT (0x408C00) {
- FILE_408C00_fld_anime5.bin.o (.rodata) /* 0x408C00 */
- } > narc.FILE_408C00
- .FILE_408E00 : AT (0x408E00) {
- FILE_408E00_fld_anime6.bin.o (.rodata) /* 0x408E00 */
- } > narc.FILE_408E00
- .FILE_409000 : AT (0x409000) {
- FILE_409000_fld_anime7.bin.o (.rodata) /* 0x409000 */
- } > narc.FILE_409000
- .FILE_409200 : AT (0x409200) {
- FILE_409200_fld_anime8.bin.o (.rodata) /* 0x409200 */
- } > narc.FILE_409200
- .FILE_409400 : AT (0x409400) {
- FILE_409400_fld_anime9.bin.o (.rodata) /* 0x409400 */
- } > narc.FILE_409400
- .FILE_409600 : AT (0x409600) {
- FILE_409600_fs_kanban.nsbca.o (.rodata) /* 0x409600 */
- } > narc.FILE_409600
- .FILE_409E00 : AT (0x409E00) {
- FILE_409E00_ground0.NCGR.o (.rodata) /* 0x409E00 */
- } > narc.FILE_409E00
- .FILE_412000 : AT (0x412000) {
- FILE_412000_ground0.NCLR.o (.rodata) /* 0x412000 */
- } > narc.FILE_412000
- .FILE_412400 : AT (0x412400) {
- FILE_412400_ground0.NSCR.o (.rodata) /* 0x412400 */
- } > narc.FILE_412400
- .FILE_412E00 : AT (0x412E00) {
- FILE_412E00_kemu_itpconv.dat.o (.rodata) /* 0x412E00 */
- } > narc.FILE_412E00
- .FILE_413000 : AT (0x413000) {
- FILE_413000_lake_anim.nsbtx.o (.rodata) /* 0x413000 */
- } > narc.FILE_413000
- .FILE_414200 : AT (0x414200) {
- FILE_414200_miniasahamabe.nsbtx.o (.rodata) /* 0x414200 */
- } > narc.FILE_414200
- .FILE_415400 : AT (0x415400) {
- FILE_415400_miniasasea.nsbtx.o (.rodata) /* 0x415400 */
- } > narc.FILE_415400
- .FILE_415A00 : AT (0x415A00) {
- FILE_415A00_minihamabe.nsbtx.o (.rodata) /* 0x415A00 */
- } > narc.FILE_415A00
- .FILE_416C00 : AT (0x416C00) {
- FILE_416C00_minimum.nsbtx.o (.rodata) /* 0x416C00 */
- } > narc.FILE_416C00
- .FILE_417200 : AT (0x417200) {
- FILE_417200_minirhana.nsbtx.o (.rodata) /* 0x417200 */
- } > narc.FILE_417200
- .FILE_417600 : AT (0x417600) {
- FILE_417600_namein.narc.o (.rodata) /* 0x417600 */
- } > narc.FILE_417600
- .FILE_41B600 : AT (0x41B600) {
- FILE_41B600_nfont.NCGR.o (.rodata) /* 0x41B600 */
- } > narc.FILE_41B600
- .FILE_423800 : AT (0x423800) {
- FILE_423800_nfont.NCLR.o (.rodata) /* 0x423800 */
- } > narc.FILE_423800
- .FILE_423C00 : AT (0x423C00) {
- FILE_423C00_pc.nsbca.o (.rodata) /* 0x423C00 */
- } > narc.FILE_423C00
- .FILE_423E00 : AT (0x423E00) {
- FILE_423E00_plist_canm.resdat.o (.rodata) /* 0x423E00 */
- } > narc.FILE_423E00
- .FILE_424000 : AT (0x424000) {
- FILE_424000_plist_cell.resdat.o (.rodata) /* 0x424000 */
- } > narc.FILE_424000
- .FILE_424200 : AT (0x424200) {
- FILE_424200_plist_chr.resdat.o (.rodata) /* 0x424200 */
- } > narc.FILE_424200
- .FILE_424400 : AT (0x424400) {
- FILE_424400_plist_h.cldat.o (.rodata) /* 0x424400 */
- } > narc.FILE_424400
- .FILE_424600 : AT (0x424600) {
- FILE_424600_plist_pal.resdat.o (.rodata) /* 0x424600 */
- } > narc.FILE_424600
- .FILE_424800 : AT (0x424800) {
- FILE_424800_porucase_canm.resdat.o (.rodata) /* 0x424800 */
- } > narc.FILE_424800
- .FILE_424A00 : AT (0x424A00) {
- FILE_424A00_porucase_celact.cldat.o (.rodata) /* 0x424A00 */
- } > narc.FILE_424A00
- .FILE_424C00 : AT (0x424C00) {
- FILE_424C00_porucase_cell.resdat.o (.rodata) /* 0x424C00 */
- } > narc.FILE_424C00
- .FILE_424E00 : AT (0x424E00) {
- FILE_424E00_porucase_chr.resdat.o (.rodata) /* 0x424E00 */
- } > narc.FILE_424E00
- .FILE_425000 : AT (0x425000) {
- FILE_425000_porucase_pal.resdat.o (.rodata) /* 0x425000 */
- } > narc.FILE_425000
- .FILE_425200 : AT (0x425200) {
- FILE_425200_pst_canm.resdat.o (.rodata) /* 0x425200 */
- } > narc.FILE_425200
- .FILE_425400 : AT (0x425400) {
- FILE_425400_pst_cell.resdat.o (.rodata) /* 0x425400 */
- } > narc.FILE_425400
- .FILE_425600 : AT (0x425600) {
- FILE_425600_pst_chr.resdat.o (.rodata) /* 0x425600 */
- } > narc.FILE_425600
- .FILE_425C00 : AT (0x425C00) {
- FILE_425C00_pst_h.cldat.o (.rodata) /* 0x425C00 */
- } > narc.FILE_425C00
- .FILE_426200 : AT (0x426200) {
- FILE_426200_pst_pal.resdat.o (.rodata) /* 0x426200 */
- } > narc.FILE_426200
- .FILE_426400 : AT (0x426400) {
- FILE_426400_shop_canm.resdat.o (.rodata) /* 0x426400 */
- } > narc.FILE_426400
- .FILE_426600 : AT (0x426600) {
- FILE_426600_shop_cell.resdat.o (.rodata) /* 0x426600 */
- } > narc.FILE_426600
- .FILE_426800 : AT (0x426800) {
- FILE_426800_shop_chr.resdat.o (.rodata) /* 0x426800 */
- } > narc.FILE_426800
- .FILE_426A00 : AT (0x426A00) {
- FILE_426A00_shop_h.cldat.o (.rodata) /* 0x426A00 */
- } > narc.FILE_426A00
- .FILE_426C00 : AT (0x426C00) {
- FILE_426C00_shop_pal.resdat.o (.rodata) /* 0x426C00 */
- } > narc.FILE_426C00
- .FILE_426E00 : AT (0x426E00) {
- FILE_426E00_slot.narc.o (.rodata) /* 0x426E00 */
- } > narc.FILE_426E00
- .FILE_43C800 : AT (0x43C800) {
- FILE_43C800_smptm_koori.NANR.o (.rodata) /* 0x43C800 */
- } > narc.FILE_43C800
- .FILE_43CA00 : AT (0x43CA00) {
- FILE_43CA00_smptm_koori.NCER.o (.rodata) /* 0x43CA00 */
- } > narc.FILE_43CA00
- .FILE_43CC00 : AT (0x43CC00) {
- FILE_43CC00_smptm_koori.NCGR.o (.rodata) /* 0x43CC00 */
- } > narc.FILE_43CC00
- .FILE_43DA00 : AT (0x43DA00) {
- FILE_43DA00_smptm_koori.NCLR.o (.rodata) /* 0x43DA00 */
- } > narc.FILE_43DA00
- .FILE_43DE00 : AT (0x43DE00) {
- FILE_43DE00_smptm_nemuri.NANR.o (.rodata) /* 0x43DE00 */
- } > narc.FILE_43DE00
- .FILE_43E000 : AT (0x43E000) {
- FILE_43E000_smptm_nemuri.NCER.o (.rodata) /* 0x43E000 */
- } > narc.FILE_43E000
- .FILE_43E200 : AT (0x43E200) {
- FILE_43E200_smptm_nemuri.NCGR.o (.rodata) /* 0x43E200 */
- } > narc.FILE_43E200
- .FILE_43E600 : AT (0x43E600) {
- FILE_43E600_smptm_nemuri.NCLR.o (.rodata) /* 0x43E600 */
- } > narc.FILE_43E600
- .FILE_43EA00 : AT (0x43EA00) {
- FILE_43EA00_t3_fl_b.nsbtx.o (.rodata) /* 0x43EA00 */
- } > narc.FILE_43EA00
- .FILE_43EE00 : AT (0x43EE00) {
- FILE_43EE00_t3_fl_p.nsbtx.o (.rodata) /* 0x43EE00 */
- } > narc.FILE_43EE00
- .FILE_43F200 : AT (0x43F200) {
- FILE_43F200_t3_fl_r.nsbtx.o (.rodata) /* 0x43F200 */
- } > narc.FILE_43F200
- .FILE_43F600 : AT (0x43F600) {
- FILE_43F600_t3_fl_y.nsbtx.o (.rodata) /* 0x43F600 */
- } > narc.FILE_43F600
- .FILE_43FA00 : AT (0x43FA00) {
- FILE_43FA00_test.atr.o (.rodata) /* 0x43FA00 */
- } > narc.FILE_43FA00
- .FILE_440200 : AT (0x440200) {
- FILE_440200_tmap_block.dat.o (.rodata) /* 0x440200 */
- } > narc.FILE_440200
- .FILE_441400 : AT (0x441400) {
- FILE_441400_tmap_flags.dat.o (.rodata) /* 0x441400 */
- } > narc.FILE_441400
- .FILE_441800 : AT (0x441800) {
- FILE_441800_tmapn_canm.resdat.o (.rodata) /* 0x441800 */
- } > narc.FILE_441800
- .FILE_441A00 : AT (0x441A00) {
- FILE_441A00_tmapn_celact.cldat.o (.rodata) /* 0x441A00 */
- } > narc.FILE_441A00
- .FILE_441C00 : AT (0x441C00) {
- FILE_441C00_tmapn_celact.txt.o (.rodata) /* 0x441C00 */
- } > narc.FILE_441C00
- .FILE_441E00 : AT (0x441E00) {
- FILE_441E00_tmapn_cell.resdat.o (.rodata) /* 0x441E00 */
- } > narc.FILE_441E00
- .FILE_442000 : AT (0x442000) {
- FILE_442000_tmapn_chr.resdat.o (.rodata) /* 0x442000 */
- } > narc.FILE_442000
- .FILE_442200 : AT (0x442200) {
- FILE_442200_tmapn_pal.resdat.o (.rodata) /* 0x442200 */
- } > narc.FILE_442200
- .FILE_442400 : AT (0x442400) {
- FILE_442400_tmapn_res_canm.txt.o (.rodata) /* 0x442400 */
- } > narc.FILE_442400
- .FILE_442600 : AT (0x442600) {
- FILE_442600_tmapn_res_cell.txt.o (.rodata) /* 0x442600 */
- } > narc.FILE_442600
- .FILE_442800 : AT (0x442800) {
- FILE_442800_tmapn_res_chr.txt.o (.rodata) /* 0x442800 */
- } > narc.FILE_442800
- .FILE_442A00 : AT (0x442A00) {
- FILE_442A00_tmapn_res_pal.txt.o (.rodata) /* 0x442A00 */
- } > narc.FILE_442A00
- .FILE_442C00 : AT (0x442C00) {
- FILE_442C00_tradelist.narc.o (.rodata) /* 0x442C00 */
- } > narc.FILE_442C00
- .FILE_445800 : AT (0x445800) {
- FILE_445800_trapmark.narc.o (.rodata) /* 0x445800 */
- } > narc.FILE_445800
- .FILE_445C00 : AT (0x445C00) {
- FILE_445C00_ug_anim.narc.o (.rodata) /* 0x445C00 */
- } > narc.FILE_445C00
- .FILE_44BA00 : AT (0x44BA00) {
- FILE_44BA00_ug_base_cur.nsbmd.o (.rodata) /* 0x44BA00 */
- } > narc.FILE_44BA00
- .FILE_44C200 : AT (0x44C200) {
- FILE_44C200_ug_boygirl.NCGR.o (.rodata) /* 0x44C200 */
- } > narc.FILE_44C200
- .FILE_44D600 : AT (0x44D600) {
- FILE_44D600_ug_boygirl.NCLR.o (.rodata) /* 0x44D600 */
- } > narc.FILE_44D600
- .FILE_44DA00 : AT (0x44DA00) {
- FILE_44DA00_ug_fossil.narc.o (.rodata) /* 0x44DA00 */
- } > narc.FILE_44DA00
- .FILE_451A00 : AT (0x451A00) {
- FILE_451A00_ug_hero.NANR.o (.rodata) /* 0x451A00 */
- } > narc.FILE_451A00
- .FILE_451C00 : AT (0x451C00) {
- FILE_451C00_ug_hero.NCER.o (.rodata) /* 0x451C00 */
- } > narc.FILE_451C00
- .FILE_451E00 : AT (0x451E00) {
- FILE_451E00_ug_hole.NANR.o (.rodata) /* 0x451E00 */
- } > narc.FILE_451E00
- .FILE_452000 : AT (0x452000) {
- FILE_452000_ug_hole.NCER.o (.rodata) /* 0x452000 */
- } > narc.FILE_452000
- .FILE_452200 : AT (0x452200) {
- FILE_452200_ug_hole.NCGR.o (.rodata) /* 0x452200 */
- } > narc.FILE_452200
- .FILE_452800 : AT (0x452800) {
- FILE_452800_ug_parts.narc.o (.rodata) /* 0x452800 */
- } > narc.FILE_452800
- .FILE_473000 : AT (0x473000) {
- FILE_473000_ug_radar.narc.o (.rodata) /* 0x473000 */
- } > narc.FILE_473000
- .FILE_476A00 : AT (0x476A00) {
- FILE_476A00_ug_trap.narc.o (.rodata) /* 0x476A00 */
- } > narc.FILE_476A00
- .FILE_494600 : AT (0x494600) {
- FILE_494600_ugeffect_obj_graphic.narc.o (.rodata) /* 0x494600 */
- } > narc.FILE_494600
- .FILE_499400 : AT (0x499400) {
- FILE_499400_uground_cell.resdat.o (.rodata) /* 0x499400 */
- } > narc.FILE_499400
- .FILE_499600 : AT (0x499600) {
- FILE_499600_uground_cellanm.resdat.o (.rodata) /* 0x499600 */
- } > narc.FILE_499600
- .FILE_499800 : AT (0x499800) {
- FILE_499800_uground_char.resdat.o (.rodata) /* 0x499800 */
- } > narc.FILE_499800
- .FILE_499A00 : AT (0x499A00) {
- FILE_499A00_uground_char2.resdat.o (.rodata) /* 0x499A00 */
- } > narc.FILE_499A00
- .FILE_499C00 : AT (0x499C00) {
- FILE_499C00_uground_clact.cldat.o (.rodata) /* 0x499C00 */
- } > narc.FILE_499C00
- .FILE_499E00 : AT (0x499E00) {
- FILE_499E00_uground_pltt.resdat.o (.rodata) /* 0x499E00 */
- } > narc.FILE_499E00
- .FILE_49A000 : AT (0x49A000) {
- FILE_49A000_uground_pltt2.resdat.o (.rodata) /* 0x49A000 */
- } > narc.FILE_49A000
- .FILE_49A200 : AT (0x49A200) {
- FILE_49A200_underg_radar.narc.o (.rodata) /* 0x49A200 */
- } > narc.FILE_49A200
- .FILE_4A4600 : AT (0x4A4600) {
- FILE_4A4600_utility.bin.o (.rodata) /* 0x4A4600 */
- } > narc.FILE_4A4600
- .FILE_57FC00 : AT (0x57FC00) {
- FILE_57FC00_weather_sys.narc.o (.rodata) /* 0x57FC00 */
- } > narc.FILE_57FC00
- .FILE_58F600 : AT (0x58F600) {
- FILE_58F600_wifi.ncgr.o (.rodata) /* 0x58F600 */
- } > narc.FILE_58F600
- .FILE_58FA00 : AT (0x58FA00) {
- FILE_58FA00_wifinote.narc.o (.rodata) /* 0x58FA00 */
- } > narc.FILE_58FA00
- .FILE_593400 : AT (0x593400) {
- FILE_593400_wifip2pmatch.narc.o (.rodata) /* 0x593400 */
- } > narc.FILE_593400
- .FILE_597400 : AT (0x597400) {
- FILE_597400_wm.ncgr.o (.rodata) /* 0x597400 */
- } > narc.FILE_597400
- .FILE_597800 : AT (0x597800) {
- FILE_597800_wm.nclr.o (.rodata) /* 0x597800 */
- } > narc.FILE_597800
- .FILE_597C00 : AT (0x597C00) {
- FILE_597C00_sound_data.sdat.o (.rodata) /* 0x597C00 */
- } > narc.FILE_597C00
- .FILE_CBB200 : AT (0xCBB200) {
- FILE_CBB200_msg.narc.o (.rodata) /* 0xCBB200 */
- } > narc.FILE_CBB200
- .FILE_F4D400 : AT (0xF4D400) {
- FILE_F4D400_scr_msg.narc.o (.rodata) /* 0xF4D400 */
- } > narc.FILE_F4D400
- .FILE_F4F000 : AT (0xF4F000) {
- FILE_F4F000_height.narc.o (.rodata) /* 0xF4F000 */
- } > narc.FILE_F4F000
- .FILE_F54C00 : AT (0xF54C00) {
- FILE_F54C00_height_o.narc.o (.rodata) /* 0xF54C00 */
- } > narc.FILE_F54C00
- .FILE_F55400 : AT (0xF55400) {
- FILE_F55400_otherpoke.narc.o (.rodata) /* 0xF55400 */
- } > narc.FILE_F55400
- .FILE_102EC00 : AT (0x102EC00) {
- FILE_102EC00_poke_shadow.narc.o (.rodata) /* 0x102EC00 */
- } > narc.FILE_102EC00
- .FILE_102F000 : AT (0x102F000) {
- FILE_102F000_poke_shadow_ofx.narc.o (.rodata) /* 0x102F000 */
- } > narc.FILE_102F000
- .FILE_102F400 : AT (0x102F400) {
- FILE_102F400_poke_yofs.narc.o (.rodata) /* 0x102F400 */
- } > narc.FILE_102F400
- .FILE_102F800 : AT (0x102F800) {
- FILE_102F800_pokegra.narc.o (.rodata) /* 0x102F800 */
- } > narc.FILE_102F800
- .FILE_1B6B400 : AT (0x1B6B400) {
- FILE_1B6B400_trbgra.narc.o (.rodata) /* 0x1B6B400 */
- } > narc.FILE_1B6B400
- .FILE_1B78200 : AT (0x1B78200) {
- FILE_1B78200_trfgra.narc.o (.rodata) /* 0x1B78200 */
- } > narc.FILE_1B78200
- .FILE_1C14A00 : AT (0x1C14A00) {
- FILE_1C14A00_personal.narc.o (.rodata) /* 0x1C14A00 */
- } > narc.FILE_1C14A00
- .FILE_1C1B000 : AT (0x1C1B000) {
- FILE_1C1B000_evo.narc.o (.rodata) /* 0x1C1B000 */
- } > narc.FILE_1C1B000
- .FILE_1C21600 : AT (0x1C21600) {
- FILE_1C21600_growtbl.narc.o (.rodata) /* 0x1C21600 */
- } > narc.FILE_1C21600
- .FILE_1C22400 : AT (0x1C22400) {
- FILE_1C22400_pms.narc.o (.rodata) /* 0x1C22400 */
- } > narc.FILE_1C22400
- .FILE_1C22800 : AT (0x1C22800) {
- FILE_1C22800_wotbl.narc.o (.rodata) /* 0x1C22800 */
- } > narc.FILE_1C22800
- .FILE_1C27200 : AT (0x1C27200) {
- FILE_1C27200_trdata.narc.o (.rodata) /* 0x1C27200 */
- } > narc.FILE_1C27200
- .FILE_1C2D000 : AT (0x1C2D000) {
- FILE_1C2D000_trpoke.narc.o (.rodata) /* 0x1C2D000 */
- } > narc.FILE_1C2D000
- .FILE_1C32600 : AT (0x1C32600) {
- FILE_1C32600_trtbl.narc.o (.rodata) /* 0x1C32600 */
- } > narc.FILE_1C32600
- .FILE_1C34C00 : AT (0x1C34C00) {
- FILE_1C34C00_trtblofs.narc.o (.rodata) /* 0x1C34C00 */
- } > narc.FILE_1C34C00
- .FILE_1C35400 : AT (0x1C35400) {
- FILE_1C35400_b_bag_gra.narc.o (.rodata) /* 0x1C35400 */
- } > narc.FILE_1C35400
- .FILE_1C3A400 : AT (0x1C3A400) {
- FILE_1C3A400_b_plist_gra.narc.o (.rodata) /* 0x1C3A400 */
- } > narc.FILE_1C3A400
- .FILE_1C4C800 : AT (0x1C4C800) {
- FILE_1C4C800_batt_bg.narc.o (.rodata) /* 0x1C4C800 */
- } > narc.FILE_1C4C800
- .FILE_1CE8E00 : AT (0x1CE8E00) {
- FILE_1CE8E00_batt_obj.narc.o (.rodata) /* 0x1CE8E00 */
- } > narc.FILE_1CE8E00
- .FILE_1D09200 : AT (0x1D09200) {
- FILE_1D09200_vs_demo_gra.narc.o (.rodata) /* 0x1D09200 */
- } > narc.FILE_1D09200
- .FILE_1D0E400 : AT (0x1D0E400) {
- FILE_1D0E400_we.arc.o (.rodata) /* 0x1D0E400 */
- } > narc.FILE_1D0E400
- .FILE_1D4C600 : AT (0x1D4C600) {
- FILE_1D4C600_we_sub.narc.o (.rodata) /* 0x1D4C600 */
- } > narc.FILE_1D4C600
- .FILE_1D4F800 : AT (0x1D4F800) {
- FILE_1D4F800_be_seq.narc.o (.rodata) /* 0x1D4F800 */
- } > narc.FILE_1D4F800
- .FILE_1D53A00 : AT (0x1D53A00) {
- FILE_1D53A00_sub_seq.narc.o (.rodata) /* 0x1D53A00 */
- } > narc.FILE_1D53A00
- .FILE_1D60200 : AT (0x1D60200) {
- FILE_1D60200_waza_seq.narc.o (.rodata) /* 0x1D60200 */
- } > narc.FILE_1D60200
- .FILE_1D61C00 : AT (0x1D61C00) {
- FILE_1D61C00_wecell.narc.o (.rodata) /* 0x1D61C00 */
- } > narc.FILE_1D61C00
- .FILE_1D63200 : AT (0x1D63200) {
- FILE_1D63200_wecellanm.narc.o (.rodata) /* 0x1D63200 */
- } > narc.FILE_1D63200
- .FILE_1D64600 : AT (0x1D64600) {
- FILE_1D64600_wechar.narc.o (.rodata) /* 0x1D64600 */
- } > narc.FILE_1D64600
- .FILE_1D6C800 : AT (0x1D6C800) {
- FILE_1D6C800_wepltt.narc.o (.rodata) /* 0x1D6C800 */
- } > narc.FILE_1D6C800
- .FILE_1D6DA00 : AT (0x1D6DA00) {
- FILE_1D6DA00_waza_tbl.narc.o (.rodata) /* 0x1D6DA00 */
- } > narc.FILE_1D6DA00
- .FILE_1D70800 : AT (0x1D70800) {
- FILE_1D70800_scr_seq_release.narc.o (.rodata) /* 0x1D70800 */
- } > narc.FILE_1D70800
- .FILE_1DA6200 : AT (0x1DA6200) {
- FILE_1DA6200_bag_gra.narc.o (.rodata) /* 0x1DA6200 */
- } > narc.FILE_1DA6200
- .FILE_1DC0000 : AT (0x1DC0000) {
- FILE_1DC0000_box.narc.o (.rodata) /* 0x1DC0000 */
- } > narc.FILE_1DC0000
- .FILE_1DDBC00 : AT (0x1DDBC00) {
- FILE_1DDBC00_btower.narc.o (.rodata) /* 0x1DDBC00 */
- } > narc.FILE_1DDBC00
- .FILE_1DDFE00 : AT (0x1DDFE00) {
- FILE_1DDFE00_config_gra.narc.o (.rodata) /* 0x1DDFE00 */
- } > narc.FILE_1DDFE00
- .FILE_1DE0200 : AT (0x1DE0200) {
- FILE_1DE0200_demo_trade.narc.o (.rodata) /* 0x1DE0200 */
- } > narc.FILE_1DE0200
- .FILE_1DE7E00 : AT (0x1DE7E00) {
- FILE_1DE7E00_dendou_demo.narc.o (.rodata) /* 0x1DE7E00 */
- } > narc.FILE_1DE7E00
- .FILE_1DE8600 : AT (0x1DE8600) {
- FILE_1DE8600_dendou_pc.narc.o (.rodata) /* 0x1DE8600 */
- } > narc.FILE_1DE8600
- .FILE_1DE8A00 : AT (0x1DE8A00) {
- FILE_1DE8A00_ending.narc.o (.rodata) /* 0x1DE8A00 */
- } > narc.FILE_1DE8A00
- .FILE_1E3A200 : AT (0x1E3A200) {
- FILE_1E3A200_ev_pokeselect.narc.o (.rodata) /* 0x1E3A200 */
- } > narc.FILE_1E3A200
- .FILE_1E5C800 : AT (0x1E5C800) {
- FILE_1E5C800_f_note_gra.narc.o (.rodata) /* 0x1E5C800 */
- } > narc.FILE_1E5C800
- .FILE_1E5F200 : AT (0x1E5F200) {
- FILE_1E5F200_field_board.narc.o (.rodata) /* 0x1E5F200 */
- } > narc.FILE_1E5F200
- .FILE_1E69C00 : AT (0x1E69C00) {
- FILE_1E69C00_field_encounteffect.narc.o (.rodata) /* 0x1E69C00 */
- } > narc.FILE_1E69C00
- .FILE_1E73400 : AT (0x1E73400) {
- FILE_1E73400_fld_comact.narc.o (.rodata) /* 0x1E73400 */
- } > narc.FILE_1E73400
- .FILE_1E73800 : AT (0x1E73800) {
- FILE_1E73800_font.narc.o (.rodata) /* 0x1E73800 */
- } > narc.FILE_1E73800
- .FILE_1E94800 : AT (0x1E94800) {
- FILE_1E94800_fontoam.narc.o (.rodata) /* 0x1E94800 */
- } > narc.FILE_1E94800
- .FILE_1E94E00 : AT (0x1E94E00) {
- FILE_1E94E00_hiden_effect.narc.o (.rodata) /* 0x1E94E00 */
- } > narc.FILE_1E94E00
- .FILE_1E9CE00 : AT (0x1E9CE00) {
- FILE_1E9CE00_imageclip.narc.o (.rodata) /* 0x1E9CE00 */
- } > narc.FILE_1E9CE00
- .FILE_1EDB600 : AT (0x1EDB600) {
- FILE_1EDB600_mail_gra.narc.o (.rodata) /* 0x1EDB600 */
- } > narc.FILE_1EDB600
- .FILE_1EF5800 : AT (0x1EF5800) {
- FILE_1EF5800_menu_gra.narc.o (.rodata) /* 0x1EF5800 */
- } > narc.FILE_1EF5800
- .FILE_1EFA400 : AT (0x1EFA400) {
- FILE_1EFA400_mysign.narc.o (.rodata) /* 0x1EFA400 */
- } > narc.FILE_1EFA400
- .FILE_1EFB600 : AT (0x1EFB600) {
- FILE_1EFB600_mystery.narc.o (.rodata) /* 0x1EFB600 */
- } > narc.FILE_1EFB600
- .FILE_1F03000 : AT (0x1F03000) {
- FILE_1F03000_ntag_gra.narc.o (.rodata) /* 0x1F03000 */
- } > narc.FILE_1F03000
- .FILE_1F30000 : AT (0x1F30000) {
- FILE_1F30000_nutmixer.narc.o (.rodata) /* 0x1F30000 */
- } > narc.FILE_1F30000
- .FILE_1F5C400 : AT (0x1F5C400) {
- FILE_1F5C400_oekaki.narc.o (.rodata) /* 0x1F5C400 */
- } > narc.FILE_1F5C400
- .FILE_1F5DA00 : AT (0x1F5DA00) {
- FILE_1F5DA00_opening.narc.o (.rodata) /* 0x1F5DA00 */
- } > narc.FILE_1F5DA00
- .FILE_1F64600 : AT (0x1F64600) {
- FILE_1F64600_plist_gra.narc.o (.rodata) /* 0x1F64600 */
- } > narc.FILE_1F64600
- .FILE_1F6E400 : AT (0x1F6E400) {
- FILE_1F6E400_pmsi.narc.o (.rodata) /* 0x1F6E400 */
- } > narc.FILE_1F6E400
- .FILE_1F71600 : AT (0x1F71600) {
- FILE_1F71600_poketch.narc.o (.rodata) /* 0x1F71600 */
- } > narc.FILE_1F71600
- .FILE_1F7FC00 : AT (0x1F7FC00) {
- FILE_1F7FC00_poru_gra.narc.o (.rodata) /* 0x1F7FC00 */
- } > narc.FILE_1F7FC00
- .FILE_1F86600 : AT (0x1F86600) {
- FILE_1F86600_poruact.narc.o (.rodata) /* 0x1F86600 */
- } > narc.FILE_1F86600
- .FILE_1F87C00 : AT (0x1F87C00) {
- FILE_1F87C00_porudemo.narc.o (.rodata) /* 0x1F87C00 */
- } > narc.FILE_1F87C00
- .FILE_1F8A000 : AT (0x1F8A000) {
- FILE_1F8A000_pst_gra.narc.o (.rodata) /* 0x1F8A000 */
- } > narc.FILE_1F8A000
- .FILE_1FA9200 : AT (0x1FA9200) {
- FILE_1FA9200_ranking.narc.o (.rodata) /* 0x1FA9200 */
- } > narc.FILE_1FA9200
- .FILE_1FAA800 : AT (0x1FAA800) {
- FILE_1FAA800_record.narc.o (.rodata) /* 0x1FAA800 */
- } > narc.FILE_1FAA800
- .FILE_1FB0200 : AT (0x1FB0200) {
- FILE_1FB0200_shop_gra.narc.o (.rodata) /* 0x1FB0200 */
- } > narc.FILE_1FB0200
- .FILE_1FB2A00 : AT (0x1FB2A00) {
- FILE_1FB2A00_tmap_gra.narc.o (.rodata) /* 0x1FB2A00 */
- } > narc.FILE_1FB2A00
- .FILE_1FC7A00 : AT (0x1FC7A00) {
- FILE_1FC7A00_touch_subwindow.narc.o (.rodata) /* 0x1FC7A00 */
- } > narc.FILE_1FC7A00
- .FILE_1FC8400 : AT (0x1FC8400) {
- FILE_1FC8400_trainer_case.narc.o (.rodata) /* 0x1FC8400 */
- } > narc.FILE_1FC8400
- .FILE_2000000 : AT (0x2000000) {
- FILE_2000000_unionroom.narc.o (.rodata) /* 0x2000000 */
- } > narc.FILE_2000000
- .FILE_2001400 : AT (0x2001400) {
- FILE_2001400_waza_oshie_gra.narc.o (.rodata) /* 0x2001400 */
- } > narc.FILE_2001400
- .FILE_2004400 : AT (0x2004400) {
- FILE_2004400_winframe.narc.o (.rodata) /* 0x2004400 */
- } > narc.FILE_2004400
- .FILE_200CE00 : AT (0x200CE00) {
- FILE_200CE00_worldtrade.narc.o (.rodata) /* 0x200CE00 */
- } > narc.FILE_200CE00
- .FILE_2018600 : AT (0x2018600) {
- FILE_2018600_item_data.narc.o (.rodata) /* 0x2018600 */
- } > narc.FILE_2018600
- .FILE_201D400 : AT (0x201D400) {
- FILE_201D400_item_icon.narc.o (.rodata) /* 0x201D400 */
- } > narc.FILE_201D400
- .FILE_207DE00 : AT (0x207DE00) {
- FILE_207DE00_nuts_data.narc.o (.rodata) /* 0x207DE00 */
- } > narc.FILE_207DE00
- .FILE_207E400 : AT (0x207E400) {
- FILE_207E400_poke_icon.narc.o (.rodata) /* 0x207E400 */
- } > narc.FILE_207E400
- .FILE_210B600 : AT (0x210B600) {
- FILE_210B600_pokefoot.narc.o (.rodata) /* 0x210B600 */
- } > narc.FILE_210B600
- .FILE_2119C00 : AT (0x2119C00) {
- FILE_2119C00_mmodel.narc.o (.rodata) /* 0x2119C00 */
- } > narc.FILE_2119C00
- .FILE_2242200 : AT (0x2242200) {
- FILE_2242200_fldeff.narc.o (.rodata) /* 0x2242200 */
- } > narc.FILE_2242200
- .FILE_225E200 : AT (0x225E200) {
- FILE_225E200_ball_particle.narc.o (.rodata) /* 0x225E200 */
- } > narc.FILE_225E200
- .FILE_22ACC00 : AT (0x22ACC00) {
- FILE_22ACC00_waza_particle.narc.o (.rodata) /* 0x22ACC00 */
- } > narc.FILE_22ACC00
- .FILE_24F2600 : AT (0x24F2600) {
- FILE_24F2600_debug_particle.narc.o (.rodata) /* 0x24F2600 */
- } > narc.FILE_24F2600
- .FILE_24F3200 : AT (0x24F3200) {
- FILE_24F3200_zone_event_release.narc.o (.rodata) /* 0x24F3200 */
- } > narc.FILE_24F3200
- .FILE_2515600 : AT (0x2515600) {
- FILE_2515600_d_enc_data.narc.o (.rodata) /* 0x2515600 */
- } > narc.FILE_2515600
- .FILE_2528C00 : AT (0x2528C00) {
- FILE_2528C00_p_enc_data.narc.o (.rodata) /* 0x2528C00 */
- } > narc.FILE_2528C00
- .FILE_253C200 : AT (0x253C200) {
- FILE_253C200_build_model.narc.o (.rodata) /* 0x253C200 */
- } > narc.FILE_253C200
- .FILE_2710800 : AT (0x2710800) {
- FILE_2710800_build_model_matshp.dat.o (.rodata) /* 0x2710800 */
- } > narc.FILE_2710800
- .FILE_2712000 : AT (0x2712000) {
- FILE_2712000_map_matrix.narc.o (.rodata) /* 0x2712000 */
- } > narc.FILE_2712000
- .FILE_2715000 : AT (0x2715000) {
- FILE_2715000_area_data.narc.o (.rodata) /* 0x2715000 */
- } > narc.FILE_2715000
- .FILE_2715400 : AT (0x2715400) {
- FILE_2715400_area_build.narc.o (.rodata) /* 0x2715400 */
- } > narc.FILE_2715400
- .FILE_2716800 : AT (0x2716800) {
- FILE_2716800_areabm_texset.narc.o (.rodata) /* 0x2716800 */
- } > narc.FILE_2716800
- .FILE_283BE00 : AT (0x283BE00) {
- FILE_283BE00_map_tex_set.narc.o (.rodata) /* 0x283BE00 */
- } > narc.FILE_283BE00
- .FILE_296EC00 : AT (0x296EC00) {
- FILE_296EC00_move_model_list.narc.o (.rodata) /* 0x296EC00 */
- } > narc.FILE_296EC00
- .FILE_296F200 : AT (0x296F200) {
- FILE_296F200_land_data_release.narc.o (.rodata) /* 0x296F200 */
- } > narc.FILE_296F200
- .FILE_3787200 : AT (0x3787200) {
- FILE_3787200_contest_bg.narc.o (.rodata) /* 0x3787200 */
- } > narc.FILE_3787200
- .FILE_379AE00 : AT (0x379AE00) {
- FILE_379AE00_contest_obj.narc.o (.rodata) /* 0x379AE00 */
- } > narc.FILE_379AE00
- .FILE_37A0C00 : AT (0x37A0C00) {
- FILE_37A0C00_contest_data.narc.o (.rodata) /* 0x37A0C00 */
- } > narc.FILE_37A0C00
- .FILE_37A4400 : AT (0x37A4400) {
- FILE_37A4400_particledata.narc.o (.rodata) /* 0x37A4400 */
- } > narc.FILE_37A4400
- .FILE_37ACA00 : AT (0x37ACA00) {
- FILE_37ACA00_zukan_data.narc.o (.rodata) /* 0x37ACA00 */
- } > narc.FILE_37ACA00
- .FILE_37B2400 : AT (0x37B2400) {
- FILE_37B2400_wifi_earth.narc.o (.rodata) /* 0x37B2400 */
- } > narc.FILE_37B2400
- .FILE_37D7800 : AT (0x37D7800) {
- FILE_37D7800_wifi_earth_place.narc.o (.rodata) /* 0x37D7800 */
- } > narc.FILE_37D7800
- .FILE_37D8600 : AT (0x37D8600) {
- FILE_37D8600_titledemo.narc.o (.rodata) /* 0x37D8600 */
- } > narc.FILE_37D8600
- .FILE_3810200 : AT (0x3810200) {
- FILE_3810200_cb_data.narc.o (.rodata) /* 0x3810200 */
- } > narc.FILE_3810200
- .FILE_381F000 : AT (0x381F000) {
- FILE_381F000_egg_data.narc.o (.rodata) /* 0x381F000 */
- } > narc.FILE_381F000
- .FILE_3821C00 : AT (0x3821C00) {
- FILE_3821C00_egg_demo_particle.narc.o (.rodata) /* 0x3821C00 */
- } > narc.FILE_3821C00
- .FILE_3824200 : AT (0x3824200) {
- FILE_3824200_move_model_list.narc.o (.rodata) /* 0x3824200 */
- } > narc.FILE_3824200
- .FILE_3824600 : AT (0x3824600) {
- FILE_3824600_poke_anm.narc.o (.rodata) /* 0x3824600 */
- } > narc.FILE_3824600
- .FILE_382AA00 : AT (0x382AA00) {
- FILE_382AA00_tr_ai_seq.narc.o (.rodata) /* 0x382AA00 */
- } > narc.FILE_382AA00
- .FILE_3835000 : AT (0x3835000) {
- FILE_3835000_bm_anime.narc.o (.rodata) /* 0x3835000 */
- } > narc.FILE_3835000
- .FILE_383E200 : AT (0x383E200) {
- FILE_383E200_bm_anime_list.narc.o (.rodata) /* 0x383E200 */
- } > narc.FILE_383E200
- .FILE_3841E00 : AT (0x3841E00) {
- FILE_3841E00_encdata_ex.narc.o (.rodata) /* 0x3841E00 */
- } > narc.FILE_3841E00
- .FILE_3842600 : AT (0x3842600) {
- FILE_3842600_ppark.narc.o (.rodata) /* 0x3842600 */
- } > narc.FILE_3842600
- .FILE_3843200 : AT (0x3843200) {
- FILE_3843200_ship_demo.narc.o (.rodata) /* 0x3843200 */
- } > narc.FILE_3843200
- .FILE_385A600 : AT (0x385A600) {
- FILE_385A600_tv.narc.o (.rodata) /* 0x385A600 */
- } > narc.FILE_385A600
- .FILE_385AA00 : AT (0x385AA00) {
- FILE_385AA00_mapname.bin.o (.rodata) /* 0x385AA00 */
- } > narc.FILE_385AA00
- .FILE_385CE00 : AT (0x385CE00) {
- FILE_385CE00_pokezukan.narc.o (.rodata) /* 0x385CE00 */
- } > narc.FILE_385CE00
- .FILE_385D400 : AT (0x385D400) {
- FILE_385D400_shinzukan.narc.o (.rodata) /* 0x385D400 */
- } > narc.FILE_385D400
- .FILE_385D600 : AT (0x385D600) {
- FILE_385D600_pokeanm.narc.o (.rodata) /* 0x385D600 */
- } > narc.FILE_385D600
- .FILE_3860E00 : AT (0x3860E00) {
- FILE_3860E00_fld_trade.narc.o (.rodata) /* 0x3860E00 */
- } > narc.FILE_3860E00
- .FILE_3861000 : AT (0x3861000) {
- FILE_3861000_shinka_demo_particle.narc.o (.rodata) /* 0x3861000 */
- } > narc.FILE_3861000
- .FILE_3863600 : AT (0x3863600) {
- FILE_3863600_intro.narc.o (.rodata) /* 0x3863600 */
- } > narc.FILE_3863600
- .FILE_387EA00 : AT (0x387EA00) {
- FILE_387EA00_intro_tv.narc.o (.rodata) /* 0x387EA00 */
- } > narc.FILE_387EA00
- .FILE_388CA00 : AT (0x388CA00) {
- FILE_388CA00_op_demo.narc.o (.rodata) /* 0x388CA00 */
- } > narc.FILE_388CA00
- .FILE_3923C00 : AT (0x3923C00) {
- FILE_3923C00_syoujyou.narc.o (.rodata) /* 0x3923C00 */
- } > narc.FILE_3923C00
- .FILE_392A200 : AT (0x392A200) {
- FILE_392A200_btdpm.narc.o (.rodata) /* 0x392A200 */
- } > narc.FILE_392A200
- .FILE_392FC00 : AT (0x392FC00) {
- FILE_392FC00_btdtr.narc.o (.rodata) /* 0x392FC00 */
- } > narc.FILE_392FC00
- .FILE_3938000 : AT (0x3938000) {
- FILE_3938000_zukan_enc_diamond.narc.o (.rodata) /* 0x3938000 */
- } > narc.FILE_3938000
- .FILE_3949800 : AT (0x3949800) {
- FILE_3949800_zukan_enc_pearl.narc.o (.rodata) /* 0x3949800 */
- } > narc.FILE_3949800
- .FILE_395B000 : AT (0x395B000) {
- FILE_395B000_trial.narc.o (.rodata) /* 0x395B000 */
- } > narc.FILE_395B000
- .FILE_3968C00 : AT (0x3968C00) {
- FILE_3968C00_zukan.narc.o (.rodata) /* 0x3968C00 */
- } > narc.FILE_3968C00
- .FILE_397AA00 : AT (0x397AA00) {
- FILE_397AA00_utility.bin.o (.rodata) /* 0x397AA00 */
- } > narc.FILE_397AA00
-}
diff --git a/pokediamond.rsf b/pokediamond.rsf
index b3549147..1b410a2b 100644
--- a/pokediamond.rsf
+++ b/pokediamond.rsf
@@ -15,7 +15,7 @@ Arm7
Property
{
- RomHeaderTemplate rom_header.pokediamond.sbin
+ RomHeaderTemplate tools/bin/rom_header.template.sbin
TitleName "POKEMON D"
MakerCode "01"
RemasterVersion 5
diff --git a/tools/fixrom/.gitignore b/tools/fixrom/.gitignore
new file mode 100644
index 00000000..8ab48d98
--- /dev/null
+++ b/tools/fixrom/.gitignore
@@ -0,0 +1 @@
+fixrom
diff --git a/tools/fixrom/Makefile b/tools/fixrom/Makefile
new file mode 100644
index 00000000..7a3b5e0d
--- /dev/null
+++ b/tools/fixrom/Makefile
@@ -0,0 +1,13 @@
+CC := gcc
+CFLAGS := -O3
+
+.PHONY: all clean
+
+all: fixrom
+ @:
+
+fixrom: fixrom.c
+ $(CC) $(CFLAGS) -o $@ $^
+
+clean:
+ $(RM) fixrom fixrom.exe
diff --git a/tools/fixrom/fixrom.c b/tools/fixrom/fixrom.c
new file mode 100644
index 00000000..0acbbe11
--- /dev/null
+++ b/tools/fixrom/fixrom.c
@@ -0,0 +1,190 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <string.h>
+#include <stdnoreturn.h>
+#include <stdarg.h>
+
+#define HEADER_SIZE 0x4000
+
+uint8_t RomHeader[HEADER_SIZE];
+
+static inline noreturn __attribute__((format(printf, 1, 2))) void fatal_error(const char * message, ...)
+{
+ va_list va_args;
+ va_start(va_args, message);
+ fputs("Error: ", stderr);
+ vfprintf(stderr, message, va_args);
+ fputc('\n', stderr);
+ va_end(va_args);
+ exit(EXIT_FAILURE);
+}
+
+static inline void OffsetCheck(int offset)
+{
+ if (offset < 0 || offset >= HEADER_SIZE)
+ {
+ fatal_error("illegal access to header+%d", offset);
+ }
+}
+
+static inline uint16_t HeaderReadU16LE(int offset)
+{
+ OffsetCheck(offset);
+ return RomHeader[offset] |
+ (RomHeader[offset + 1] << 8);
+}
+
+static inline uint32_t HeaderReadU32LE(int offset)
+{
+ OffsetCheck(offset);
+ return RomHeader[offset] |
+ (RomHeader[offset + 1] << 8) |
+ (RomHeader[offset + 2] << 16) |
+ (RomHeader[offset + 3] << 24);
+}
+
+static inline void HeaderWriteU16LE(int offset, uint16_t value)
+{
+ OffsetCheck(offset);
+ RomHeader[offset] = value;
+ RomHeader[offset + 1] = value >> 8;
+}
+static inline void HeaderWriteU32LE(int offset, uint32_t value)
+{
+ OffsetCheck(offset);
+ RomHeader[offset] = value;
+ RomHeader[offset + 1] = value >> 8;
+ RomHeader[offset + 2] = value >> 16;
+ RomHeader[offset + 3] = value >> 24;
+}
+
+static uint16_t Calc_CRC16(uint8_t * data, size_t length, uint16_t crc)
+{
+ static uint16_t CrcTable[16] = {
+ 0x0000,
+ 0xCC01,
+ 0xD801,
+ 0x1400,
+ 0xF001,
+ 0x3C00,
+ 0x2800,
+ 0xE401,
+ 0xA001,
+ 0x6C00,
+ 0x7800,
+ 0xB401,
+ 0x5000,
+ 0x9C01,
+ 0x8801,
+ 0x4400,
+ };
+
+ uint16_t x = 0;
+ uint16_t y;
+ uint16_t bit = 0;
+ uint8_t * end = data + length;
+ while (data < end)
+ {
+ if (bit == 0)
+ {
+ x = data[0] | (data[1] << 8);
+ }
+ y = CrcTable[crc & 15];
+ crc >>= 4;
+ crc ^= y;
+ y = CrcTable[(x >> bit) & 15];
+ crc ^= y;
+ bit += 4;
+ if (bit == 16)
+ {
+ data += 2;
+ bit = 0;
+ }
+ }
+ return crc;
+}
+
+int main(int argc, char ** argv)
+{
+ uint16_t secure_crc = 0xFFFF;
+ char game_code[4] = "NTRJ";
+ int override_crc = 0;
+ int override_code = 0;
+ FILE * rom = NULL;
+
+ for (int i = 1; i < argc; i++) {
+ if (strcmp(argv[i], "--secure-crc") == 0)
+ {
+ if (override_crc)
+ {
+ fatal_error("multiple --secure-crc options specified");
+ }
+ char * endptr;
+ ulong secure_crc_l = strtoul(argv[++i], &endptr, 0);
+ if (secure_crc_l == 0 && endptr == argv[i])
+ {
+ fatal_error("argument to --secure-crc must be an integer");
+ }
+ if (secure_crc_l >= 0x10000)
+ {
+ fatal_error("argument to --secure-crc must be a 16-bit integer");
+ }
+ secure_crc = secure_crc_l;
+ override_crc = 1;
+ }
+ else if (strcmp(argv[i], "--game-code") == 0)
+ {
+ if (override_code)
+ {
+ fatal_error("multiple --game-code options specified");
+ }
+ if (strlen(argv[++i]) > 4)
+ {
+ fatal_error("argument to --game-code must be 4 characters or fewer");
+ }
+ strncpy(game_code, argv[i], 4);
+ override_code = 1;
+ }
+ else
+ {
+ if (rom != NULL)
+ {
+ fatal_error("unrecognized %s argument: %s", argv[i][0] == '-' ? "flag" : "positional", argv[i]);
+ }
+ rom = fopen(argv[i], "r+b");
+ if (rom == NULL)
+ {
+ fatal_error(argv[i][0] == '-' ? "unrecognized flag argument: %s" : "unable to open file '%s' for reading", argv[i]);
+ }
+ }
+ }
+
+ if (fread(RomHeader, 1, HEADER_SIZE, rom) != HEADER_SIZE)
+ {
+ fatal_error("error reading the ROM header");
+ }
+
+ if (override_crc)
+ {
+ HeaderWriteU16LE(0x6C, secure_crc);
+ }
+
+ if (override_code)
+ {
+ memcpy(RomHeader + 0xC, game_code, 4);
+ }
+
+ uint16_t header_crc = Calc_CRC16((uint8_t *)RomHeader, 0x15E, 0xFFFF);
+ HeaderWriteU16LE(0x15E, header_crc);
+
+ fseek(rom, 0, SEEK_SET);
+ if (fwrite(RomHeader, 1, HEADER_SIZE, rom) != HEADER_SIZE)
+ {
+ fatal_error("error writing the ROM header");
+ }
+
+ fclose(rom);
+ return EXIT_SUCCESS;
+}
diff --git a/tools/scaninc/source_file.cpp b/tools/scaninc/source_file.cpp
index 5d0281a4..4f51cd48 100644
--- a/tools/scaninc/source_file.cpp
+++ b/tools/scaninc/source_file.cpp
@@ -39,8 +39,18 @@ SourceFileType GetFileType(std::string& path)
return SourceFileType::Header;
else if (extension == "inc")
return SourceFileType::Inc;
- else
- FATAL_ERROR("Unrecognized extension \"%s\"\n", extension.c_str());
+ else if (extension == "txt")
+ {
+ std::string trunc = path.substr(0, pos);
+ pos = trunc.find_last_of('.');
+ if (pos != std::string::npos)
+ {
+ std::string ext2 = trunc.substr(pos + 1);
+ if (ext2 == "json")
+ return SourceFileType::Cpp;
+ }
+ }
+ FATAL_ERROR("Unrecognized extension \"%s\"\n", extension.c_str());
// Unreachable
return SourceFileType::Cpp;