mirror of
https://github.com/rvtr/twl_wrapsdk.git
synced 2025-10-31 06:11:10 -04:00
marge from NitroSDK4.0.
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@22 4ee2a332-4b2b-5046-8439-1ba90f034370
This commit is contained in:
parent
0a30f97eca
commit
07af35779d
20
build/buildtools/modulerules.cctype.RVCT
Normal file
20
build/buildtools/modulerules.cctype.RVCT
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#! make -f
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Project: TwlBromSDK - buildtools - compiler dependant settings for RVCT
|
||||||
|
# File: modulerules.cctype.RVCT
|
||||||
|
#
|
||||||
|
# Copyright 2005 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.
|
||||||
|
#
|
||||||
|
# $Log: $
|
||||||
|
# $NoKeywords: $
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
-include $(BROM_BUILDTOOLSDIR)/modulerules.cctype.$(NITRO_CCTYPE)
|
||||||
|
|
||||||
|
#----- End of modulerules.cctype.RVCT -----
|
||||||
@ -2,7 +2,7 @@
|
|||||||
Project: NitroSDK - CTRDG
|
Project: NitroSDK - CTRDG
|
||||||
File: ctrdg.c
|
File: ctrdg.c
|
||||||
|
|
||||||
Copyright 2003-2006 Nintendo. All rights reserved.
|
Copyright 2003-2007 Nintendo. All rights reserved.
|
||||||
|
|
||||||
These coded instructions, statements, and computer programs contain
|
These coded instructions, statements, and computer programs contain
|
||||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||||
@ -11,6 +11,15 @@
|
|||||||
in whole or in part, without the prior written consent of Nintendo.
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
$Log: ctrdg_proc.c,v $
|
$Log: ctrdg_proc.c,v $
|
||||||
|
Revision 1.31 2007/02/20 00:28:11 kitase_hirotake
|
||||||
|
indent source
|
||||||
|
|
||||||
|
Revision 1.30 2006/08/10 00:25:57 okubata_ryoma
|
||||||
|
small fix
|
||||||
|
|
||||||
|
Revision 1.29 2006/08/10 00:02:52 okubata_ryoma
|
||||||
|
カートリッジの活線挿抜に関する不具合修正
|
||||||
|
|
||||||
Revision 1.28 2006/05/02 02:04:47 kitase_hirotake
|
Revision 1.28 2006/05/02 02:04:47 kitase_hirotake
|
||||||
不必要なデバッグ出力の削除
|
不必要なデバッグ出力の削除
|
||||||
|
|
||||||
@ -170,7 +179,7 @@ void CTRDG_Init(void)
|
|||||||
CTRDGi_InitTaskThread(&CTRDGTaskList);
|
CTRDGi_InitTaskThread(&CTRDGTaskList);
|
||||||
}
|
}
|
||||||
|
|
||||||
PXI_SetFifoRecvCallback(PXI_FIFO_TAG_CTRDG_PHI, CTRDGi_CallbackForSetPhi );
|
PXI_SetFifoRecvCallback(PXI_FIFO_TAG_CTRDG_PHI, CTRDGi_CallbackForSetPhi);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ユーザが明示的に enable を指定しない限りアクセス無効.
|
* ユーザが明示的に enable を指定しない限りアクセス無効.
|
||||||
@ -209,8 +218,6 @@ void CTRDGi_InitModuleInfo(void)
|
|||||||
OSIrqMask lastIE;
|
OSIrqMask lastIE;
|
||||||
BOOL lastIME;
|
BOOL lastIME;
|
||||||
|
|
||||||
CTRDGModuleInfo *cip = CTRDGi_GetModuleInfoAddr();
|
|
||||||
|
|
||||||
if (isInitialized)
|
if (isInitialized)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -254,10 +261,14 @@ void CTRDGi_InitModuleInfo(void)
|
|||||||
//---- release privilege for accessing cartridge
|
//---- release privilege for accessing cartridge
|
||||||
CTRDGi_UnlockByProcessor(CTRDGi_Work.lockID, &lockInfo);
|
CTRDGi_UnlockByProcessor(CTRDGi_Work.lockID, &lockInfo);
|
||||||
|
|
||||||
//---- copy the information of peripheral devices to system area
|
// 前回チェックでカートリッジが挿入されていた場合、または
|
||||||
|
// ソフトリセットが一度も実行されていない場合のみカートリッジデータを更新する
|
||||||
|
if ((*(u8 *)HW_IS_CTRDG_EXIST) || !(*(u8 *)HW_SET_CTRDG_MODULE_INFO_ONCE))
|
||||||
{
|
{
|
||||||
|
//---- copy the information of peripheral devices to system area
|
||||||
int i;
|
int i;
|
||||||
CTRDGHeader *chb = &headerBuf;
|
CTRDGHeader *chb = &headerBuf;
|
||||||
|
CTRDGModuleInfo *cip = CTRDGi_GetModuleInfoAddr();
|
||||||
|
|
||||||
cip->moduleID.raw = chb->moduleID;
|
cip->moduleID.raw = chb->moduleID;
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
@ -266,6 +277,11 @@ void CTRDGi_InitModuleInfo(void)
|
|||||||
}
|
}
|
||||||
cip->makerCode = chb->makerCode;
|
cip->makerCode = chb->makerCode;
|
||||||
cip->gameCode = chb->gameCode;
|
cip->gameCode = chb->gameCode;
|
||||||
|
|
||||||
|
// カートリッジが挿入されているのかチェック
|
||||||
|
*(u8 *)HW_IS_CTRDG_EXIST = (u8)((CTRDG_IsExisting())? 1 : 0);
|
||||||
|
// カートリッジの情報が一回でも更新されればTRUE
|
||||||
|
(*(u8 *)HW_SET_CTRDG_MODULE_INFO_ONCE) = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//---- copy NINTENDO logo data in the ARM9 system ROM to main memory
|
//---- copy NINTENDO logo data in the ARM9 system ROM to main memory
|
||||||
@ -360,7 +376,7 @@ static void CTRDGi_PulledOutCallback(PXIFifoTag tag, u32 data, BOOL err)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
OS_Printf(">>>tag[%x] data[%x] err[%x]\n", tag, data, err);
|
OS_Printf(">>>tag[%x] data[%x] err[%x]\n", tag, data, err);
|
||||||
#ifndef SDK_FINALROM
|
#ifndef SDK_FINALROM
|
||||||
OS_Panic("illegal Cartridge pxi command.");
|
OS_Panic("illegal Cartridge pxi command.");
|
||||||
#else
|
#else
|
||||||
@ -431,7 +447,7 @@ void CTRDG_CheckPulledOut(void)
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------- check cartridge pulled out
|
//---------------- check cartridge pulled out
|
||||||
//---- check cartridge
|
//---- check cartridge
|
||||||
isCartridgePullOut = CTRDG_IsPulledOut();
|
isCartridgePullOut = CTRDG_IsPulledOut();
|
||||||
@ -466,26 +482,26 @@ void CTRDG_CheckPulledOut(void)
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
void CTRDG_SetPhiClock(CTRDGPhiClock clock)
|
void CTRDG_SetPhiClock(CTRDGPhiClock clock)
|
||||||
{
|
{
|
||||||
u32 data = ((u32)clock << CTRDG_PXI_COMMAND_PARAM_SHIFT)| CTRDG_PXI_COMMAND_SET_PHI;
|
u32 data = ((u32)clock << CTRDG_PXI_COMMAND_PARAM_SHIFT) | CTRDG_PXI_COMMAND_SET_PHI;
|
||||||
|
|
||||||
//---- check parameter range
|
//---- check parameter range
|
||||||
SDK_ASSERT( (u32)clock <= CTRDG_PHI_CLOCK_16MHZ );
|
SDK_ASSERT((u32)clock <= CTRDG_PHI_CLOCK_16MHZ);
|
||||||
|
|
||||||
//---- set ARM9 PHI output clock
|
//---- set ARM9 PHI output clock
|
||||||
MIi_SetPhiClock( (MIiPhiClock)clock );
|
MIi_SetPhiClock((MIiPhiClock) clock);
|
||||||
|
|
||||||
//---- send command to set ARM7 phi clock
|
//---- send command to set ARM7 phi clock
|
||||||
CTRDGi_Lock = TRUE;
|
CTRDGi_Lock = TRUE;
|
||||||
while (PXI_SendWordByFifo(PXI_FIFO_TAG_CTRDG_PHI, data, FALSE) != PXI_FIFO_SUCCESS)
|
while (PXI_SendWordByFifo(PXI_FIFO_TAG_CTRDG_PHI, data, FALSE) != PXI_FIFO_SUCCESS)
|
||||||
{
|
{
|
||||||
SVC_WaitByLoop(1);
|
SVC_WaitByLoop(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//---- wait response
|
//---- wait response
|
||||||
while( CTRDGi_Lock )
|
while (CTRDGi_Lock)
|
||||||
{
|
{
|
||||||
SVC_WaitByLoop(1);
|
SVC_WaitByLoop(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
@ -502,5 +518,5 @@ void CTRDG_SetPhiClock(CTRDGPhiClock clock)
|
|||||||
static void CTRDGi_CallbackForSetPhi(PXIFifoTag tag, u32 data, BOOL err)
|
static void CTRDGi_CallbackForSetPhi(PXIFifoTag tag, u32 data, BOOL err)
|
||||||
{
|
{
|
||||||
#pragma unused(tag, data, err)
|
#pragma unused(tag, data, err)
|
||||||
CTRDGi_Lock = FALSE;
|
CTRDGi_Lock = FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,9 @@
|
|||||||
in whole or in part, without the prior written consent of Nintendo.
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
$Log: ctrdg.c,v $
|
$Log: ctrdg.c,v $
|
||||||
|
Revision 1.24 2007/02/20 00:28:11 kitase_hirotake
|
||||||
|
indent source
|
||||||
|
|
||||||
Revision 1.23 2006/04/24 00:05:09 okubata_ryoma
|
Revision 1.23 2006/04/24 00:05:09 okubata_ryoma
|
||||||
CW2.0の警告レベル強化に伴った変更
|
CW2.0の警告レベル強化に伴った変更
|
||||||
|
|
||||||
@ -418,7 +421,7 @@ BOOL CTRDG_IsExisting(void)
|
|||||||
}
|
}
|
||||||
#if defined(SDK_ARM7)
|
#if defined(SDK_ARM7)
|
||||||
//---- get privilege for accessing cartridge
|
//---- get privilege for accessing cartridge
|
||||||
if(CTRDGi_LockByProcessor(CTRDGi_Work.lockID, &lockInfo) == FALSE)
|
if (CTRDGi_LockByProcessor(CTRDGi_Work.lockID, &lockInfo) == FALSE)
|
||||||
{
|
{
|
||||||
(void)OS_RestoreInterrupts(lockInfo.irq);
|
(void)OS_RestoreInterrupts(lockInfo.irq);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|||||||
@ -11,6 +11,9 @@
|
|||||||
in whole or in part, without the prior written consent of Nintendo.
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
$Log: $
|
$Log: $
|
||||||
|
Revision 1.50 2006/08/09 06:11:26 yosizaki
|
||||||
|
change to wait vcount.
|
||||||
|
|
||||||
$NoKeywords: $
|
$NoKeywords: $
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
#include <nitro/code32.h>
|
#include <nitro/code32.h>
|
||||||
@ -63,6 +66,12 @@ SDK_WEAK_SYMBOL asm void _start( void )
|
|||||||
mov r12, #HW_REG_BASE
|
mov r12, #HW_REG_BASE
|
||||||
str r12, [r12, #REG_IME_OFFSET]
|
str r12, [r12, #REG_IME_OFFSET]
|
||||||
|
|
||||||
|
//---- adjust VCOUNT.
|
||||||
|
@wait_vcount_0:
|
||||||
|
ldrh r0, [r12, #REG_VCOUNT_OFFSET]
|
||||||
|
cmp r0, #0
|
||||||
|
bne @wait_vcount_0
|
||||||
|
|
||||||
//---- initialize cp15
|
//---- initialize cp15
|
||||||
bl init_cp15
|
bl init_cp15
|
||||||
|
|
||||||
@ -203,7 +212,7 @@ void *const _start_ModuleParams[] = {
|
|||||||
(void *)SDK_STATIC_BSS_START,
|
(void *)SDK_STATIC_BSS_START,
|
||||||
(void *)SDK_STATIC_BSS_END,
|
(void *)SDK_STATIC_BSS_END,
|
||||||
(void *)0, // CompressedStaticEnd
|
(void *)0, // CompressedStaticEnd
|
||||||
(void *)0, //SDK_VERSION_ID, // SDK version info
|
(void *)SDK_VERSION_ID, // SDK version info
|
||||||
(void *)SDK_NITROCODE_BE, // Checker 1
|
(void *)SDK_NITROCODE_BE, // Checker 1
|
||||||
(void *)SDK_NITROCODE_LE, // Checker 2
|
(void *)SDK_NITROCODE_LE, // Checker 2
|
||||||
};
|
};
|
||||||
|
|||||||
@ -11,6 +11,9 @@
|
|||||||
in whole or in part, without the prior written consent of Nintendo.
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
$Log: os_terminate_sp.c,v $
|
$Log: os_terminate_sp.c,v $
|
||||||
|
Revision 1.3 2006/07/05 09:25:28 yosizaki
|
||||||
|
fix about include header.
|
||||||
|
|
||||||
Revision 1.2 2006/01/18 02:11:30 kitase_hirotake
|
Revision 1.2 2006/01/18 02:11:30 kitase_hirotake
|
||||||
do-indent
|
do-indent
|
||||||
|
|
||||||
@ -19,8 +22,8 @@
|
|||||||
|
|
||||||
$NoKeywords: $
|
$NoKeywords: $
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
#include <nitro/os/common/system.h>
|
#include <nitro/os.h>
|
||||||
#include <nitro/ctrdg/ARM7/ctrdg_sp.h>
|
#include <nitro/ctrdg.h>
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
// TERMINATE and HALT
|
// TERMINATE and HALT
|
||||||
|
|||||||
@ -11,6 +11,12 @@
|
|||||||
in whole or in part, without the prior written consent of Nintendo.
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
|
|
||||||
$Log: os_init.c,v $
|
$Log: os_init.c,v $
|
||||||
|
Revision 1.52 2006/11/14 04:33:19 okubata_ryoma
|
||||||
|
small fix
|
||||||
|
|
||||||
|
Revision 1.51 2006/11/14 01:36:26 okubata_ryoma
|
||||||
|
ARM9のOS_Init終了時にvcountを0に揃える処理を追加
|
||||||
|
|
||||||
Revision 1.50 2006/01/18 02:11:30 kitase_hirotake
|
Revision 1.50 2006/01/18 02:11:30 kitase_hirotake
|
||||||
do-indent
|
do-indent
|
||||||
|
|
||||||
@ -173,6 +179,25 @@
|
|||||||
#include <nitro/ctrdg.h>
|
#include <nitro/ctrdg.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <nitro/code32.h>
|
||||||
|
static asm void OSi_WaitVCount0( void )
|
||||||
|
{
|
||||||
|
//---- set IME = 0
|
||||||
|
// ( use that LSB of HW_REG_BASE equal to 0 )
|
||||||
|
mov r12, #HW_REG_BASE
|
||||||
|
ldr r1, [r12, #REG_IME_OFFSET]
|
||||||
|
str r12, [r12, #REG_IME_OFFSET]
|
||||||
|
|
||||||
|
//---- adjust VCOUNT.
|
||||||
|
@wait_vcount_0:
|
||||||
|
ldrh r0, [r12, #REG_VCOUNT_OFFSET]
|
||||||
|
cmp r0, #0
|
||||||
|
bne @wait_vcount_0
|
||||||
|
str r1, [r12, #REG_IME_OFFSET]
|
||||||
|
bx lr
|
||||||
|
}
|
||||||
|
#include <nitro/codereset.h>
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: OS_Init
|
Name: OS_Init
|
||||||
|
|
||||||
@ -253,6 +278,9 @@ void OS_Init(void)
|
|||||||
// PM_Init();
|
// PM_Init();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//---- adjust VCOUNT
|
||||||
|
OSi_WaitVCount0();
|
||||||
|
|
||||||
#else // SDK_ARM9
|
#else // SDK_ARM9
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
// for ARM7
|
// for ARM7
|
||||||
|
|||||||
@ -282,6 +282,9 @@ extern "C" {
|
|||||||
#define HW_WM_CALLBACK_CONTROL (HW_MAIN_MEM_SYSTEM + 0x396) // WM コールバック同期用パラメータ
|
#define HW_WM_CALLBACK_CONTROL (HW_MAIN_MEM_SYSTEM + 0x396) // WM コールバック同期用パラメータ
|
||||||
#define HW_WM_RSSI_POOL (HW_MAIN_MEM_SYSTEM + 0x398) // WM 受信強度による乱数源
|
#define HW_WM_RSSI_POOL (HW_MAIN_MEM_SYSTEM + 0x398) // WM 受信強度による乱数源
|
||||||
|
|
||||||
|
#define HW_SET_CTRDG_MODULE_INFO_ONCE (HW_MAIN_MEM_SYSTEM + 0x39a) // set ctrdg module info flag
|
||||||
|
#define HW_IS_CTRDG_EXIST (HW_MAIN_MEM_SYSTEM + 0x39b) // ctrdg exist flag
|
||||||
|
|
||||||
#define HW_COMPONENT_PARAM (HW_MAIN_MEM_SYSTEM + 0x39c) // Component 同期用パラメータ
|
#define HW_COMPONENT_PARAM (HW_MAIN_MEM_SYSTEM + 0x39c) // Component 同期用パラメータ
|
||||||
|
|
||||||
#define HW_THREADINFO_MAIN (HW_MAIN_MEM_SYSTEM + 0x3a0) // ThreadInfo for Main processor
|
#define HW_THREADINFO_MAIN (HW_MAIN_MEM_SYSTEM + 0x3a0) // ThreadInfo for Main processor
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user