mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
OS_Bootと重複しているIOレジスタとシステム領域のクリア処理の削除。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@310 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
de6b36359a
commit
eb67ac4d0b
@ -25,9 +25,9 @@
|
||||
#define reg_MI_MC_SWP (*(REGType8v *) ( REG_MC1_ADDR + 1 ) )
|
||||
|
||||
#ifdef ISDBG_MB_CHILD_
|
||||
#define PRE_CLEAR_NUM_MAX 18
|
||||
#else
|
||||
#define PRE_CLEAR_NUM_MAX 14
|
||||
#else
|
||||
#define PRE_CLEAR_NUM_MAX 10
|
||||
#endif
|
||||
|
||||
#define COPY_NUM_MAX 12
|
||||
@ -88,8 +88,6 @@ BOOL BOOT_WaitStart( void )
|
||||
HW_PRV_WRAM_END - 0x600 + 0x20, HW_PRV_WRAM_END - (HW_PRV_WRAM_END - 0x600 + 0x20),
|
||||
#endif
|
||||
HW_MAIN_MEM_SHARED, HW_RED_RESERVED - HW_MAIN_MEM_SHARED,
|
||||
HW_ARENA_INFO_BUF, HW_ROM_HEADER_BUF - HW_ARENA_INFO_BUF,
|
||||
HW_PXI_SIGNAL_PARAM_ARM9, HW_MAIN_MEM_SYSTEM_END - HW_PXI_SIGNAL_PARAM_ARM9,
|
||||
NULL,
|
||||
// copy forward
|
||||
NULL,
|
||||
@ -153,12 +151,6 @@ BOOL BOOT_WaitStart( void )
|
||||
|
||||
static void BOOTi_ClearREG_RAM( void )
|
||||
{
|
||||
int i ;
|
||||
|
||||
for( i = 0; i <= MI_DMA_MAX_NUM; i++ ) { // DMAの停止
|
||||
MI_StopDma( (u16)i );
|
||||
}
|
||||
|
||||
if( SYSMi_GetWork()->isCardBoot ) {
|
||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||
reg_MI_MC_SWP = 0x80; // カードスロットのスワップ
|
||||
@ -167,17 +159,10 @@ static void BOOTi_ClearREG_RAM( void )
|
||||
*(u32 *)HW_RED_RESERVED = SYSMi_GetWork()->nCardID;
|
||||
}
|
||||
|
||||
// レジスタのクリア
|
||||
SVC_CpuClearFast( 0x0000, (void*)(HW_REG_BASE + 0x0b0), (0x13c - 0x0b0) );
|
||||
// DMA0SAD ~ RCNT1
|
||||
SVC_CpuClearFast( 0x0000, (void*)(HW_REG_BASE + 0x400), 0x104 ); // SG0CNT_L ~ SGMCNT
|
||||
SVC_CpuClearFast( 0x0000, (void*)(HW_REG_BASE + 0x508), 0x14 ); // SGRVCNT ~ SGRV1CLEN
|
||||
reg_GX_DISPSTAT = 0;
|
||||
reg_SPI_SPICNT = 0;
|
||||
reg_PXI_MAINP_FIFO_CNT = 0x4008;
|
||||
|
||||
*(vu32 *)HW_RESET_PARAMETER_BUF = 0; // リセットバッファをクリア
|
||||
|
||||
// レジスタクリアは基本的に OS_Boot で行う
|
||||
|
||||
// クリアしていないレジスタは、VCOUNT, JOY, PIFCNT, MC-, EXMEMCNT, IME, PAUSE, POWLCDCNT, 他セキュリティ系です。
|
||||
(void)OS_ResetRequestIrqMask((u16)~0);
|
||||
}
|
||||
|
||||
@ -142,26 +142,6 @@ static void BOOTi_ClearREG_RAM( void )
|
||||
(void)OS_SetIrqMask( 0 );
|
||||
(void)OS_ResetRequestIrqMask( (u16)~0 );
|
||||
|
||||
// メモリクリア
|
||||
GX_SetBankForLCDC( GX_VRAM_LCDC_ALL ); // VRAM クリア
|
||||
MI_CpuClearFast( (void*)HW_LCDC_VRAM, HW_LCDC_VRAM_SIZE );
|
||||
(void)GX_DisableBankForLCDC();
|
||||
// MI_CpuClearFast( (void *)HW_ITCM, HW_ITCM_SIZE ); // ITCM クリア ※ITCMにはSDKのコードが入っているので、BOOT_Coreでクリアする。
|
||||
// MI_CpuClearFast( (void *)HW_DTCM, HW_DTCM_SIZE - 0x800 ); // DTCM クリア ※DTCMはスタック&SDK変数入りなので、最後にBOOT_Coreでクリアする。
|
||||
MI_CpuClearFast( (void *)HW_OAM, HW_OAM_SIZE ); // OAM クリア
|
||||
MI_CpuClearFast( (void *)HW_PLTT, HW_PLTT_SIZE ); // パレット クリア
|
||||
MI_CpuClearFast( (void *)HW_DB_OAM, HW_DB_OAM_SIZE ); // OAM クリア
|
||||
MI_CpuClearFast( (void *)HW_DB_PLTT,HW_DB_PLTT_SIZE ); // パレット クリア
|
||||
|
||||
// レジスタクリア
|
||||
MI_CpuClearFast( (void*)( HW_REG_BASE + 0x8 ), 0x12c ); // BG0CNT ~ KEYCNT
|
||||
MI_CpuClearFast( (void*)( HW_REG_BASE + 0x280 ), 0x40 ); // DIVCNT ~ SQRTD3
|
||||
MI_CpuClearFast( (void*)( HW_REG_BASE + 0x1000 ), 0x6e ); // DISP1CNT1 ~ DISPBRTCNT1
|
||||
CP_SetDiv32_32( 0, 1 );
|
||||
reg_PXI_SUBP_FIFO_CNT = 0x4008;
|
||||
reg_GX_DISPCNT = 0;
|
||||
reg_GX_DISPSTAT = 0; // ※ reg_GX_VCOUNTはベタクリアできないので、この先頭部分のクリアを分離する。
|
||||
|
||||
// クリアしていないレジスタは、VCOUNT, PIFCNT, MC-, EXMEMCNT, IME, RBKCNT1, PAUSE, POWLCDCNT, 全3D系。
|
||||
// レジスタクリアは基本的に OS_Boot で行う
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user