Permalink
Browse files

-added error message if no game was found on NAND

-sorting game list before displaying it
-better stack positions for kirby mass attack, super mario 64 ds, kirby canvas curse, zelda phantom hourglass, spirit tracks and pokemon ranger shadows of almia
-added support for pokemon ranger, animal crossing wild world, pokemon mystery dungeon explorers of sky and pokemon ranger guardian signs
1 parent 3b4e51b commit bfa52229b6dc50e490cc766036a77adc3afdd5c1 @FIX94 committed Dec 1, 2016
View
@@ -6,14 +6,19 @@ else
ZIP = zip
endif
-all: setup brainage dkjclimber kirby kirbymassattack mariokartds masterofdisguise newsmb_eur partnersintime sfcommand sm64ds yoshids zeldaph zeldast \
- brainage.zip dkjclimber.zip kirby.zip kirbymassattack.zip mariokartds.zip masterofdisguise.zip newsmb_eur.zip partnersintime.zip \
- sfcommand.zip sm64ds.zip yoshids.zip zeldaph.zip zeldast.zip
+all: setup animalcrossing brainage dkjclimber guardiansigns kirby kirbymassattack mariokartds masterofdisguise newsmb_eur partnersintime \
+ pokemonranger sfcommand sm64ds yoshids zeldaph zeldast \
+ animalcrossing.zip brainage.zip dkjclimber.zip guardiansigns.zip kirby.zip kirbymassattack.zip mariokartds.zip masterofdisguise.zip \
+ newsmb_eur.zip partnersintime.zip pokemonranger.zip sfcommand.zip sm64ds.zip yoshids.zip zeldaph.zip zeldast.zip
+
+animalcrossing: setup_animalcrossing animalcrossing.nds
brainage: setup_brainage brainage.nds
dkjclimber: setup_dkjclimber dkjclimber.nds
+guardiansigns: setup_guardiansigns guardiansigns.nds
+
kirby: setup_kirby kirby.nds
kirbymassattack: setup_kirbymassattack kirbymassattack.nds
@@ -26,6 +31,8 @@ newsmb_eur: setup_newsmb_eur newsmb_eur.nds
partnersintime: setup_partnersintime partnersintime.nds
+pokemonranger: setup_pokemonranger pokemonranger.nds
+
sfcommand: setup_sfcommand sfcommand.nds
sm64ds: setup_sm64ds sm64ds.nds
@@ -41,6 +48,10 @@ setup:
@cd hbl_loader && make && cd ..
@cd cfw_booter && make && cd ..
+setup_animalcrossing:
+ @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
+ @cp -f animalcrossing_defs.s defines.s
+
setup_brainage:
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
@cp -f brainage_defs.s defines.s
@@ -49,6 +60,10 @@ setup_dkjclimber:
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
@cp -f dkjclimber_defs.s defines.s
+setup_guardiansigns:
+ @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
+ @cp -f guardiansigns_defs.s defines.s
+
setup_kirby:
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
@cp -f kirby_defs.s defines.s
@@ -69,6 +84,10 @@ setup_newsmb_eur:
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
@cp -f newsmb_eur_defs.s defines.s
+setup_pokemonranger:
+ @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
+ @cp -f pokemonranger_defs.s defines.s
+
setup_partnersintime:
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
@cp -f partnersintime_defs.s defines.s
@@ -93,6 +112,11 @@ setup_zeldast:
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
@cp -f zeldast_defs.s defines.s
+animalcrossing.nds:
+ @armips haxchi_rop.s
+ @armips haxchi.s
+ @mv rom.nds animalcrossing.nds
+
brainage.nds:
@armips haxchi_rop.s
@armips haxchi.s
@@ -104,6 +128,11 @@ dkjclimber.nds:
@armips haxchi.s
@mv rom.nds dkjclimber.nds
+guardiansigns.nds:
+ @armips haxchi_rop.s
+ @armips haxchi.s
+ @mv rom.nds guardiansigns.nds
+
kirby.nds:
@armips haxchi_rop.s
@armips haxchi.s
@@ -130,6 +159,11 @@ newsmb_eur.nds:
@armips haxchi.s
@mv rom.nds newsmb_eur.nds
+pokemonranger.nds:
+ @armips haxchi_rop.s
+ @armips haxchi.s
+ @mv rom.nds pokemonranger.nds
+
partnersintime.nds:
@armips haxchi_rop.s
@armips haxchi.s
@@ -162,15 +196,22 @@ zeldast.nds:
@armips haxchi_rop.s
@armips haxchi.s
@mv rom.nds zeldast.nds
+ @cp zeldast.nds explorersofsky.nds
@cp zeldast.nds shadowsofalmia.nds
+animalcrossing.zip:
+ $(ZIP) -JXjq9 ../installer/data/animalcrossing.zip animalcrossing.nds
+
brainage.zip:
$(ZIP) -JXjq9 ../installer/data/brainage.zip brainage.nds
$(ZIP) -JXjq9 ../installer/data/yoshitouchandgo.zip yoshitouchandgo.nds
dkjclimber.zip:
$(ZIP) -JXjq9 ../installer/data/dkjclimber.zip dkjclimber.nds
+guardiansigns.zip:
+ $(ZIP) -JXjq9 ../installer/data/guardiansigns.zip guardiansigns.nds
+
kirby.zip:
$(ZIP) -JXjq9 ../installer/data/kirby.zip kirby.nds
@@ -187,6 +228,9 @@ masterofdisguise.zip:
newsmb_eur.zip:
$(ZIP) -JXjq9 ../installer/data/newsmb_eur.zip newsmb_eur.nds
+pokemonranger.zip:
+ $(ZIP) -JXjq9 ../installer/data/pokemonranger.zip pokemonranger.nds
+
partnersintime.zip:
$(ZIP) -JXjq9 ../installer/data/partnersintime.zip partnersintime.nds
@@ -207,6 +251,7 @@ zeldaph.zip:
zeldast.zip:
$(ZIP) -JXjq9 ../installer/data/zeldast.zip zeldast.nds
+ $(ZIP) -JXjq9 ../installer/data/explorersofsky.zip explorersofsky.nds
$(ZIP) -JXjq9 ../installer/data/shadowsofalmia.zip shadowsofalmia.nds
clean:
@@ -0,0 +1,39 @@
+
+; game stack return address
+HAX_TARGET_ADDRESS equ (0x1079B6A4-0xC8)
+; application memory pointer
+HACHI_APPLICATION_PTR equ (0x10C91938)
+; arm9 rom location address
+ARM9_ROM_LOCATION equ (0x16440F00)
+
+; constants for position calcs
+RPX_OFFSET equ (0x01800000)
+ARM7_ROM_MEM2_START equ (0xF0000000 - ARM9_ROM_LOCATION + 0x12000000)
+
+; rop-gadgets part 1 (used for all sorts of different things)
+LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR equ (RPX_OFFSET + 0x0200369C)
+BCTRL equ (RPX_OFFSET + 0x020041D8)
+MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR equ (RPX_OFFSET + 0x020A9DC4)
+LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR equ (RPX_OFFSET + 0x020A999C)
+LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x02001AF8)
+MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR equ (RPX_OFFSET + 0x0217F924)
+LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR equ (RPX_OFFSET + 0x0227F310)
+
+; rop-gadgets part 2 (only used to set up core 0 thread stack)
+LWZ_R3_8_R1_LWZ_R0x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x02018AB0)
+MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020B5204)
+LWZ_R5_R1x8_CMPLW_R5_R31_BNE_MR_R3_R5_LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x0200F624)
+LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x020862CC)
+LWZ_R7_R1x10_LWZ_R8_R1x14_STW_R7_R31x0_STW_R8_R31x0_LWZ_R0_R1x2C_LWZ_R31_R0x24_MTLR_R0_LWZ_R30_R0x20_ADDI_R1x28_BLR equ (RPX_OFFSET + 0x0205A454)
+LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR equ (RPX_OFFSET + 0x02018B38)
+LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR equ (RPX_OFFSET + 0x0214FA58)
+MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020244B4)
+
+; functions used from game
+NERD_CREATETHREAD equ (RPX_OFFSET + 0x022290AC)
+NERD_STARTTHREAD equ (RPX_OFFSET + 0x022294C8)
+NERD_JOINTHREAD equ (RPX_OFFSET + 0x02228F58)
+HACHI_APPLICATION_SHUTDOWNANDDESTROY equ (RPX_OFFSET + 0x02006E2C)
+NERD_FASTWIIU_SHUTDOWN equ (RPX_OFFSET + 0x0201FF0C)
+CORE_SHUTDOWN equ (RPX_OFFSET + 0x02228B9C)
+_START_EXIT equ (RPX_OFFSET + 0x020265DC)
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x1076FAA4)
+HAX_TARGET_ADDRESS equ (0x1076FB5C-0xB8)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10A6E038)
; arm9 rom location address
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x107968EC)
+HAX_TARGET_ADDRESS equ (0x107969A4-0xB8)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C8C938)
; arm9 rom location address
@@ -0,0 +1,39 @@
+
+; game stack return address
+HAX_TARGET_ADDRESS equ (0x1079C564-0xC8)
+; application memory pointer
+HACHI_APPLICATION_PTR equ (0x10C92938)
+; arm9 rom location address
+ARM9_ROM_LOCATION equ (0x16441D00)
+
+; constants for position calcs
+RPX_OFFSET equ (0x01800000)
+ARM7_ROM_MEM2_START equ (0xF0000000 - ARM9_ROM_LOCATION + 0x12000000)
+
+; rop-gadgets part 1 (used for all sorts of different things)
+LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR equ (RPX_OFFSET + 0x0200369C)
+BCTRL equ (RPX_OFFSET + 0x020041D8)
+MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR equ (RPX_OFFSET + 0x020ABF88)
+LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR equ (RPX_OFFSET + 0x020ABB60)
+LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x02001AF8)
+MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR equ (RPX_OFFSET + 0x02181AC0)
+LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR equ (RPX_OFFSET + 0x02281624)
+
+; rop-gadgets part 2 (only used to set up core 0 thread stack)
+LWZ_R3_8_R1_LWZ_R0x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x02018A88)
+MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020B73C8)
+LWZ_R5_R1x8_CMPLW_R5_R31_BNE_MR_R3_R5_LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x0200F610)
+LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x020882E0)
+LWZ_R7_R1x10_LWZ_R8_R1x14_STW_R7_R31x0_STW_R8_R31x0_LWZ_R0_R1x2C_LWZ_R31_R0x24_MTLR_R0_LWZ_R30_R0x20_ADDI_R1x28_BLR equ (RPX_OFFSET + 0x0205B0C8)
+LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR equ (RPX_OFFSET + 0x02018B10)
+LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR equ (RPX_OFFSET + 0x02151BF4)
+MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x0202441C)
+
+; functions used from game
+NERD_CREATETHREAD equ (RPX_OFFSET + 0x0222B2FC)
+NERD_STARTTHREAD equ (RPX_OFFSET + 0x0222B718)
+NERD_JOINTHREAD equ (RPX_OFFSET + 0x0222B1A8)
+HACHI_APPLICATION_SHUTDOWNANDDESTROY equ (RPX_OFFSET + 0x02006E2C)
+NERD_FASTWIIU_SHUTDOWN equ (RPX_OFFSET + 0x0201FE74)
+CORE_SHUTDOWN equ (RPX_OFFSET + 0x0222ADEC)
+_START_EXIT equ (RPX_OFFSET + 0x02026544)
View
@@ -232,7 +232,7 @@ rop_start:
call_func OSCODEGEN_SWITCHSECMODE, 0x1, 0x0, 0x0, 0x0
call_func IC_INVALIDATERANGE, HBL_LOADER_ADR, 0xE000, 0x0, 0x0
- ; execute hbl_loader in codegen
+ ; execute option_select in codegen
.word SELECTOR_ADDRESS
core0rop_end:
View
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x107968AC)
+HAX_TARGET_ADDRESS equ (0x10796964-0xB8)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C8C938)
; arm9 rom location address
@@ -1,6 +1,6 @@
-; game stack return address (note: not ideal here)
-HAX_TARGET_ADDRESS equ (0x1079A38C)
+; game stack return address
+HAX_TARGET_ADDRESS equ (0x1079A3E4-0xC0)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C90938)
; arm9 rom location address
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x1077865C)
+HAX_TARGET_ADDRESS equ (0x1077870C-0xB0)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10A77038)
; arm9 rom location address
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x1079B86C)
+HAX_TARGET_ADDRESS equ (0x1079B924-0xB8)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C91938)
; arm9 rom location address
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x1077855C)
+HAX_TARGET_ADDRESS equ (0x1077860C-0xB0)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10A77038)
; arm9 rom location address
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x1079B56C)
+HAX_TARGET_ADDRESS equ (0x1079B624-0xB8)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C91938)
; arm9 rom location address
@@ -0,0 +1,39 @@
+
+; game stack return address
+HAX_TARGET_ADDRESS equ (0x1079B664-0xB8)
+; application memory pointer
+HACHI_APPLICATION_PTR equ (0x10C91938)
+; arm9 rom location address
+ARM9_ROM_LOCATION equ (0x16440E00)
+
+; constants for position calcs
+RPX_OFFSET equ (0x01800000)
+ARM7_ROM_MEM2_START equ (0xF0000000 - ARM9_ROM_LOCATION + 0x12000000)
+
+; rop-gadgets part 1 (used for all sorts of different things)
+LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR equ (RPX_OFFSET + 0x0204A6A0)
+BCTRL equ (RPX_OFFSET + 0x02003D2C)
+MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR equ (RPX_OFFSET + 0x020AAB64)
+LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR equ (RPX_OFFSET + 0x020AA73C)
+LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x02001A8C)
+MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR equ (RPX_OFFSET + 0x021806C4)
+LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR equ (RPX_OFFSET + 0x022800B0)
+
+; rop-gadgets part 2 (only used to set up core 0 thread stack)
+LWZ_R3_8_R1_LWZ_R0x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020187E8)
+MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020B5FA4)
+LWZ_R5_R1x8_CMPLW_R5_R31_BNE_MR_R3_R5_LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x0200F35C)
+LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x020871A4)
+LWZ_R7_R1x10_LWZ_R8_R1x14_STW_R7_R31x0_STW_R8_R31x0_LWZ_R0_R1x2C_LWZ_R31_R0x24_MTLR_R0_LWZ_R30_R0x20_ADDI_R1x28_BLR equ (RPX_OFFSET + 0x0205B638)
+LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR equ (RPX_OFFSET + 0x02018870)
+LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR equ (RPX_OFFSET + 0x021507F8)
+MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020241EC)
+
+; functions used from game
+NERD_CREATETHREAD equ (RPX_OFFSET + 0x02229E4C)
+NERD_STARTTHREAD equ (RPX_OFFSET + 0x0222A268)
+NERD_JOINTHREAD equ (RPX_OFFSET + 0x02229CF8)
+HACHI_APPLICATION_SHUTDOWNANDDESTROY equ (RPX_OFFSET + 0x02006B64)
+NERD_FASTWIIU_SHUTDOWN equ (RPX_OFFSET + 0x0201FC44)
+CORE_SHUTDOWN equ (RPX_OFFSET + 0x0222993C)
+_START_EXIT equ (RPX_OFFSET + 0x02026314)
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x107968AC)
+HAX_TARGET_ADDRESS equ (0x10796964-0xB8)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C8C938)
; arm9 rom location address
View
@@ -1,6 +1,6 @@
-; game stack return address (note: not ideal here)
-HAX_TARGET_ADDRESS equ (0x1079914C)
+; game stack return address
+HAX_TARGET_ADDRESS equ (0x107991A4-0xC0)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C8F938)
; arm9 rom location address
@@ -1,6 +1,6 @@
; game stack return address
-HAX_TARGET_ADDRESS equ (0x1079B52C)
+HAX_TARGET_ADDRESS equ (0x1079B5E4-0xB8)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C91938)
; arm9 rom location address
@@ -1,6 +1,6 @@
-; game stack return address (note: not ideal here)
-HAX_TARGET_ADDRESS equ (0x10799CBC)
+; game stack return address
+HAX_TARGET_ADDRESS equ (0x10799D24-0xC0)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C8F938)
; arm9 rom location address
@@ -1,6 +1,6 @@
-; game stack return address (note: not ideal here)
-HAX_TARGET_ADDRESS equ (0x1079C50C)
+; game stack return address
+HAX_TARGET_ADDRESS equ (0x1079C564-0xC8)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10C92938)
; arm9 rom location address
Oops, something went wrong.

0 comments on commit bfa5222

Please sign in to comment.