mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-27 13:44:15 +01:00
external_booter.bin fixes that i missed when i changed the booter in v5.5.0 beta 12 commit 9f7da43
- added missing *BI2 = 0x817E5480; to Disc_SetLowMem() for wii games. - added missing memcpy((void*)0x80001800, (void*)Disc_ID, 8); needed for debugger and ocarina cheats engine. - fixed default setting for savegame emulation back to OFF (0). v5.5.0 and v5.5.1 new clean install's would set it to FULL (2) which caused wii games to crash on boot up. if you have this issue you can simply go to main settings>nand emulation settings and set it to OFF. - changes to STexture::fromPNG() to hopefully clear up the out of mem issue when downloading and converting the cover png to a wfc cache file. - v5.5.2
This commit is contained in:
parent
8a5a0fd438
commit
6f6b3ec2d8
Binary file not shown.
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 4.4 MiB After Width: | Height: | Size: 4.4 MiB |
@ -35,6 +35,7 @@ void Disc_SetLowMem(void)
|
||||
*Sys_Magic = 0x0D15EA5E; // Standard Boot Code
|
||||
*Sys_Version = 0x00000001; // Version
|
||||
*Arena_L = 0x00000000; // Arena Low
|
||||
*BI2 = 0x817E5480; // BI2
|
||||
*Bus_Speed = 0x0E7BE2C0; // Console Bus Speed
|
||||
*CPU_Speed = 0x2B73A840; // Console CPU Speed
|
||||
*Assembler = 0x38A00040; // Assembler
|
||||
|
@ -97,6 +97,8 @@ int main()
|
||||
Hermes_shadow_mload();
|
||||
}
|
||||
prog(20);
|
||||
/* Clear Disc ID */
|
||||
memset((u8*)Disc_ID, 0, 32);
|
||||
Disc_Open(normalCFG.GameBootType);// sets Disc_ID
|
||||
u32 offset = 0;
|
||||
Disc_FindPartition(&offset);
|
||||
@ -121,7 +123,10 @@ int main()
|
||||
gprintf("Entrypoint: %08x, Requested Game IOS: %i\n", AppEntrypoint, GameIOS);
|
||||
setprog(320);
|
||||
|
||||
/* Error 002 Fix (thanks WiiPower and uLoader) */
|
||||
/* Set Disc ID for WiiRD - must be set after ocarina stuff is done */
|
||||
memcpy((void*)0x80001800, (void*)Disc_ID, 8);
|
||||
|
||||
/* Error 002 Fix (thanks WiiPower and uLoader) */
|
||||
*Current_IOS = (GameIOS << 16) | 0xffff;
|
||||
if(!isForwarder)
|
||||
*Apploader_IOS = (GameIOS << 16) | 0xffff;
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
#define APP_NAME "WiiFlow WFL"
|
||||
#define APP_VERSION "5.5.2 beta 1"
|
||||
#define APP_VERSION "5.5.2"
|
||||
|
||||
#define APP_DATA_DIR "wiiflow"
|
||||
#define APPS_DIR "apps/wiiflow"
|
||||
|
@ -456,15 +456,17 @@ TexErr STexture::fromPNG(TexData &dest, const u8 *buffer, u8 f, u32 minMipSize,
|
||||
DCFlushRange(tmpData2, Size2);
|
||||
Cleanup(dest);
|
||||
}
|
||||
tmpData2 = _genMipMaps(tmpData2, imgProp.imgWidth, imgProp.imgHeight, maxLODTmp, baseWidth, baseHeight);
|
||||
if(tmpData2 == NULL)
|
||||
u8 *tmpData3 = _genMipMaps(tmpData2, imgProp.imgWidth, imgProp.imgHeight, maxLODTmp, baseWidth, baseHeight);
|
||||
if(tmpData3 == NULL)
|
||||
{
|
||||
Cleanup(dest);
|
||||
MEM2_free(tmpData2);
|
||||
return TE_NOMEM;
|
||||
}
|
||||
MEM2_free(tmpData2);
|
||||
u32 nWidth = newWidth;
|
||||
u32 nHeight = newHeight;
|
||||
u8 *pSrc = tmpData2;
|
||||
u8 *pSrc = tmpData3;
|
||||
if(minLODTmp > 0)
|
||||
pSrc += fixGX_GetTexBufferSize(baseWidth, baseHeight, f, minLODTmp > 1 ? GX_TRUE : GX_FALSE, minLODTmp - 1);
|
||||
dest.dataSize = fixGX_GetTexBufferSize(newWidth, newHeight, f, GX_TRUE, maxLODTmp - minLODTmp);
|
||||
@ -472,7 +474,8 @@ TexErr STexture::fromPNG(TexData &dest, const u8 *buffer, u8 f, u32 minMipSize,
|
||||
if(dest.data == NULL)
|
||||
{
|
||||
Cleanup(dest);
|
||||
MEM2_free(tmpData2);
|
||||
MEM2_free(tmpData3);
|
||||
//MEM2_free(tmpData2);
|
||||
return TE_NOMEM;
|
||||
}
|
||||
memset(dest.data, 0, dest.dataSize);
|
||||
@ -496,7 +499,7 @@ TexErr STexture::fromPNG(TexData &dest, const u8 *buffer, u8 f, u32 minMipSize,
|
||||
nWidth >>= 1;
|
||||
nHeight >>= 1;
|
||||
}
|
||||
MEM2_free(tmpData2);
|
||||
MEM2_free(tmpData3);
|
||||
dest.maxLOD = maxLODTmp - minLODTmp;
|
||||
dest.format = f;
|
||||
dest.width = newWidth;
|
||||
|
@ -360,7 +360,8 @@ bool CMenu::init(bool usb_mounted)
|
||||
m_cfg.setInt(WII_DOMAIN, "savepartition", savesPart);
|
||||
}
|
||||
gprintf("savesnand = %s:/%s/%s\n", DeviceName[savesPart], emu_nands_dir, savesNand.c_str());
|
||||
_FullNandCheck();
|
||||
m_cfg.getInt(CHANNEL_DOMAIN, "emulation", 0);// partial by default
|
||||
m_cfg.getInt(WII_DOMAIN, "save_emulation", 0);// off by default
|
||||
}
|
||||
|
||||
/* misc. setup */
|
||||
|
@ -1240,7 +1240,7 @@ void CMenu::_launchWii(dir_discHdr *hdr, bool dvd, bool disc_cfg)
|
||||
}
|
||||
}
|
||||
|
||||
/* no more error msgs - clear btns and snds */
|
||||
/* no more error msgs - clear btns and snds and stop wait animation */
|
||||
cleanup();
|
||||
|
||||
/* handle frag_list for .wbfs files only */
|
||||
|
@ -180,9 +180,9 @@ void CMenu::_FullNandCheck(void)
|
||||
{
|
||||
int emulate_mode;
|
||||
if(i == EMU_NAND)
|
||||
emulate_mode = m_cfg.getInt(CHANNEL_DOMAIN, "emulation", 1);// full by default
|
||||
emulate_mode = m_cfg.getInt(CHANNEL_DOMAIN, "emulation");// partial by default
|
||||
else
|
||||
emulate_mode = m_cfg.getInt(WII_DOMAIN, "save_emulation", 2);// full by default
|
||||
emulate_mode = m_cfg.getInt(WII_DOMAIN, "save_emulation");// off by default
|
||||
if((i == EMU_NAND && emulate_mode == 1) || (i == SAVES_NAND && emulate_mode == 2))//full
|
||||
{
|
||||
int emuPart = _FindEmuPart(i, false);
|
||||
@ -197,11 +197,12 @@ void CMenu::_FullNandCheck(void)
|
||||
|
||||
char testpath[MAX_FAT_PATH + 42];
|
||||
|
||||
//check config files
|
||||
//check config file - time and date, video settings, etc...
|
||||
snprintf(testpath, sizeof(testpath), "%s/shared2/sys/SYSCONF", basepath);
|
||||
if(!fsop_FileExist(testpath))
|
||||
need_config = true;
|
||||
|
||||
// system info like model and serial numbers, not real important. modmii creates this file.
|
||||
snprintf(testpath, sizeof(testpath), "%s/title/00000001/00000002/data/setting.txt", basepath);
|
||||
if(!fsop_FileExist(testpath))
|
||||
need_config = true;
|
||||
|
Loading…
Reference in New Issue
Block a user