mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
本体セキュア情報の手前6byte分を借りて、RomHeader, Secure, Secure2のCRC情報をそこに格納するように変更。
検査用アプリへ値を渡す。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/branches/20081031_TwlCard_Tester@2660 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
622fac18ed
commit
f2b3144ef6
@ -59,6 +59,11 @@
|
||||
#define HOTSW_EXMEMCNT_SELB_SHIFT 10
|
||||
#endif
|
||||
|
||||
// 本体セキュア情報の手前 6byte 分を間借りしてCRC情報を入れておく。
|
||||
#define HOTSW_ROM_HEADER_CRC_BUFFER (HW_HW_SECURE_INFO - 0x6)
|
||||
#define HOTSW_SECURE1_CRC_BUFFER (HW_HW_SECURE_INFO - 0x4)
|
||||
#define HOTSW_SECURE2_CRC_BUFFER (HW_HW_SECURE_INFO - 0x2)
|
||||
|
||||
// enum ---------------------------------------------------------------------
|
||||
typedef enum HotSwCallBackType{
|
||||
HOTSW_CHANGE_GAMEMODE = 0,
|
||||
@ -1942,7 +1947,7 @@ static BOOL ChangeCardMode(BOOL forceNtrMode)
|
||||
state = ReadBootSegNormal(&s_cbData);
|
||||
|
||||
// RomHeaderのCRC16の計算
|
||||
SYSMi_GetWork()->flags.hotsw.romHeaderCRC = SVC_GetCRC16( 65535, s_cbData.pBootSegBuf, BOOT_SEGMENT_SIZE );
|
||||
*(u16 *)HOTSW_ROM_HEADER_CRC_BUFFER = SVC_GetCRC16( 65535, s_cbData.pBootSegBuf, BOOT_SEGMENT_SIZE );
|
||||
|
||||
if(s_isRomEmu){
|
||||
s_cbData.cardType = ROM_EMULATION;
|
||||
@ -1965,8 +1970,8 @@ static BOOL ChangeCardMode(BOOL forceNtrMode)
|
||||
state = ReadSecureModeCardData();
|
||||
|
||||
// Secure SegmentのCRC16の計算と格納
|
||||
SYSMi_GetWork()->flags.hotsw.secure1CRC = SVC_GetCRC16( 65535, s_cbData.pSecureSegBuf, SECURE_SEGMENT_SIZE );
|
||||
|
||||
*(u16 *)HOTSW_SECURE1_CRC_BUFFER = SVC_GetCRC16( 65535, s_cbData.pSecureSegBuf, SECURE_SEGMENT_SIZE );
|
||||
|
||||
// カード種別の判定
|
||||
// TWLカード → Game2モード
|
||||
// NTRカード → Gameモード
|
||||
@ -1993,7 +1998,7 @@ static BOOL ChangeCardMode(BOOL forceNtrMode)
|
||||
state = ReadSecureModeCardData();
|
||||
|
||||
// Secure SegmentのCRC16の計算と格納
|
||||
SYSMi_GetWork()->flags.hotsw.secure2CRC = SVC_GetCRC16( 65535, s_cbData.pSecure2SegBuf, SECURE_SEGMENT_SIZE );
|
||||
*(u16 *)HOTSW_SECURE2_CRC_BUFFER = SVC_GetCRC16( 65535, s_cbData.pSecure2SegBuf, SECURE_SEGMENT_SIZE );
|
||||
}
|
||||
else{
|
||||
OS_PutString("---------- Game Mode...\n");
|
||||
|
||||
@ -127,12 +127,9 @@ typedef struct SYSM_work {
|
||||
vu8 isCardStateChanged; // カード状態更新フラグ
|
||||
vu8 isBusyHotSW; // 活線挿抜処理中?
|
||||
vu8 isKeyTableLoadReady; // Key Tableのロード準備完了?
|
||||
vu16 romHeaderCRC;
|
||||
vu16 secure1CRC;
|
||||
vu16 secure2CRC;
|
||||
}hotsw;
|
||||
}flags; // 9B
|
||||
|
||||
|
||||
OSLockWord lockCardRsc ATTRIBUTE_ALIGN(8); // カードリソース排他制御用
|
||||
OSLockWord lockHotSW; // カードリソース排他制御用
|
||||
u32 appCardID; // カードID
|
||||
|
||||
Loading…
Reference in New Issue
Block a user