mirror of
https://github.com/wiiu-env/haxchi.git
synced 2024-11-12 19:35:06 +01:00
-added support for 6 new games
-recompiled everything using devkitppc r28
This commit is contained in:
parent
a7a9652396
commit
17c2638bf5
81
Makefile
81
Makefile
@ -6,17 +6,26 @@ else
|
||||
ZIP = zip
|
||||
endif
|
||||
|
||||
all: setup brainage kirby mariokartds newsmb_eur sfcommand sm64ds yoshids zeldaph brainage.zip kirby.zip mariokartds.zip \
|
||||
newsmb_eur.zip sfcommand.zip sm64ds.zip yoshids.zip yoshitouchandgo.zip zeldaph.zip
|
||||
all: setup brainage dkjclimber kirby kirbymassattack mariokartds masterofdisguise newsmb_eur partnersintime sfcommand sm64ds yoshids zeldaph \
|
||||
brainage.zip dkjclimber.zip kirby.zip kirbymassattack.zip mariokartds.zip masterofdisguise.zip newsmb_eur.zip partnersintime.zip \
|
||||
sfcommand.zip sm64ds.zip yoshids.zip yoshitouchandgo.zip zeldaph.zip
|
||||
|
||||
brainage: setup_brainage brainage.nds
|
||||
|
||||
dkjclimber: setup_dkjclimber dkjclimber.nds
|
||||
|
||||
kirby: setup_kirby kirby.nds
|
||||
|
||||
kirbymassattack: setup_kirbymassattack kirbymassattack.nds
|
||||
|
||||
mariokartds: setup_mariokartds mariokartds.nds
|
||||
|
||||
masterofdisguise: setup_masterofdisguise masterofdisguise.nds
|
||||
|
||||
newsmb_eur: setup_newsmb_eur newsmb_eur.nds
|
||||
|
||||
partnersintime: setup_partnersintime partnersintime.nds
|
||||
|
||||
sfcommand: setup_sfcommand sfcommand.nds
|
||||
|
||||
sm64ds: setup_sm64ds sm64ds.nds
|
||||
@ -34,17 +43,33 @@ setup_brainage:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@cp -f brainage_defs.s defines.s
|
||||
|
||||
setup_dkjclimber:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@cp -f dkjclimber_defs.s defines.s
|
||||
|
||||
setup_kirby:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@cp -f kirby_defs.s defines.s
|
||||
|
||||
setup_kirbymassattack:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@cp -f kirbymassattack_defs.s defines.s
|
||||
|
||||
setup_mariokartds:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@cp -f mariokartds_defs.s defines.s
|
||||
|
||||
setup_masterofdisguise:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@cp -f masterofdisguise_defs.s defines.s
|
||||
|
||||
setup_newsmb_eur:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@cp -f newsmb_eur_defs.s defines.s
|
||||
|
||||
setup_mariokartds:
|
||||
setup_partnersintime:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@cp -f mariokartds_defs.s defines.s
|
||||
@cp -f partnersintime_defs.s defines.s
|
||||
|
||||
setup_sfcommand:
|
||||
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
|
||||
@ -68,15 +93,20 @@ brainage.nds:
|
||||
@mv rom.nds brainage.nds
|
||||
@cp brainage.nds yoshitouchandgo.nds
|
||||
|
||||
dkjclimber.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@mv rom.nds dkjclimber.nds
|
||||
|
||||
kirby.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@mv rom.nds kirby.nds
|
||||
|
||||
newsmb_eur.nds:
|
||||
kirbymassattack.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@mv rom.nds newsmb_eur.nds
|
||||
@mv rom.nds kirbymassattack.nds
|
||||
|
||||
mariokartds.nds:
|
||||
@armips haxchi_rop.s
|
||||
@ -84,6 +114,21 @@ mariokartds.nds:
|
||||
@mv rom.nds mariokartds.nds
|
||||
@cp mariokartds.nds newsmb.nds
|
||||
|
||||
masterofdisguise.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@mv rom.nds masterofdisguise.nds
|
||||
|
||||
newsmb_eur.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@mv rom.nds newsmb_eur.nds
|
||||
|
||||
partnersintime.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@mv rom.nds partnersintime.nds
|
||||
|
||||
sfcommand.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@ -93,12 +138,14 @@ sm64ds.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@mv rom.nds sm64ds.nds
|
||||
@cp sm64ds.nds kirbycanvascurse.nds
|
||||
|
||||
yoshids.nds:
|
||||
@armips haxchi_rop.s
|
||||
@armips haxchi.s
|
||||
@mv rom.nds yoshids.nds
|
||||
@cp yoshids.nds wwtouched.nds
|
||||
@cp yoshids.nds bigbrainacademy.nds
|
||||
|
||||
zeldaph.nds:
|
||||
@armips haxchi_rop.s
|
||||
@ -109,33 +156,45 @@ brainage.zip:
|
||||
$(ZIP) -JXjq9 brainage.zip brainage.nds
|
||||
$(ZIP) -JXjq9 yoshitouchandgo.zip yoshitouchandgo.nds
|
||||
|
||||
dkjclimber.zip:
|
||||
$(ZIP) -JXjq9 dkjclimber.zip dkjclimber.nds
|
||||
|
||||
kirby.zip:
|
||||
$(ZIP) -JXjq9 kirby.zip kirby.nds
|
||||
|
||||
newsmb_eur.zip:
|
||||
$(ZIP) -JXjq9 newsmb_eur.zip newsmb_eur.nds
|
||||
kirbymassattack.zip:
|
||||
$(ZIP) -JXjq9 kirbymassattack.zip kirbymassattack.nds
|
||||
|
||||
mariokartds.zip:
|
||||
$(ZIP) -JXjq9 mariokartds.zip mariokartds.nds
|
||||
$(ZIP) -JXjq9 newsmb.zip newsmb.nds
|
||||
|
||||
masterofdisguise.zip:
|
||||
$(ZIP) -JXjq9 masterofdisguise.zip masterofdisguise.nds
|
||||
|
||||
newsmb_eur.zip:
|
||||
$(ZIP) -JXjq9 newsmb_eur.zip newsmb_eur.nds
|
||||
|
||||
partnersintime.zip:
|
||||
$(ZIP) -JXjq9 partnersintime.zip partnersintime.nds
|
||||
|
||||
sfcommand.zip:
|
||||
$(ZIP) -JXjq9 sfcommand.zip sfcommand.nds
|
||||
|
||||
sm64ds.zip:
|
||||
$(ZIP) -JXjq9 sm64ds.zip sm64ds.nds
|
||||
$(ZIP) -JXjq9 kirbycanvascurse.zip kirbycanvascurse.nds
|
||||
|
||||
yoshids.zip:
|
||||
$(ZIP) -JXjq9 yoshids.zip yoshids.nds
|
||||
$(ZIP) -JXjq9 wwtouched.zip wwtouched.nds
|
||||
$(ZIP) -JXjq9 bigbrainacademy.zip bigbrainacademy.nds
|
||||
|
||||
zeldaph.zip:
|
||||
$(ZIP) -JXjq9 zeldaph.zip zeldaph.nds
|
||||
|
||||
clean:
|
||||
@rm -f *.bin defines.s brainage.nds brainage.zip kirby.nds kirby.zip mariokartds.nds mariokartds.zip newsmb.nds newsmb.zip newsmb_eur.nds newsmb_eur.zip \
|
||||
sfcommand.nds sfcommand.zip sm64ds.nds sm64ds.zip wwtouched.nds wwtouched.zip yoshids.nds yoshids.zip yoshitouchandgo.nds yoshitouchandgo.zip \
|
||||
zeldaph.nds zeldaph.zip
|
||||
@rm -f *.bin *.nds *.zip defines.s
|
||||
@cd option_select && make clean && cd ..
|
||||
@cd hbl_loader && make clean && cd ..
|
||||
@cd cfw_booter && make clean && cd ..
|
||||
|
10
README.md
10
README.md
@ -29,16 +29,22 @@ make sure to replace YOUR_GAME_TITLE_ID with one of the following:
|
||||
|
||||
| Game | JPN | US | PAL |
|
||||
|---|:---:|:---:|:---:|
|
||||
|Brain Age(Traing)|10179A00|10179B00|10179C00|
|
||||
|Brain Age (Training)|10179A00|10179B00|10179C00|
|
||||
|Yoshi Touch and Go|10179D00|10179E00|10179F00|
|
||||
|Mario Kart DS|10195600|10195700|10195800|
|
||||
|New Super Mario Bros|10195900|10195A00|10195B00|
|
||||
|Yoshi's Island DS|10198800|10198900|10198A00|
|
||||
|WarioWar: Touched|101A1E00|101A1F00|101A2000|
|
||||
|Big Brain Academy|10198B00|10198C00|10198D00|
|
||||
|WarioWare: Touched|101A1E00|101A1F00|101A2000|
|
||||
|Mario and Luigi: Partners in Time|101A2100|101A2200|101A2300|
|
||||
|DK Jungle Climber|101A5200|101A5300|101A5400|
|
||||
|Kirby Squeak Squad(Mouse Attack)|101A5500|101A5600|101A5700|
|
||||
|Wario Master of Disguise|101ABD00|101ABE00|101ABF00|
|
||||
|Star Fox Command|101AC000|101AC100|101AC200|
|
||||
|Kirby Canvas Curse|101B8800|101B8900|101B8A00|
|
||||
|Super Mario 64 DS|101C3300|101C3400|101C3500|
|
||||
|Zelda Phantom Hourglass|101C3600|101C3700|101C3800|
|
||||
|Kirby Mass Attack|101C8600|101C8700|101C8800|
|
||||
|
||||
a config.txt can look like this for example:
|
||||
```
|
||||
|
@ -6,7 +6,7 @@ CFLAGS = -std=gnu99 -O3 -nostdinc -fno-builtin
|
||||
ASFLAGS = -mregnames -x assembler-with-cpp
|
||||
LD = $(PREFIX)ld
|
||||
OBJCOPY = $(PREFIX)objcopy
|
||||
LDFLAGS=-Ttext 180C000 -L$(DEVKITPPC)/lib/gcc/powerpc-eabi/4.8.2 -lgcc
|
||||
LDFLAGS=-Ttext 180C000 -L$(DEVKITPPC)/lib/gcc/powerpc-eabi/6.2.0 -lgcc
|
||||
OBJDUMP ?= $(PREFIX)objdump
|
||||
project := .
|
||||
root := $(CURDIR)
|
||||
|
39
dkjclimber_defs.s
Normal file
39
dkjclimber_defs.s
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
; game stack return address
|
||||
HAX_TARGET_ADDRESS equ (0x107968EC)
|
||||
; application memory pointer
|
||||
HACHI_APPLICATION_PTR equ (0x10C8C938)
|
||||
; arm9 rom location address
|
||||
ARM9_ROM_LOCATION equ (0x1643F200)
|
||||
|
||||
; 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 + 0x022070C4)
|
||||
BCTRL equ (RPX_OFFSET + 0x02206FFC)
|
||||
MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR equ (RPX_OFFSET + 0x020A3650)
|
||||
LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR equ (RPX_OFFSET + 0x020A327C)
|
||||
LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020ACA78)
|
||||
MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR equ (RPX_OFFSET + 0x021791A8)
|
||||
LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR equ (RPX_OFFSET + 0x02277B84)
|
||||
|
||||
; 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 + 0x02018910)
|
||||
MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020AEA90)
|
||||
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 + 0x0200F4B0)
|
||||
LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x02082F58)
|
||||
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 + 0x02057A10)
|
||||
LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR equ (RPX_OFFSET + 0x02018998)
|
||||
LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR equ (RPX_OFFSET + 0x021492E4)
|
||||
MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020240F4)
|
||||
|
||||
; functions used from game
|
||||
NERD_CREATETHREAD equ (RPX_OFFSET + 0x02221A28)
|
||||
NERD_STARTTHREAD equ (RPX_OFFSET + 0x02221E44)
|
||||
NERD_JOINTHREAD equ (RPX_OFFSET + 0x022218D4)
|
||||
HACHI_APPLICATION_SHUTDOWNANDDESTROY equ (RPX_OFFSET + 0x02006CD0)
|
||||
NERD_FASTWIIU_SHUTDOWN equ (RPX_OFFSET + 0x0201FB24)
|
||||
CORE_SHUTDOWN equ (RPX_OFFSET + 0x02220D8C)
|
||||
_START_EXIT equ (RPX_OFFSET + 0x02026944)
|
@ -6,7 +6,7 @@ CFLAGS = -std=gnu99 -O3 -nostdinc -fno-builtin
|
||||
ASFLAGS = -mregnames -x assembler-with-cpp
|
||||
LD = $(PREFIX)ld
|
||||
OBJCOPY = $(PREFIX)objcopy
|
||||
LDFLAGS=-Ttext 1800000 -L$(DEVKITPPC)/lib/gcc/powerpc-eabi/4.8.2 -lgcc
|
||||
LDFLAGS=-Ttext 1800000 -L$(DEVKITPPC)/lib/gcc/powerpc-eabi/6.2.0 -lgcc
|
||||
OBJDUMP ?= $(PREFIX)objdump
|
||||
project := .
|
||||
root := $(CURDIR)
|
||||
|
@ -1,14 +1,14 @@
|
||||
|
||||
; game stack return address
|
||||
HAX_TARGET_ADDRESS equ (0x107968AC)
|
||||
|
||||
HACHI_APPLICATION_PTR equ (0x10c8c938)
|
||||
|
||||
; application memory pointer
|
||||
HACHI_APPLICATION_PTR equ (0x10C8C938)
|
||||
; arm9 rom location address
|
||||
ARM9_ROM_LOCATION equ (0x1643F200)
|
||||
ARM7_ROM_MEM2_START equ (0xF0000000 - ARM9_ROM_LOCATION + 0x12000000)
|
||||
|
||||
; 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 + 0x02207084)
|
||||
|
39
kirbymassattack_defs.s
Normal file
39
kirbymassattack_defs.s
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
; game stack return address (note: not ideal here)
|
||||
HAX_TARGET_ADDRESS equ (0x1079A38C)
|
||||
; application memory pointer
|
||||
HACHI_APPLICATION_PTR equ (0x10C90938)
|
||||
; arm9 rom location address
|
||||
ARM9_ROM_LOCATION equ (0x16444500)
|
||||
|
||||
; 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 + 0x0204AE04)
|
||||
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 + 0x020AA490)
|
||||
LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR equ (RPX_OFFSET + 0x020AA068)
|
||||
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 + 0x0217FFE8)
|
||||
LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR equ (RPX_OFFSET + 0x0227F898)
|
||||
|
||||
; 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 + 0x020187E4)
|
||||
MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020B58D0)
|
||||
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 + 0x0200F358)
|
||||
LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x020883B0)
|
||||
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 + 0x0205C700)
|
||||
LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR equ (RPX_OFFSET + 0x0201886C)
|
||||
LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR equ (RPX_OFFSET + 0x02150124)
|
||||
MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020241C8)
|
||||
|
||||
; functions used from game
|
||||
NERD_CREATETHREAD equ (RPX_OFFSET + 0x022296A0)
|
||||
NERD_STARTTHREAD equ (RPX_OFFSET + 0x02229ABC)
|
||||
NERD_JOINTHREAD equ (RPX_OFFSET + 0x0222954C)
|
||||
HACHI_APPLICATION_SHUTDOWNANDDESTROY equ (RPX_OFFSET + 0x02006B60)
|
||||
NERD_FASTWIIU_SHUTDOWN equ (RPX_OFFSET + 0x0201FC30)
|
||||
CORE_SHUTDOWN equ (RPX_OFFSET + 0x02229190)
|
||||
_START_EXIT equ (RPX_OFFSET + 0x020262EC)
|
39
masterofdisguise_defs.s
Normal file
39
masterofdisguise_defs.s
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
; game stack return address
|
||||
HAX_TARGET_ADDRESS equ (0x1079B86C)
|
||||
; application memory pointer
|
||||
HACHI_APPLICATION_PTR equ (0x10C91938)
|
||||
; arm9 rom location address
|
||||
ARM9_ROM_LOCATION equ (0x16444200)
|
||||
|
||||
; 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 + 0x020645EC)
|
||||
BCTRL equ (RPX_OFFSET + 0x02004158)
|
||||
MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR equ (RPX_OFFSET + 0x020A3F34)
|
||||
LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR equ (RPX_OFFSET + 0x020A3B0C)
|
||||
LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x0200106C)
|
||||
MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR equ (RPX_OFFSET + 0x02179A8C)
|
||||
LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR equ (RPX_OFFSET + 0x02278460)
|
||||
|
||||
; 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 + 0x02018908)
|
||||
MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020AF374)
|
||||
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 + 0x0200F4A8)
|
||||
LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x020836A8)
|
||||
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 + 0x02057944)
|
||||
LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR equ (RPX_OFFSET + 0x02018990)
|
||||
LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR equ (RPX_OFFSET + 0x02149BC8)
|
||||
MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020240EC)
|
||||
|
||||
; functions used from game
|
||||
NERD_CREATETHREAD equ (RPX_OFFSET + 0x02222304)
|
||||
NERD_STARTTHREAD equ (RPX_OFFSET + 0x02222720)
|
||||
NERD_JOINTHREAD equ (RPX_OFFSET + 0x022221B0)
|
||||
HACHI_APPLICATION_SHUTDOWNANDDESTROY equ (RPX_OFFSET + 0x02006CC8)
|
||||
NERD_FASTWIIU_SHUTDOWN equ (RPX_OFFSET + 0x0201FB1C)
|
||||
CORE_SHUTDOWN equ (RPX_OFFSET + 0x02221670)
|
||||
_START_EXIT equ (RPX_OFFSET + 0x0202699C)
|
@ -2,11 +2,11 @@ PATH := $(DEVKITPPC)/bin:$(PATH)
|
||||
PREFIX ?= powerpc-eabi-
|
||||
CC = $(PREFIX)gcc
|
||||
AS = $(PREFIX)gcc
|
||||
CFLAGS = -std=gnu99 -O3 -nostdinc -fno-builtin -I$(DEVKITPPC)/lib/gcc/powerpc-eabi/4.8.2/include -I$(DEVKITPPC)/powerpc-eabi/include
|
||||
CFLAGS = -std=gnu99 -O3 -nostdinc -fno-builtin -I$(DEVKITPPC)/lib/gcc/powerpc-eabi/6.2.0/include -I$(DEVKITPPC)/powerpc-eabi/include
|
||||
ASFLAGS = -mregnames -x assembler-with-cpp
|
||||
LD = $(PREFIX)ld
|
||||
OBJCOPY = $(PREFIX)objcopy
|
||||
LDFLAGS=-Ttext 1808000 -L$(DEVKITPPC)/lib/gcc/powerpc-eabi/4.8.2 -L$(DEVKITPPC)/powerpc-eabi/lib -lgcc -lc
|
||||
LDFLAGS=-Ttext 1808000 -L$(DEVKITPPC)/lib/gcc/powerpc-eabi/6.2.0 -L$(DEVKITPPC)/powerpc-eabi/lib -lgcc -lc
|
||||
OBJDUMP ?= $(PREFIX)objdump
|
||||
project := .
|
||||
root := $(CURDIR)
|
||||
|
39
partnersintime_defs.s
Normal file
39
partnersintime_defs.s
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
; game stack return address
|
||||
HAX_TARGET_ADDRESS equ (0x1079B56C)
|
||||
; application memory pointer
|
||||
HACHI_APPLICATION_PTR equ (0x10C91938)
|
||||
; arm9 rom location address
|
||||
ARM9_ROM_LOCATION equ (0x16444200)
|
||||
|
||||
; 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 + 0x022070D8)
|
||||
BCTRL equ (RPX_OFFSET + 0x02206F94)
|
||||
MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR equ (RPX_OFFSET + 0x020A3664)
|
||||
LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR equ (RPX_OFFSET + 0x020A323C)
|
||||
LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x0200106C)
|
||||
MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR equ (RPX_OFFSET + 0x021791BC)
|
||||
LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR equ (RPX_OFFSET + 0x02277B98)
|
||||
|
||||
; 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 + 0x02018908)
|
||||
MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020AEAA4)
|
||||
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 + 0x0200F4A8)
|
||||
LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x02082DC0)
|
||||
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 + 0x0205788C)
|
||||
LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR equ (RPX_OFFSET + 0x02018990)
|
||||
LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR equ (RPX_OFFSET + 0x021492F8)
|
||||
MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020240EC)
|
||||
|
||||
; functions used from game
|
||||
NERD_CREATETHREAD equ (RPX_OFFSET + 0x02221A3C)
|
||||
NERD_STARTTHREAD equ (RPX_OFFSET + 0x02221E58)
|
||||
NERD_JOINTHREAD equ (RPX_OFFSET + 0x022218E8)
|
||||
HACHI_APPLICATION_SHUTDOWNANDDESTROY equ (RPX_OFFSET + 0x02006CC8)
|
||||
NERD_FASTWIIU_SHUTDOWN equ (RPX_OFFSET + 0x0201FB1C)
|
||||
CORE_SHUTDOWN equ (RPX_OFFSET + 0x02220DA0)
|
||||
_START_EXIT equ (RPX_OFFSET + 0x0202693C)
|
Loading…
Reference in New Issue
Block a user