-added port for new super mario bros EUR

This commit is contained in:
FIX94 2016-11-17 00:00:59 +01:00
parent 74afa4a9f8
commit 40a20b3dcc
2 changed files with 56 additions and 3 deletions

View File

@ -6,8 +6,8 @@ else
ZIP = zip ZIP = zip
endif endif
all: setup brainage kirby mariokartds sfcommand sm64ds yoshids zeldaph brainage.zip kirby.zip mariokartds.zip \ all: setup brainage kirby mariokartds newsmb_eur sfcommand sm64ds yoshids zeldaph brainage.zip kirby.zip mariokartds.zip \
sfcommand.zip sm64ds.zip yoshids.zip yoshitouchandgo.zip zeldaph.zip newsmb_eur.zip sfcommand.zip sm64ds.zip yoshids.zip yoshitouchandgo.zip zeldaph.zip
brainage: setup_brainage brainage.nds brainage: setup_brainage brainage.nds
@ -15,6 +15,8 @@ kirby: setup_kirby kirby.nds
mariokartds: setup_mariokartds mariokartds.nds mariokartds: setup_mariokartds mariokartds.nds
newsmb_eur: setup_newsmb_eur newsmb_eur.nds
sfcommand: setup_sfcommand sfcommand.nds sfcommand: setup_sfcommand sfcommand.nds
sm64ds: setup_sm64ds sm64ds.nds sm64ds: setup_sm64ds sm64ds.nds
@ -36,6 +38,10 @@ setup_kirby:
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
@cp -f kirby_defs.s defines.s @cp -f kirby_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_mariokartds:
@rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin
@cp -f mariokartds_defs.s defines.s @cp -f mariokartds_defs.s defines.s
@ -67,6 +73,11 @@ kirby.nds:
@armips haxchi.s @armips haxchi.s
@mv rom.nds kirby.nds @mv rom.nds kirby.nds
newsmb_eur.nds:
@armips haxchi_rop.s
@armips haxchi.s
@mv rom.nds newsmb_eur.nds
mariokartds.nds: mariokartds.nds:
@armips haxchi_rop.s @armips haxchi_rop.s
@armips haxchi.s @armips haxchi.s
@ -101,6 +112,9 @@ brainage.zip:
kirby.zip: kirby.zip:
$(ZIP) -JXjq9 kirby.zip kirby.nds $(ZIP) -JXjq9 kirby.zip kirby.nds
newsmb_eur.zip:
$(ZIP) -JXjq9 newsmb_eur.zip newsmb_eur.nds
mariokartds.zip: mariokartds.zip:
$(ZIP) -JXjq9 mariokartds.zip mariokartds.nds $(ZIP) -JXjq9 mariokartds.zip mariokartds.nds
$(ZIP) -JXjq9 newsmb.zip newsmb.nds $(ZIP) -JXjq9 newsmb.zip newsmb.nds
@ -119,7 +133,7 @@ zeldaph.zip:
$(ZIP) -JXjq9 zeldaph.zip zeldaph.nds $(ZIP) -JXjq9 zeldaph.zip zeldaph.nds
clean: clean:
@rm -f *.bin defines.s brainage.nds brainage.zip kirby.nds kirby.zip mariokartds.nds mariokartds.zip newsmb.nds newsmb.zip \ @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 \ sfcommand.nds sfcommand.zip sm64ds.nds sm64ds.zip wwtouched.nds wwtouched.zip yoshids.nds yoshids.zip yoshitouchandgo.nds yoshitouchandgo.zip \
zeldaph.nds zeldaph.zip zeldaph.nds zeldaph.zip
@cd option_select && make clean && cd .. @cd option_select && make clean && cd ..

39
newsmb_eur_defs.s Normal file
View File

@ -0,0 +1,39 @@
; game stack return address
HAX_TARGET_ADDRESS equ (0x1077855C)
; application memory pointer
HACHI_APPLICATION_PTR equ (0x10A77038)
; arm9 rom location address
ARM9_ROM_LOCATION equ (0x16229800)
; 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 + 0x022031F8)
BCTRL equ (RPX_OFFSET + 0x02203130)
MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR equ (RPX_OFFSET + 0x020A04C8)
LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR equ (RPX_OFFSET + 0x020A00A0)
LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x02005AB8)
MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR equ (RPX_OFFSET + 0x02175AE8)
LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR equ (RPX_OFFSET + 0x022740A8)
; 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 + 0x02017F88)
MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x020AB88C)
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 + 0x0200EB28)
LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR equ (RPX_OFFSET + 0x020809E4)
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 + 0x02054DCC)
LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR equ (RPX_OFFSET + 0x02018010)
LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR equ (RPX_OFFSET + 0x02145D64)
MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR equ (RPX_OFFSET + 0x02023700)
; functions used from game
NERD_CREATETHREAD equ (RPX_OFFSET + 0x0221E0B8)
NERD_STARTTHREAD equ (RPX_OFFSET + 0x0221E4D4)
NERD_JOINTHREAD equ (RPX_OFFSET + 0x0221DF64)
HACHI_APPLICATION_SHUTDOWNANDDESTROY equ (RPX_OFFSET + 0x02006944)
NERD_FASTWIIU_SHUTDOWN equ (RPX_OFFSET + 0x0201F138)
CORE_SHUTDOWN equ (RPX_OFFSET + 0x0221D434)
_START_EXIT equ (RPX_OFFSET + 0x02025F48)