mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
TWLカードスロットAをSDKとHOTSWで共用しても動作するように対応。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@705 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
9fb7b1a518
commit
5305afd6e0
@ -103,9 +103,7 @@ extern "C" {
|
|||||||
+ ((param) & LATENCY1_MASK) \
|
+ ((param) & LATENCY1_MASK) \
|
||||||
)
|
)
|
||||||
|
|
||||||
//#define USE_SLOT_A
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
|
|
||||||
#ifdef USE_SLOT_A
|
|
||||||
// Slot A
|
// Slot A
|
||||||
#define SLOT_STATUS_MODE_SELECT_MSK 0x0c
|
#define SLOT_STATUS_MODE_SELECT_MSK 0x0c
|
||||||
#define SLOT_STATUS_CDET_MSK 0x01
|
#define SLOT_STATUS_CDET_MSK 0x01
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
File:
|
File:
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
#include <twl.h>
|
#include <twl.h>
|
||||||
|
#include <sysmenu.h>
|
||||||
#include <customNDma.h>
|
#include <customNDma.h>
|
||||||
|
|
||||||
|
|
||||||
@ -40,7 +41,11 @@ void HOTSW_NDmaCopy_Card(u32 ndmaNo, const void *src, void *dest, u32 size)
|
|||||||
//---- decide control register
|
//---- decide control register
|
||||||
contData = NDMA_BLOCK_WORD_COUNT_1 | MI_NDMA_ENABLE;
|
contData = NDMA_BLOCK_WORD_COUNT_1 | MI_NDMA_ENABLE;
|
||||||
contData |= (MI_NDMA_SRC_FIX | MI_NDMA_DEST_INC | MI_NDMA_DEST_RELOAD_DISABLE);
|
contData |= (MI_NDMA_SRC_FIX | MI_NDMA_DEST_INC | MI_NDMA_DEST_RELOAD_DISABLE);
|
||||||
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
|
contData |= MI_NDMA_TIMING_CARD_A;
|
||||||
|
#else
|
||||||
contData |= MI_NDMA_TIMING_CARD_B;
|
contData |= MI_NDMA_TIMING_CARD_B;
|
||||||
|
#endif
|
||||||
|
|
||||||
//---- set interrupt enable
|
//---- set interrupt enable
|
||||||
contData |= MI_NDMA_IF_ENABLE;
|
contData |= MI_NDMA_IF_ENABLE;
|
||||||
|
|||||||
@ -73,6 +73,7 @@ CardThreadData;
|
|||||||
// Function prototype -------------------------------------------------------
|
// Function prototype -------------------------------------------------------
|
||||||
static BOOL IsSwap(void);
|
static BOOL IsSwap(void);
|
||||||
static u32 GetMcSlotShift(void);
|
static u32 GetMcSlotShift(void);
|
||||||
|
static u32 GetMcSlotMask(void);
|
||||||
static void SetMcSlotMode(u32 mode);
|
static void SetMcSlotMode(u32 mode);
|
||||||
static BOOL CmpMcSlotMode(u32 mode);
|
static BOOL CmpMcSlotMode(u32 mode);
|
||||||
|
|
||||||
@ -237,9 +238,9 @@ void HOTSW_Init(void)
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
// OS_PutString("No Card...\n");
|
// OS_PutString("No Card...\n");
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
||||||
#endif
|
//#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -271,10 +272,10 @@ static HotSwState LoadCardData(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// カードのロック
|
// カードのロック
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
LockExCard(s_cbData.lockID);
|
CARD_LockRom(s_cbData.lockID);
|
||||||
#else
|
#else
|
||||||
OS_LockCard(s_cbData.lockID);
|
LockExCard(s_cbData.lockID);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// カード電源リセット
|
// カード電源リセット
|
||||||
@ -436,10 +437,10 @@ static HotSwState LoadCardData(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// カードのロック開放
|
// カードのロック開放
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
UnlockExCard(s_cbData.lockID);
|
CARD_UnlockRom(s_cbData.lockID);
|
||||||
#else
|
#else
|
||||||
OS_UnlockCard(s_cbData.lockID);
|
UnlockExCard(s_cbData.lockID);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// カードロックIDの開放
|
// カードロックIDの開放
|
||||||
@ -471,7 +472,7 @@ static HotSwState LoadStaticModule(void)
|
|||||||
{
|
{
|
||||||
HotSwState retval = HOTSW_SUCCESS;
|
HotSwState retval = HOTSW_SUCCESS;
|
||||||
|
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
// バナーリード
|
// バナーリード
|
||||||
if( s_cbData.pBootSegBuf->rh.s.banner_offset ) {
|
if( s_cbData.pBootSegBuf->rh.s.banner_offset ) {
|
||||||
// OS_TPrintf(" - Banner Loading...\n");
|
// OS_TPrintf(" - Banner Loading...\n");
|
||||||
@ -493,7 +494,7 @@ static HotSwState LoadStaticModule(void)
|
|||||||
SYSMi_GetWork()->flags.common.isExistCard = TRUE;
|
SYSMi_GetWork()->flags.common.isExistCard = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
s_cbData.arm9Stc = (u32)s_cbData.pBootSegBuf->rh.s.main_ram_address;
|
s_cbData.arm9Stc = (u32)s_cbData.pBootSegBuf->rh.s.main_ram_address;
|
||||||
// 配置先と再配置情報を取得 & Arm9の常駐モジュール残りを指定先に転送
|
// 配置先と再配置情報を取得 & Arm9の常駐モジュール残りを指定先に転送
|
||||||
@ -781,7 +782,7 @@ static HotSwState ReadRomEmulationData(void)
|
|||||||
*
|
*
|
||||||
* ノーマルモード時のカードIDを読み込む関数
|
* ノーマルモード時のカードIDを読み込む関数
|
||||||
* ----------------------------------------------------------------- */
|
* ----------------------------------------------------------------- */
|
||||||
HotSwState ReadIDNormal(void)
|
static HotSwState ReadIDNormal(void)
|
||||||
{
|
{
|
||||||
// カード割り込みによるDMAコピー
|
// カード割り込みによるDMAコピー
|
||||||
HOTSW_NDmaCopy_Card( HOTSW_DMA_NO, (u32 *)HOTSW_MCD1, &s_cbData.id_nml, sizeof(s_cbData.id_nml) );
|
HOTSW_NDmaCopy_Card( HOTSW_DMA_NO, (u32 *)HOTSW_MCD1, &s_cbData.id_nml, sizeof(s_cbData.id_nml) );
|
||||||
@ -876,7 +877,11 @@ static void DecryptObjectFile(void)
|
|||||||
* ----------------------------------------------------------------- */
|
* ----------------------------------------------------------------- */
|
||||||
BOOL HOTSW_IsCardExist(void)
|
BOOL HOTSW_IsCardExist(void)
|
||||||
{
|
{
|
||||||
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
|
u32 mask = (u32)(REG_MI_MC_SL1_CDET_MASK << GetMcSlotShift());
|
||||||
|
#else
|
||||||
u32 mask = (u32)(REG_MI_MC_SL2_CDET_MASK >> GetMcSlotShift());
|
u32 mask = (u32)(REG_MI_MC_SL2_CDET_MASK >> GetMcSlotShift());
|
||||||
|
#endif
|
||||||
|
|
||||||
if( !(reg_MI_MC1 & mask) ){
|
if( !(reg_MI_MC1 & mask) ){
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -912,6 +917,19 @@ static u32 GetMcSlotShift(void)
|
|||||||
{
|
{
|
||||||
return (u32)(IsSwap() * REG_MI_MC_SL2_CDET_SHIFT);
|
return (u32)(IsSwap() * REG_MI_MC_SL2_CDET_SHIFT);
|
||||||
}
|
}
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
* GetMcSlotMask関数
|
||||||
|
*
|
||||||
|
* カードスロットのシフトビット数の取得
|
||||||
|
* ----------------------------------------------------------------- */
|
||||||
|
static u32 GetMcSlotMask(void)
|
||||||
|
{
|
||||||
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
|
return (u32)(REG_MI_MC_SL1_MODE_MASK << GetMcSlotShift());
|
||||||
|
#else
|
||||||
|
return (u32)(REG_MI_MC_SL2_MODE_MASK >> GetMcSlotShift());
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------
|
/* -----------------------------------------------------------------
|
||||||
* SetMcSlotMode関数
|
* SetMcSlotMode関数
|
||||||
@ -920,9 +938,11 @@ static u32 GetMcSlotShift(void)
|
|||||||
* ----------------------------------------------------------------- */
|
* ----------------------------------------------------------------- */
|
||||||
static void SetMcSlotMode(u32 mode)
|
static void SetMcSlotMode(u32 mode)
|
||||||
{
|
{
|
||||||
u32 mask = (u32)(REG_MI_MC_SL2_MODE_MASK >> GetMcSlotShift());
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
|
reg_MI_MC1 = (u32)((reg_MI_MC1 & ~GetMcSlotMask()) | (mode << GetMcSlotShift()));
|
||||||
reg_MI_MC1 = (u32)((reg_MI_MC1 & ~mask) | (mode >> GetMcSlotShift()));
|
#else
|
||||||
|
reg_MI_MC1 = (u32)((reg_MI_MC1 & ~GetMcSlotMask()) | (mode >> GetMcSlotShift()));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------
|
/* -----------------------------------------------------------------
|
||||||
@ -932,9 +952,11 @@ static void SetMcSlotMode(u32 mode)
|
|||||||
* ----------------------------------------------------------------- */
|
* ----------------------------------------------------------------- */
|
||||||
static BOOL CmpMcSlotMode(u32 mode)
|
static BOOL CmpMcSlotMode(u32 mode)
|
||||||
{
|
{
|
||||||
u32 mask = (u32)(REG_MI_MC_SL2_MODE_MASK >> GetMcSlotShift());
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
|
if((reg_MI_MC1 & GetMcSlotMask()) == (mode << GetMcSlotShift())){
|
||||||
if((reg_MI_MC1 & mask) == (mode >> GetMcSlotShift())){
|
#else
|
||||||
|
if((reg_MI_MC1 & GetMcSlotMask()) == (mode >> GetMcSlotShift())){
|
||||||
|
#endif
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -1039,9 +1061,9 @@ static void McThread(void *arg)
|
|||||||
while(1){
|
while(1){
|
||||||
// 活線挿抜抑制フラグが立っていたら処理しない
|
// 活線挿抜抑制フラグが立っていたら処理しない
|
||||||
if( !SYSMi_GetWork()->flags.common.isEnableHotSW ) {
|
if( !SYSMi_GetWork()->flags.common.isEnableHotSW ) {
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
||||||
#endif
|
//#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1107,10 +1129,10 @@ static void McThread(void *arg)
|
|||||||
if(retval != HOTSW_SUCCESS){
|
if(retval != HOTSW_SUCCESS){
|
||||||
OS_TPrintf("ng... retval : %d\n", retval);
|
OS_TPrintf("ng... retval : %d\n", retval);
|
||||||
// カードロックの開放
|
// カードロックの開放
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
UnlockExCard(s_cbData.lockID);
|
CARD_UnlockRom(s_cbData.lockID);
|
||||||
#else
|
#else
|
||||||
OS_UnlockCard(s_cbData.lockID);
|
UnlockExCard(s_cbData.lockID);
|
||||||
#endif
|
#endif
|
||||||
// カードロックIDの開放
|
// カードロックIDの開放
|
||||||
OS_ReleaseLockID( s_cbData.lockID );
|
OS_ReleaseLockID( s_cbData.lockID );
|
||||||
@ -1140,9 +1162,9 @@ static void McThread(void *arg)
|
|||||||
isPulledOut = TRUE;
|
isPulledOut = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
||||||
#endif
|
//#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1161,7 +1183,7 @@ static void InterruptCallbackCard(void)
|
|||||||
|
|
||||||
OS_TPrintf("○ - idx_pulledOut : %d\n", s_ctData.idx_pulledOut);
|
OS_TPrintf("○ - idx_pulledOut : %d\n", s_ctData.idx_pulledOut);
|
||||||
|
|
||||||
#ifdef USE_SLOT_A
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_IREQ);
|
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_IREQ);
|
||||||
#else
|
#else
|
||||||
OS_SetIrqCheckFlagEx(OS_IE_CARD_B_IREQ);
|
OS_SetIrqCheckFlagEx(OS_IE_CARD_B_IREQ);
|
||||||
@ -1186,7 +1208,7 @@ static void InterruptCallbackCardDet(void)
|
|||||||
|
|
||||||
OS_TPrintf("● - idx_insert : %d\n", s_ctData.idx_insert);
|
OS_TPrintf("● - idx_insert : %d\n", s_ctData.idx_insert);
|
||||||
|
|
||||||
#ifdef USE_SLOT_A
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_DET);
|
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_DET);
|
||||||
#else
|
#else
|
||||||
OS_SetIrqCheckFlagEx(OS_IE_CARD_B_DET);
|
OS_SetIrqCheckFlagEx(OS_IE_CARD_B_DET);
|
||||||
@ -1203,7 +1225,7 @@ static void InterruptCallbackCardData(void)
|
|||||||
// データ転送終了待ちまで寝ていたのを起こす
|
// データ転送終了待ちまで寝ていたのを起こす
|
||||||
OS_WakeupThreadDirect(&s_ctData.thread);
|
OS_WakeupThreadDirect(&s_ctData.thread);
|
||||||
|
|
||||||
#ifdef USE_SLOT_A
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_DATA);
|
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_DATA);
|
||||||
#else
|
#else
|
||||||
OS_SetIrqCheckFlagEx(OS_IE_CARD_B_DATA);
|
OS_SetIrqCheckFlagEx(OS_IE_CARD_B_DATA);
|
||||||
@ -1306,7 +1328,7 @@ static void SetInterruptCallbackEx( OSIrqMask intr_bit, void *func )
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static void SetInterrupt(void)
|
static void SetInterrupt(void)
|
||||||
{
|
{
|
||||||
#ifdef USE_SLOT_A
|
#ifndef DEBUG_USED_CARD_SLOT_B_
|
||||||
SetInterruptCallback( OS_IE_CARD_A_IREQ , InterruptCallbackCard );
|
SetInterruptCallback( OS_IE_CARD_A_IREQ , InterruptCallbackCard );
|
||||||
SetInterruptCallback( OS_IE_CARD_A_DET , InterruptCallbackCardDet );
|
SetInterruptCallback( OS_IE_CARD_A_DET , InterruptCallbackCardDet );
|
||||||
SetInterruptCallback( OS_IE_CARD_A_DATA , InterruptCallbackCardData );
|
SetInterruptCallback( OS_IE_CARD_A_DATA , InterruptCallbackCardData );
|
||||||
|
|||||||
@ -119,12 +119,12 @@ TitleProperty *SYSM_ReadParameters( void )
|
|||||||
while( !SYSMi_GetWork()->flags.common.isARM9Start ) {
|
while( !SYSMi_GetWork()->flags.common.isARM9Start ) {
|
||||||
SVC_WaitByLoop( 0x1000 );
|
SVC_WaitByLoop( 0x1000 );
|
||||||
}
|
}
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
// ARM7のカードチェック完了を待つ
|
// ARM7のカードチェック完了を待つ
|
||||||
while( !SYSMi_GetWork()->flags.common.is1stCardChecked ) {
|
while( !SYSMi_GetWork()->flags.common.is1stCardChecked ) {
|
||||||
SVC_WaitByLoop( 0x1000 );
|
SVC_WaitByLoop( 0x1000 );
|
||||||
}
|
}
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
// リセットパラメータの判定(リセットパラメータが有効かどうかは、ARM7でやってくれている)
|
// リセットパラメータの判定(リセットパラメータが有効かどうかは、ARM7でやってくれている)
|
||||||
@ -209,8 +209,8 @@ static TitleProperty *SYSMi_CheckShortcutBoot( void )
|
|||||||
if( ( SYSMi_GetWork()->flags.common.isOnDebugger && // ISデバッガが有効かつJTAGがまだ有効でない時
|
if( ( SYSMi_GetWork()->flags.common.isOnDebugger && // ISデバッガが有効かつJTAGがまだ有効でない時
|
||||||
!( *(u8 *)( HW_SYS_CONF_BUF + HWi_WSYS09_OFFSET ) & HWi_WSYS09_JTAG_CPUJE_MASK ) ) ||
|
!( *(u8 *)( HW_SYS_CONF_BUF + HWi_WSYS09_OFFSET ) & HWi_WSYS09_JTAG_CPUJE_MASK ) ) ||
|
||||||
SYSM_IsInspectCard() ||
|
SYSM_IsInspectCard() ||
|
||||||
( ( PAD_Read() & PAD_PRODUCTION_SHORTCUT_CARD_BOOT ) ==
|
( ( PAD_Read() & SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ) ==
|
||||||
PAD_PRODUCTION_SHORTCUT_CARD_BOOT )
|
SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT )
|
||||||
) {
|
) {
|
||||||
s_bootTitle.flags.isAppRelocate = TRUE;
|
s_bootTitle.flags.isAppRelocate = TRUE;
|
||||||
s_bootTitle.flags.isAppLoadCompleted = TRUE;
|
s_bootTitle.flags.isAppLoadCompleted = TRUE;
|
||||||
|
|||||||
@ -1,9 +1,21 @@
|
|||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Project: TwlSDK
|
Project: TwlIPL
|
||||||
File: Card.h
|
File: hotsw.h
|
||||||
|
|
||||||
|
Copyright 2008 Nintendo. All rights reserved.
|
||||||
|
|
||||||
|
These coded instructions, statements, and computer programs contain
|
||||||
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
|
Company Ltd., and are protected by Federal copyright law. They may
|
||||||
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
|
$Date:: #$
|
||||||
|
$Rev$
|
||||||
|
$Author$
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
#ifndef __MY_CARD_H__
|
#ifndef __SYSMENU_HOTSW_COMMON_HOTSW_H__
|
||||||
#define __MY_CARD_H__
|
#define __SYSMENU_HOTSW_COMMON_HOTSW_H__
|
||||||
|
|
||||||
#include <twl.h>
|
#include <twl.h>
|
||||||
|
|
||||||
@ -40,4 +52,4 @@ SDK_INLINE void* HOTSW_GetRomEmulationBuffer(void)
|
|||||||
} /* extern "C" */
|
} /* extern "C" */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // __MY_CARD_H__
|
#endif // __SYSMENU_HOTSW_COMMON_HOTSW_H__
|
||||||
|
|||||||
@ -30,9 +30,9 @@ extern "C" {
|
|||||||
|
|
||||||
// SystemMenu自身のマップ情報定義
|
// SystemMenu自身のマップ情報定義
|
||||||
#define SYSM_OWN_ARM9_MMEM_ADDR 0x02800000
|
#define SYSM_OWN_ARM9_MMEM_ADDR 0x02800000
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
#define SYSM_OWN_ARM9_MMEM_ADDR_END 0x02e73000
|
#define SYSM_OWN_ARM9_MMEM_ADDR_END 0x02e73000
|
||||||
#else
|
#if 0
|
||||||
#define SYSM_OWN_ARM9_MMEM_ADDR_END 0x02e76000
|
#define SYSM_OWN_ARM9_MMEM_ADDR_END 0x02e76000
|
||||||
#endif
|
#endif
|
||||||
#define SYSM_OWN_ARM9_MMEM_CODE_ADDR (SYSM_OWN_ARM9_MMEM_ADDR + SYSM_DMA_BUFOVER_BARRIER_SIZE)
|
#define SYSM_OWN_ARM9_MMEM_CODE_ADDR (SYSM_OWN_ARM9_MMEM_ADDR + SYSM_DMA_BUFOVER_BARRIER_SIZE)
|
||||||
@ -55,11 +55,11 @@ extern u32 SDK_AUTOLOAD_WRAM_START[];
|
|||||||
// カードアプリ格納バッファ
|
// カードアプリ格納バッファ
|
||||||
#define SYSM_CARD_ROM_HEADER_SIZE 0x1000
|
#define SYSM_CARD_ROM_HEADER_SIZE 0x1000
|
||||||
|
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
#define SYSM_CARD_BANNER_BUF ( SYSM_OWN_ARM9_MMEM_ADDR_END )
|
#define SYSM_CARD_BANNER_BUF ( SYSM_OWN_ARM9_MMEM_ADDR_END )
|
||||||
#define SYSM_CARD_BANNER_BUF_END ( SYSM_CARD_BANNER_BUF + 0x3000 )
|
#define SYSM_CARD_BANNER_BUF_END ( SYSM_CARD_BANNER_BUF + 0x3000 )
|
||||||
#define SYSM_CARD_ROM_HEADER_BUF ( SYSM_CARD_BANNER_BUF_END )
|
#define SYSM_CARD_ROM_HEADER_BUF ( SYSM_CARD_BANNER_BUF_END )
|
||||||
#else
|
#if 0
|
||||||
#define SYSM_CARD_ROM_HEADER_BUF ( SYSM_OWN_ARM9_MMEM_ADDR_END )
|
#define SYSM_CARD_ROM_HEADER_BUF ( SYSM_OWN_ARM9_MMEM_ADDR_END )
|
||||||
#endif
|
#endif
|
||||||
#define SYSM_CARD_ROM_HEADER_BUF_END ( SYSM_CARD_ROM_HEADER_BUF + SYSM_CARD_ROM_HEADER_SIZE )
|
#define SYSM_CARD_ROM_HEADER_BUF_END ( SYSM_CARD_ROM_HEADER_BUF + SYSM_CARD_ROM_HEADER_SIZE )
|
||||||
|
|||||||
@ -40,7 +40,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define TITLE_ID_MACHINE_SETTINGS 0x000300055445534d // 本体設定のタイトルID
|
#define TITLE_ID_MACHINE_SETTINGS 0x000300055445534d // 本体設定のタイトルID
|
||||||
|
|
||||||
#define PAD_PRODUCTION_SHORTCUT_CARD_BOOT ( PAD_BUTTON_A | PAD_BUTTON_B \
|
#define SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ( PAD_BUTTON_A | PAD_BUTTON_B \
|
||||||
| PAD_BUTTON_X | PAD_BUTTON_Y | PAD_BUTTON_R )
|
| PAD_BUTTON_X | PAD_BUTTON_Y | PAD_BUTTON_R )
|
||||||
// 量産工程で使用する初回起動設定をキャンセルしてカードブートするショートカットキー
|
// 量産工程で使用する初回起動設定をキャンセルしてカードブートするショートカットキー
|
||||||
|
|
||||||
|
|||||||
@ -52,7 +52,7 @@ typedef struct TitleID_HiLo {
|
|||||||
|
|
||||||
// ISデバッガROMエミュレーション情報
|
// ISデバッガROMエミュレーション情報
|
||||||
typedef struct SYSMRomEmuInfo {
|
typedef struct SYSMRomEmuInfo {
|
||||||
// マジックコード(ISD_ROM_EMULATION_INFO_MAGIC_CODEの固定値)
|
// マジックコード(SYSM_ROMEMU_INFO_MAGIC_CODEの固定値)
|
||||||
u32 magic_code;
|
u32 magic_code;
|
||||||
// フラグ類
|
// フラグ類
|
||||||
u32 isEnableSlot1 : 1;
|
u32 isEnableSlot1 : 1;
|
||||||
@ -99,10 +99,10 @@ typedef struct SYSM_work {
|
|||||||
vu32 isEnableHotSW :1; // 活線挿抜有効?
|
vu32 isEnableHotSW :1; // 活線挿抜有効?
|
||||||
vu32 isBusyHotSW :1; // 活線挿抜処理中?
|
vu32 isBusyHotSW :1; // 活線挿抜処理中?
|
||||||
vu32 isCardLoadCompleted :1; // カードからデータロード完了?
|
vu32 isCardLoadCompleted :1; // カードからデータロード完了?
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
vu32 isValidCardBanner :1;
|
vu32 isValidCardBanner :1;
|
||||||
vu32 is1stCardChecked :1;
|
vu32 is1stCardChecked :1;
|
||||||
#endif
|
//#endif
|
||||||
vu32 :0;
|
vu32 :0;
|
||||||
}common;
|
}common;
|
||||||
struct {
|
struct {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user