mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-22 03:09:15 +01:00
*added option to adjust screen for overscan TVs
*optimized use of memory (sizes over 30kb go to mem2 now first till it runs out) *avoid use of mem2 area used on IOS_Reload (first 2 mb) *fixed bug in aiff sound playback. breaked some banner sounds *fixed boot of We Dare again (stupid channels added in the pattern again :P) *unmount the usb partition used for nand emu and remount it after activating nand emu (fat32 cache flush)
This commit is contained in:
parent
b78388e779
commit
c7411c9200
@ -2,8 +2,8 @@
|
||||
<app version="1">
|
||||
<name> USB Loader GX</name>
|
||||
<coder>USB Loader GX Team</coder>
|
||||
<version>2.3 r1149</version>
|
||||
<release_date>201201232120</release_date>
|
||||
<version>2.3 r1150</version>
|
||||
<release_date>201202051825</release_date>
|
||||
<!-- // remove this line to enable arguments
|
||||
<arguments>
|
||||
<arg>--ios=250</arg>
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: David Jelinek (djelinek@hotmail.com) e->e,r->r,u->u, c->c \n"
|
||||
"Language-Team: r1056 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: Fox888[dk]\n"
|
||||
"Language-Team: [dk]\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr "Tilføje kategori "
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2011-12-17 14:22+0100\n"
|
||||
"Last-Translator: Arthur117\n"
|
||||
"Language-Team: tj_cool, glowy, Arthur117\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr "Categorie toevoegen"
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Alles"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: c64rmx\n"
|
||||
"Language-Team: \n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: Cyan\n"
|
||||
"Language-Team: Badablek, Amour, ikya, Cyan & Kin8\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr "Nouv. catégorie"
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Toutes"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2010-07-03 17:35-0800\n"
|
||||
"Last-Translator: TheRealVisitor\n"
|
||||
"Language-Team: Bertilax, Snoozer, wishmasterf, ZEN.13, TheRealVisitor\n"
|
||||
@ -82,6 +82,12 @@ msgstr "AXNextFrame"
|
||||
msgid "Add category"
|
||||
msgstr "Kategorie hinzuf."
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-12-29 11:05+0100\n"
|
||||
"Last-Translator: Springdale\n"
|
||||
"Language-Team: Tusk, Springdale\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2011-09-11 12:19+0100\n"
|
||||
"Last-Translator: xFede\n"
|
||||
"Language-Team: Cambo\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr "Aggiungi Categoria"
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Tutte"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: hosigumayuugi\n"
|
||||
"Language-Team: hosigumayuugi\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr "カテゴリを追加"
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "全て"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: nextos@korea.com\n"
|
||||
"Language-Team: \n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: raschi\n"
|
||||
"Language-Team: raschi\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr "Legg til kategori"
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: ziom666 (zadania_prog@vp.pl)\n"
|
||||
"Language-Team: \n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-23 18:52+0200\n"
|
||||
"Last-Translator: aniemotion\n"
|
||||
"Language-Team: boto12, aniemotion\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr "Adicionar categoria"
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Todas"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2011-11-03 11:00+0000\n"
|
||||
"Last-Translator: pplucky <pplucky@gmail.com>\n"
|
||||
"Language-Team: Sky8000, pplucky\n"
|
||||
@ -82,6 +82,12 @@ msgstr "AXNextFrame"
|
||||
msgid "Add category"
|
||||
msgstr "Adicionar categ."
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Todas"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: nikolai_ca\n"
|
||||
"Language-Team: Kir, alendit, nikolai_ca\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: knife.hu kavid emul8ion\n"
|
||||
"Language-Team: kavid\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2011-07-25 16:40+0200\n"
|
||||
"Last-Translator: Galen/xFede\n"
|
||||
"Language-Team: Penn, SirPalax, hvy109\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr "Añadir categoría"
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "Todas"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2010-01-19 17:39+0200\n"
|
||||
"Last-Translator: Katsurou\n"
|
||||
"Language-Team: Katsurou, pirateX\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2010-02-15 21:00+0800\n"
|
||||
"Last-Translator: Jane.H\n"
|
||||
"Language-Team: kyogc, Miller, Mika Li, Jane.H\n"
|
||||
@ -82,6 +82,12 @@ msgstr "AXNextFrame"
|
||||
msgid "Add category"
|
||||
msgstr "增加類別"
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr "全部"
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: Nitro_subzero \n"
|
||||
"Language-Team: Nitro_subzero\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-01-08 19:07+0100\n"
|
||||
"POT-Creation-Date: 2012-02-05 19:25+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: omercigingelini\n"
|
||||
"Language-Team: omercigingelini\n"
|
||||
@ -82,6 +82,12 @@ msgstr ""
|
||||
msgid "Add category"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan X"
|
||||
msgstr ""
|
||||
|
||||
msgid "Adjust Overscan Y"
|
||||
msgstr ""
|
||||
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -131,19 +131,32 @@ void AifDecoder::OpenFile()
|
||||
return;
|
||||
}
|
||||
|
||||
SWaveChunk WaveChunk;
|
||||
do
|
||||
u32 magic = 0;
|
||||
|
||||
while(1)
|
||||
{
|
||||
int ret = file_fd->read((u8 *) &WaveChunk, sizeof(SWaveChunk));
|
||||
int ret = file_fd->read((u8 *) &magic, sizeof(magic));
|
||||
if(ret <= 0)
|
||||
{
|
||||
CloseFile();
|
||||
return;
|
||||
}
|
||||
}
|
||||
while(WaveChunk.magicDATA != 'COMM');
|
||||
|
||||
DataOffset = file_fd->tell()+WaveChunk.size;
|
||||
if(magic == 'COMM')
|
||||
break;
|
||||
else
|
||||
file_fd->seek(-3, SEEK_CUR);
|
||||
}
|
||||
|
||||
u32 chunk_size = 0;
|
||||
int ret = file_fd->read((u8 *) &chunk_size, sizeof(chunk_size));
|
||||
if(ret <= 0)
|
||||
{
|
||||
CloseFile();
|
||||
return;
|
||||
}
|
||||
|
||||
DataOffset = file_fd->tell()+chunk_size;
|
||||
|
||||
SAIFFCommChunk CommHdr;
|
||||
file_fd->seek(file_fd->tell()-sizeof(SWaveChunk), SEEK_SET);
|
||||
|
@ -270,6 +270,7 @@ int StartUpProcess::Execute()
|
||||
InitAudio();
|
||||
setlocale(LC_CTYPE, "C-UTF-8");
|
||||
setlocale(LC_MESSAGES, "C-UTF-8");
|
||||
AdjustOverscan(Settings.AdjustOverscanX, Settings.AdjustOverscanY);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -33,11 +33,16 @@ extern "C"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
MEM2_init(48);
|
||||
__exception_setreload(20);
|
||||
// activate magic access rights
|
||||
MagicPatches(1);
|
||||
// init video
|
||||
InitVideo();
|
||||
// video frame buffers must be in mem1
|
||||
MEM2_init(48);
|
||||
// init gecko
|
||||
InitGecko();
|
||||
// redirect stdout and stderr to gecko
|
||||
USBGeckoOutput();
|
||||
NandTitles.Get();
|
||||
setlocale(LC_ALL, "en.UTF-8");
|
||||
|
@ -6,19 +6,27 @@
|
||||
#include <string.h>
|
||||
#include <ogc/system.h>
|
||||
|
||||
#define MAX_MEM1_ARENA_LO ((void *) (0x81700000-size)) // Preserve 1MB for other stuff if MEM1 almost out
|
||||
#define MEM2_PRIORITY_SIZE 2097152 //2MB
|
||||
#define MAX_MEM1_ARENA_LO ((void *) (0x81700000-size))
|
||||
#define MEM2_PRIORITY_SIZE 30720 // 30KB
|
||||
|
||||
// Forbid the use of MEM2 through malloc
|
||||
u32 MALLOC_MEM2 = 0;
|
||||
|
||||
static CMEM2Alloc g_mem2gp;
|
||||
|
||||
static bool g_bigGoesToMem2 = false;
|
||||
static bool g_bigGoesToMem2 = true;
|
||||
|
||||
extern "C"
|
||||
{
|
||||
|
||||
extern __typeof(malloc) __real_malloc;
|
||||
extern __typeof(calloc) __real_calloc;
|
||||
extern __typeof(realloc) __real_realloc;
|
||||
extern __typeof(memalign) __real_memalign;
|
||||
extern __typeof(free) __real_free;
|
||||
extern __typeof(malloc_usable_size) __real_malloc_usable_size;
|
||||
|
||||
|
||||
void MEM2_takeBigOnes(bool b)
|
||||
{
|
||||
g_bigGoesToMem2 = b;
|
||||
@ -59,19 +67,32 @@ unsigned int MEM2_freesize()
|
||||
return g_mem2gp.FreeSize();
|
||||
}
|
||||
|
||||
extern __typeof(malloc) __real_malloc;
|
||||
extern __typeof(calloc) __real_calloc;
|
||||
extern __typeof(realloc) __real_realloc;
|
||||
extern __typeof(memalign) __real_memalign;
|
||||
extern __typeof(free) __real_free;
|
||||
extern __typeof(malloc_usable_size) __real_malloc_usable_size;
|
||||
void *MEM1_alloc(unsigned int s)
|
||||
{
|
||||
return __real_malloc(s);
|
||||
}
|
||||
|
||||
void *MEM1_memalign(unsigned int a, unsigned int s)
|
||||
{
|
||||
return __real_memalign(a, s);
|
||||
}
|
||||
|
||||
void MEM1_free(void *p)
|
||||
{
|
||||
__real_free(p);
|
||||
}
|
||||
|
||||
void *MEM1_realloc(void *p, unsigned int s)
|
||||
{
|
||||
return __real_realloc(p, s);
|
||||
}
|
||||
|
||||
void *__wrap_malloc(size_t size)
|
||||
{
|
||||
void *p;
|
||||
if ((SYS_GetArena1Lo() > MAX_MEM1_ARENA_LO) || (g_bigGoesToMem2 && size > MEM2_PRIORITY_SIZE))
|
||||
{
|
||||
p = MEM2_alloc(size);
|
||||
p = g_mem2gp.allocate(size);
|
||||
if (p != 0) {
|
||||
return p;
|
||||
}
|
||||
@ -81,7 +102,7 @@ void *__wrap_malloc(size_t size)
|
||||
if (p != 0) {
|
||||
return p;
|
||||
}
|
||||
return MEM2_alloc(size);
|
||||
return g_mem2gp.allocate(size);
|
||||
}
|
||||
|
||||
void *__wrap_calloc(size_t n, size_t size)
|
||||
@ -89,7 +110,7 @@ void *__wrap_calloc(size_t n, size_t size)
|
||||
void *p;
|
||||
if ((SYS_GetArena1Lo() > MAX_MEM1_ARENA_LO) || (g_bigGoesToMem2 && size > MEM2_PRIORITY_SIZE))
|
||||
{
|
||||
p = MEM2_alloc(n * size);
|
||||
p = g_mem2gp.allocate(n * size);
|
||||
if (p != 0)
|
||||
{
|
||||
memset(p, 0, n * size);
|
||||
@ -101,7 +122,7 @@ void *__wrap_calloc(size_t n, size_t size)
|
||||
if (p != 0) {
|
||||
return p;
|
||||
}
|
||||
p = MEM2_alloc(n * size);
|
||||
p = g_mem2gp.allocate(n * size);
|
||||
if (p != 0) {
|
||||
memset(p, 0, n * size);
|
||||
}
|
||||
@ -115,7 +136,7 @@ void *__wrap_memalign(size_t a, size_t size)
|
||||
{
|
||||
if (a <= 32 && 32 % a == 0)
|
||||
{
|
||||
p = MEM2_alloc(size);
|
||||
p = g_mem2gp.allocate(size);
|
||||
if (p != 0) {
|
||||
return p;
|
||||
}
|
||||
@ -127,7 +148,7 @@ void *__wrap_memalign(size_t a, size_t size)
|
||||
return p;
|
||||
}
|
||||
|
||||
return MEM2_alloc(size);
|
||||
return g_mem2gp.allocate(size);
|
||||
}
|
||||
|
||||
void __wrap_free(void *p)
|
||||
@ -137,7 +158,7 @@ void __wrap_free(void *p)
|
||||
|
||||
if (((u32)p & 0x10000000) != 0)
|
||||
{
|
||||
MEM2_free(p);
|
||||
g_mem2gp.release(p);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -151,7 +172,7 @@ void *__wrap_realloc(void *p, size_t size)
|
||||
// ptr from mem2
|
||||
if (((u32)p & 0x10000000) != 0 || (p == 0 && g_bigGoesToMem2 && size > MEM2_PRIORITY_SIZE))
|
||||
{
|
||||
n = MEM2_realloc(p, size);
|
||||
n = g_mem2gp.reallocate(p, size);
|
||||
if (n != 0) {
|
||||
return n;
|
||||
}
|
||||
@ -162,7 +183,7 @@ void *__wrap_realloc(void *p, size_t size)
|
||||
if (p != 0)
|
||||
{
|
||||
memcpy(n, p, MEM2_usableSize(p) < size ? MEM2_usableSize(p) : size);
|
||||
MEM2_free(p);
|
||||
g_mem2gp.release(p);
|
||||
}
|
||||
return n;
|
||||
}
|
||||
@ -171,7 +192,7 @@ void *__wrap_realloc(void *p, size_t size)
|
||||
if (n != 0) {
|
||||
return n;
|
||||
}
|
||||
n = MEM2_alloc(size);
|
||||
n = g_mem2gp.allocate(size);
|
||||
if (n == 0) {
|
||||
return 0;
|
||||
}
|
||||
@ -186,7 +207,7 @@ void *__wrap_realloc(void *p, size_t size)
|
||||
size_t __wrap_malloc_usable_size(void *p)
|
||||
{
|
||||
if (((u32)p & 0x10000000) != 0)
|
||||
return MEM2_usableSize(p);
|
||||
return CMEM2Alloc::usableSize(p);
|
||||
return __real_malloc_usable_size(p);
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,11 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void *MEM1_alloc(unsigned int s);
|
||||
void *MEM1_memalign(unsigned int a, unsigned int s);
|
||||
void *MEM1_realloc(void *p, unsigned int s);
|
||||
void MEM1_free(void *p);
|
||||
|
||||
void MEM2_init(unsigned int mem2Size);
|
||||
void MEM2_cleanup(void);
|
||||
void MEM2_takeBigOnes(bool b);
|
||||
|
@ -1,10 +1,10 @@
|
||||
|
||||
#include "mem2alloc.hpp"
|
||||
|
||||
#include <ogc/system.h>
|
||||
#include <algorithm>
|
||||
#include <string.h>
|
||||
|
||||
#define IOS_RELOAD_AREA 0x90200000
|
||||
|
||||
class LockMutex
|
||||
{
|
||||
@ -16,7 +16,7 @@ public:
|
||||
|
||||
void CMEM2Alloc::init(unsigned int size)
|
||||
{
|
||||
m_baseAddress = (SBlock *) (((u32)SYS_GetArena2Lo() + 31) & ~31);
|
||||
m_baseAddress = (SBlock *) std::max(((u32)SYS_GetArena2Lo() + 31) & ~31, IOS_RELOAD_AREA);
|
||||
m_endAddress = (SBlock *) ((char *)m_baseAddress + std::min(size * 0x100000, SYS_GetArena2Size() & ~31));
|
||||
if (m_endAddress > (SBlock *) 0x93300000) //rest is reserved for usb/usb2/network and other stuff... (0xE0000 bytes)
|
||||
m_endAddress = (SBlock *) 0x93300000;
|
||||
|
@ -142,6 +142,8 @@ void CSettings::SetDefault()
|
||||
GameAspectRatio = ASPECT_SYSTEM_DEFAULT;
|
||||
PointerSpeed = 0.18f;
|
||||
UseChanLauncher = OFF;
|
||||
AdjustOverscanX = 0;
|
||||
AdjustOverscanY = 0;
|
||||
}
|
||||
|
||||
bool CSettings::Load()
|
||||
@ -320,6 +322,8 @@ bool CSettings::Save()
|
||||
fprintf(file, "GameAspectRatio = %d\n", GameAspectRatio);
|
||||
fprintf(file, "PointerSpeed = %g\n", PointerSpeed);
|
||||
fprintf(file, "UseChanLauncher = %d\n", UseChanLauncher);
|
||||
fprintf(file, "AdjustOverscanX = %d\n", AdjustOverscanX);
|
||||
fprintf(file, "AdjustOverscanY = %d\n", AdjustOverscanY);
|
||||
fclose(file);
|
||||
|
||||
return true;
|
||||
@ -649,6 +653,14 @@ bool CSettings::SetSetting(char *name, char *value)
|
||||
{
|
||||
if (sscanf(value, "%d", &i) == 1) UseChanLauncher = i;
|
||||
}
|
||||
else if(strcmp(name, "AdjustOverscanX") == 0)
|
||||
{
|
||||
AdjustOverscanX = atoi(value);
|
||||
}
|
||||
else if(strcmp(name, "AdjustOverscanY") == 0)
|
||||
{
|
||||
AdjustOverscanY = atoi(value);
|
||||
}
|
||||
else if (strcmp(name, "InstallPartitions") == 0)
|
||||
{
|
||||
InstallPartitions = strtoul(value, 0, 16);
|
||||
|
@ -141,6 +141,8 @@ class CSettings
|
||||
short SearchMode;
|
||||
short GameAspectRatio;
|
||||
short UseChanLauncher;
|
||||
int AdjustOverscanX;
|
||||
int AdjustOverscanY;
|
||||
|
||||
// This variable is not saved to the settings file
|
||||
bool FirstTimeRun;
|
||||
|
@ -124,6 +124,8 @@ GuiSettingsMenu::GuiSettingsMenu()
|
||||
Options->SetName(Idx++, "%s", tr( "Use System Font" ));
|
||||
Options->SetName(Idx++, "%s", tr( "Search Mode" ));
|
||||
Options->SetName(Idx++, "%s", tr( "Virtual Pointer Speed" ));
|
||||
Options->SetName(Idx++, "%s", tr( "Adjust Overscan X" ));
|
||||
Options->SetName(Idx++, "%s", tr( "Adjust Overscan Y" ));
|
||||
|
||||
SetOptionValues();
|
||||
}
|
||||
@ -197,6 +199,12 @@ void GuiSettingsMenu::SetOptionValues()
|
||||
|
||||
//! Settings: Virtual Pointer Speed
|
||||
Options->SetValue(Idx++, "%g", Settings.PointerSpeed);
|
||||
|
||||
//! Settings: Adjust Overscan X
|
||||
Options->SetValue(Idx++, "%i", Settings.AdjustOverscanX);
|
||||
|
||||
//! Settings: Adjust Overscan Y
|
||||
Options->SetValue(Idx++, "%i", Settings.AdjustOverscanY);
|
||||
}
|
||||
|
||||
int GuiSettingsMenu::GetMenuInternal()
|
||||
@ -398,6 +406,32 @@ int GuiSettingsMenu::GetMenuInternal()
|
||||
}
|
||||
}
|
||||
|
||||
//! Settings: Adjust Overscan X
|
||||
else if (ret == ++Idx)
|
||||
{
|
||||
char entrie[20];
|
||||
snprintf(entrie, sizeof(entrie), "%i", Settings.AdjustOverscanX);
|
||||
int ret = OnScreenKeyboard(entrie, sizeof(entrie), 0);
|
||||
if(ret)
|
||||
{
|
||||
Settings.AdjustOverscanX = atoi(entrie);
|
||||
AdjustOverscan(Settings.AdjustOverscanX, Settings.AdjustOverscanY);
|
||||
}
|
||||
}
|
||||
|
||||
//! Settings: Adjust Overscan Y
|
||||
else if (ret == ++Idx)
|
||||
{
|
||||
char entrie[20];
|
||||
snprintf(entrie, sizeof(entrie), "%i", Settings.AdjustOverscanY);
|
||||
int ret = OnScreenKeyboard(entrie, sizeof(entrie), 0);
|
||||
if(ret)
|
||||
{
|
||||
Settings.AdjustOverscanY = atoi(entrie);
|
||||
AdjustOverscan(Settings.AdjustOverscanX, Settings.AdjustOverscanY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SetOptionValues();
|
||||
|
||||
|
@ -116,6 +116,8 @@ void GameBooter::SetupNandEmu(u8 NandEmuMode, const char *NandEmuPath, struct di
|
||||
{
|
||||
if(NandEmuMode && strchr(NandEmuPath, '/'))
|
||||
{
|
||||
int partition = -1;
|
||||
|
||||
//! Create save game path and title.tmd for not existing saves
|
||||
CreateSavePath(&gameHeader);
|
||||
|
||||
@ -123,14 +125,23 @@ void GameBooter::SetupNandEmu(u8 NandEmuMode, const char *NandEmuPath, struct di
|
||||
Set_FullMode(NandEmuMode == 2);
|
||||
Set_Path(strchr(NandEmuPath, '/'));
|
||||
|
||||
//! Set which partition to use (USB only)
|
||||
//! Unmount devices to flush data before activating NAND Emu
|
||||
if(strncmp(NandEmuPath, "usb", 3) == 0)
|
||||
Set_Partition(atoi(NandEmuPath+3)-1);
|
||||
//! Unmount SD since NAND Emu mount fails otherwise
|
||||
else if(strncmp(NandEmuPath, "sd", 2) == 0)
|
||||
{
|
||||
//! Set which partition to use (USB only)
|
||||
partition = atoi(NandEmuPath+3)-1;
|
||||
Set_Partition(partition);
|
||||
DeviceHandler::Instance()->UnMount(USB1 + partition);
|
||||
}
|
||||
else
|
||||
DeviceHandler::Instance()->UnMountSD();
|
||||
|
||||
Enable_Emu(strncmp(NandEmuPath, "usb", 3) == 0 ? EMU_USB : EMU_SD);
|
||||
|
||||
//! Mount USB to start game, SD is not required
|
||||
if(strncmp(NandEmuPath, "usb", 3) == 0)
|
||||
DeviceHandler::Instance()->Mount(USB1 + partition);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -292,6 +292,7 @@ s32 Disc_JumpToEntrypoint(s32 hooktype, u32 dolparameter)
|
||||
"mtlr %r3\n"
|
||||
"lis %r3, 0x8000\n"
|
||||
"ori %r3, %r3, 0x18A8\n"
|
||||
"nop\n"
|
||||
"mtctr %r3\n"
|
||||
"bctr\n"
|
||||
"returnpoint:\n"
|
||||
|
@ -46,8 +46,6 @@ s32 __decompressLZ77_11(u8 *in, u32 inputLen, u8 **output, u32 *outputLen)
|
||||
compressedPos += 0x4;
|
||||
}
|
||||
|
||||
printf("Decompressed size : %i\n", decompressedSize);
|
||||
|
||||
out = memalign(32, ALIGN32(decompressedSize));
|
||||
if (out == NULL)
|
||||
{
|
||||
@ -131,10 +129,6 @@ s32 __decompressLZ77_10(u8 *in, u32 inputLen, u8 **output, u32 *outputLen)
|
||||
|
||||
decompressedSize = packBytes(in[0], in[1], in[2], in[3]) >> 8;
|
||||
|
||||
//int compressionType = (packBytes(in[0], in[1], in[2], in[3]) >> 4) & 0xF;
|
||||
|
||||
printf("Decompressed size : %i\n", decompressedSize);
|
||||
|
||||
out = memalign(32, ALIGN32(decompressedSize));
|
||||
if (out == NULL)
|
||||
{
|
||||
|
@ -147,9 +147,13 @@ void InitVideo()
|
||||
|
||||
VIDEO_SetBlack(FALSE);
|
||||
// Finally, the video is up and ready for use :)
|
||||
|
||||
// A console is always useful while debugging
|
||||
//console_init(xfb[0], 80, 100, 500, 350, vmode->fbWidth * 2);
|
||||
}
|
||||
/****************************************************************************
|
||||
* AdjustOverscan
|
||||
***************************************************************************/
|
||||
void AdjustOverscan(int x, int y)
|
||||
{
|
||||
guOrtho(projection, y, screenheight-1 - y, x, screenwidth-1 - x, 0, 10000);
|
||||
}
|
||||
|
||||
void VIDEO_SetWidescreen(bool widescreen)
|
||||
|
@ -21,6 +21,7 @@ void Menu_DrawTPLImg(f32 xpos, f32 ypos, f32 zpos, f32 width, f32 height, GXTexO
|
||||
void Menu_DrawRectangle(f32 x, f32 y, f32 width, f32 height, GXColor color, u8 filled);
|
||||
s32 TakeScreenshot(const char *path);
|
||||
void VIDEO_SetWidescreen(bool widescreen);
|
||||
void AdjustOverscan(int x, int y);
|
||||
|
||||
extern int screenheight;
|
||||
extern int screenwidth;
|
||||
|
@ -478,20 +478,19 @@ typedef struct _ReplaceStruct
|
||||
{
|
||||
const char * replace;
|
||||
char orig;
|
||||
short size;
|
||||
} ReplaceStruct;
|
||||
|
||||
//! More replacements can be added if needed
|
||||
static const ReplaceStruct Replacements[] =
|
||||
{
|
||||
{ ">", '>', 4 },
|
||||
{ "<", '<', 4 },
|
||||
{ "&st;", '*', 4 },
|
||||
{ "&cl;", ':', 4 },
|
||||
{ "&qt;", '\"', 6 },
|
||||
{ "&qm;", '?', 6 },
|
||||
{ "&vb;", '|', 5 },
|
||||
{ NULL, '\0', 0 }
|
||||
{ ">", '>' },
|
||||
{ "<", '<' },
|
||||
{ "&st;", '*' },
|
||||
{ "&cl;", ':' },
|
||||
{ "&qt;", '\"' },
|
||||
{ "&qm;", '?' },
|
||||
{ "&vb;", '|' },
|
||||
{ NULL, '\0' }
|
||||
};
|
||||
|
||||
static void ConvertInvalidCharacters(std::string &filepath)
|
||||
|
Loading…
Reference in New Issue
Block a user