finalize 4.2.4

This commit is contained in:
dborth 2010-08-14 05:55:21 +00:00
parent 533176c7b6
commit 25e659297e
6 changed files with 39 additions and 55 deletions

View File

@ -3,7 +3,8 @@
<name>Snes9x GX</name> <name>Snes9x GX</name>
<coder>Tantric</coder> <coder>Tantric</coder>
<version>4.2.3</version> <version>4.2.3</version>
<release_date>20100722</release_date> <release_date>20100814</release_date>
<short_description>Super Nintendo Emulator</short_description> <short_description>Super Nintendo Emulator</short_description>
<long_description>A Super Nintendo Emulator for Wii</long_description> <long_description>A Super Nintendo Emulator for Wii</long_description>
<no_ios_reload/>
</app> </app>

View File

@ -43,6 +43,12 @@ Wii homebrew is WiiBrew (www.wiibrew.org).
| UPDATE HISTORY | | UPDATE HISTORY |
•˜———–—––-- - —————————––––– ———–—––-- - —————————––––– ———–—––-- - ————————• •˜———–—––-- - —————————––––– ———–—––-- - —————————––––– ———–—––-- - ————————•
[4.2.4 - August 14, 2010]
* IOS 202 support removed
* USB 2.0 support via IOS 58 added - requires that IOS58 be pre-installed
* DVD support via AHBPROT - requires latest HBC
[4.2.3 - July 22, 2010] [4.2.3 - July 22, 2010]
* Fixed broken auto-update * Fixed broken auto-update

View File

@ -503,14 +503,21 @@ SavePrefs (bool silent)
return false; return false;
sprintf(filepath, "%s%s", pathPrefix[device], APPFOLDER); sprintf(filepath, "%s%s", pathPrefix[device], APPFOLDER);
DIR_ITER *dir = diropen(filepath);
if (!diropen(filepath)) if (!dir)
{ {
mkdir(filepath, 0777); if(mkdir(filepath, 0777) != 0)
return false;
sprintf(filepath, "%s%s/roms", pathPrefix[device], APPFOLDER); sprintf(filepath, "%s%s/roms", pathPrefix[device], APPFOLDER);
mkdir(filepath, 0777); if(mkdir(filepath, 0777) != 0)
return false;
sprintf(filepath, "%s%s/saves", pathPrefix[device], APPFOLDER); sprintf(filepath, "%s%s/saves", pathPrefix[device], APPFOLDER);
mkdir(filepath, 0777); if(mkdir(filepath, 0777) != 0)
return false;
}
else
{
dirclose(dir);
} }
sprintf(filepath, "%s%s/%s", pathPrefix[device], APPFOLDER, PREF_FILE_NAME); sprintf(filepath, "%s%s/%s", pathPrefix[device], APPFOLDER, PREF_FILE_NAME);
sprintf(prefpath, "%s%s", pathPrefix[device], APPFOLDER); sprintf(prefpath, "%s%s", pathPrefix[device], APPFOLDER);

View File

@ -214,51 +214,12 @@ void setFrameTimerMethod()
* IOS Check * IOS Check
***************************************************************************/ ***************************************************************************/
#ifdef HW_RVL #ifdef HW_RVL
static bool FindIOS(u32 ios)
{
s32 ret;
u32 n;
u64 *titles = NULL;
u32 num_titles=0;
ret = ES_GetNumTitles(&num_titles);
if (ret < 0)
return false;
if(num_titles < 1)
return false;
titles = (u64 *)memalign(32, num_titles * sizeof(u64) + 32);
if (!titles)
return false;
ret = ES_GetTitles(titles, num_titles);
if (ret < 0)
{
free(titles);
return false;
}
for(n=0; n < num_titles; n++)
{
if((titles[n] & 0xFFFFFFFF)==ios)
{
free(titles);
return true;
}
}
free(titles);
return false;
}
bool SaneIOS() bool SaneIOS()
{ {
bool res = false; bool res = false;
u32 num_titles=0; u32 num_titles=0;
u32 tmd_size; u32 tmd_size;
u32 ios = IOS_GetVersion(); u32 ios = IOS_GetVersion();
u32 tmdbuffer[MAX_SIGNED_TMD_SIZE] ATTRIBUTE_ALIGN(32);
if(ios > 200) if(ios > 200)
return false; return false;
@ -270,12 +231,23 @@ bool SaneIOS()
return false; return false;
u64 *titles = (u64 *)memalign(32, num_titles * sizeof(u64) + 32); u64 *titles = (u64 *)memalign(32, num_titles * sizeof(u64) + 32);
if(!titles)
return false;
if (ES_GetTitles(titles, num_titles) < 0) if (ES_GetTitles(titles, num_titles) < 0)
{ {
free(titles); free(titles);
return false; return false;
} }
u32 *tmdbuffer = (u32 *)memalign(32, MAX_SIGNED_TMD_SIZE);
if(!tmdbuffer)
{
free(titles);
return false;
}
for(u32 n=0; n < num_titles; n++) for(u32 n=0; n < num_titles; n++)
{ {
@ -297,6 +269,7 @@ bool SaneIOS()
break; break;
} }
} }
free(tmdbuffer);
free(titles); free(titles);
return res; return res;
} }
@ -368,14 +341,11 @@ main(int argc, char *argv[])
#ifdef HW_RVL #ifdef HW_RVL
// only reload IOS if AHBPROT is not enabled // only reload IOS if AHBPROT is not enabled
u32 version = IOS_GetVersion(); u32 version = IOS_GetVersion();
s32 preferred = IOS_GetPreferredVersion();
if(version != 58 && preferred > 0 && version != (u32)preferred && __di_check_ahbprot() != 1)
IOS_ReloadIOS(preferred);
if(version != 58 && __di_check_ahbprot() != 1)
{
if(FindIOS(58))
IOS_ReloadIOS(58);
else if((version < 61 || version >= 200) && FindIOS(61))
IOS_ReloadIOS(61);
}
DI_Init(); DI_Init();
#endif #endif

View File

@ -20,7 +20,7 @@
#include "filelist.h" #include "filelist.h"
#define APPNAME "Snes9x GX" #define APPNAME "Snes9x GX"
#define APPVERSION "4.2.3" #define APPVERSION "4.2.4"
#define APPFOLDER "snes9xgx" #define APPFOLDER "snes9xgx"
#define PREF_FILE_NAME "settings.xml" #define PREF_FILE_NAME "settings.xml"

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<app version="4.2.3"> <app version="4.2.4">
<file url="http://snes9x-gx.googlecode.com/files/Snes9x%20GX%204.2.3.zip"></file> <file url="http://snes9x-gx.googlecode.com/files/Snes9x%20GX%204.2.4.zip"></file>
</app> </app>