From ce65f9d5909092424a5af4c1cb86172346b60559 Mon Sep 17 00:00:00 2001 From: kamikawa Date: Tue, 26 Aug 2008 01:46:32 +0000 Subject: [PATCH] =?UTF-8?q?WiFi=E8=A8=AD=E5=AE=9A=E3=83=87=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E3=81=AE=E3=82=AF=E3=83=AA=E3=82=A2=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=81=AB=E3=81=8A=E3=81=84=E3=81=A6NVRAM=E9=96=A2=E6=95=B0?= =?UTF-8?q?=E3=81=AE=E8=BF=94=E3=82=8A=E5=80=A4=E3=82=92=E3=83=81=E3=82=A7?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=81=975=E5=9B=9E=E3=81=BE=E3=81=A7?= =?UTF-8?q?=E3=83=AA=E3=83=88=E3=83=A9=E3=82=A4=E3=82=92=E8=A1=8C=E3=81=86?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4=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@2270 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/namut/ARM9/src/namut.c | 74 ++++++++++++++----- 1 file changed, 54 insertions(+), 20 deletions(-) diff --git a/build/libraries_sysmenu/namut/ARM9/src/namut.c b/build/libraries_sysmenu/namut/ARM9/src/namut.c index 6f170e10..8b9aeaaa 100644 --- a/build/libraries_sysmenu/namut/ARM9/src/namut.c +++ b/build/libraries_sysmenu/namut/ARM9/src/namut.c @@ -81,7 +81,7 @@ static BOOL NAMUTi_ClearSavedataAll(void); static BOOL NAMUTi_InitShareData(void); static BOOL NAMUTi_MountAndFormatOtherTitleSaveData(u64 titleID, const char *arcname); static BOOL NAMUTi_RandClearFile(const char* path); -static void NAMUTi_ClearWiFiSettings( void ); +static BOOL NAMUTi_ClearWiFiSettings( void ); static void* NAMUT_Alloc(u32 size); static void NAMUT_Free(void* buffer); @@ -164,7 +164,7 @@ BOOL NAMUT_Format(void) } // WiFi設定データをクリアします - NAMUTi_ClearWiFiSettings(); + ret &= NAMUTi_ClearWiFiSettings(); // 本体設定データのクリア ret &= NAMUT_ClearTWLSettings( TRUE ); @@ -904,32 +904,66 @@ BOOL NAMUT_ClearTWLSettings( BOOL doWriteback ) Returns: None. *---------------------------------------------------------------------------*/ -static void NAMUTi_ClearWiFiSettings( void ) +static BOOL NAMUTi_ClearWiFiSettings( void ) { -#define NCFG_ADDR 0x20 -#define NTR_WIFI_DATA_SIZE 0x400 -#define TWL_WIFI_DATA_SIZE 0x600 - u32 total_size = ( NTR_WIFI_DATA_SIZE + TWL_WIFI_DATA_SIZE ); - u8* pClearData = NAMUT_Alloc( total_size ); - if (!pClearData) - { +#define NCFG_ADDR 0x20 +#define NTR_WIFI_DATA_SIZE 0x400 +#define TWL_WIFI_DATA_SIZE 0x600 + const s32 RetryCount = 5; + s32 i; + BOOL readSuccess = FALSE; + BOOL writeSuccess = FALSE; + u32 total_size = ( NTR_WIFI_DATA_SIZE + TWL_WIFI_DATA_SIZE ); + u8* pClearData = NAMUT_Alloc( total_size ); + + if (!pClearData) + { OS_TWarning("Allocation failed. (%d)\n"); - return; - } + return FALSE; + } if (!NVRAMi_IsInitialized()) { NVRAMi_Init(); } DC_FlushRange( &sNCFGAddr, 2 ); - sNCFGAddr = 0; - NVRAMi_Read( NCFG_ADDR, 2, (u8 *)&sNCFGAddr); - sNCFGAddr = (u32)( ( sNCFGAddr << 3 ) - ( NTR_WIFI_DATA_SIZE + TWL_WIFI_DATA_SIZE ) ); - - MI_CpuFillFast( pClearData, 0xffffffff, total_size); - DC_FlushRange( pClearData, total_size ); - NVRAMi_Write( sNCFGAddr, total_size , pClearData ); + sNCFGAddr = 0; + for (i=0;i