From 690f7ff197044caf72acd1df8e09276723843549 Mon Sep 17 00:00:00 2001 From: aoki_ryoma Date: Fri, 8 May 2009 09:30:53 +0000 Subject: [PATCH] =?UTF-8?q?(JumpToSettingForZonetest)=E3=82=A2=E3=83=97?= =?UTF-8?q?=E3=83=AA=E3=82=B8=E3=83=A3=E3=83=B3=E3=83=97=E3=81=AE=E7=9B=B4?= =?UTF-8?q?=E5=89=8D=E3=81=ABRomHeader=E3=82=92=E6=9B=B8=E3=81=8D=E6=8F=9B?= =?UTF-8?q?=E3=81=88=E3=81=A6=E3=82=BF=E3=82=A4=E3=83=88=E3=83=ABID?= =?UTF-8?q?=E3=82=92nintendoZone=E3=81=AB=E5=81=BD=E8=A3=85=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2815 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../ARM9.TWL/src/main.c | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/build/tests/JumpToSettingForZonetest/ARM9.TWL/src/main.c b/build/tests/JumpToSettingForZonetest/ARM9.TWL/src/main.c index 336672ba..87a0dc63 100644 --- a/build/tests/JumpToSettingForZonetest/ARM9.TWL/src/main.c +++ b/build/tests/JumpToSettingForZonetest/ARM9.TWL/src/main.c @@ -5,6 +5,8 @@ #include "screen.h" #include "keypad.h" +#define DAMMY_TITLEID_HI 0x00030005 +#define DAMMY_TITLEID_LO 0x484e4a00 #define JUMP_GAMECODE 0x00030015484e4241ULL #define JUMP_PARAMETER 50 @@ -13,7 +15,7 @@ void myInit(void); void TwlMain( void ) { - + unsigned char regioncode; myInit(); //---- interrupt setting @@ -21,14 +23,48 @@ void TwlMain( void ) OS_EnableIrqMask(OS_IE_V_BLANK); OS_EnableIrq(); GX_VBlankIntr(TRUE); + PrintString(0, 0, CONSOLE_WHITE, "Press A key To AppJump"); - + + switch(OS_GetRegion()){ + case OS_TWL_REGION_JAPAN: + regioncode = 'J'; + break; + case OS_TWL_REGION_AMERICA: + regioncode = 'E'; + break; + case OS_TWL_REGION_EUROPE: + regioncode = 'P'; + break; + case OS_TWL_REGION_AUSTRALIA: + regioncode = 'U'; + break; + case OS_TWL_REGION_KOREA: + regioncode = 'K'; + break; + case OS_TWL_REGION_CHINA: + regioncode = 'C'; + break; + default: + PrintString(0, 1, CONSOLE_RED, "Illegal Region setting!"); + OS_Terminate(); + goto ERROR; + } + + while(1){ kamiPadRead(); if(kamiPadIsTrigger(PAD_BUTTON_A)){ OSDeliverArgInfo info; + u32 dammycode_lo = (u32)(DAMMY_TITLEID_LO | (u32)regioncode); + + // romheaderのタイトルIDを書き換えて騙す + PrintString(0,3, CONSOLE_WHITE, "%x", dammycode_lo); + OS_WaitVBlankIntr(); + MI_StoreLE32((void*)(HW_TWL_ROM_HEADER_BUF + 0x230), dammycode_lo); + MI_StoreLE32((void*)(HW_TWL_ROM_HEADER_BUF + 0x234), DAMMY_TITLEID_HI); OS_InitDeliverArgInfo(&info, 0); OS_SetSysParamToDeliverArg(JUMP_PARAMETER); @@ -40,8 +76,10 @@ void TwlMain( void ) OS_WaitVBlankIntr(); } - +ERROR: + + OS_WaitVBlankIntr(); OS_Terminate(); }