mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-10 13:35:07 +01:00
- Reverted to 921
- Removed no disc in drive patch - DoGameHooks should be called always
This commit is contained in:
parent
edbedb5336
commit
8a4e192022
@ -2,8 +2,8 @@
|
||||
<app version="1">
|
||||
<name> USB Loader GX</name>
|
||||
<coder>USB Loader GX Team</coder>
|
||||
<version>1.0 r930</version>
|
||||
<release_date>201005251241</release_date>
|
||||
<version>1.0 r931</version>
|
||||
<release_date>201005290726</release_date>
|
||||
<short_description>Loads games from USB-devices</short_description>
|
||||
<long_description>USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times.
|
||||
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: David Jelinek (djelinek@hotmail.com) \n"
|
||||
"Language-Team: r823 - last version on http://djelinek.sweb.cz/_USBLoderGX/czech.lang \n"
|
||||
@ -606,6 +606,9 @@ msgstr "Nemecky"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Hlavní menu"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Cesta pro Homebrew aplikace"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB zarízení nenalezeno"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX je zabezpecen"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Nelze otevrít WAD, který byl nyní stažen (%s)."
|
||||
@ -1368,3 +1374,36 @@ msgstr "z "
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "sekund zbývá"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "obsahuje více jak 255 rádek kódu. To muže vyvolat neocekáváné výsledky."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Cesta pro hudbu na pozadí zmenena"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Nastavit jako hudbu na pozadí?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "Soubor není typu WAD"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "Nelze dekomprimovat LZ77"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Nelze nalézt disc"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "Hlavička IMD5 není správná."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "Hlavička IMET není správná."
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Ukoncit USB Loader GX?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "Nebyl nalezen oddíl WBFS"
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "Musíte naformátovat oddíl"
|
||||
|
@ -1,11 +1,11 @@
|
||||
# USB Loader GX language source file.
|
||||
# danish.lang - r921
|
||||
# danish.lang - r916
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: dorf[dk]\n"
|
||||
"Language-Team: dorf[dk]\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Tysk"
|
||||
msgid "HOME Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Sti til homebrew-programmer"
|
||||
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "Opdateringen lykkedes"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "Opdatering lykkedes takket www.techjawa.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "Sletningen lykkedes:"
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB-enhed ikke fundet"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX er beskyttet"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX fungerer kun med Hermes CIOS rev 4! Kontrollér, at revision 4 er installeret!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Ikke i stand til at åbne den WAD, der blev downloadet (%s)."
|
||||
@ -1368,3 +1374,33 @@ msgstr "af"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "sekunder tilbage"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "indeholder over 225 linjer kode. Det vil give uventede resultater."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Sti til baggrundsmusik ændret"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Indstil som baggrundsmusik?"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Kan ikke installere"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Der bruges et NTFS filsystem. Da der kan forekomme skrivefejl på NTFS-partitioner, kan der ikke installeres spil."
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "Kan ikke udpakke LZ77"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Kan ikke finde disk"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "Fejl i IMD5 header."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "Fejl i IMET header."
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Afslut USB Loader GX?"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# USB Loader GX language source file.
|
||||
# dutch.lang - r929
|
||||
# dutch.lang - r912
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"PO-Revision-Date: 2010-04-12 07:37+0100\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: glowy\n"
|
||||
"Language-Team: tj_cool, glowy\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Duits"
|
||||
msgid "HOME Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Locatie homebrew apps"
|
||||
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "Met succes geüpdate!"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "Met succes geüpdate met dank aan www.techjawa.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "Met succes verwijderd:"
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB Apparaat niet gevonden"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX is vergrendeld"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX werkt alleen met Hermes cIOS rev 4! Zorg dat je revisie 4 hebt geïnstalleerd!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Wad is gedownload maar kan niet worden geopend (%s)."
|
||||
@ -1368,3 +1374,60 @@ msgstr "van"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "seconden over"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "bevat meer dan 255 lijnen met code. Dit kan slechte gevolgen hebben."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Locatie achtergrondmuziek gewijzigd."
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Instellen als achtergrondmuziek?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "Dit is geen .wad bestand"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Installatie niet mogelijk"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Je gebruikt het NTFS bestandssysteem. Door mogelijke schrijffouten naar een NTFS partitie, is een spel installeren niet mogelijk."
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "Partitie Formatteer Menu"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "Geef app eerst vrij."
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "Je hebt geen toegang tot dit menu!"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "Kan LZ77 niet uitpakken"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Kan disk niet vinden"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "IMD5 Header niet correct."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "IMET Header niet correct."
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "Uitpakken opening.bnr mislukt"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Homebrew Kanaal"
|
||||
|
||||
#~ msgid "ERROR: USB device could not be loaded!"
|
||||
#~ msgstr "FOUT: USB apparaat kon niet geladen worden!"
|
||||
|
||||
#~ msgid "ERROR: cIOS could not be loaded!"
|
||||
#~ msgstr "FOUT: cIOS kon niet geladen worden!"
|
||||
|
||||
#~ msgid "Loading..."
|
||||
#~ msgstr "Laden..."
|
||||
|
||||
#~ msgid "Waiting for your slow USB Device: %i secs..."
|
||||
#~ msgstr "Wachten op traag USB apparaat: %i sec..."
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@ -606,6 +606,9 @@ msgstr ""
|
||||
msgid "HOME Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr ""
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr ""
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr ""
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr ""
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: c64rmx\n"
|
||||
"Language-Team: \n"
|
||||
@ -606,6 +606,9 @@ msgstr "Saksa"
|
||||
msgid "HOME Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Homebrew Apps polku"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB-laitetta ei löytynyt"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX on suojattu."
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Wadia (%s) jonka juuri latasit ei voitu avata."
|
||||
@ -1368,3 +1374,24 @@ msgstr "josta"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "sekuntia jäljellä"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "Sisältää yli 255 riviä koodia. Muodostaa odottamattomia virheitä."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Taustamusiikin polku muutettu"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Aseta taustamusiikiksi?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "Tiedosto ei ole .wad"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Poistu USB Loader GX:stä?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "Ei WBFS-osioita löytynyt"
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "Sinun täytyy formatoida osio"
|
||||
|
@ -1,11 +1,11 @@
|
||||
# USB Loader GX language source file.
|
||||
# French V13 r926
|
||||
# French V12.8 r920
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: Kin8\n"
|
||||
"Language-Team: Badablek, Amour, ikya & Kin8\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Allemand"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Menu HOME"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr "CIOS d'Hermès"
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Dossier Homebrew Apps"
|
||||
|
||||
@ -823,7 +826,7 @@ msgid "No USB Device found."
|
||||
msgstr "Aucun périphérique USB trouvé."
|
||||
|
||||
msgid "No WBFS or FAT/NTFS partition found"
|
||||
msgstr "Partition WBFS/FAT/NTFS introuvable"
|
||||
msgstr "Aucune partition WBFS ou FAT/NTFS trouvée"
|
||||
|
||||
msgid "No cheats were selected"
|
||||
msgstr "Aucune selection de triche"
|
||||
@ -850,7 +853,7 @@ msgid "Normal Covers"
|
||||
msgstr "Jaquettes 2D"
|
||||
|
||||
msgid "Not Found"
|
||||
msgstr "Non trouvé"
|
||||
msgstr "Pas trouvé"
|
||||
|
||||
msgid "Not a DOL/ELF file."
|
||||
msgstr "Ce n'est pas un fichier DOL/ELF"
|
||||
@ -1162,6 +1165,9 @@ msgstr "Périphérique USB introuvable"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX est verrouillé"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX fonctionne avec le CIOS d'Hermès rev4 seulement! Assurez-vous qu'il soit installé!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Ouverture du WAD impossible (%s)."
|
||||
@ -1368,3 +1374,57 @@ msgstr "sur"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "secondes restantes"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "Contient plus de 255 lignes de code. Cela produira des résultats inattendus."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Dossier fond sonore modifié."
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Utiliser comme fond sonore ?"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Installation impossible"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Le système de fichier NTFS est utilisé. En raison à de possibles erreurs d'écriture sur une partition de NTFS, l'installation d'un jeu est impossible."
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "Menu Formatage Partition"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "Déverrouillage nécessaire."
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "Accès à ce menu refusé!"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "Décompression LZ77 Impossible"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Disque non trouvé"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "En-tête IMD5 erronée"
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "En-tête IMET erronée"
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "Extraction opening.bnr échouée"
|
||||
|
||||
#~ msgid "You need to start this game one time to create a save file, then exit and start it again."
|
||||
#~ msgstr "Vous devez lancer ce jeu une fois pour créer une sauvegarde, puis éteindre et le lancer à nouveau."
|
||||
|
||||
#~ msgid "ERROR: USB device could not be loaded!"
|
||||
#~ msgstr "ERREUR: Impossible de charger le périph. USB!"
|
||||
|
||||
#~ msgid "ERROR: cIOS could not be loaded!"
|
||||
#~ msgstr "ERREUR: Impossible de charger le cIOS!"
|
||||
|
||||
#~ msgid "Loading..."
|
||||
#~ msgstr "Chargement..."
|
||||
|
||||
#~ msgid "Waiting for your slow USB Device: %i secs..."
|
||||
#~ msgstr "Attente de votre périphérique USB: %i secs..."
|
||||
|
@ -1,11 +1,11 @@
|
||||
# USB Loader GX language source file.
|
||||
# german.lang - r928
|
||||
# german.lang - r913
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-05-01 20:50+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: ZEN.13\n"
|
||||
"Language-Team: Snoozer, wishmasterf, Bertilax, ZEN.13\n"
|
||||
@ -126,7 +126,7 @@ msgid "AUTO"
|
||||
msgstr ""
|
||||
|
||||
msgid "All partitions"
|
||||
msgstr "Alle Partitionen"
|
||||
msgstr "alle Partitionen"
|
||||
|
||||
msgid "All the features of USB Loader GX are unlocked."
|
||||
msgstr "Alle Funktionen des USB Loader GX sind jetzt freigeschaltet."
|
||||
@ -135,7 +135,7 @@ msgid "Alternate DOL"
|
||||
msgstr "Alternative DOL"
|
||||
|
||||
msgid "An Error occured"
|
||||
msgstr "Ein Fehler ist aufgetreten."
|
||||
msgstr "Ein Fehler ist aufgetreten"
|
||||
|
||||
msgid "Anti"
|
||||
msgstr ""
|
||||
@ -198,19 +198,19 @@ msgid "Boot/Standard"
|
||||
msgstr "Bootstandard (cIOS)"
|
||||
|
||||
msgid "Boot?"
|
||||
msgstr "Kanael starten?"
|
||||
msgstr "Starten?"
|
||||
|
||||
msgid "Both"
|
||||
msgstr "ID und Region"
|
||||
msgstr "Beides (ID und Region)"
|
||||
|
||||
msgid "Can't be formatted"
|
||||
msgstr "Kann nicht formatiert werden."
|
||||
msgstr "Kann nicht formatiert werden"
|
||||
|
||||
msgid "Can't create directory"
|
||||
msgstr "Verzeichnis kann nicht erstellt werden."
|
||||
msgstr "Verzeichnis kann nicht erstellt werden"
|
||||
|
||||
msgid "Can't create file"
|
||||
msgstr "Datei kann nicht erstellt werden."
|
||||
msgstr "Datei kann nicht erstellt werden"
|
||||
|
||||
msgid "Can't delete:"
|
||||
msgstr "Löschen fehlgeschlagen:"
|
||||
@ -231,16 +231,16 @@ msgid "Checking existing artwork"
|
||||
msgstr "Prüfe existierende Artworks"
|
||||
|
||||
msgid "Checking for Updates"
|
||||
msgstr "Suche nach Updates"
|
||||
msgstr "Suche nach Aktualisierungen"
|
||||
|
||||
msgid "Click to Download Covers"
|
||||
msgstr "Cover herunterladen"
|
||||
msgstr "Cover herunterzuladen"
|
||||
|
||||
msgid "Click to change game ID"
|
||||
msgstr "Spiel ID ändern"
|
||||
|
||||
msgid "Clock"
|
||||
msgstr "Uhrformat"
|
||||
msgstr "Uhr"
|
||||
|
||||
msgid "Close"
|
||||
msgstr " Schließen"
|
||||
@ -310,7 +310,7 @@ msgid "Could not set USB."
|
||||
msgstr "USB konnte nicht gesetzt werden."
|
||||
|
||||
msgid "Cover Download"
|
||||
msgstr "Welche Cover herunterladen?"
|
||||
msgstr "Welche Cover heruntergeladen?"
|
||||
|
||||
msgid "Cover Path Changed"
|
||||
msgstr "Pfad geändert"
|
||||
@ -349,7 +349,7 @@ msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
msgid "Delete ?"
|
||||
msgstr "Wirklich löschen?"
|
||||
msgstr "Löschen ?"
|
||||
|
||||
msgid "Delete Cheat GCT"
|
||||
msgstr "Lösche GCT Cheatdatei"
|
||||
@ -391,7 +391,7 @@ msgid "DiskFlip"
|
||||
msgstr "DiscFlip"
|
||||
|
||||
msgid "Display"
|
||||
msgstr "Spielinfos anzeigen"
|
||||
msgstr "Anzeige"
|
||||
|
||||
msgid "Display as a carousel"
|
||||
msgstr "Karussell-Ansicht"
|
||||
@ -427,7 +427,7 @@ msgid "Do you want to use the alternate DOL that is known to be correct?"
|
||||
msgstr "Die bekannte Alternative DOL verwenden?"
|
||||
|
||||
msgid "Do you wish to update/download all language files?"
|
||||
msgstr "Alle Sprachdateien aktualisieren?"
|
||||
msgstr "Alle Sprachdateien aktualisieren/herunterladen?"
|
||||
|
||||
msgid "Done!"
|
||||
msgstr "Fertig!"
|
||||
@ -445,13 +445,13 @@ msgid "Download Now"
|
||||
msgstr "Herunterladen"
|
||||
|
||||
msgid "Download failed."
|
||||
msgstr "Download fehlgeschlagen"
|
||||
msgstr "Download fehlgeschlagen."
|
||||
|
||||
msgid "Download finished"
|
||||
msgstr "Download abgeschlossen"
|
||||
|
||||
msgid "Download request failed."
|
||||
msgstr "Downloadanfrage fehlgeschlagen"
|
||||
msgstr "Downloadanfrage fehlgeschlagen."
|
||||
|
||||
msgid "Downloading"
|
||||
msgstr "Dateien werden heruntergeladen"
|
||||
@ -523,7 +523,7 @@ msgid "Feb"
|
||||
msgstr "Februar"
|
||||
|
||||
msgid "File not found."
|
||||
msgstr "Datei nicht gefunden"
|
||||
msgstr "Datei nicht gefunden."
|
||||
|
||||
msgid "Finishing installation... Ok!"
|
||||
msgstr "Beende Installation... OK!"
|
||||
@ -547,7 +547,7 @@ msgid "French"
|
||||
msgstr "Französisch"
|
||||
|
||||
msgid "Full Shutdown"
|
||||
msgstr "WiiConnect24 aus"
|
||||
msgstr "Komplett"
|
||||
|
||||
msgid "GAMEID_Gamename"
|
||||
msgstr "SPIELID_Spielname"
|
||||
@ -592,7 +592,7 @@ msgid "Game is already installed:"
|
||||
msgstr "Spiel ist bereits installiert:"
|
||||
|
||||
msgid "Game partition"
|
||||
msgstr "Spielpartition"
|
||||
msgstr "nur Spiel"
|
||||
|
||||
msgid "Gamename [GAMEID]"
|
||||
msgstr "Spielname [SPIELID]"
|
||||
@ -606,8 +606,11 @@ msgstr "Deutsch"
|
||||
msgid "HOME Menu"
|
||||
msgstr "HOME Menü"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr "cIOS 222/223"
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Homebrew Apps"
|
||||
msgstr "Homebrew Anwedungen"
|
||||
|
||||
msgid "Homebrew Appspath changed"
|
||||
msgstr "Pfad geändert"
|
||||
@ -642,7 +645,7 @@ msgid "Insert Disk"
|
||||
msgstr "Disc einlegen"
|
||||
|
||||
msgid "Insert a Wii Disc!"
|
||||
msgstr "Eine Wii Disc einlegen!"
|
||||
msgstr "Bitte eine Wii Disc einlegen!"
|
||||
|
||||
msgid "Insert an SD-Card to download images."
|
||||
msgstr "SD Karte einlegen um Bilder herunterzuladen."
|
||||
@ -751,16 +754,16 @@ msgid "Lock Console"
|
||||
msgstr "Konsole sperren"
|
||||
|
||||
msgid "Locked"
|
||||
msgstr "Gesperrt"
|
||||
msgstr "gesperrt"
|
||||
|
||||
msgid "Loop Directory"
|
||||
msgstr "Verzeichnis abspielen"
|
||||
msgstr "Verzeichnis wiederholen"
|
||||
|
||||
msgid "Loop Music"
|
||||
msgstr "Scheife"
|
||||
msgstr "1 Titel wiederholen"
|
||||
|
||||
msgid "Loop Sound"
|
||||
msgstr "Wiederholung"
|
||||
msgstr "Wiederholen"
|
||||
|
||||
msgid "Mar"
|
||||
msgstr "März"
|
||||
@ -781,13 +784,13 @@ msgid "Mount DVD drive"
|
||||
msgstr "Spiel starten"
|
||||
|
||||
msgid "Music Loop Mode"
|
||||
msgstr "HGM Wiederholung"
|
||||
msgstr "Wiederholungsmodus"
|
||||
|
||||
msgid "Music Volume"
|
||||
msgstr "Musik Lautstärke"
|
||||
|
||||
msgid "Neither"
|
||||
msgstr "Keine"
|
||||
msgstr "Nichts"
|
||||
|
||||
msgid "Network init error"
|
||||
msgstr "Netzwerkinitialisierungsfehler"
|
||||
@ -796,7 +799,7 @@ msgid "New Disc Detected"
|
||||
msgstr "Neu Disc im Laufwerk festgestellt"
|
||||
|
||||
msgid "Next"
|
||||
msgstr "Weiter"
|
||||
msgstr "Nächste"
|
||||
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
@ -805,7 +808,7 @@ msgid "No .dol or .elf files found."
|
||||
msgstr "Keine .dol oder .elf Dateien gefunden."
|
||||
|
||||
msgid "No Cheatfile found"
|
||||
msgstr "Keine Cheatdatei gefunden."
|
||||
msgstr "Keine Cheatdatei gefunden"
|
||||
|
||||
msgid "No DOL file found on disc."
|
||||
msgstr "Keine DOL auf der Disc gefunden."
|
||||
@ -826,7 +829,7 @@ msgid "No WBFS or FAT/NTFS partition found"
|
||||
msgstr "Keine WBFS oder FAT/NTFS Partition gefunden"
|
||||
|
||||
msgid "No cheats were selected"
|
||||
msgstr "Es wurden keine Cheats ausgewählt."
|
||||
msgstr "Es wurden keine Cheats ausgewählt"
|
||||
|
||||
msgid "No data could be read."
|
||||
msgstr "Daten konnten nicht gelesen werden."
|
||||
@ -835,7 +838,7 @@ msgid "No file missing!"
|
||||
msgstr "Keine Datei fehlt!"
|
||||
|
||||
msgid "No new updates."
|
||||
msgstr "Keine Updates verfügbar."
|
||||
msgstr "Keine Aktualisierungen verfügbar."
|
||||
|
||||
msgid "No themes found on the site."
|
||||
msgstr "Keine Themes auf der Seite gefunden."
|
||||
@ -859,7 +862,7 @@ msgid "Not a WAD file."
|
||||
msgstr "Das ist keine WAD Datei."
|
||||
|
||||
msgid "Not a Wii Disc"
|
||||
msgstr "Keine Wii Disc."
|
||||
msgstr "Das ist keine Wii Disc"
|
||||
|
||||
msgid "Not enough free memory."
|
||||
msgstr "Nicht genügend freier Speicher."
|
||||
@ -889,7 +892,7 @@ msgid "Official Site:"
|
||||
msgstr "Offizielle Seite:"
|
||||
|
||||
msgid "Only Customs"
|
||||
msgstr "nur Community"
|
||||
msgstr "nur von der Community"
|
||||
|
||||
msgid "Only Original"
|
||||
msgstr "nur Originale"
|
||||
@ -925,7 +928,7 @@ msgid "Patch Country Strings"
|
||||
msgstr "Country Strings patchen"
|
||||
|
||||
msgid "Pick from a list"
|
||||
msgstr "Wähle aus der Liste"
|
||||
msgstr "Wähle aus Liste"
|
||||
|
||||
msgid "Play Count"
|
||||
msgstr "Spielzähler"
|
||||
@ -934,7 +937,7 @@ msgid "Play Next"
|
||||
msgstr "Nächster Titel"
|
||||
|
||||
msgid "Play Once"
|
||||
msgstr "Einmal abspielen"
|
||||
msgstr "nur einmal abspielen"
|
||||
|
||||
msgid "Play Previous"
|
||||
msgstr "Vorheriger Titel"
|
||||
@ -949,7 +952,7 @@ msgid "Power off the Wii"
|
||||
msgstr "Wii ausschalten"
|
||||
|
||||
msgid "Prev"
|
||||
msgstr "Zurück"
|
||||
msgstr "Vorherige"
|
||||
|
||||
msgid "Prompts Buttons"
|
||||
msgstr "Anzeige"
|
||||
@ -961,7 +964,7 @@ msgid "Quick Boot"
|
||||
msgstr "Schnelles Laden"
|
||||
|
||||
msgid "Random Directory Music"
|
||||
msgstr "Zufällig"
|
||||
msgstr "Zufällig aus gewähltem Verzeichnis"
|
||||
|
||||
msgid "Reading WAD data... Ok!"
|
||||
msgstr "Lese WAD Daten... OK!"
|
||||
@ -973,7 +976,7 @@ msgid "Released"
|
||||
msgstr "Erschienen am"
|
||||
|
||||
msgid "Reload SD"
|
||||
msgstr "SD Karte erneut laden"
|
||||
msgstr "SD Karte erneut lesen"
|
||||
|
||||
msgid "Remove update"
|
||||
msgstr "Update entfernen"
|
||||
@ -991,7 +994,7 @@ msgid "Reset to standard BGM?"
|
||||
msgstr "Auf Standard zurücksetzen?"
|
||||
|
||||
msgid "Restarting..."
|
||||
msgstr "Starte neu..."
|
||||
msgstr "Damit die neue Version benutzt werden kann, muss der Loader neu gestartet werden."
|
||||
|
||||
msgid "Return"
|
||||
msgstr "Zurück"
|
||||
@ -1048,7 +1051,7 @@ msgid "Shutdown System"
|
||||
msgstr "System herunterfahren"
|
||||
|
||||
msgid "Shutdown to Idle"
|
||||
msgstr "WiiConnect24 an"
|
||||
msgstr "Stand By"
|
||||
|
||||
msgid "Sort alphabetically"
|
||||
msgstr "Alphabetisch ordnen"
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "Erfolgreich aktualisiert"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "Erfolgreich aktualisiert. Dank an: www.techjawa.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "Erfolgreich gelöscht:"
|
||||
@ -1117,7 +1120,7 @@ msgid "The entered directory does not exist. Would you like to create it?"
|
||||
msgstr "Das eingegebene Verzeichnis existiert nicht. Möchtest du es erstellen?"
|
||||
|
||||
msgid "The wad file was installed. But It could not be deleted from the SD card."
|
||||
msgstr "Die WAD Datei wurde installiert. Sie konnte aber nicht von der SD Karte gelöscht werden."
|
||||
msgstr "Die WAD Datei wurde installiert. Aber sie konnte nicht von der SD Karte gelöscht werden."
|
||||
|
||||
#, c-format
|
||||
msgid "The wad installation failed with error %ld"
|
||||
@ -1154,13 +1157,16 @@ msgid "Tooltips"
|
||||
msgstr ""
|
||||
|
||||
msgid "Transfer failed."
|
||||
msgstr "Übertragung fehlgeschlagen"
|
||||
msgstr "Übertragung fehlgeschlagen."
|
||||
|
||||
msgid "USB Device not found"
|
||||
msgstr "USB Gerät nicht gefunden."
|
||||
msgstr "USB Gerät nicht gefunden"
|
||||
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX ist jetzt geschützt."
|
||||
msgstr "USB Loader GX ist jetzt geschützt"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "Hermes' cIOS funktioniert beim USB Loader GX nur mit rev4! Bitte versichere dich das du rev4 installiert hast!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
@ -1185,13 +1191,13 @@ msgid "Unlock console to use this option."
|
||||
msgstr "Entsperre den Loader, um diese Option zu nutzen."
|
||||
|
||||
msgid "Unlocked"
|
||||
msgstr "Entsperrt"
|
||||
msgstr "entsperrt"
|
||||
|
||||
msgid "Unsupported format, try to extract manually."
|
||||
msgstr "Nicht unterstütztes Format. Versuch es manuell zu Entpacken."
|
||||
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
msgstr "Aktualisieren"
|
||||
|
||||
msgid "Update All"
|
||||
msgstr "Alles"
|
||||
@ -1203,7 +1209,7 @@ msgid "Update Files"
|
||||
msgstr "Aktualisieren"
|
||||
|
||||
msgid "Update Path"
|
||||
msgstr "Updates"
|
||||
msgstr "Aktualisierungen"
|
||||
|
||||
msgid "Update Path changed."
|
||||
msgstr "Pfad geändert"
|
||||
@ -1212,7 +1218,7 @@ msgid "Update all Language Files"
|
||||
msgstr "Sprachdateien aktualisieren"
|
||||
|
||||
msgid "Update failed"
|
||||
msgstr "Update fehlgeschlagen"
|
||||
msgstr "Aktualisierung fehlgeschlagen"
|
||||
|
||||
msgid "Update to"
|
||||
msgstr "Aktualisiere auf"
|
||||
@ -1297,10 +1303,10 @@ msgid "You don't have Parental Control enabled. If you wish to use Parental Cont
|
||||
msgstr "Du hast die Wii-Altersbeschränkung nicht aktiviert. Wenn du sie nutzen möchtest, aktiviere sie in den Wii-Systemeinstellungen."
|
||||
|
||||
msgid "You have attempted to load a bad image"
|
||||
msgstr "Du hast versucht ein 'schlechtes Bild' zu laden."
|
||||
msgstr "Du hast versucht ein 'schlechtes Bild' zu laden"
|
||||
|
||||
msgid "You need to select or format a partition"
|
||||
msgstr "Du must eine Partition auswählen oder formatieren."
|
||||
msgstr "Du must eine Partition auswählen oder formatieren"
|
||||
|
||||
#, c-format
|
||||
msgid "Your URL has been saved in %sWiiTDB_URL.txt."
|
||||
@ -1349,7 +1355,7 @@ msgid "for hosting the themes"
|
||||
msgstr "für das Hosten der Themes"
|
||||
|
||||
msgid "for hosting the update files"
|
||||
msgstr "für das Hosten der Updates"
|
||||
msgstr "für das Hosten der Aktualisierungen"
|
||||
|
||||
msgid "for the USB Loader source"
|
||||
msgstr "für die Veröffentlichung des USB Loader-Quellcodes"
|
||||
@ -1368,3 +1374,48 @@ msgstr "von"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "Sekunden verbleiben"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "enthält mehr als 255 Zeilen Code. Es wird unerwartete Ergebnisse geben."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Pfad geändert"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Als Hintergrundmusik verwenden?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "Die Datei ist keine .wad"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Installation nicht möglich"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Du benutzt das NTFS Dateisystem. Wegen möglicher Schreibfehler auf einer NTFS Partition, ist das Installieren eines Spiels nicht möglich."
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "Partitionen Formatierungs-Menü"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "Entsperre zuerst den Loader."
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "Du kannst auf dieses Menü nicht zugreifen!"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "LZ77 konnte nicht entpackt werden"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Keine Disc gefunden"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "IMD5 Header falsch."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "IMET Header falsch."
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Homebrew Kanal"
|
||||
|
||||
#~ msgid "You need to start this game one time to create a save file, then exit and start it again."
|
||||
#~ msgstr "Du must dieses Spiel einmal starten um einen Speicherstand zu erstellen, dann verlassen und es neustarten."
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-12-29 11:05+0100\n"
|
||||
"Last-Translator: Springdale\n"
|
||||
"Language-Team: Tusk, Springdale\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Német"
|
||||
msgid "HOME Menu"
|
||||
msgstr "HOME Menü"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Homebrew Útvonal"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB Meghajtó nem található"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX levédve"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "Az USB Loader GX csak Hermes CIOS rev 4 mellett működik! Gyõződj meg róla, hogy telepítetted!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Az épp letöltött wad megnyitása nem sikerült (%s)."
|
||||
@ -1368,3 +1374,36 @@ msgstr "./"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "hátralévõ másodperc"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "több mint 255 sorból áll a kód. Kiszámíthatatlan eredmények várhatók."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Háttérzene útvonala megváltozott."
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Beállítod háttérzenének?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "A fájl nem .wad"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "A telepítés nem lehetséges"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "NTFS fájlrendszert használata esetén a lehetséges írási hibák miatt játékok telepítése nem lehetséges."
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "LZ77 nem kitömöríthetõ"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Lemez nem található"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "IMD5 Fejléc nem megfelelõ."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "IMET fejléc nem megfelelõ."
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Kilépés az USB Loader GX-bõl?"
|
||||
|
@ -1,11 +1,11 @@
|
||||
# USB Loader GX language source file.
|
||||
# italian.lang - v61 - r926
|
||||
# italian.lang - v60 - r913
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2010-02-21 08:00+0200\n"
|
||||
"Last-Translator: Cambo \n"
|
||||
"Language-Team: FoxeJoe, Cambo\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Tedesco"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Menu HOME"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr "cIOS di Hermes"
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Percorso Applic. Homebrew"
|
||||
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "Aggiornamento Eseguito"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "Aggiornamento Eseguito grazie a www.techjawa.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "Eliminato con successo:"
|
||||
@ -1162,6 +1165,9 @@ msgstr "Dispositivo USB non Trovato"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX è Protetto"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX funziona solo con la rev 4 del cIOS di Hermes! Accertarsi di aver installato la rev 4!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Non riesco ad aprire il wad da poco scaricato (%s)."
|
||||
@ -1368,3 +1374,60 @@ msgstr "di"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "secondi mancanti"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "contiene più di 255 linee di codice. Possibili effetti inattesi."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Percorso Musica modificato"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Imposto come Musica Sottofondo?"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Impossibile installare"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "E' in uso una partizione NTFS. Poiché sono possibili errori in scrittura nelle partizioni NTFS, non è possibile installare alcun gioco."
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "Menu Formattazione Partizioni"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "L'applicazione deve essere sbloccata."
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "Non puoi accedere a questo menu!"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "Impossibile decomprimere LZ77"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Impossibile trovare il disco"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "Header IMD5 non corretto."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "Header IMET errato."
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "Estrazione opening.bnr fallita"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Canale Homebrew"
|
||||
|
||||
#~ msgid "You need to start this game one time to create a save file, then exit and start it again."
|
||||
#~ msgstr "Devi caricare questo gioco almeno una volta per creare un file di salvataggio, quindi esci dal gioco e ricaricalo di nuovo."
|
||||
|
||||
#~ msgid "ERROR: USB device could not be loaded!"
|
||||
#~ msgstr "ERRORE: non si accede alla periferica USB!"
|
||||
|
||||
#~ msgid "ERROR: cIOS could not be loaded!"
|
||||
#~ msgstr "ERRORE: non si carica il cIOS!"
|
||||
|
||||
#~ msgid "Loading..."
|
||||
#~ msgstr "Sto caricando..."
|
||||
|
||||
#~ msgid "Waiting for your slow USB Device: %i secs..."
|
||||
#~ msgstr "Sto aspettando la tua lenta periferica USB: %i secs..."
|
||||
|
@ -1,11 +1,11 @@
|
||||
# USB Loader GX language source file.
|
||||
# japanese.lang - r924
|
||||
# japanese.lang - r913
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: hosigumayuugi\n"
|
||||
"Language-Team: hosigumayuugi\n"
|
||||
@ -606,6 +606,9 @@ msgstr "ドイツ語"
|
||||
msgid "HOME Menu"
|
||||
msgstr "HOMEボタンメニュー"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr "注意事項"
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Homebrewのパス"
|
||||
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "更新しました"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "更新しました www.techjawa.comに感謝!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "削除に成功しました"
|
||||
@ -1162,6 +1165,9 @@ msgstr "USBデバイスを検出できませんでした"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loaderは保護されています"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "cIOS222と223はrev4の場合のみ 使用できます"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "ダウンロード中のためWADを開けません (%s)."
|
||||
@ -1368,3 +1374,51 @@ msgstr "中"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "秒で完了"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "コードが255行を超えていて 正しく実行できません"
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "BGMのパスを変更しました"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "BGMに設定しますか?"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "インストールできません"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "NTFS領域にインストール中にエラーが発生するとインストールに失敗します"
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "初期化メニュー"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "先にロックを解除してください"
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "このメニューは使用できません"
|
||||
|
||||
#~ msgid "Random Directory music"
|
||||
#~ msgstr "フォルダ内でランダムに再生"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "LZ77を解凍できませんでした"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "ディスクが見つかりません"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "IMD5ヘッダが正しくありません"
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "IMETヘッダが間違っています"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "USBLoaderGXを終了しますか?"
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "opening.bnrの抽出に失敗しました"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "HBCへ"
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: nextos@korea.com\n"
|
||||
"Language-Team: \n"
|
||||
@ -606,6 +606,9 @@ msgstr "독일어"
|
||||
msgid "HOME Menu"
|
||||
msgstr "HOME 메뉴"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "홈브류 경로"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB 장치가 없습니다."
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB 로더 GX 잠김 상태"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "방금 다운로드한 wad화일(%s)을 열수가 없음."
|
||||
@ -1368,3 +1374,27 @@ msgstr "중"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "초 남았습니다"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "255라인 이상이면 예상치 못한 결과가 나오죠."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "배경음악 경로 변경됨."
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "벼경음악 설정?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "화일이 .wad 아님"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "USB로더 GX를 종료할까요?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "WBFS 파티션이 없습니다."
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "파티션을 포맷해야 합니다"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "홈브류 채널"
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: raschi\n"
|
||||
"Language-Team: raschi\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Tysk"
|
||||
msgid "HOME Menu"
|
||||
msgstr "HOME Meny"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Homebrew Apps sti"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB enhet ikke funnet"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX er beskyttet"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Kan ikke åpne nedlastet WAD fil (%s)."
|
||||
@ -1368,3 +1374,36 @@ msgstr "av"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "sekunder gjenstår"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "inneholder over 255 linjer med kode. Den kan føre til uønskede resultater."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Bakgrunnsmusikk sti endret"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Bruk som bakgrunnsmusikk?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "Denne filen er ikke en .wad"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Avslutt USB Loader GX?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "Ingen WBFS partisjon funnet"
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "Du må formatere en partisjon"
|
||||
|
||||
#~ msgid "ERROR: USB device could not be loaded!"
|
||||
#~ msgstr "FEIL: USB enhet kan ikke lastes!"
|
||||
|
||||
#~ msgid "ERROR: cIOS could not be loaded!"
|
||||
#~ msgstr "FEIL: cIOS kan ikke lastes!"
|
||||
|
||||
#~ msgid "Loading..."
|
||||
#~ msgstr "Laster..."
|
||||
|
||||
#~ msgid "Waiting for your slow USB Device: %i secs..."
|
||||
#~ msgstr "Venter på USB enhet: %i sek..."
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: ziom666 (zadania_prog@vp.pl)\n"
|
||||
"Language-Team: \n"
|
||||
@ -606,6 +606,9 @@ msgstr "niemiecki"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Sciezka plikacji homebrew"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "Nie znaleziono urzadzenia USB"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX zabezpieczony"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX dziala tylko z Hermes CIOS rev 4! Upewnij sie czy masz zainstalowana wersje 4!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Nie udalo sie zainstalowac dopiero co pobranego pliku (%s)"
|
||||
@ -1368,3 +1374,30 @@ msgstr "z"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "sekund pozostalo"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "zawiera ponad 255 linii kodu. Bedzie coS nie tak."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Sciezka do muzyki w tle zmieniona"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Ustawic jako muzyke w tle?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "To nie plik .wad"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Nie mozna zainstalowac"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Uzywasz partycji NTFS. Instalacja gier na tej partycji nie jest mozliwa."
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Zakonczyc prace programu?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "Nie znaleziono partycji WBFS"
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "Musisz sformatowac partycje"
|
||||
|
@ -1,14 +1,14 @@
|
||||
# USB Loader GX language source file.
|
||||
# portuguese_br.lang - r921
|
||||
# portuguese_br.lang - r823
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-23 18:52+0200\n"
|
||||
"Last-Translator: aniemotion\n"
|
||||
"Language-Team: boto12, aniemotion\n"
|
||||
"Last-Translator: boto12\n"
|
||||
"Language-Team: boto12\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@ -126,7 +126,7 @@ msgid "AUTO"
|
||||
msgstr ""
|
||||
|
||||
msgid "All partitions"
|
||||
msgstr "Todas as Partições"
|
||||
msgstr ""
|
||||
|
||||
msgid "All the features of USB Loader GX are unlocked."
|
||||
msgstr "As configurações estão desbloqueadas."
|
||||
@ -147,7 +147,7 @@ msgid "Apr"
|
||||
msgstr "Abr"
|
||||
|
||||
msgid "Are you sure you want to enable Parent Control?"
|
||||
msgstr "Tem certeza que você deseja ligar o Controle de Pais?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Are you sure?"
|
||||
msgstr "Tem certeza?"
|
||||
@ -165,13 +165,13 @@ msgid "AutoPatch"
|
||||
msgstr "Patch automático"
|
||||
|
||||
msgid "BCA Codes Path"
|
||||
msgstr "Caminho do BCA Codes"
|
||||
msgstr ""
|
||||
|
||||
msgid "BCA Codes Path changed"
|
||||
msgstr "Caminho do BCA Codes alterado"
|
||||
msgstr ""
|
||||
|
||||
msgid "BETA revisions"
|
||||
msgstr "Revisões BETA"
|
||||
msgstr ""
|
||||
|
||||
msgid "Back"
|
||||
msgstr "Voltar"
|
||||
@ -219,7 +219,7 @@ msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
msgid "Change Play Path"
|
||||
msgstr "Alterar Caminho para Play"
|
||||
msgstr ""
|
||||
|
||||
msgid "Channels"
|
||||
msgstr "Canais"
|
||||
@ -409,7 +409,7 @@ msgid "Do you really want to delete:"
|
||||
msgstr "Tem a certeza que quer eliminar o jogo:"
|
||||
|
||||
msgid "Do you want to apply it now?"
|
||||
msgstr "Deseja aplicar agora?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you want to change language?"
|
||||
msgstr "Deseja alterar o idioma?"
|
||||
@ -475,10 +475,10 @@ msgid "ERROR:"
|
||||
msgstr "ERRO:"
|
||||
|
||||
msgid "ERROR: Can't set up theme."
|
||||
msgstr "ERRO: Impossível aplicar tema"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable Parental Control"
|
||||
msgstr "Ligar Controle de Pais"
|
||||
msgstr ""
|
||||
|
||||
msgid "English"
|
||||
msgstr "Inglês"
|
||||
@ -508,7 +508,7 @@ msgid "Extracting files..."
|
||||
msgstr "Extraindo arquivos..."
|
||||
|
||||
msgid "FAT: Use directories"
|
||||
msgstr "FAT: Usar Diretórios"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed formating"
|
||||
msgstr "Falha ao formatar"
|
||||
@ -565,7 +565,7 @@ msgid "GUI Settings"
|
||||
msgstr "Definições de Interface"
|
||||
|
||||
msgid "GXtheme.cfg not found in any subfolder."
|
||||
msgstr "GXtheme.cfg não encontrado em nenhuma subpasta"
|
||||
msgstr ""
|
||||
|
||||
msgid "Game ID"
|
||||
msgstr "ID do Jogo"
|
||||
@ -583,7 +583,7 @@ msgid "Game Size"
|
||||
msgstr "Tamanho do Jogo"
|
||||
|
||||
msgid "Game Sound Mode"
|
||||
msgstr "Modo de Som do Jogo"
|
||||
msgstr ""
|
||||
|
||||
msgid "Game Sound Volume"
|
||||
msgstr "Volume dos Sons dos Jogos"
|
||||
@ -592,10 +592,10 @@ msgid "Game is already installed:"
|
||||
msgstr "Este jogo já está instalado:"
|
||||
|
||||
msgid "Game partition"
|
||||
msgstr "Partição de Game"
|
||||
msgstr ""
|
||||
|
||||
msgid "Gamename [GAMEID]"
|
||||
msgstr "Nome do Jogo [GAMEID]"
|
||||
msgstr ""
|
||||
|
||||
msgid "Games"
|
||||
msgstr "Jogos"
|
||||
@ -606,6 +606,9 @@ msgstr "Alemão"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Menu Inicial"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Pasta Apps Homebrew"
|
||||
|
||||
@ -657,7 +660,7 @@ msgid "Install"
|
||||
msgstr "Instalar"
|
||||
|
||||
msgid "Install 1:1 Copy"
|
||||
msgstr "Instalar 1:1 Copy"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install Error!"
|
||||
msgstr "Erro de Instalação!"
|
||||
@ -666,7 +669,7 @@ msgid "Install a game"
|
||||
msgstr "Instalar um jogo"
|
||||
|
||||
msgid "Install partitions"
|
||||
msgstr "Instalare partições"
|
||||
msgstr ""
|
||||
|
||||
msgid "Installing content... Ok!"
|
||||
msgstr "Instalando conteúdo... Ok!"
|
||||
@ -684,7 +687,7 @@ msgid "Installing wad"
|
||||
msgstr "Instalando wad"
|
||||
|
||||
msgid "Invalid PIN code"
|
||||
msgstr "Código PIN inválido"
|
||||
msgstr ""
|
||||
|
||||
msgid "It seems that you have some information that will be helpful to us. Please pass this information along to the DEV team."
|
||||
msgstr "Parece que tem uma informação que pode ser útil. Por favor envie esta informação a nossa equipe de desenvolvimento."
|
||||
@ -754,19 +757,19 @@ msgid "Locked"
|
||||
msgstr "Bloqueado"
|
||||
|
||||
msgid "Loop Directory"
|
||||
msgstr "Repitir Diretório"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loop Music"
|
||||
msgstr "Repitir Música"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loop Sound"
|
||||
msgstr "Repitir Som"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mar"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mark new games"
|
||||
msgstr "Marcar games novos"
|
||||
msgstr ""
|
||||
|
||||
msgid "May"
|
||||
msgstr "Mai"
|
||||
@ -781,7 +784,7 @@ msgid "Mount DVD drive"
|
||||
msgstr "Carregar leitor DVD"
|
||||
|
||||
msgid "Music Loop Mode"
|
||||
msgstr "Modo Repetição de Música"
|
||||
msgstr ""
|
||||
|
||||
msgid "Music Volume"
|
||||
msgstr "Volume da Música"
|
||||
@ -841,7 +844,7 @@ msgid "No themes found on the site."
|
||||
msgstr "Nenhum tema encontrado no site"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Nenhum"
|
||||
msgstr ""
|
||||
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
@ -856,7 +859,7 @@ msgid "Not a DOL/ELF file."
|
||||
msgstr "Não é um arquivo DOL/ELF válido."
|
||||
|
||||
msgid "Not a WAD file."
|
||||
msgstr "Não é um arquivo Wad"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not a Wii Disc"
|
||||
msgstr "Não é um Disco do Wii"
|
||||
@ -904,7 +907,7 @@ msgid "Parental Control"
|
||||
msgstr "Controle de Pais"
|
||||
|
||||
msgid "Parental Control disabled"
|
||||
msgstr "Controle dos Pais desligado"
|
||||
msgstr ""
|
||||
|
||||
msgid "Partition"
|
||||
msgstr "Partição"
|
||||
@ -931,16 +934,16 @@ msgid "Play Count"
|
||||
msgstr "Vezes jogadas"
|
||||
|
||||
msgid "Play Next"
|
||||
msgstr "Tocar Próximo"
|
||||
msgstr ""
|
||||
|
||||
msgid "Play Once"
|
||||
msgstr "Tocar uma só vez"
|
||||
msgstr ""
|
||||
|
||||
msgid "Play Previous"
|
||||
msgstr "Tocar Anteior"
|
||||
msgstr ""
|
||||
|
||||
msgid "Playing Music:"
|
||||
msgstr "Tocando a Música:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please wait..."
|
||||
msgstr "Por favor aguarde..."
|
||||
@ -961,7 +964,7 @@ msgid "Quick Boot"
|
||||
msgstr "Inicialização Rápida"
|
||||
|
||||
msgid "Random Directory Music"
|
||||
msgstr "Diretótio Aleatório de Músicas"
|
||||
msgstr ""
|
||||
|
||||
msgid "Reading WAD data... Ok!"
|
||||
msgstr "Lendo dados do WAD... Ok!"
|
||||
@ -976,19 +979,19 @@ msgid "Reload SD"
|
||||
msgstr "Atualizar do cartão SD"
|
||||
|
||||
msgid "Remove update"
|
||||
msgstr "Remover atualização"
|
||||
msgstr ""
|
||||
|
||||
msgid "Rename Game on WBFS"
|
||||
msgstr "Alterar nome do jogo na partição WBFS"
|
||||
|
||||
msgid "Reset BG Music"
|
||||
msgstr "Resetar Música de Fundo"
|
||||
msgstr ""
|
||||
|
||||
msgid "Reset Playcounter"
|
||||
msgstr "Limpar Contagem"
|
||||
|
||||
msgid "Reset to standard BGM?"
|
||||
msgstr "Resetar para Música de Fundo padrão?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Restarting..."
|
||||
msgstr "O Wii irá reiniciar"
|
||||
@ -1027,7 +1030,7 @@ msgid "Screensaver"
|
||||
msgstr "Proteção de tela"
|
||||
|
||||
msgid "Select"
|
||||
msgstr "selecionar"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select a DOL"
|
||||
msgstr "Selecionar um DOL"
|
||||
@ -1063,10 +1066,10 @@ msgid "Sound"
|
||||
msgstr "Audio"
|
||||
|
||||
msgid "Sound+BGM"
|
||||
msgstr "Som+Music de Fundo"
|
||||
msgstr ""
|
||||
|
||||
msgid "Sound+Quiet"
|
||||
msgstr "Som+Quieto"
|
||||
msgstr ""
|
||||
|
||||
msgid "Spanish"
|
||||
msgstr "Espanhol"
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "Programa atualizado com Sucesso"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "Atualizado com sucesso graças a www.techjawa.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "Eliminado com Sucesso:"
|
||||
@ -1162,6 +1165,9 @@ msgstr "Dispositivo USB não encontrado"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "O USB Loader GX está bloqueado"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Não é possível abrir o arquivo wad baixado (%s)."
|
||||
@ -1179,7 +1185,7 @@ msgid "Uninstalling wad"
|
||||
msgstr "Desinstalando wad"
|
||||
|
||||
msgid "Unlock Parental Control"
|
||||
msgstr "Desbloquear Controle de Pais"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unlock console to use this option."
|
||||
msgstr "Desbloquear configuração antes de usar esta opção."
|
||||
@ -1243,10 +1249,10 @@ msgid "Video Mode"
|
||||
msgstr "Modo de Vídeo"
|
||||
|
||||
msgid "WIP Patches Path"
|
||||
msgstr "Caminho WIP Patches"
|
||||
msgstr ""
|
||||
|
||||
msgid "WIP Patches Path changed"
|
||||
msgstr "Caminho WIP Patches alterado"
|
||||
msgstr ""
|
||||
|
||||
msgid "Waiting for USB Device"
|
||||
msgstr "Aguardando pelo Dispositivo USB"
|
||||
@ -1294,13 +1300,13 @@ msgid "You are choosing to display favorites and you do not have any selected."
|
||||
msgstr "Está tentando visualizar os favoritos, mas não existe nenhum selecionado."
|
||||
|
||||
msgid "You don't have Parental Control enabled. If you wish to use Parental Control, enable it in the Wii Settings."
|
||||
msgstr "Você não tem o Controle de Pais ligado. Se você deseja usar o Controle de Pais, ligue-o nas Configurações do Wii."
|
||||
msgstr ""
|
||||
|
||||
msgid "You have attempted to load a bad image"
|
||||
msgstr "Você tentou carregar uma imagem corrompida"
|
||||
|
||||
msgid "You need to select or format a partition"
|
||||
msgstr "Você precisa selecionar ou formatar uma partição"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Your URL has been saved in %sWiiTDB_URL.txt."
|
||||
@ -1331,7 +1337,7 @@ msgid "files not found on the server!"
|
||||
msgstr "arquivos não encontrados no servidor!"
|
||||
|
||||
msgid "for FAT/NTFS support"
|
||||
msgstr "para suporte a FAT/NTFS"
|
||||
msgstr ""
|
||||
|
||||
msgid "for Ocarina"
|
||||
msgstr "pelo Ocarina"
|
||||
@ -1368,3 +1374,39 @@ msgstr "de"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "segundos restantes"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "contém mais de 255 linhas de código. Os resultados podem ser inesperados."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Pasta Música Fundo modificada"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Definir como música de fundo?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "O arquivo não é um .wad"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "Não foi possivel descomprimir LZ77"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Disco não encontrado"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "Cabeçalho IMD5 não esta correto"
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "Cabeçalho IMET errado"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Deseja sair do USB Loader GX?"
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "É necessário FORMATAR a partição"
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "Falha ao extrair opening.bnr"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Canal Homebrew"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# USB Loader GX language source file.
|
||||
# portuguese_pt.lang - r921
|
||||
# portuguese_pt.lang - r903
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"PO-Revision-Date: 2010-03-22 10:55-0000\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2010-02-01 18:10-0000\n"
|
||||
"Last-Translator: Sky8000\n"
|
||||
"Language-Team: Sky8000 <sky8000@hotmail.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Alemão"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Menú Inicial"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr "CIOS Hermes"
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Pasta Apps Homebrew"
|
||||
|
||||
@ -754,10 +757,10 @@ msgid "Locked"
|
||||
msgstr "Bloqueado"
|
||||
|
||||
msgid "Loop Directory"
|
||||
msgstr "Repetir Pasta"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loop Music"
|
||||
msgstr "Repetir Música"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loop Sound"
|
||||
msgstr "Repetir Sons"
|
||||
@ -856,7 +859,7 @@ msgid "Not a DOL/ELF file."
|
||||
msgstr "Não é um ficheiro DOL/ELF válido."
|
||||
|
||||
msgid "Not a WAD file."
|
||||
msgstr "Não é um ficheiro WAD."
|
||||
msgstr ""
|
||||
|
||||
msgid "Not a Wii Disc"
|
||||
msgstr "Não é um Disco da Wii"
|
||||
@ -934,7 +937,7 @@ msgid "Play Next"
|
||||
msgstr "Próxima"
|
||||
|
||||
msgid "Play Once"
|
||||
msgstr "Tocar uma vez."
|
||||
msgstr ""
|
||||
|
||||
msgid "Play Previous"
|
||||
msgstr "Anterior"
|
||||
@ -961,7 +964,7 @@ msgid "Quick Boot"
|
||||
msgstr "Arranque Rápido"
|
||||
|
||||
msgid "Random Directory Music"
|
||||
msgstr "Pasta de Música Aleatória"
|
||||
msgstr ""
|
||||
|
||||
msgid "Reading WAD data... Ok!"
|
||||
msgstr "Lendo dados do WAD... Ok!"
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "Actualização Concluída"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "Actualizado com Sucesso graças a www.techjawa.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "Eliminado com Sucesso:"
|
||||
@ -1162,6 +1165,9 @@ msgstr "Dispositivo USB não encontrado"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "O USB Loader GX está bloqueado"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "O USB Loader GX só suporta o CIOS Hermes revisão 4! Verifique se esta é a revisão que tem instalada!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Não é possível abrir o ficheiro wad descarregado (%s)."
|
||||
@ -1368,3 +1374,48 @@ msgstr "de"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "segundos restantes"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "contém mais de 255 linhas de código. Os resultados podem ser inesperados."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Pasta Música Fundo alterada"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Definir como música de fundo?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "O ficheiro não é um .wad"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Não é possível instalar"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Está a utilizar um sistema de ficheiros NTFS. Devido à possibilidade de ocorrerem erros na gravação não será possível instalar jogos."
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "Menu de Formatação de Partição"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "Desbloquear aplicação primeiro."
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "Não tem acesso a este menu!"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "Não é possível descomprimir LZ77"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Disco não encontrado"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "O cabeçalho IMD5 não está correcto."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "Cabeçalho IMET errado."
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "Falha ao extrair o opening.bnr"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Canal Homebrew"
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: nikolai_ca\n"
|
||||
"Language-Team: Kir, alendit, nikolai_ca\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Немецкий"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Домашнее Меню"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr "Hermes CIOS"
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Путь к хоумбрю-программам"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB устройство не найдено"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX заблокирован"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX будет работать только с Hermes CIOS rev 4! Пожалуйста убедитесь что у вас установлена версия 4!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Не могу открыть скачанный WAD (%s)"
|
||||
@ -1368,3 +1374,39 @@ msgstr "из"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "секунд осталось"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "содержит более 255 строк кода. Результаты будут непредсказуемы."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Путь к фоновой музыке изменен."
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "установить как фоновую музыку"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "Это не файл .wad"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Установка невозможна"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Вы используете файловую систему NTFS. Из-за возможных ошибок записи на раздел NTFS установка игры невозможна."
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "Меню форматирования раздела"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "Разблокируйте приложение сначала."
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "Вы не можете использовать это меню!"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Выйти из USB Loader GX?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "Не найден раздел WBFS"
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "Требуется форматирование раздела"
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: knife.hu kavid\n"
|
||||
"Language-Team: kavid\n"
|
||||
@ -606,6 +606,9 @@ msgstr "德文"
|
||||
msgid "HOME Menu"
|
||||
msgstr "主菜单"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "自制程序路径"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "找不到 USB 设备"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX 被锁定"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "不能打开刚下载的 WAD 文件 (%s)."
|
||||
@ -1368,3 +1374,27 @@ msgstr "的"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "剩余秒数"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "代码超过255行,这可能会导致不可预知的结果."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "背景音乐路径已变更"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "设置成背景音乐?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "这不是一个 WAD 文件"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "退出 USB Loader GX?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "找不到 WBFS 分区"
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "必须格式化一个分区"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Homebrew 频道"
|
||||
|
@ -1,11 +1,11 @@
|
||||
# USB Loader GX language source file.
|
||||
# spanish.lang - r921
|
||||
# spanish.lang - r903
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: SirPalax\n"
|
||||
"Language-Team: Penn, SirPalax\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Alemán"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Menú HOME"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr "cIOS Hermes"
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Ruta Apps Homebrew"
|
||||
|
||||
@ -754,10 +757,10 @@ msgid "Locked"
|
||||
msgstr "Bloqueada"
|
||||
|
||||
msgid "Loop Directory"
|
||||
msgstr "Carpeta de bucle"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loop Music"
|
||||
msgstr "Bucle musical"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loop Sound"
|
||||
msgstr "Bucle de sonido"
|
||||
@ -856,7 +859,7 @@ msgid "Not a DOL/ELF file."
|
||||
msgstr "No es un archivo DOL/ELF."
|
||||
|
||||
msgid "Not a WAD file."
|
||||
msgstr "No es un archivo WAD."
|
||||
msgstr ""
|
||||
|
||||
msgid "Not a Wii Disc"
|
||||
msgstr "No es un Disco Wii"
|
||||
@ -934,7 +937,7 @@ msgid "Play Next"
|
||||
msgstr "Oír Siguiente"
|
||||
|
||||
msgid "Play Once"
|
||||
msgstr "Oir una vez"
|
||||
msgstr ""
|
||||
|
||||
msgid "Play Previous"
|
||||
msgstr "Oír Anterior"
|
||||
@ -961,7 +964,7 @@ msgid "Quick Boot"
|
||||
msgstr "Inicio Rápido"
|
||||
|
||||
msgid "Random Directory Music"
|
||||
msgstr "Aleatorio de la carpeta musical"
|
||||
msgstr ""
|
||||
|
||||
msgid "Reading WAD data... Ok!"
|
||||
msgstr "Leyendo datos del WAD... ¡Correcto!"
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "Actualización correcta"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "Actualización correcta gracias a www.techjawa.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "Borrado correctamente:"
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB no encontrado"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX está protegido"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "¡USB Loader GX sólo funciona con cIOS Hermes rev 4!. ¡Por favor, asegúrate de que tienes instalada la versión 4!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "No se puede abrir el WAD que acabas de descargar (%s)."
|
||||
@ -1368,3 +1374,69 @@ msgstr "de"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "segundos restantes"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "contiene más de 255 líneas de código. Se producirán resultados inesperados."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Ruta de Música de fondo cambiada"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "¿Poner como música de fondo?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "El archivo no es un .wad"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Imposible instalar"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Estás utilizando un sistema de archivos NTFS. Debido a posibles errores de escritura en la partición NTFS, la instalación del juego es imposible."
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "Menú Formatear Partición"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "Desbloquea primero la aplicación."
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "¡No puedes acceder a este menú!"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "No se puede descomprimir LZ77"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "No se encuentra el disco"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "Cabecera IMD5 incorrecta."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "Cabecera IMET defectuosa."
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "¿Salir de USB Loader GX?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "Partición WBFS no encontrada"
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "Necesitas formatear una partición"
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "Fallo al extraer opening.bnr"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Canal Homebrew"
|
||||
|
||||
#~ msgid "ERROR: USB device could not be loaded!"
|
||||
#~ msgstr "ERROR: ¡No se pudo cargar dispositivo USB!"
|
||||
|
||||
#~ msgid "ERROR: cIOS could not be loaded!"
|
||||
#~ msgstr "ERROR: ¡No se pudo cargar cIOS!"
|
||||
|
||||
#~ msgid "Loading..."
|
||||
#~ msgstr "Cargando..."
|
||||
|
||||
#~ msgid "Waiting for your slow USB Device: %i secs..."
|
||||
#~ msgstr "Esperando a tu lento disp. USB: %i segs..."
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2010-01-19 17:39+0200\n"
|
||||
"Last-Translator: Katsurou\n"
|
||||
"Language-Team: Katsurou, pirateX\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Tyska"
|
||||
msgid "HOME Menu"
|
||||
msgstr "Hemmeny"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Homebrew Apps"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB-enhet ej hittad"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX är skyddad"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX kommer endast köra med Hermes CIOS ver 4! Vänligen kontrollera att du har ver 4 installerad!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Kunde inte öppna den nedladdade wad filen (%s)."
|
||||
@ -1368,3 +1374,63 @@ msgstr "av"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "sekunder kvar"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "Innehåller över 255 rader kod. Det kommer att skapa oväntade resultat."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Sökväg till bakgrundsmusik ändrad."
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Ställ in som bakgrundsmusik?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "Filen är inte en .wad"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "Installation inte möjlig"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "Du använder NTFS filsystem. Pågrund av möjliga skriv fel till en NTFS partition, så är det inte möjligt att installera spel."
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "Partitions formaterings meny"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "Lås upp appen först."
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "Du kan inte komma åt denna menyn!"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "Kunde inte dekomprimera LZ77"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Kunde inte hitta skiva"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "IMD5 Rubrik stämmer inte."
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "IMET Rubriken är fel."
|
||||
|
||||
#~ msgid "No WBFS or FAT game partition found"
|
||||
#~ msgstr "Ingen WBFS eller FAT spel partition hittad"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "Avsluta USB Loader GX?"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Homebrew Kanalen"
|
||||
|
||||
#~ msgid "ERROR: USB device could not be loaded!"
|
||||
#~ msgstr "FEL: USB-enhet kunde inte laddas!"
|
||||
|
||||
#~ msgid "ERROR: cIOS could not be loaded!"
|
||||
#~ msgstr "FEL: cIOS kunde inte laddas!"
|
||||
|
||||
#~ msgid "Loading..."
|
||||
#~ msgstr "Laddar..."
|
||||
|
||||
#~ msgid "Waiting for your slow USB Device: %i secs..."
|
||||
#~ msgstr "Väntar på din slöa USB-enhet: %i sek..."
|
||||
|
@ -1,14 +1,14 @@
|
||||
# USB Loader GX language source file.
|
||||
# tchinese.lang - r929
|
||||
# tchinese.lang - r911
|
||||
# don't delete/change this line (é).
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-13 15:20+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+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"
|
||||
"Last-Translator: Mika Li\n"
|
||||
"Language-Team: kyogc, Miller, Mika Li\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@ -550,7 +550,7 @@ msgid "Full Shutdown"
|
||||
msgstr "關機"
|
||||
|
||||
msgid "GAMEID_Gamename"
|
||||
msgstr "GAMEID_遊戲名稱"
|
||||
msgstr ""
|
||||
|
||||
msgid "GCT Cheatcodes Path"
|
||||
msgstr "金手指檔案路徑"
|
||||
@ -595,7 +595,7 @@ msgid "Game partition"
|
||||
msgstr "遊戲磁區"
|
||||
|
||||
msgid "Gamename [GAMEID]"
|
||||
msgstr "遊戲名稱 [GAMEID]"
|
||||
msgstr ""
|
||||
|
||||
msgid "Games"
|
||||
msgstr "遊戲數量"
|
||||
@ -606,6 +606,9 @@ msgstr "德文"
|
||||
msgid "HOME Menu"
|
||||
msgstr "主選單"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "HBC 應用程式路徑"
|
||||
|
||||
@ -841,7 +844,7 @@ msgid "No themes found on the site."
|
||||
msgstr "在網站上找不到主題"
|
||||
|
||||
msgid "None"
|
||||
msgstr "沒有"
|
||||
msgstr ""
|
||||
|
||||
msgid "Normal"
|
||||
msgstr "一般"
|
||||
@ -1090,7 +1093,7 @@ msgid "Successfully Updated"
|
||||
msgstr "更新已完成"
|
||||
|
||||
msgid "Successfully Updated thanks to www.techjawa.com"
|
||||
msgstr "已更新成功,感謝 www.techjawa.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully deleted:"
|
||||
msgstr "成功的刪除:"
|
||||
@ -1162,6 +1165,9 @@ msgstr "找不到 USB 設備"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX 被鎖定"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX 只能執行 Hermes CIO rev4!請確認您安裝的版本是 rev4!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "不能打開剛下載的 WAD 文件 (%s)."
|
||||
@ -1368,3 +1374,48 @@ msgstr "的"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "剩餘秒數"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "超過255行的指令,將導致無法預期的結果"
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "背景音樂路徑"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "設定背景音樂"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "這不是一個 WAD 文件"
|
||||
|
||||
#~ msgid "Install not possible"
|
||||
#~ msgstr "無法安裝"
|
||||
|
||||
#~ msgid "You are using NTFS filesystem. Due to possible write errors to a NTFS partition, installing a game is not possible."
|
||||
#~ msgstr "您正在使用 NTFS 文件系統。由於可能一個錯誤寫入到一個 NTFS 分區,這時候是無法安裝遊戲的。"
|
||||
|
||||
#~ msgid "Partition Format Menu"
|
||||
#~ msgstr "磁區格式化"
|
||||
|
||||
#~ msgid "Unlock the app first."
|
||||
#~ msgstr "請先將此應用程式解鎖"
|
||||
|
||||
#~ msgid "You can't access this menu!"
|
||||
#~ msgstr "您無法存取此選單"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "無法解壓縮的LZ77"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "找不到磁碟"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "IMD5 標題不正確"
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "沒有開頭音樂"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "離開 USB Loader GX?"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Homebrew 頻道"
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: Nitro_subzero \n"
|
||||
"Language-Team: Nitro_subzero\n"
|
||||
@ -606,6 +606,9 @@ msgstr "เยอรมัน"
|
||||
msgid "HOME Menu"
|
||||
msgstr "เมนู HOME"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "ที่เก็บโปรแกรม Homebrew"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "ไม่พบอุปกรณ์ USB"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX 5 ถูกป้องกัน"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "ไม่สามารถเปิดไฟล์ Wad ที่เพิ่งดาวน์โหลดมาได้ (%s)."
|
||||
@ -1368,3 +1374,54 @@ msgstr "จาก"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "วินาทีที่เหลือ"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "มีจำนวนบรรทัดมากกว่า 255 บรรทัด ซึ่งอาจทำให้เกิดผลที่ไม่คาดคิด."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "เปลี่ยนที่เก็บ ดนตรีเบื้องหลัง"
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "เลือกเป็น Background music?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "ไม่ใช่ไฟล์ .wad"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "คลายไฟล์ LZ777 ไม่ได้"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "หาแผ่นไม่เจอ"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "ส่วนขยายไฟล์ผิดพลาด"
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "ส่วนขยายไฟล์ผิดพลาด"
|
||||
|
||||
#~ msgid "Exit USB Loader GX?"
|
||||
#~ msgstr "ปิด USB Loader GX?"
|
||||
|
||||
#~ msgid "No WBFS partition found"
|
||||
#~ msgstr "ไม่พบพาร์ติชั่นแบบ WBFS "
|
||||
|
||||
#~ msgid "You need to format a partition"
|
||||
#~ msgstr "ต้องทำการฟอร์แมทพาร์ติชั่น"
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "แตกไฟล์ opening.bnr ไม่ได้"
|
||||
|
||||
#~ msgid "You need to start this game one time to create a save file, then exit and start it again."
|
||||
#~ msgstr "คุณต้องเริ่มโหลดเกมส์นี้ใหม่ เพื่อสร้างไฟล์เซฟ ดังนั้นออกจากเกมส์แล้วเริ่มโหลดอีกครั้ง"
|
||||
|
||||
#~ msgid "ERROR: USB device could not be loaded!"
|
||||
#~ msgstr "ผิดพลาด! ไม่สามารถโหลดอุปกรณ์ USB ได้"
|
||||
|
||||
#~ msgid "ERROR: cIOS could not be loaded!"
|
||||
#~ msgstr "ผิดพลาด! ไม่สามารถโหลด cIOS ได้"
|
||||
|
||||
#~ msgid "Loading..."
|
||||
#~ msgstr "กำลังโหลด..."
|
||||
|
||||
#~ msgid "Waiting for your slow USB Device: %i secs..."
|
||||
#~ msgstr "กำลังรออุปกรณ์ USB อันเชื่องช้าของคุณ: %i วินาที..."
|
||||
|
@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: USB Loader GX\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-11 06:03+0200\n"
|
||||
"POT-Creation-Date: 2010-03-16 16:17+0100\n"
|
||||
"PO-Revision-Date: 2009-10-01 01:00+0200\n"
|
||||
"Last-Translator: omercigingelini\n"
|
||||
"Language-Team: omercigingelini\n"
|
||||
@ -606,6 +606,9 @@ msgstr "Almanca"
|
||||
msgid "HOME Menu"
|
||||
msgstr "HOME Menü"
|
||||
|
||||
msgid "Hermes CIOS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Homebrew Apps Path"
|
||||
msgstr "Homebrew Yazılımlarının Yolu"
|
||||
|
||||
@ -1162,6 +1165,9 @@ msgstr "USB Aygıtı bulunamadı"
|
||||
msgid "USB Loader GX is protected"
|
||||
msgstr "USB Loader GX koruma altında"
|
||||
|
||||
msgid "USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"
|
||||
msgstr "USB Loader GX sadece Hermes CIOS rev4 ile çalışır! Lütfen rev4 ün yüklü olduğundan emin olun!"
|
||||
|
||||
#, c-format
|
||||
msgid "Unable to open the wad that was just downloaded (%s)."
|
||||
msgstr "Az önce indirilen wad açılamıyor(%s)"
|
||||
@ -1368,3 +1374,39 @@ msgstr "./"
|
||||
|
||||
msgid "seconds left"
|
||||
msgstr "saniye kaldı"
|
||||
|
||||
#~ msgid "contains over 255 lines of code. It will produce unexpected results."
|
||||
#~ msgstr "255 satırdan fazla kod içeriyor. Beklenmeyen sonuçlar üretebilir."
|
||||
|
||||
#~ msgid "Backgroundmusic Path changed."
|
||||
#~ msgstr "Arkaplan müzik Yolu değişti."
|
||||
|
||||
#~ msgid "Set as backgroundmusic?"
|
||||
#~ msgstr "Arkaplan müziği olarak ayarla?"
|
||||
|
||||
#~ msgid "The file is not a .wad"
|
||||
#~ msgstr "Bu dosya .wad değil"
|
||||
|
||||
#~ msgid "Can't decompress LZ77"
|
||||
#~ msgstr "LZ77 açılamıyor"
|
||||
|
||||
#~ msgid "Can't find disc"
|
||||
#~ msgstr "Disk bulunamıyor"
|
||||
|
||||
#~ msgid "IMD5 Header not right."
|
||||
#~ msgstr "IMD5 Başlığı doğru değil"
|
||||
|
||||
#~ msgid "IMET Header wrong."
|
||||
#~ msgstr "IMET Başlığı yanlış"
|
||||
|
||||
#~ msgid "No WBFS or FAT game partition found"
|
||||
#~ msgstr "WBFS veya FAT oyun bölümü bulunamadı"
|
||||
|
||||
#~ msgid "for FAT support"
|
||||
#~ msgstr "FAT desteği için"
|
||||
|
||||
#~ msgid "Failed to extract opening.bnr"
|
||||
#~ msgstr "opening.bnr çıkartılamadı"
|
||||
|
||||
#~ msgid "Homebrew Channel"
|
||||
#~ msgstr "Homebrew Kanalı"
|
||||
|
Binary file not shown.
BIN
data/ehcmodule_frag_v4.bin
Normal file
BIN
data/ehcmodule_frag_v4.bin
Normal file
Binary file not shown.
BIN
data/ehcmodule_frag_v5.bin
Normal file
BIN
data/ehcmodule_frag_v5.bin
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
2
gui.pnps
2
gui.pnps
@ -1 +1 @@
|
||||
<pd><ViewState><e p="gui\source\mload" x="false"></e><e p="gui\source\settings" x="false"></e><e p="gui\source\images" x="false"></e><e p="gui\source\libfat" x="false"></e><e p="gui\source\prompts" x="false"></e><e p="gui\source\banner" x="false"></e><e p="gui\source\cheats" x="false"></e><e p="gui\source\libntfs" x="false"></e><e p="gui\source\network" x="false"></e><e p="gui\source\fonts" x="false"></e><e p="gui\source\menu" x="false"></e><e p="gui\source\ramdisk" x="false"></e><e p="gui\source\sounds" x="false"></e><e p="gui\source\wad" x="false"></e><e p="gui" x="true"></e><e p="gui\source\homebrewboot" x="false"></e><e p="gui\source\language" x="false"></e><e p="gui\source" x="true"></e><e p="gui\source\libwbfs" x="false"></e><e p="gui\source\libwiigui" x="false"></e><e p="gui\source\patches" x="false"></e><e p="gui\source\themes" x="false"></e><e p="gui\source\usbloader\wbfs" x="false"></e><e p="gui\source\memory" x="false"></e><e p="gui\source\unzip" x="false"></e><e p="gui\source\usbloader" x="true"></e><e p="gui\source\xml" x="false"></e></ViewState></pd>
|
||||
<pd><ViewState><e p="gui\source\mload" x="false"></e><e p="gui\source\settings" x="false"></e><e p="gui\source\images" x="false"></e><e p="gui\source\libfat" x="false"></e><e p="gui\source\prompts" x="false"></e><e p="gui\source\banner" x="false"></e><e p="gui\source\cheats" x="false"></e><e p="gui\source\libntfs" x="false"></e><e p="gui\source\network" x="true"></e><e p="gui\source\fonts" x="false"></e><e p="gui\source\menu" x="false"></e><e p="gui\source\ramdisk" x="false"></e><e p="gui\source\sounds" x="false"></e><e p="gui\source\wad" x="false"></e><e p="gui" x="true"></e><e p="gui\source\homebrewboot" x="false"></e><e p="gui\source\language" x="false"></e><e p="gui\source" x="true"></e><e p="gui\source\libwbfs" x="false"></e><e p="gui\source\libwiigui" x="false"></e><e p="gui\source\patches" x="false"></e><e p="gui\source\themes" x="false"></e><e p="gui\source\memory" x="false"></e><e p="gui\source\unzip" x="false"></e><e p="gui\source\usbloader" x="false"></e><e p="gui\source\xml" x="false"></e></ViewState></pd>
|
@ -31,7 +31,3 @@ void ShutdownAudio() {
|
||||
ASND_Pause(1);
|
||||
ASND_End();
|
||||
}
|
||||
|
||||
extern "C" void StopAudio() {
|
||||
ShutdownAudio();
|
||||
}
|
||||
|
@ -37,34 +37,5 @@ bool InitGecko()
|
||||
else return false;
|
||||
}
|
||||
|
||||
char ascii(char s) {
|
||||
if(s < 0x20) return '.';
|
||||
if(s > 0x7E) return '.';
|
||||
return s;
|
||||
}
|
||||
|
||||
void hexdump(void *d, int len) {
|
||||
u8 *data;
|
||||
int i, off;
|
||||
data = (u8*)d;
|
||||
|
||||
gprintf("\n 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF");
|
||||
gprintf("\n==== =============================================== ================\n");
|
||||
|
||||
|
||||
for (off=0; off<len; off += 16) {
|
||||
gprintf("%04x ",off);
|
||||
for(i=0; i<16; i++)
|
||||
if((i+off)>=len) gprintf(" ");
|
||||
else gprintf("%02x ",data[off+i]);
|
||||
|
||||
gprintf(" ");
|
||||
for(i=0; i<16; i++)
|
||||
if((i+off)>=len) gprintf(" ");
|
||||
else gprintf("%c",ascii(data[off+i]));
|
||||
gprintf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif /* NO_DEBUG */
|
||||
|
@ -11,7 +11,6 @@ extern "C" {
|
||||
//use this just like printf();
|
||||
void gprintf(const char *str, ...);
|
||||
bool InitGecko();
|
||||
void hexdump(void *d, int len);
|
||||
#else
|
||||
#define gprintf(...)
|
||||
#define InitGecko() false
|
||||
|
130
source/main.cpp
130
source/main.cpp
@ -16,7 +16,6 @@
|
||||
#include <unistd.h>
|
||||
#include <locale.h>
|
||||
#include <wiiuse/wpad.h>
|
||||
#include <ogc/libversion.h>
|
||||
//#include <debug.h>
|
||||
extern "C"
|
||||
{
|
||||
@ -96,6 +95,21 @@ static void BootUpProblems()
|
||||
time_t endtime = time(0) + 30;
|
||||
do
|
||||
{
|
||||
/*ret2 = IOS_ReloadIOSsafe(249);
|
||||
if (ret2 < 0) {
|
||||
ret2 = IOS_ReloadIOSsafe(222);
|
||||
SDCard_Init();
|
||||
load_ehc_module();
|
||||
SDCard_deInit();
|
||||
if(ret2 <0) {
|
||||
boottext.SetText("ERROR: cIOS could not be loaded!");
|
||||
bootimage.Draw();
|
||||
boottext.Draw();
|
||||
Menu_Render();
|
||||
sleep(5);
|
||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||
}
|
||||
}*/
|
||||
USBDevice_deInit();
|
||||
USBDevice_Init();
|
||||
ret2 = WBFS_Init(WBFS_DEVICE_USB);
|
||||
@ -140,16 +154,15 @@ unsigned int *xfb = NULL;
|
||||
|
||||
void InitTextVideo ()
|
||||
{
|
||||
gprintf("\n\nInitTextVideo ()");
|
||||
gprintf("\nInitTextVideo ()");
|
||||
if (textVideoInit)
|
||||
{
|
||||
gprintf("...0\n");
|
||||
gprintf("...0");
|
||||
return;
|
||||
}
|
||||
dbvideo=1;
|
||||
VIDEO_Init();
|
||||
|
||||
// get default video mode
|
||||
// get default video mode
|
||||
GXRModeObj *vmode = VIDEO_GetPreferredMode(NULL);
|
||||
|
||||
// widescreen fix
|
||||
@ -174,7 +187,7 @@ void InitTextVideo ()
|
||||
//send console output to the gecko
|
||||
if (geckoinit)CON_EnableGecko(1, true);
|
||||
textVideoInit = true;
|
||||
gprintf("...1\n");
|
||||
gprintf("...1");
|
||||
|
||||
}
|
||||
|
||||
@ -195,13 +208,12 @@ main(int argc, char *argv[])
|
||||
|
||||
__exception_setreload(5); //auto reset code dump nobody gives us codedump info anyways.
|
||||
|
||||
gprintf("------------------\n");
|
||||
gprintf("USB Loader GX rev%s\n",GetRev());
|
||||
gprintf("<< %s >>\n", _V_STRING );
|
||||
gprintf("main(%d", argc);
|
||||
gprintf("\n\n------------------");
|
||||
gprintf("\nUSB Loader GX rev%s",GetRev());
|
||||
gprintf("\nmain(%d", argc);
|
||||
for (int i=0;i<argc;i++)
|
||||
gprintf(", %s",argv[i]?argv[i]:"<NULL>");
|
||||
gprintf(")\n");
|
||||
gprintf(")");
|
||||
|
||||
// This part is added, because we need a identify patched ios
|
||||
// printf("\n\tReloading into ios 236");
|
||||
@ -211,7 +223,7 @@ main(int argc, char *argv[])
|
||||
IOS_ReloadIOSsafe(36);
|
||||
}
|
||||
|
||||
printf("Starting up\n");
|
||||
printf("\n\tStarting up");
|
||||
|
||||
MEM2_init(36); // Initialize 36 MB
|
||||
MEM2_takeBigOnes(true);
|
||||
@ -281,7 +293,7 @@ main(int argc, char *argv[])
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("\n\tIOS 249 failed, reloading ios 222...");
|
||||
printf("\n\tIOS 249 failed, reloading ios 222...");
|
||||
ret = IOS_ReloadIOSsafe(222);
|
||||
printf("%d", ret);
|
||||
|
||||
@ -305,7 +317,12 @@ main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
}
|
||||
load_ehc_module();
|
||||
printf("\n\tInitialize sd card");
|
||||
SDCard_Init();
|
||||
printf("\n\tLoad ehc module");
|
||||
load_ehc_module();
|
||||
printf("\n\tdeinit sd card");
|
||||
SDCard_deInit();
|
||||
}
|
||||
|
||||
printf("\n\tInit wbfs...");
|
||||
@ -317,8 +334,22 @@ main(int argc, char *argv[])
|
||||
printf("\n\tYou have issues with a slow disc, or a difficult disc\n\tReloading 222...");
|
||||
ret = IOS_ReloadIOSsafe(222);
|
||||
printf("%d", ret);
|
||||
/*if(ret < 0) {
|
||||
// printf("\n\tSleeping for 4 seconds");
|
||||
// sleep(4);
|
||||
|
||||
InitVideo(); // Initialise video
|
||||
Menu_Render();
|
||||
BootUpProblems();
|
||||
startupproblem = true;
|
||||
ret = 1;
|
||||
}*/
|
||||
printf("\n\tInitialize sd card");
|
||||
SDCard_Init();
|
||||
printf("\n\tLoad ehc module");
|
||||
load_ehc_module();
|
||||
printf("\n\tdeinit sd card");
|
||||
SDCard_deInit();
|
||||
|
||||
printf("\n\tInitialize wbfs...");
|
||||
USBDevice_deInit();
|
||||
@ -376,25 +407,66 @@ main(int argc, char *argv[])
|
||||
// gprintf("\n\tbootDevice = %s",bootDevice);
|
||||
|
||||
/* Load Custom IOS */
|
||||
if (Settings.cios != IOS_GetVersion())
|
||||
{
|
||||
printf("\n\tReloading IOS to config setting (%d)...", ciosSetting2Cios(Settings.cios));
|
||||
if (Sys_IosReload(ciosSetting2Cios(Settings.cios)) < 0) {
|
||||
int alt_ios = (Settings.cios == ios222 || Settings.cios == ios223) ? 249 : 222;
|
||||
ret = Sys_IosReload(alt_ios);
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("\nERROR: cIOS could not be loaded!");
|
||||
sleep(5);
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
if ((Settings.cios == ios222 && IOS_GetVersion() != 222) ||
|
||||
(Settings.cios == ios223 && IOS_GetVersion() != 223))
|
||||
{
|
||||
printf("\n\tReloading IOS to config setting (%d)...", Settings.cios == ios222 ? 222 : 223);
|
||||
SDCard_deInit(); // unmount SD for reloading IOS
|
||||
USBDevice_deInit(); // unmount USB for reloading IOS
|
||||
USBStorage2_Deinit();
|
||||
ret = IOS_ReloadIOSsafe(Settings.cios == ios222 ? 222 : 223);
|
||||
printf("%d", ret);
|
||||
SDCard_Init();
|
||||
}
|
||||
load_ehc_module();
|
||||
if (ret < 0)
|
||||
{
|
||||
SDCard_deInit();
|
||||
Settings.cios = ios249;
|
||||
ret = IOS_ReloadIOSsafe(249);
|
||||
// now mount SD:/ //no need to keep mindlessly mounting and unmounting SD card
|
||||
SDCard_Init();
|
||||
}
|
||||
|
||||
USBDevice_Init(); // and mount USB:/
|
||||
WBFS_Init(WBFS_DEVICE_USB);
|
||||
} else if ((Settings.cios == ios249 && IOS_GetVersion() != 249) ||
|
||||
(Settings.cios == ios250 && IOS_GetVersion() != 250))
|
||||
{
|
||||
|
||||
printf("\n\tReloading IOS to config setting (%d)...", ios249 ? 249 : 250);
|
||||
SDCard_deInit(); // unmount SD for reloading IOS
|
||||
USBDevice_deInit(); // unmount USB for reloading IOS
|
||||
USBStorage2_Deinit();
|
||||
ret = IOS_ReloadIOSsafe(ios249 ? 249 : 250);
|
||||
printf("%d", ret);
|
||||
if (ret < 0)
|
||||
{
|
||||
Settings.cios = ios222;
|
||||
ret = IOS_ReloadIOSsafe(222);
|
||||
SDCard_Init();
|
||||
load_ehc_module();
|
||||
}
|
||||
|
||||
else SDCard_Init(); // now mount SD:/ //no need to keep mindlessly mounting and unmounting SD card
|
||||
USBDevice_Init(); // and mount USB:/
|
||||
WBFS_Init(WBFS_DEVICE_USB);
|
||||
}
|
||||
|
||||
// Partition_GetList(&partitions);
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("\nERROR: cIOS could not be loaded!");
|
||||
sleep(5);
|
||||
exit(0);
|
||||
//SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||
}
|
||||
//gprintf("\n\tcIOS = %u (Rev %u)",IOS_GetVersion(), IOS_GetRevision());//don't need gprintf if sending console shit to gecko, too
|
||||
printf("\n\tcIOS = %u (Rev %u)",IOS_GetVersion(), IOS_GetRevision());
|
||||
|
||||
// printf("Sleeping for 5 seconds\n");
|
||||
// sleep(5);
|
||||
|
||||
//if a ID was passed via args copy it and try to boot it after the partition is mounted
|
||||
//its not really a headless mode. more like hairless.
|
||||
if (argc > 1 && argv[1])
|
||||
|
@ -25,9 +25,9 @@
|
||||
#include "usbloader/getentries.h"
|
||||
#include "wad/title.h"
|
||||
#include "xml/xml.h"
|
||||
#include "audio.h"
|
||||
#include "gecko.h"
|
||||
#include "menu.h"
|
||||
#include "audio.h"
|
||||
#include "sys.h"
|
||||
#include "wpad.h"
|
||||
#include "settings/newtitles.h"
|
||||
@ -345,7 +345,6 @@ int MainMenu(int menu) {
|
||||
delete coverImg;
|
||||
delete fontClock;
|
||||
delete fontSystem;
|
||||
|
||||
ShutdownAudio();
|
||||
StopGX();
|
||||
gettextCleanUp();
|
||||
@ -415,13 +414,14 @@ int MainMenu(int menu) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int ret = 0;
|
||||
header = (mountMethod?dvdheader:&gameList[gameSelected]);
|
||||
|
||||
struct Game_CFG* game_cfg = CFG_get_game_opt(header->id);
|
||||
|
||||
if (game_cfg) {
|
||||
videoChoice = game_cfg->video;
|
||||
videoChoice = game_cfg->video;
|
||||
languageChoice = game_cfg->language;
|
||||
ocarinaChoice = game_cfg->ocarina;
|
||||
viChoice = game_cfg->vipatch;
|
||||
@ -433,9 +433,48 @@ int MainMenu(int menu) {
|
||||
alternatedoloffset = game_cfg->alternatedolstart;
|
||||
}
|
||||
reloadblock = game_cfg->iosreloadblock;
|
||||
} else {
|
||||
videoChoice = Settings.video;
|
||||
languageChoice = Settings.language;
|
||||
ocarinaChoice = Settings.ocarina;
|
||||
viChoice = Settings.vpatch;
|
||||
if (Settings.cios == ios222) {
|
||||
iosChoice = i222;
|
||||
} else {
|
||||
iosChoice = i249;
|
||||
}
|
||||
fix002 = Settings.error002;
|
||||
countrystrings = Settings.patchcountrystrings;
|
||||
if (!altdoldefault) {
|
||||
alternatedol = off;
|
||||
alternatedoloffset = 0;
|
||||
}
|
||||
reloadblock = off;
|
||||
}
|
||||
|
||||
int ios2 = ciosSetting2Cios(iosChoice);
|
||||
int ios2;
|
||||
|
||||
switch (iosChoice) {
|
||||
case i249:
|
||||
ios2 = 249;
|
||||
break;
|
||||
|
||||
case i222:
|
||||
ios2 = 222;
|
||||
break;
|
||||
|
||||
case i223:
|
||||
ios2 = 223;
|
||||
break;
|
||||
|
||||
default:
|
||||
ios2 = 249;
|
||||
break;
|
||||
}
|
||||
|
||||
// When the selected ios is 249, and you're loading from FAT, reset ios to 222
|
||||
if (load_from_fs != PART_FS_WBFS && ios2 == 249) {
|
||||
ios2 = 222;
|
||||
}
|
||||
bool onlinefix = ShutdownWC24();
|
||||
|
||||
// You cannot reload ios when loading from fat
|
||||
@ -451,6 +490,10 @@ int MainMenu(int menu) {
|
||||
ret = get_frag_list(header->id);
|
||||
gprintf("%d\n", ret);
|
||||
|
||||
gprintf("\nSetting fragment list...");
|
||||
ret = set_frag_list(header->id);
|
||||
gprintf("%d\n", ret);
|
||||
|
||||
ret = Disc_SetUSB(header->id);
|
||||
if (ret < 0) Sys_BackToLoader();
|
||||
gprintf("\n\tUSB set to game");
|
||||
@ -603,13 +646,14 @@ int MainMenu(int menu) {
|
||||
vipatch = 0;
|
||||
break;
|
||||
}
|
||||
u32 rtrnID = GetReturnToTitle();
|
||||
gprintf("Disc_wiiBoot\n" );
|
||||
gprintf("\n\tDisc_wiiBoot");
|
||||
|
||||
ret = Disc_WiiBoot( videoselected, cheat, vipatch, countrystrings, errorfixer002, alternatedol, alternatedoloffset, rtrnID );
|
||||
ret = Disc_WiiBoot(videoselected, cheat, vipatch, countrystrings, errorfixer002, alternatedol, alternatedoloffset);
|
||||
if (ret < 0) {
|
||||
Sys_LoadMenu();
|
||||
}
|
||||
|
||||
printf("Returning entry point: 0x%0x\n", ret);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include "main.h"
|
||||
|
||||
void InitGUIThreads(void);
|
||||
extern "C" void ExitGUIThreads(void);
|
||||
void ExitGUIThreads(void);
|
||||
|
||||
int MainMenu (int menuitem);
|
||||
|
||||
|
@ -1,334 +0,0 @@
|
||||
#define size_dip_plugin_249 5276
|
||||
|
||||
unsigned char dip_plugin_249[5276] __attribute__((aligned (32)))={
|
||||
0x7f, 0x45, 0x4c, 0x46, 0x01, 0x02, 0x01, 0x61, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x02, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x13, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x34, 0x00, 0x20, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xa0, 0x00, 0xf0, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0xa0,
|
||||
0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x34, 0x00, 0xf0, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0xd4, 0x00, 0xf0, 0x00, 0x00,
|
||||
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x08, 0x13, 0x70, 0x00, 0x00,
|
||||
0x13, 0x70, 0x00, 0x00, 0x00, 0x00, 0x12, 0xa4, 0x00, 0x00, 0x12, 0xa4, 0x00, 0xf0, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x13, 0xac, 0x13, 0x70, 0x20, 0x00,
|
||||
0x13, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03, 0xc3, 0x00, 0x00, 0xf0, 0x00, 0x06,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x06,
|
||||
0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x13, 0x70, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x10, 0x00,
|
||||
0x00, 0x00, 0x00, 0x7f, 0x13, 0x73, 0xe3, 0x00, 0xe3, 0xa0, 0x00, 0x00, 0xe3, 0xa0, 0x10, 0x00,
|
||||
0xe5, 0x9f, 0x30, 0x00, 0xe1, 0x2f, 0xff, 0x13, 0x13, 0x70, 0x03, 0x51, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x00, 0x4b, 0x06, 0xb0, 0x89, 0x93, 0x00,
|
||||
0x46, 0x68, 0x23, 0x00, 0x21, 0x00, 0x22, 0x00, 0x93, 0x01, 0x93, 0x02, 0xf0, 0x00, 0xf9, 0x1f,
|
||||
0xb0, 0x09, 0xbd, 0x00, 0xe3, 0x00, 0x00, 0x00, 0xb5, 0x10, 0x1c, 0x03, 0x22, 0x20, 0x1c, 0x0c,
|
||||
0x48, 0x09, 0x1c, 0x19, 0xf0, 0x01, 0xf8, 0xa0, 0x4a, 0x08, 0x23, 0x01, 0x68, 0x11, 0x42, 0x19,
|
||||
0xd1, 0xfc, 0x2c, 0x00, 0xd0, 0x04, 0x1c, 0x20, 0x49, 0x03, 0x22, 0x20, 0xf0, 0x01, 0xf8, 0x94,
|
||||
0x4b, 0x03, 0x68, 0x18, 0xbd, 0x10, 0x46, 0xc0, 0x0d, 0x00, 0x60, 0x00, 0x0d, 0x00, 0x60, 0x1c,
|
||||
0x0d, 0x00, 0x60, 0x20, 0xb5, 0xf0, 0xb0, 0x8b, 0x1c, 0x07, 0x0a, 0xcb, 0x20, 0xa0, 0x1c, 0x0d,
|
||||
0x92, 0x01, 0x93, 0x00, 0x02, 0x00, 0x26, 0x00, 0xac, 0x02, 0xe0, 0x17, 0x22, 0x20, 0x21, 0x00,
|
||||
0x1c, 0x20, 0xf0, 0x01, 0xf8, 0xb9, 0x4b, 0x0c, 0x1c, 0x38, 0x60, 0x23, 0x23, 0x00, 0x60, 0x63,
|
||||
0x60, 0xa3, 0x9b, 0x00, 0x1c, 0x29, 0x60, 0xe3, 0x9b, 0x01, 0x36, 0x01, 0x61, 0x23, 0xf0, 0x00,
|
||||
0xed, 0x2a, 0x1c, 0x20, 0x1c, 0x39, 0x1c, 0x2a, 0xf0, 0x00, 0xf8, 0xd9, 0x2e, 0x0f, 0xd8, 0x01,
|
||||
0x28, 0x00, 0xd1, 0xe3, 0xb0, 0x0b, 0xbd, 0xf0, 0xd0, 0x00, 0x00, 0x00, 0xb5, 0xf0, 0xb0, 0x83,
|
||||
0x24, 0x80, 0x93, 0x01, 0x01, 0x24, 0x18, 0x53, 0x90, 0x00, 0x1c, 0x0f, 0x1c, 0x16, 0x42, 0xa3,
|
||||
0xd9, 0x01, 0x24, 0x65, 0xe0, 0x07, 0x1c, 0x20, 0x21, 0x20, 0xf0, 0x00, 0xe8, 0x92, 0x1c, 0x05,
|
||||
0x28, 0x00, 0xd1, 0x02, 0x24, 0x16, 0x42, 0x64, 0xe0, 0x0e, 0x1c, 0x21, 0x9a, 0x01, 0xf7, 0xff,
|
||||
0xff, 0xb9, 0x1c, 0x04, 0x28, 0x00, 0xd1, 0x04, 0x19, 0xa9, 0x98, 0x00, 0x1c, 0x3a, 0xf0, 0x01,
|
||||
0xf8, 0x3b, 0x1c, 0x28, 0xf0, 0x00, 0xe8, 0x88, 0xb0, 0x03, 0x1c, 0x20, 0xbd, 0xf0, 0x46, 0xc0,
|
||||
0xb5, 0xf0, 0xb0, 0x87, 0x92, 0x02, 0x0a, 0x56, 0x23, 0xff, 0x22, 0x80, 0x01, 0x12, 0x03, 0xdb,
|
||||
0x90, 0x05, 0x91, 0x04, 0x20, 0x00, 0x27, 0x00, 0x92, 0x00, 0x93, 0x03, 0xe0, 0x32, 0x9a, 0x04,
|
||||
0x9b, 0x02, 0x02, 0x75, 0x1b, 0xd4, 0x42, 0xab, 0xd8, 0x01, 0x25, 0x00, 0xe0, 0x02, 0x9a, 0x02,
|
||||
0x1b, 0x55, 0x00, 0xad, 0x9b, 0x05, 0x22, 0x80, 0x19, 0xdb, 0x1c, 0x18, 0x1c, 0x21, 0x01, 0x12,
|
||||
0x93, 0x01, 0xf0, 0x00, 0xf8, 0x99, 0x28, 0x00, 0xd0, 0x01, 0x2d, 0x00, 0xd0, 0x0b, 0x9a, 0x00,
|
||||
0x19, 0x2b, 0x42, 0x93, 0xd9, 0x00, 0x1b, 0x54, 0x98, 0x01, 0x1c, 0x21, 0x1c, 0x2a, 0x1c, 0x33,
|
||||
0xf7, 0xff, 0xff, 0xa4, 0xe0, 0x0a, 0x9b, 0x03, 0x1c, 0x04, 0x42, 0x98, 0xd9, 0x01, 0x24, 0xff,
|
||||
0x03, 0xe4, 0x98, 0x01, 0x1c, 0x21, 0x1c, 0x32, 0xf7, 0xff, 0xff, 0x6c, 0x19, 0x65, 0x0a, 0xed,
|
||||
0x19, 0x76, 0x19, 0x3f, 0x9a, 0x04, 0x42, 0x97, 0xd3, 0xc9, 0xb0, 0x07, 0xbd, 0xf0, 0x46, 0xc0,
|
||||
0xb5, 0xf0, 0xb0, 0x89, 0x1c, 0x0d, 0x1c, 0x06, 0x1c, 0x17, 0x46, 0x68, 0x22, 0x20, 0x21, 0x00,
|
||||
0xf0, 0x01, 0xf8, 0x22, 0x4b, 0x07, 0x1c, 0x30, 0x1c, 0x29, 0x93, 0x00, 0x95, 0x01, 0x97, 0x02,
|
||||
0xf0, 0x00, 0xec, 0x98, 0x1c, 0x31, 0x1c, 0x2a, 0x46, 0x68, 0xf0, 0x00, 0xf8, 0x48, 0xb0, 0x09,
|
||||
0xbd, 0xf0, 0x46, 0xc0, 0xa8, 0x00, 0x00, 0x00, 0xb5, 0x10, 0xf7, 0xff, 0xff, 0xe1, 0xbd, 0x10,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x7c,
|
||||
0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x13, 0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e,
|
||||
0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x68, 0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x0d,
|
||||
0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e, 0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x54,
|
||||
0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x07, 0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e,
|
||||
0xe9, 0x2d, 0x40, 0x80, 0xe5, 0x9f, 0x70, 0x40, 0xe5, 0x97, 0x70, 0x00, 0xeb, 0x00, 0x00, 0x01,
|
||||
0xe8, 0xbd, 0x40, 0x80, 0xe1, 0x2f, 0xff, 0x1e, 0xe1, 0x2f, 0xff, 0x17, 0xb5, 0xf0, 0x46, 0x57,
|
||||
0x46, 0x46, 0xb4, 0xc0, 0x68, 0x05, 0x46, 0x8a, 0x4b, 0x09, 0x68, 0x1b, 0x47, 0x18, 0xb5, 0xf0,
|
||||
0x46, 0x5f, 0x46, 0x56, 0x46, 0x4d, 0x46, 0x44, 0xb4, 0xf0, 0x4b, 0x06, 0x68, 0x1b, 0x47, 0x18,
|
||||
0x13, 0x70, 0x21, 0x14, 0x13, 0x70, 0x21, 0x20, 0x13, 0x70, 0x21, 0x24, 0x13, 0x70, 0x21, 0x28,
|
||||
0x13, 0x70, 0x21, 0x18, 0x13, 0x70, 0x21, 0x1c, 0xb5, 0x30, 0x06, 0xc3, 0xd0, 0x01, 0x20, 0x00,
|
||||
0xe0, 0x18, 0x4b, 0x0d, 0x42, 0x98, 0xd9, 0x01, 0x23, 0x00, 0xe0, 0x02, 0x23, 0xc0, 0x04, 0x5b,
|
||||
0x1a, 0x1b, 0x4c, 0x0a, 0x19, 0x05, 0x4c, 0x0a, 0x42, 0xa5, 0xd8, 0x01, 0x4b, 0x09, 0x1a, 0x1b,
|
||||
0x42, 0x93, 0xd2, 0x01, 0x20, 0x00, 0xe0, 0x03, 0x1c, 0x18, 0x42, 0x8b, 0xd9, 0x00, 0x1c, 0x08,
|
||||
0x3a, 0x01, 0x43, 0x90, 0xbd, 0x30, 0x46, 0xc0, 0x01, 0x7f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00,
|
||||
0x03, 0x61, 0x7f, 0xff, 0x13, 0x61, 0x80, 0x00, 0xb5, 0x70, 0x4c, 0x09, 0x1c, 0x05, 0x1c, 0x0e,
|
||||
0x68, 0x20, 0x00, 0x91, 0x22, 0x00, 0xf0, 0x00, 0xeb, 0xd6, 0x28, 0x00, 0xdb, 0x07, 0x68, 0x20,
|
||||
0x1c, 0x29, 0x1c, 0x32, 0xf0, 0x00, 0xeb, 0xc6, 0x28, 0x00, 0xdd, 0x00, 0x20, 0x00, 0xbd, 0x70,
|
||||
0x13, 0x70, 0x20, 0x00, 0xb5, 0x10, 0x4b, 0x05, 0x68, 0x18, 0x28, 0x00, 0xdb, 0x01, 0xf0, 0x00,
|
||||
0xeb, 0xb6, 0x4a, 0x02, 0x23, 0x01, 0x42, 0x5b, 0x60, 0x13, 0xbd, 0x10, 0x13, 0x70, 0x20, 0x00,
|
||||
0xb5, 0x10, 0x21, 0x00, 0xf0, 0x00, 0xeb, 0xa6, 0x4b, 0x02, 0x60, 0x18, 0x28, 0x00, 0xdd, 0x00,
|
||||
0x20, 0x00, 0xbd, 0x10, 0x13, 0x70, 0x20, 0x00, 0xb5, 0x10, 0x48, 0x06, 0xf0, 0x00, 0xeb, 0xea,
|
||||
0x48, 0x05, 0xf0, 0x00, 0xfb, 0x15, 0x48, 0x05, 0x21, 0x00, 0x22, 0x00, 0xf0, 0x00, 0xfb, 0x18,
|
||||
0x20, 0x00, 0xbd, 0x10, 0x13, 0x70, 0x20, 0xa8, 0x13, 0x70, 0x21, 0x00, 0x13, 0x70, 0x03, 0x79,
|
||||
0xb5, 0x10, 0xf0, 0x00, 0xeb, 0xf6, 0xf0, 0x00, 0xeb, 0xfa, 0x1c, 0x04, 0x20, 0x01, 0x42, 0x40,
|
||||
0xf0, 0x00, 0xeb, 0xf8, 0x4b, 0x04, 0x68, 0x58, 0xf0, 0x00, 0xf8, 0x08, 0x1c, 0x20, 0xf0, 0x00,
|
||||
0xeb, 0xf2, 0x20, 0x00, 0xbd, 0x10, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x00, 0xb5, 0x10, 0x4b, 0x41,
|
||||
0x42, 0x98, 0xd0, 0x32, 0x42, 0x98, 0xd8, 0x03, 0x4b, 0x3f, 0x42, 0x98, 0xd1, 0x79, 0xe0, 0x06,
|
||||
0x4b, 0x3e, 0x42, 0x98, 0xd0, 0x4f, 0x4b, 0x3e, 0x42, 0x98, 0xd1, 0x72, 0xe0, 0x4b, 0x48, 0x3d,
|
||||
0x4c, 0x3d, 0x21, 0x04, 0x60, 0x04, 0xf0, 0x00, 0xeb, 0xc8, 0x4b, 0x3c, 0x48, 0x3c, 0x21, 0x04,
|
||||
0x60, 0x03, 0xf0, 0x00, 0xeb, 0xc2, 0x48, 0x3b, 0x21, 0x04, 0x60, 0x04, 0xf0, 0x00, 0xeb, 0xbc,
|
||||
0x4b, 0x39, 0x48, 0x3a, 0x21, 0x04, 0x60, 0x03, 0xf0, 0x00, 0xeb, 0xb6, 0x4b, 0x38, 0x4a, 0x39,
|
||||
0x60, 0x1a, 0x4a, 0x39, 0x60, 0x5a, 0x4a, 0x39, 0x60, 0x9a, 0x4a, 0x39, 0x60, 0xda, 0x3a, 0x30,
|
||||
0x61, 0x1a, 0x4a, 0x38, 0x61, 0x5a, 0x4a, 0x38, 0xe0, 0x4a, 0x48, 0x38, 0x4c, 0x2a, 0x21, 0x04,
|
||||
0x60, 0x04, 0xf0, 0x00, 0xeb, 0xa2, 0x4b, 0x29, 0x48, 0x35, 0x21, 0x04, 0x60, 0x03, 0xf0, 0x00,
|
||||
0xeb, 0x9c, 0x48, 0x34, 0x21, 0x04, 0x60, 0x04, 0xf0, 0x00, 0xeb, 0x96, 0x4b, 0x26, 0x48, 0x32,
|
||||
0x21, 0x04, 0x60, 0x03, 0xf0, 0x00, 0xeb, 0x90, 0x4b, 0x25, 0x4a, 0x30, 0x60, 0x1a, 0x4a, 0x30,
|
||||
0x60, 0x5a, 0x4a, 0x30, 0x60, 0x9a, 0x4a, 0x30, 0x60, 0xda, 0x3a, 0x2c, 0x61, 0x1a, 0x4a, 0x2f,
|
||||
0x61, 0x5a, 0x4a, 0x2f, 0xe0, 0x24, 0x48, 0x17, 0x4c, 0x17, 0x21, 0x04, 0x60, 0x04, 0xf0, 0x00,
|
||||
0xeb, 0x7c, 0x4b, 0x16, 0x48, 0x16, 0x21, 0x04, 0x60, 0x03, 0xf0, 0x00, 0xeb, 0x76, 0x48, 0x15,
|
||||
0x21, 0x04, 0x60, 0x04, 0xf0, 0x00, 0xeb, 0x70, 0x4b, 0x13, 0x48, 0x14, 0x21, 0x04, 0x60, 0x03,
|
||||
0xf0, 0x00, 0xeb, 0x6a, 0x4b, 0x12, 0x4a, 0x23, 0x60, 0x1a, 0x4a, 0x13, 0x60, 0x5a, 0x4a, 0x13,
|
||||
0x60, 0x9a, 0x4a, 0x13, 0x60, 0xda, 0x3a, 0x30, 0x61, 0x1a, 0x4a, 0x1f, 0x61, 0x5a, 0x4a, 0x1f,
|
||||
0x61, 0x9a, 0xbd, 0x10, 0x48, 0x88, 0xe1, 0x4c, 0x48, 0x77, 0x6f, 0x72, 0x49, 0x2a, 0xca, 0x9d,
|
||||
0x4a, 0x26, 0x2a, 0xf5, 0x20, 0x20, 0x04, 0x00, 0x4b, 0x00, 0x47, 0x18, 0x13, 0x70, 0x05, 0x29,
|
||||
0x20, 0x20, 0x04, 0x04, 0x20, 0x20, 0x0e, 0xf8, 0x13, 0x70, 0x06, 0x81, 0x20, 0x20, 0x0e, 0xfc,
|
||||
0x13, 0x70, 0x21, 0x14, 0x20, 0x20, 0x2a, 0x71, 0x20, 0x20, 0x04, 0x0d, 0x20, 0x20, 0x0f, 0x05,
|
||||
0x20, 0x20, 0x09, 0x6d, 0x20, 0x20, 0x38, 0x7d, 0x20, 0x22, 0xdd, 0x60, 0x20, 0x20, 0x03, 0xb8,
|
||||
0x20, 0x20, 0x03, 0xbc, 0x20, 0x20, 0x0d, 0x2c, 0x20, 0x20, 0x0d, 0x30, 0x20, 0x20, 0x28, 0x75,
|
||||
0x20, 0x20, 0x03, 0xc5, 0x20, 0x20, 0x0d, 0x39, 0x20, 0x20, 0x08, 0xc5, 0x20, 0x20, 0x36, 0x5d,
|
||||
0x20, 0x22, 0xcd, 0xac, 0x20, 0x20, 0x29, 0x45, 0x20, 0x20, 0x37, 0x51, 0x20, 0x22, 0xcd, 0x60,
|
||||
0xb5, 0x70, 0x68, 0x03, 0x68, 0xc2, 0x2b, 0x86, 0xd0, 0x1a, 0x2b, 0x86, 0xd8, 0x04, 0x2b, 0x79,
|
||||
0xd0, 0x07, 0x2b, 0x7a, 0xd1, 0x2c, 0xe0, 0x0a, 0x2b, 0x88, 0xd0, 0x1b, 0x2b, 0x95, 0xd1, 0x27,
|
||||
0xe0, 0x1f, 0x4b, 0x15, 0x68, 0x1a, 0x23, 0x1c, 0x42, 0x1a, 0xd1, 0x07, 0xe0, 0x20, 0x4b, 0x12,
|
||||
0x24, 0x1c, 0x68, 0x1d, 0x42, 0x25, 0xd0, 0x1b, 0x69, 0x5b, 0x60, 0x13, 0x20, 0x01, 0xe0, 0x19,
|
||||
0x4b, 0x0d, 0x22, 0x1c, 0x68, 0x1c, 0x42, 0x14, 0xd0, 0x12, 0x69, 0x5a, 0x21, 0x04, 0x43, 0x8a,
|
||||
0x61, 0x5a, 0xe7, 0xf3, 0x4b, 0x08, 0x68, 0x1c, 0x23, 0x1c, 0x42, 0x1c, 0xd0, 0x08, 0x23, 0x02,
|
||||
0xe7, 0xeb, 0x4b, 0x05, 0x68, 0x1c, 0x23, 0x1c, 0x42, 0x1c, 0xd0, 0x01, 0x23, 0x0a, 0xe7, 0xe4,
|
||||
0xf7, 0xff, 0xfe, 0x64, 0xbd, 0x70, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x30, 0xb5, 0x70, 0x4b, 0x17,
|
||||
0x68, 0x5b, 0x2b, 0x01, 0xd0, 0x03, 0x2b, 0x02, 0xd1, 0x0a, 0x4b, 0x15, 0xe0, 0x00, 0x4b, 0x15,
|
||||
0x42, 0x9a, 0xd3, 0x05, 0x4a, 0x14, 0x4b, 0x11, 0x20, 0xa0, 0x61, 0x1a, 0x02, 0x00, 0xe0, 0x1b,
|
||||
0x4b, 0x0e, 0x68, 0xdd, 0x68, 0x9c, 0x68, 0x1b, 0x19, 0x2c, 0x18, 0xa2, 0x06, 0xdc, 0xd5, 0x02,
|
||||
0xf0, 0x00, 0xfd, 0x2a, 0xe0, 0x10, 0x07, 0x1c, 0xd5, 0x02, 0xf7, 0xff, 0xfe, 0x85, 0xe0, 0x0b,
|
||||
0x07, 0x5c, 0xd5, 0x02, 0xf0, 0x00, 0xfa, 0xd8, 0xe0, 0x06, 0x07, 0xdc, 0xd5, 0x02, 0xf7, 0xff,
|
||||
0xfd, 0x97, 0xe0, 0x01, 0xf7, 0xff, 0xfd, 0xf8, 0xbd, 0x70, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x30,
|
||||
0x7e, 0xd3, 0x80, 0x00, 0x46, 0x09, 0x00, 0x00, 0x00, 0x05, 0x21, 0x00, 0xb5, 0x10, 0x20, 0x80,
|
||||
0x01, 0x00, 0x21, 0x20, 0xf7, 0xff, 0xed, 0xfc, 0x1c, 0x04, 0x28, 0x00, 0xd0, 0x0f, 0x21, 0x80,
|
||||
0x22, 0xa0, 0x01, 0x09, 0x05, 0xd2, 0xf7, 0xff, 0xff, 0xb9, 0x28, 0x00, 0xd0, 0x01, 0x23, 0x01,
|
||||
0xe0, 0x00, 0x23, 0x02, 0x4a, 0x02, 0x1c, 0x20, 0x60, 0x53, 0xf7, 0xff, 0xed, 0xf6, 0xbd, 0x10,
|
||||
0x13, 0x70, 0x21, 0x30, 0xb5, 0x10, 0x22, 0x00, 0x1c, 0x04, 0xf7, 0xff, 0xff, 0xa7, 0x28, 0x00,
|
||||
0xdb, 0x0d, 0x69, 0xa2, 0x4b, 0x06, 0x42, 0x9a, 0xd1, 0x09, 0x4b, 0x06, 0x21, 0x01, 0x68, 0x1a,
|
||||
0x70, 0x11, 0x68, 0x1b, 0x78, 0x5b, 0x2b, 0x00, 0xd1, 0x01, 0xf7, 0xff, 0xed, 0xc6, 0xbd, 0x10,
|
||||
0x5d, 0x1c, 0x9e, 0xa3, 0x13, 0x70, 0x21, 0x2c, 0xb5, 0xf0, 0x78, 0x03, 0xb0, 0x83, 0x1c, 0x05,
|
||||
0x1c, 0x0e, 0x1c, 0x17, 0x2b, 0xe0, 0xd1, 0x00, 0xe0, 0xde, 0x4c, 0xb7, 0x22, 0x00, 0x61, 0x22,
|
||||
0x2b, 0xe4, 0xd1, 0x00, 0xe0, 0xc0, 0x2b, 0xe4, 0xd8, 0x2b, 0x2b, 0xa8, 0xd1, 0x00, 0xe0, 0xa0,
|
||||
0x2b, 0xa8, 0xd8, 0x10, 0x2b, 0x8a, 0xd0, 0x52, 0x2b, 0x8a, 0xd8, 0x05, 0x2b, 0x70, 0xd0, 0x66,
|
||||
0x2b, 0x71, 0xd0, 0x00, 0xe1, 0x50, 0xe0, 0x8d, 0x2b, 0x8d, 0xd1, 0x00, 0xe0, 0x91, 0x2b, 0xa4,
|
||||
0xd0, 0x00, 0xe1, 0x49, 0xe0, 0xae, 0x2b, 0xd9, 0xd1, 0x00, 0xe0, 0x98, 0x2b, 0xd9, 0xd8, 0x06,
|
||||
0x2b, 0xab, 0xd1, 0x00, 0xe0, 0xa0, 0x2b, 0xd0, 0xd0, 0x00, 0xe1, 0x3d, 0xe0, 0x81, 0x2b, 0xdb,
|
||||
0xd1, 0x00, 0xe0, 0xaa, 0x2b, 0xdb, 0xd2, 0x00, 0xe0, 0x83, 0x2b, 0xe0, 0xd0, 0x00, 0xe1, 0x33,
|
||||
0xe0, 0xaa, 0x2b, 0xf6, 0xd1, 0x00, 0xe1, 0x25, 0x2b, 0xf6, 0xd8, 0x12, 0x2b, 0xf2, 0xd1, 0x00,
|
||||
0xe0, 0xb2, 0x2b, 0xf2, 0xd8, 0x06, 0x2b, 0xf0, 0xd1, 0x00, 0xe0, 0xa8, 0x2b, 0xf1, 0xd0, 0x00,
|
||||
0xe1, 0x22, 0xe0, 0xa7, 0x2b, 0xf4, 0xd1, 0x00, 0xe0, 0xb5, 0x2b, 0xf4, 0xd9, 0x00, 0xe0, 0xc7,
|
||||
0xe0, 0xae, 0x2b, 0xf9, 0xd1, 0x00, 0xe0, 0xe2, 0x2b, 0xf9, 0xd8, 0x06, 0x2b, 0xf7, 0xd1, 0x00,
|
||||
0xe0, 0xc1, 0x2b, 0xf8, 0xd0, 0x00, 0xe1, 0x0f, 0xe0, 0xd4, 0x2b, 0xfb, 0xd1, 0x00, 0xe0, 0xfa,
|
||||
0x2b, 0xfb, 0xd2, 0x00, 0xe0, 0xf5, 0x2b, 0xff, 0xd0, 0x00, 0xe1, 0x05, 0xe0, 0xfd, 0x69, 0xa3,
|
||||
0x2b, 0x00, 0xd0, 0x00, 0xe1, 0x10, 0x68, 0x22, 0x21, 0x03, 0x43, 0x8a, 0x60, 0xa3, 0x60, 0xe3,
|
||||
0x60, 0x63, 0x61, 0x23, 0x61, 0x63, 0x23, 0x1c, 0x60, 0x22, 0x42, 0x1a, 0xd1, 0x00, 0xe0, 0xf3,
|
||||
0xf7, 0xff, 0xfc, 0x52, 0x69, 0x62, 0x23, 0x04, 0x43, 0x13, 0x61, 0x63, 0xe0, 0xfc, 0x68, 0xa2,
|
||||
0x68, 0xe3, 0x92, 0x01, 0x68, 0x22, 0x93, 0x00, 0x23, 0x1c, 0x42, 0x1a, 0xd0, 0x01, 0x24, 0x00,
|
||||
0xe0, 0x0a, 0x1c, 0x3a, 0xf7, 0xff, 0xfd, 0x6b, 0x1c, 0x04, 0x28, 0x00, 0xd0, 0x04, 0x4b, 0x72,
|
||||
0x22, 0x01, 0x68, 0x19, 0x43, 0x0a, 0x60, 0x1a, 0x9a, 0x00, 0x2a, 0x00, 0xd1, 0x07, 0x9b, 0x01,
|
||||
0x2b, 0x00, 0xd1, 0x04, 0x4b, 0x6c, 0x68, 0x1a, 0x23, 0x1d, 0x42, 0x1a, 0xd0, 0x04, 0x1c, 0x30,
|
||||
0x1c, 0x39, 0xf7, 0xff, 0xff, 0x3f, 0x1c, 0x04, 0x2c, 0x00, 0xd0, 0x00, 0xe0, 0xd5, 0xf7, 0xff,
|
||||
0xff, 0x1d, 0xe0, 0xd2, 0x68, 0x23, 0x07, 0x9a, 0xd4, 0x00, 0xe0, 0xbd, 0x68, 0x41, 0x68, 0x82,
|
||||
0xe0, 0x05, 0x68, 0x69, 0x68, 0xaa, 0x2b, 0xd0, 0xd1, 0x01, 0x02, 0xc9, 0x02, 0x52, 0x1c, 0x30,
|
||||
0xe0, 0x02, 0x1c, 0x08, 0x22, 0x40, 0x1c, 0x39, 0xf7, 0xff, 0xfe, 0xd0, 0xe0, 0xb1, 0x68, 0x22,
|
||||
0x23, 0x1d, 0x42, 0x1a, 0xd1, 0x00, 0xe0, 0xa7, 0x68, 0x43, 0x68, 0x82, 0x07, 0x9b, 0x43, 0x13,
|
||||
0x4a, 0x56, 0x40, 0x13, 0x60, 0xe3, 0xe0, 0xaf, 0x68, 0x22, 0x23, 0x1d, 0x42, 0x1a, 0xd0, 0x00,
|
||||
0xe0, 0xaa, 0xe0, 0x99, 0x68, 0x22, 0x23, 0x1d, 0x42, 0x1a, 0xd1, 0x00, 0xe0, 0x94, 0x4a, 0x50,
|
||||
0x4b, 0x4d, 0x24, 0xa0, 0x61, 0x1a, 0x02, 0x24, 0xe0, 0x9f, 0x68, 0x21, 0x23, 0x1c, 0x42, 0x19,
|
||||
0xd1, 0x00, 0xe0, 0x89, 0x60, 0x32, 0xe0, 0x97, 0x4b, 0x47, 0x22, 0x1c, 0x68, 0x19, 0x42, 0x11,
|
||||
0xd1, 0x02, 0x69, 0x1b, 0x2b, 0x00, 0xd0, 0x7f, 0x4b, 0x43, 0x69, 0x1b, 0xe0, 0x45, 0x68, 0x43,
|
||||
0x60, 0xa3, 0xe0, 0x89, 0x68, 0xa3, 0xe0, 0x40, 0x68, 0x43, 0x2b, 0x00, 0xd0, 0x03, 0x68, 0x22,
|
||||
0x23, 0x02, 0x43, 0x13, 0xe0, 0x02, 0x68, 0x23, 0x22, 0x02, 0x43, 0x93, 0x60, 0x23, 0xe0, 0x7b,
|
||||
0x68, 0x22, 0x23, 0x02, 0xe0, 0x30, 0x68, 0x46, 0xf0, 0x00, 0xf9, 0xb4, 0x68, 0x23, 0x22, 0x04,
|
||||
0x43, 0x93, 0x60, 0x23, 0x2e, 0x00, 0xd0, 0x6f, 0x1c, 0x29, 0x1e, 0x70, 0x31, 0x08, 0xf0, 0x00,
|
||||
0xf9, 0xb7, 0x1c, 0x04, 0x28, 0x00, 0xd1, 0x68, 0x4b, 0x2f, 0x22, 0x04, 0x68, 0x19, 0xe0, 0x16,
|
||||
0x68, 0x22, 0x23, 0x04, 0xe0, 0x18, 0x68, 0x45, 0xf7, 0xff, 0xfd, 0x2c, 0x68, 0x23, 0x22, 0x08,
|
||||
0x43, 0x93, 0x60, 0x23, 0x2d, 0x00, 0xd0, 0x57, 0x1c, 0x28, 0xf0, 0x00, 0xe9, 0x5c, 0xf7, 0xff,
|
||||
0xfd, 0x2f, 0x1c, 0x04, 0x28, 0x00, 0xd1, 0x50, 0x4b, 0x23, 0x22, 0x08, 0x68, 0x19, 0x43, 0x0a,
|
||||
0x60, 0x1a, 0xe0, 0x4a, 0x68, 0x22, 0x23, 0x08, 0x40, 0x13, 0x60, 0x33, 0xe0, 0x44, 0x68, 0x43,
|
||||
0x68, 0x87, 0x93, 0x00, 0x68, 0xc5, 0xf0, 0x00, 0xfa, 0x8b, 0x68, 0x23, 0x22, 0x10, 0x43, 0x93,
|
||||
0x60, 0x23, 0x2f, 0x00, 0xd0, 0x38, 0x9a, 0x00, 0x2a, 0x00, 0xd0, 0x35, 0x2d, 0x00, 0xd0, 0x33,
|
||||
0x1c, 0x38, 0xf0, 0x00, 0xe9, 0x38, 0x1c, 0x2a, 0x1c, 0x01, 0x98, 0x00, 0xf0, 0x00, 0xfb, 0xc8,
|
||||
0x60, 0x30, 0x28, 0x00, 0xdd, 0x28, 0x4b, 0x10, 0x22, 0x10, 0x68, 0x19, 0x43, 0x0a, 0x60, 0x1a,
|
||||
0xe0, 0x22, 0x68, 0x23, 0xe7, 0xd9, 0x4b, 0x0f, 0x60, 0x0b, 0x68, 0x23, 0x60, 0x4b, 0x68, 0x63,
|
||||
0x60, 0x8b, 0xe0, 0x19, 0x68, 0x43, 0x61, 0xa3, 0xe0, 0x16, 0x68, 0x40, 0xf0, 0x00, 0xe9, 0x1a,
|
||||
0x1c, 0x31, 0xf7, 0xff, 0xfb, 0x71, 0xe0, 0x04, 0x1c, 0x28, 0x1c, 0x31, 0x1c, 0x3a, 0xf7, 0xff,
|
||||
0xfc, 0x86, 0x1c, 0x04, 0xe0, 0x09, 0x46, 0xc0, 0x13, 0x70, 0x21, 0x30, 0xff, 0xff, 0x80, 0x00,
|
||||
0x00, 0x05, 0x31, 0x00, 0x48, 0x45, 0x4c, 0x4f, 0x24, 0x00, 0xb0, 0x03, 0x1c, 0x20, 0xbd, 0xf0,
|
||||
0xb5, 0x10, 0x1c, 0x01, 0x22, 0x00, 0x20, 0x12, 0x23, 0x00, 0xf0, 0x00, 0xe8, 0xf8, 0xbd, 0x10,
|
||||
0xb5, 0x70, 0x1c, 0x05, 0x1c, 0x0c, 0x1c, 0x13, 0x1c, 0x29, 0x1c, 0x22, 0x20, 0x10, 0xf0, 0x00,
|
||||
0xe8, 0xee, 0xbd, 0x70, 0xe6, 0x00, 0x00, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0x30,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0x70,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0xb0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x00, 0xf0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0x30,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0x70,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0xb0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x01, 0xf0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0x30,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0x70,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0xb0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x02, 0xf0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0x30,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0x70,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0xb0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x03, 0xf0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0x30,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0x70,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0x90, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0xb0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0xd0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x04, 0xf0,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x05, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x05, 0x30,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x05, 0x50, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x06, 0x90,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x07, 0xf0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x08, 0x10,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x09, 0xf0, 0xe1, 0x2f, 0xff, 0x1e, 0xe6, 0x00, 0x0a, 0x10,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe1, 0xa0, 0x20, 0x0e, 0xe2, 0x90, 0x10, 0x00, 0xe3, 0xb0, 0x00, 0x04,
|
||||
0xef, 0x00, 0x00, 0xab, 0xe1, 0x2f, 0xff, 0x12, 0xe5, 0x9f, 0xc0, 0x54, 0xe5, 0x9c, 0xc0, 0x00,
|
||||
0xe1, 0xa0, 0x00, 0x00, 0xe7, 0x9c, 0xc1, 0x0b, 0xe1, 0xa0, 0x00, 0x00, 0xe1, 0x2f, 0xff, 0x1c,
|
||||
0xe3, 0xa0, 0xb0, 0x3f, 0xea, 0xff, 0xff, 0xf7, 0xe3, 0xa0, 0xb0, 0x40, 0xea, 0xff, 0xff, 0xf5,
|
||||
0xe3, 0xa0, 0x00, 0x00, 0xee, 0x07, 0x0f, 0x15, 0xe1, 0x2f, 0xff, 0x1e, 0xee, 0x13, 0x0f, 0x10,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xee, 0x03, 0x0f, 0x10, 0xe1, 0x2f, 0xff, 0x1e, 0xef, 0x00, 0x00, 0xcc,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0xe3, 0xc0, 0x01, 0x02, 0xe1, 0x2f, 0xff, 0x1e, 0xe3, 0x80, 0x01, 0x02,
|
||||
0xe1, 0x2f, 0xff, 0x1e, 0x13, 0x70, 0x21, 0x00, 0xb5, 0x70, 0x4c, 0x13, 0x1c, 0x06, 0x68, 0x20,
|
||||
0x23, 0x04, 0x62, 0x02, 0x1c, 0x02, 0x32, 0x20, 0x60, 0x02, 0x32, 0x20, 0xb0, 0x82, 0x64, 0x01,
|
||||
0x60, 0x43, 0x60, 0x82, 0x60, 0xc3, 0x61, 0x41, 0x61, 0x06, 0x1c, 0x0d, 0x21, 0x44, 0xf7, 0xff,
|
||||
0xef, 0xa6, 0x4b, 0x0a, 0x49, 0x0a, 0x68, 0x18, 0x68, 0x23, 0x22, 0x02, 0x93, 0x00, 0x23, 0x01,
|
||||
0xf7, 0xff, 0xef, 0x70, 0x1c, 0x04, 0x28, 0x00, 0xd1, 0x03, 0x1c, 0x30, 0x1c, 0x29, 0xf7, 0xff,
|
||||
0xef, 0x92, 0xb0, 0x02, 0x1c, 0x20, 0xbd, 0x70, 0x13, 0x70, 0x21, 0x4c, 0x13, 0x70, 0x20, 0x04,
|
||||
0x57, 0x46, 0x53, 0x02, 0xb5, 0x10, 0x4b, 0x05, 0x68, 0x18, 0x28, 0x00, 0xdd, 0x01, 0xf7, 0xff,
|
||||
0xef, 0x46, 0x4a, 0x02, 0x23, 0x01, 0x42, 0x5b, 0x60, 0x13, 0xbd, 0x10, 0x13, 0x70, 0x20, 0x04,
|
||||
0xb5, 0x70, 0x4c, 0x18, 0xb0, 0x82, 0x68, 0x23, 0x1c, 0x05, 0x1c, 0x0e, 0x2b, 0x00, 0xd1, 0x09,
|
||||
0x20, 0x44, 0x21, 0x20, 0xf7, 0xff, 0xea, 0xf4, 0x60, 0x20, 0x28, 0x00, 0xd1, 0x02, 0x20, 0x16,
|
||||
0x42, 0x40, 0xe0, 0x1d, 0x4b, 0x10, 0x00, 0xad, 0x58, 0xe8, 0x21, 0x01, 0xf7, 0xff, 0xef, 0x22,
|
||||
0x4d, 0x0e, 0x60, 0x28, 0x28, 0x00, 0xdb, 0x13, 0x4c, 0x0a, 0x1c, 0x31, 0x68, 0x20, 0x22, 0x06,
|
||||
0x30, 0x20, 0xf0, 0x00, 0xfa, 0x99, 0x68, 0x23, 0x68, 0x28, 0x1c, 0x1a, 0x32, 0x20, 0x60, 0x1a,
|
||||
0x22, 0x06, 0x60, 0x5a, 0x49, 0x06, 0x93, 0x00, 0x22, 0x01, 0x23, 0x00, 0xf7, 0xff, 0xef, 0x22,
|
||||
0xb0, 0x02, 0xbd, 0x70, 0x13, 0x70, 0x21, 0x4c, 0x13, 0x70, 0x20, 0xa0, 0x13, 0x70, 0x20, 0x04,
|
||||
0x57, 0x46, 0x53, 0x01, 0xb5, 0x10, 0x4c, 0x0e, 0xb0, 0x82, 0x68, 0x23, 0x2b, 0x00, 0xda, 0x14,
|
||||
0x1c, 0x20, 0x30, 0x20, 0x21, 0x01, 0xf7, 0xff, 0xee, 0xf6, 0x60, 0x20, 0x28, 0x00, 0xda, 0x02,
|
||||
0x20, 0x0b, 0x42, 0x40, 0xe0, 0x0a, 0x23, 0x00, 0x22, 0x00, 0x49, 0x06, 0x93, 0x00, 0xf7, 0xff,
|
||||
0xef, 0x02, 0x4a, 0x05, 0x23, 0x80, 0x00, 0x9b, 0x60, 0x13, 0x20, 0x00, 0xb0, 0x02, 0xbd, 0x10,
|
||||
0x13, 0x70, 0x20, 0x20, 0x55, 0x4d, 0x53, 0x01, 0x13, 0x70, 0x21, 0x60, 0xb5, 0x70, 0x4b, 0x1e,
|
||||
0xb0, 0x82, 0x68, 0x1b, 0x2b, 0x00, 0xdb, 0x33, 0x4e, 0x1c, 0x1c, 0x33, 0x33, 0x40, 0x62, 0x33,
|
||||
0x23, 0x04, 0x62, 0x73, 0x62, 0xf3, 0x68, 0x33, 0x64, 0x71, 0x43, 0x59, 0x64, 0x30, 0x1c, 0x34,
|
||||
0x1c, 0x30, 0x30, 0x44, 0x34, 0x20, 0x62, 0xb0, 0x63, 0x32, 0x63, 0x71, 0x1c, 0x25, 0x36, 0x38,
|
||||
0x68, 0x28, 0x68, 0x69, 0xf7, 0xff, 0xef, 0x02, 0x35, 0x08, 0x42, 0xb5, 0xd1, 0xf8, 0x4d, 0x0f,
|
||||
0x21, 0x18, 0x35, 0x20, 0x1c, 0x28, 0xf7, 0xff, 0xee, 0xfa, 0x4b, 0x0b, 0x49, 0x0c, 0x68, 0x18,
|
||||
0x22, 0x02, 0x23, 0x01, 0x95, 0x00, 0xf7, 0xff, 0xee, 0xc6, 0x28, 0x00, 0xdb, 0x08, 0x68, 0x20,
|
||||
0x68, 0x61, 0xf7, 0xff, 0xee, 0xe8, 0x34, 0x08, 0x42, 0xb4, 0xd1, 0xf8, 0x20, 0x01, 0xe0, 0x00,
|
||||
0x20, 0x00, 0xb0, 0x02, 0xbd, 0x70, 0x46, 0xc0, 0x13, 0x70, 0x20, 0x20, 0x13, 0x70, 0x21, 0x60,
|
||||
0x55, 0x4d, 0x53, 0x03, 0xb5, 0x70, 0x4b, 0x1c, 0xb0, 0x82, 0x68, 0x1c, 0x2c, 0x00, 0xdb, 0x2f,
|
||||
0x4e, 0x1a, 0x60, 0x30, 0x20, 0x04, 0x62, 0x70, 0x62, 0xf0, 0x68, 0x5b, 0x60, 0x71, 0x43, 0x59,
|
||||
0x1d, 0x34, 0x62, 0xb4, 0x34, 0x1c, 0x62, 0x36, 0x63, 0x32, 0x63, 0x71, 0x1c, 0x25, 0x36, 0x38,
|
||||
0x68, 0x28, 0x68, 0x69, 0xf7, 0xff, 0xee, 0xc2, 0x35, 0x08, 0x42, 0xb5, 0xd1, 0xf8, 0x4d, 0x0f,
|
||||
0x21, 0x18, 0x35, 0x20, 0x1c, 0x28, 0xf7, 0xff, 0xee, 0xba, 0x4b, 0x0b, 0x21, 0x02, 0x68, 0x18,
|
||||
0x22, 0x02, 0x23, 0x01, 0x95, 0x00, 0xf7, 0xff, 0xee, 0x86, 0x28, 0x00, 0xdb, 0x08, 0x68, 0x20,
|
||||
0x68, 0x61, 0xf7, 0xff, 0xee, 0xa8, 0x34, 0x08, 0x42, 0xb4, 0xd1, 0xf8, 0x20, 0x01, 0xe0, 0x00,
|
||||
0x20, 0x00, 0xb0, 0x02, 0xbd, 0x70, 0x46, 0xc0, 0x13, 0x70, 0x20, 0x60, 0x13, 0x70, 0x21, 0xc0,
|
||||
0xb5, 0x10, 0x4c, 0x0e, 0xb0, 0x82, 0x68, 0x23, 0x2b, 0x00, 0xda, 0x13, 0x1c, 0x20, 0x30, 0x20,
|
||||
0x21, 0x01, 0xf7, 0xff, 0xee, 0x50, 0x60, 0x20, 0x28, 0x00, 0xda, 0x02, 0x20, 0x0b, 0x42, 0x40,
|
||||
0xe0, 0x09, 0x23, 0x00, 0x21, 0x01, 0x22, 0x00, 0x93, 0x00, 0xf7, 0xff, 0xee, 0x5c, 0x23, 0x80,
|
||||
0x00, 0x9b, 0x60, 0x63, 0x20, 0x00, 0xb0, 0x02, 0xbd, 0x10, 0x46, 0xc0, 0x13, 0x70, 0x20, 0x60,
|
||||
0x4b, 0x02, 0x22, 0x00, 0x60, 0x1a, 0x60, 0x5a, 0x60, 0x9a, 0x47, 0x70, 0x13, 0x70, 0x22, 0x00,
|
||||
0xb5, 0xf0, 0x4d, 0x33, 0x24, 0xa0, 0xb0, 0x83, 0x0b, 0xcf, 0x00, 0xa4, 0x9e, 0x09, 0x60, 0xef,
|
||||
0x42, 0xa7, 0xd9, 0x01, 0x4c, 0x2f, 0x60, 0xec, 0x4d, 0x2d, 0x4f, 0x2f, 0x68, 0xec, 0x46, 0x9c,
|
||||
0x00, 0x64, 0x19, 0x3c, 0x89, 0xa4, 0x61, 0x2c, 0x61, 0x6c, 0x00, 0x67, 0x68, 0x45, 0x19, 0x3f,
|
||||
0x00, 0xbf, 0x95, 0x00, 0x19, 0xc7, 0x18, 0x55, 0x37, 0x0c, 0x95, 0x01, 0xe0, 0x33, 0x68, 0x3d,
|
||||
0x42, 0x8d, 0xd8, 0x17, 0x68, 0xbb, 0x18, 0xeb, 0x42, 0x8b, 0xd9, 0x2a, 0x4f, 0x20, 0x1b, 0x4d,
|
||||
0x46, 0x63, 0x61, 0x7c, 0x61, 0xbd, 0x60, 0x19, 0x00, 0x63, 0x19, 0x1c, 0x00, 0xa4, 0x19, 0x00,
|
||||
0x69, 0x03, 0x99, 0x08, 0x18, 0xeb, 0x60, 0x0b, 0x69, 0x43, 0x1b, 0x5d, 0x60, 0x35, 0x42, 0x95,
|
||||
0xd9, 0x2b, 0xe0, 0x14, 0x9b, 0x01, 0x42, 0x9d, 0xd2, 0x13, 0x4f, 0x15, 0x46, 0x63, 0x1a, 0x69,
|
||||
0x61, 0x7c, 0x61, 0xb9, 0x60, 0x1d, 0x00, 0x63, 0x19, 0x1c, 0x00, 0xa4, 0x19, 0x00, 0x69, 0x03,
|
||||
0x9c, 0x08, 0x1a, 0x52, 0x60, 0x23, 0x69, 0x43, 0x60, 0x33, 0x42, 0x93, 0xd9, 0x15, 0x60, 0x32,
|
||||
0xe0, 0x13, 0x34, 0x01, 0x37, 0x0c, 0x9d, 0x00, 0x42, 0xac, 0xd3, 0xc8, 0x4d, 0x08, 0x18, 0x51,
|
||||
0x61, 0x6c, 0x68, 0x02, 0x46, 0x63, 0x42, 0x91, 0xd9, 0x02, 0x20, 0x02, 0x42, 0x40, 0xe0, 0x05,
|
||||
0x60, 0x19, 0x99, 0x08, 0x23, 0x00, 0x60, 0x0b, 0x60, 0x33, 0x20, 0x00, 0xb0, 0x03, 0xbd, 0xf0,
|
||||
0x13, 0x70, 0x27, 0x00, 0x00, 0x00, 0x02, 0x7f, 0x13, 0x70, 0x22, 0x00, 0xb5, 0xf0, 0xb0, 0x85,
|
||||
0x1c, 0x07, 0x1c, 0x0e, 0x92, 0x03, 0x4c, 0x28, 0xe0, 0x47, 0x4a, 0x28, 0x4b, 0x28, 0x68, 0x50,
|
||||
0x93, 0x00, 0x1c, 0x23, 0x33, 0x24, 0x93, 0x01, 0x1c, 0x39, 0x9a, 0x03, 0x4b, 0x25, 0xf7, 0xff,
|
||||
0xff, 0x7f, 0x62, 0xa0, 0x28, 0x00, 0xd1, 0x3c, 0x69, 0xe2, 0x1b, 0xd2, 0x62, 0xe2, 0x2a, 0x00,
|
||||
0xd0, 0x0b, 0x02, 0x52, 0x1c, 0x30, 0x21, 0x00, 0xf0, 0x00, 0xf9, 0x66, 0x6a, 0xe3, 0x02, 0x5a,
|
||||
0x18, 0xb6, 0x9a, 0x03, 0x18, 0xff, 0x1a, 0xd2, 0x92, 0x03, 0x4d, 0x17, 0x6a, 0x69, 0x29, 0x00,
|
||||
0xd0, 0x1a, 0x4b, 0x16, 0x68, 0x9b, 0x2b, 0x01, 0xd1, 0x04, 0x6a, 0x28, 0x1c, 0x32, 0xf7, 0xff,
|
||||
0xfe, 0xb5, 0xe0, 0x03, 0x6a, 0x28, 0x1c, 0x32, 0xf7, 0xff, 0xfe, 0xf4, 0x4b, 0x0e, 0x62, 0xa8,
|
||||
0x6a, 0x9a, 0x2a, 0x00, 0xd1, 0x01, 0x20, 0x03, 0xe0, 0x0d, 0x6a, 0x5b, 0x02, 0x5a, 0x18, 0xb6,
|
||||
0x9a, 0x03, 0x18, 0xff, 0x1a, 0xd2, 0x92, 0x03, 0x4b, 0x07, 0x6a, 0x5a, 0x6a, 0xdb, 0x18, 0xd3,
|
||||
0x2b, 0x00, 0xd1, 0x02, 0x20, 0x04, 0x42, 0x40, 0xe0, 0x03, 0x9b, 0x03, 0x2b, 0x00, 0xd1, 0xb4,
|
||||
0x20, 0x00, 0xb0, 0x05, 0xbd, 0xf0, 0x46, 0xc0, 0x13, 0x70, 0x27, 0x00, 0x13, 0x70, 0x22, 0x00,
|
||||
0x13, 0x70, 0x27, 0x20, 0x13, 0x70, 0x27, 0x1c, 0xb5, 0xf8, 0x24, 0x7f, 0x1c, 0x0f, 0x1c, 0x1e,
|
||||
0x09, 0xc1, 0x4b, 0x17, 0x40, 0x20, 0x24, 0x80, 0x00, 0x80, 0x00, 0xa4, 0x1a, 0x24, 0x63, 0x19,
|
||||
0x63, 0x58, 0x63, 0x9c, 0x42, 0x94, 0xd9, 0x00, 0x63, 0x9a, 0x4a, 0x11, 0x23, 0x80, 0x6b, 0x90,
|
||||
0x00, 0x9b, 0x42, 0x98, 0xd1, 0x01, 0x23, 0x00, 0x63, 0x93, 0x4c, 0x0d, 0x6b, 0xa3, 0x2b, 0x00,
|
||||
0xd0, 0x10, 0x1c, 0x25, 0x35, 0x40, 0x1c, 0x08, 0x22, 0x01, 0x1c, 0x29, 0xf7, 0xff, 0xff, 0x7e,
|
||||
0x4b, 0x08, 0x64, 0x18, 0x28, 0x00, 0xd1, 0x09, 0x6b, 0x61, 0x6b, 0xa2, 0x18, 0x69, 0x1c, 0x38,
|
||||
0xf0, 0x00, 0xf8, 0xba, 0x4b, 0x02, 0x20, 0x00, 0x6b, 0x9b, 0x60, 0x33, 0xbd, 0xf8, 0x46, 0xc0,
|
||||
0x13, 0x70, 0x27, 0x00, 0x13, 0x70, 0x29, 0x00, 0xb5, 0xf0, 0x4c, 0x1f, 0x1c, 0x07, 0x1c, 0x0d,
|
||||
0x1c, 0x23, 0xb0, 0x83, 0x1c, 0x10, 0x1c, 0x16, 0x33, 0x44, 0x1c, 0x39, 0x1c, 0x2a, 0xf7, 0xff,
|
||||
0xff, 0xbb, 0x90, 0x01, 0x64, 0xa0, 0x28, 0x00, 0xd1, 0x2a, 0x6c, 0x63, 0x08, 0x9a, 0x18, 0xff,
|
||||
0x1a, 0xed, 0x4b, 0x16, 0x18, 0xb6, 0x42, 0x9d, 0xd9, 0x0f, 0x09, 0xf0, 0x0a, 0x6a, 0x64, 0xe0,
|
||||
0x65, 0x22, 0x1c, 0x39, 0xf7, 0xff, 0xff, 0x4a, 0x64, 0xa0, 0x28, 0x00, 0xd1, 0x19, 0x6d, 0x23,
|
||||
0x01, 0xda, 0x02, 0x5b, 0x18, 0xb6, 0x18, 0xff, 0x1a, 0xed, 0x2d, 0x00, 0xd0, 0x10, 0x4c, 0x0a,
|
||||
0x1c, 0x30, 0x1c, 0x23, 0x33, 0x44, 0x1c, 0x39, 0x1c, 0x2a, 0xf7, 0xff, 0xff, 0x95, 0x64, 0xa0,
|
||||
0x28, 0x00, 0xd1, 0x06, 0x6c, 0x63, 0x42, 0x9d, 0xd0, 0x03, 0x20, 0x05, 0x42, 0x40, 0xe0, 0x00,
|
||||
0x98, 0x01, 0xb0, 0x03, 0xbd, 0xf0, 0x46, 0xc0, 0x13, 0x70, 0x29, 0x00, 0x00, 0x00, 0x01, 0xff,
|
||||
0xb5, 0xf0, 0x4b, 0x32, 0x1c, 0x15, 0x68, 0x1a, 0xb0, 0x83, 0x1c, 0x06, 0x1c, 0x0f, 0x2a, 0x00,
|
||||
0xd0, 0x03, 0x22, 0x00, 0x60, 0x1a, 0x60, 0x5a, 0x60, 0x9a, 0x1e, 0x73, 0x2b, 0x01, 0xd8, 0x4f,
|
||||
0x2d, 0x00, 0xd0, 0x4d, 0x4b, 0x2a, 0x42, 0x9d, 0xd9, 0x01, 0x25, 0x02, 0xe0, 0x49, 0x4c, 0x29,
|
||||
0x2e, 0x01, 0xd1, 0x02, 0xf7, 0xff, 0xfd, 0xce, 0xe0, 0x01, 0xf7, 0xff, 0xfe, 0x71, 0x4b, 0x25,
|
||||
0x65, 0x60, 0x6d, 0x5a, 0x2a, 0x00, 0xd0, 0x01, 0x1c, 0x15, 0xe0, 0x3b, 0x4c, 0x1f, 0x33, 0x58,
|
||||
0x60, 0x63, 0x60, 0xa6, 0x1c, 0x38, 0x1c, 0x29, 0xf7, 0xff, 0xec, 0xfc, 0x68, 0x60, 0x21, 0x00,
|
||||
0x4a, 0x1b, 0xf0, 0x00, 0xf8, 0x79, 0x1c, 0x2a, 0x68, 0x60, 0x1c, 0x39, 0xf0, 0x00, 0xf8, 0x34,
|
||||
0x1c, 0x38, 0x1c, 0x29, 0xf7, 0xff, 0xec, 0xf2, 0x21, 0xa0, 0x68, 0x60, 0x23, 0x00, 0x34, 0x0c,
|
||||
0x22, 0x00, 0x00, 0x89, 0x03, 0xd6, 0x96, 0x01, 0xe0, 0x01, 0x04, 0x33, 0x0c, 0x1b, 0x00, 0x5e,
|
||||
0x18, 0xf6, 0x00, 0xb6, 0x19, 0x86, 0x69, 0x77, 0x68, 0xf6, 0x46, 0xbc, 0x9f, 0x01, 0x44, 0x66,
|
||||
0x42, 0xb7, 0xd3, 0x04, 0x68, 0x47, 0x1c, 0x5e, 0x46, 0xbc, 0x45, 0x66, 0xd3, 0xed, 0x32, 0x01,
|
||||
0x80, 0x23, 0x34, 0x02, 0x42, 0x8a, 0xd1, 0xe5, 0x4b, 0x04, 0x22, 0x01, 0x60, 0x1a, 0xe0, 0x01,
|
||||
0x25, 0x01, 0x42, 0x6d, 0xb0, 0x03, 0x1c, 0x28, 0xbd, 0xf0, 0x46, 0xc0, 0x13, 0x70, 0x22, 0x00,
|
||||
0x00, 0x03, 0xa9, 0x8c, 0x13, 0x70, 0x29, 0x00, 0xb5, 0xf0, 0x1c, 0x06, 0x1c, 0x0d, 0x1c, 0x14,
|
||||
0x2a, 0x0f, 0xd9, 0x03, 0x1c, 0x0b, 0x43, 0x03, 0x07, 0x9f, 0xd0, 0x0a, 0x2c, 0x00, 0xd0, 0x05,
|
||||
0x23, 0x00, 0x5c, 0xea, 0x54, 0xf2, 0x33, 0x01, 0x42, 0xa3, 0xd1, 0xfa, 0xbc, 0xf0, 0xbc, 0x02,
|
||||
0x47, 0x08, 0x1c, 0x15, 0x1c, 0x0c, 0x1c, 0x03, 0x68, 0x26, 0x60, 0x1e, 0x68, 0x66, 0x60, 0x5e,
|
||||
0x68, 0xa6, 0x60, 0x9e, 0x68, 0xe6, 0x3d, 0x10, 0x60, 0xde, 0x34, 0x10, 0x33, 0x10, 0x2d, 0x0f,
|
||||
0xd8, 0xf2, 0x3a, 0x10, 0x09, 0x13, 0x1c, 0x5d, 0x01, 0x2d, 0x01, 0x1b, 0x19, 0x46, 0x19, 0x4d,
|
||||
0x1a, 0xd1, 0x1c, 0x0c, 0x29, 0x03, 0xd9, 0xd9, 0x23, 0x00, 0x58, 0xea, 0x50, 0xf2, 0x33, 0x04,
|
||||
0x1a, 0xca, 0x2a, 0x03, 0xd8, 0xf9, 0x39, 0x04, 0x08, 0x8c, 0x1c, 0x63, 0x00, 0x9b, 0x00, 0xa4,
|
||||
0x18, 0xf6, 0x18, 0xed, 0x1b, 0x0c, 0xe7, 0xc9, 0xb5, 0x70, 0x1c, 0x03, 0x07, 0x84, 0xd0, 0x0d,
|
||||
0x2a, 0x00, 0xd0, 0x40, 0x06, 0x0d, 0x3a, 0x01, 0x0e, 0x2d, 0x24, 0x03, 0xe0, 0x02, 0x2a, 0x00,
|
||||
0xd0, 0x39, 0x3a, 0x01, 0x70, 0x1d, 0x33, 0x01, 0x42, 0x23, 0xd1, 0xf8, 0x2a, 0x03, 0xd9, 0x29,
|
||||
0x25, 0xff, 0x40, 0x0d, 0x02, 0x2c, 0x43, 0x25, 0x04, 0x2c, 0x1c, 0x1e, 0x43, 0x25, 0x2a, 0x0f,
|
||||
0xd9, 0x12, 0x1c, 0x16, 0x1c, 0x1c, 0x3e, 0x10, 0x60, 0x25, 0x60, 0x65, 0x60, 0xa5, 0x60, 0xe5,
|
||||
0x34, 0x10, 0x2e, 0x0f, 0xd8, 0xf7, 0x3a, 0x10, 0x09, 0x16, 0x36, 0x01, 0x01, 0x36, 0x19, 0x9e,
|
||||
0x23, 0x0f, 0x40, 0x1a, 0x2a, 0x03, 0xd9, 0x0c, 0x23, 0x00, 0x50, 0xf5, 0x33, 0x04, 0x1a, 0xd4,
|
||||
0x2c, 0x03, 0xd8, 0xfa, 0x3a, 0x04, 0x08, 0x93, 0x33, 0x01, 0x00, 0x9b, 0x18, 0xf6, 0x23, 0x03,
|
||||
0x40, 0x1a, 0x1c, 0x33, 0x2a, 0x00, 0xd0, 0x06, 0x06, 0x09, 0x0e, 0x0c, 0x21, 0x00, 0x54, 0x5c,
|
||||
0x31, 0x01, 0x42, 0x8a, 0xd1, 0xfb, 0xbc, 0x70, 0xbc, 0x02, 0x47, 0x08, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x64, 0x65, 0x76,
|
||||
0x2f, 0x75, 0x73, 0x62, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x64, 0x65, 0x76,
|
||||
0x2f, 0x73, 0x64, 0x69, 0x6f, 0x2f, 0x73, 0x64, 0x68, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x70, 0x20, 0xd6,
|
||||
0x13, 0x70, 0x20, 0xe0, 0x24, 0x49, 0x4f, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
|
||||
0x20, 0x44, 0x49, 0x50, 0x50, 0x3a, 0x20, 0x4d, 0x61, 0x72, 0x20, 0x20, 0x37, 0x20, 0x32, 0x30,
|
||||
0x31, 0x30, 0x20, 0x31, 0x31, 0x3a, 0x35, 0x34, 0x3a, 0x32, 0x36, 0x20, 0x36, 0x34, 0x4d, 0x24,
|
||||
0x0a, 0x00, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x75, 0x73, 0x62, 0x32, 0x00, 0x2f, 0x64, 0x65, 0x76,
|
||||
0x2f, 0x73, 0x64, 0x69, 0x6f, 0x2f, 0x73, 0x64, 0x68, 0x63, 0x00, 0x00
|
||||
};
|
@ -1,3 +0,0 @@
|
||||
#define size_dip_plugin_249 5276
|
||||
|
||||
extern unsigned char dip_plugin_249[5276];
|
291
source/mload/fatffs_util.c
Normal file
291
source/mload/fatffs_util.c
Normal file
@ -0,0 +1,291 @@
|
||||
/*
|
||||
From Custom IOS Module (FAT)
|
||||
|
||||
Copyright (C) 2009 Waninkoko.
|
||||
Copyright (C) 2010 Hermes.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
|
||||
#include "fatffs_util.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <sys/dir.h>
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
#include <malloc.h>
|
||||
|
||||
extern u32 nand_mode;
|
||||
|
||||
s32 FAT_DeleteDir(const char *dirpath)
|
||||
{
|
||||
DIR_ITER *dir;
|
||||
|
||||
s32 ret;
|
||||
|
||||
/* Open directory */
|
||||
dir = diropen(dirpath);
|
||||
if (!dir)
|
||||
return -1;
|
||||
|
||||
/* Read entries */
|
||||
for (;;) {
|
||||
char filename[256], newpath[256];
|
||||
struct stat filestat;
|
||||
|
||||
/* Read entry */
|
||||
if (dirnext(dir, filename, &filestat))
|
||||
break;
|
||||
|
||||
/* Non valid entry */
|
||||
if (filename[0]=='.')
|
||||
continue;
|
||||
|
||||
/* Generate entry path */
|
||||
strcpy(newpath, dirpath);
|
||||
strcat(newpath, "/");
|
||||
strcat(newpath, filename);
|
||||
|
||||
/* Delete directory contents */
|
||||
if (filestat.st_mode & S_IFDIR)
|
||||
FAT_DeleteDir(newpath);
|
||||
|
||||
/* Delete object */
|
||||
ret = remove(newpath);
|
||||
|
||||
/* Error */
|
||||
if (ret != 0)
|
||||
break;
|
||||
}
|
||||
|
||||
/* Close directory */
|
||||
dirclose(dir);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int global_error=0;
|
||||
|
||||
static char temp_read_buffer[16384] ATTRIBUTE_ALIGN(32);
|
||||
|
||||
s32 _FFS_to_FAT_Copy(const char *ffsdirpath, const char *fatdirpath)
|
||||
{
|
||||
int n;
|
||||
u32 blocks, ionodes;
|
||||
int pos=0;
|
||||
char *list;
|
||||
s32 ret;
|
||||
|
||||
u32 ionodes_temp;
|
||||
|
||||
if(ISFS_GetUsage(ffsdirpath, &blocks, &ionodes)) {global_error=-1;return -1;}
|
||||
|
||||
|
||||
list= memalign(32, ionodes*13);
|
||||
|
||||
if(!list) {global_error=-2;return -2;}
|
||||
|
||||
if(ISFS_ReadDir(ffsdirpath, list , &ionodes)) {free(list);global_error=-3;return -3;}
|
||||
|
||||
if(ionodes) mkdir(fatdirpath, S_IRWXO | S_IRWXG | S_IRWXU);
|
||||
|
||||
|
||||
/* Read entries */
|
||||
for (n=0;n<ionodes;n++) {
|
||||
char * filename;
|
||||
char newffspath[256], newfatpath[256];
|
||||
|
||||
/* Read entry */
|
||||
filename=&list[pos];
|
||||
pos+=strlen(&list[pos])+1;
|
||||
|
||||
/* Non valid entry */
|
||||
if (filename[0]=='.')
|
||||
continue;
|
||||
|
||||
/* Generate entry path */
|
||||
strcpy(newffspath, ffsdirpath);
|
||||
strcat(newffspath, "/");
|
||||
strcat(newffspath, filename);
|
||||
|
||||
strcpy(newfatpath, fatdirpath);
|
||||
strcat(newfatpath, "/");
|
||||
strcat(newfatpath, filename);
|
||||
|
||||
ret=ISFS_ReadDir(newffspath, NULL, &ionodes_temp);
|
||||
if(ret==0) // it is a directory
|
||||
{
|
||||
|
||||
_FFS_to_FAT_Copy(newffspath, newfatpath);
|
||||
|
||||
if(global_error) {free(list);return global_error;}
|
||||
}
|
||||
|
||||
else // copy the file
|
||||
{
|
||||
int fd;
|
||||
FILE *fp;
|
||||
fd=ISFS_Open(newffspath, ISFS_OPEN_READ);
|
||||
if(fd<0)
|
||||
{
|
||||
global_error=-4;
|
||||
free(list);return global_error;
|
||||
}
|
||||
else
|
||||
{
|
||||
int len;
|
||||
fp=fopen(newfatpath,"w");
|
||||
if(!fd) {ISFS_Close(fd);global_error=-5;free(list);return global_error;}
|
||||
|
||||
len= ISFS_Seek(fd, 0, 2);
|
||||
//if(len<0) {ISFS_Close(fd);global_error=-6;free(list);return global_error;}
|
||||
ISFS_Seek(fd, 0, 0);
|
||||
|
||||
while(len>0)
|
||||
{
|
||||
ret=len; if(len>16384) ret=16384;
|
||||
if(ISFS_Read(fd, temp_read_buffer, ret)!=ret)
|
||||
{
|
||||
global_error=-7;
|
||||
break;
|
||||
}
|
||||
if(fwrite(temp_read_buffer, 1, ret, fp)!=ret)
|
||||
{
|
||||
global_error=-8;
|
||||
break;
|
||||
}
|
||||
len-=ret;
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
ISFS_Close(fd);
|
||||
|
||||
if(global_error) {free(list);return global_error;}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
free(list);
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 FFS_to_FAT_Copy(const char *ffsdirpath, const char *fatdirpath)
|
||||
{
|
||||
u32 blocks, ionodes;
|
||||
int ret;
|
||||
|
||||
char create_dir[256];
|
||||
|
||||
ISFS_Initialize();
|
||||
|
||||
ret=ISFS_GetUsage(ffsdirpath, &blocks, &ionodes);
|
||||
|
||||
if(ret==0)
|
||||
{
|
||||
int n=0;
|
||||
|
||||
// creating the path directory
|
||||
|
||||
strcpy(create_dir, fatdirpath);
|
||||
|
||||
while(create_dir[n]!=0 && create_dir[n]!='/') n++;
|
||||
|
||||
if(create_dir[n]=='/') n++;
|
||||
|
||||
while(create_dir[n]!=0)
|
||||
{
|
||||
if(create_dir[n]=='/')
|
||||
{
|
||||
create_dir[n]=0;
|
||||
mkdir(create_dir, S_IRWXO | S_IRWXG | S_IRWXU);
|
||||
create_dir[n]='/';
|
||||
}
|
||||
n++;
|
||||
}
|
||||
global_error=0;
|
||||
// copy files
|
||||
_FFS_to_FAT_Copy(ffsdirpath, fatdirpath);
|
||||
|
||||
ret=global_error=0;
|
||||
}
|
||||
else ret=-101;
|
||||
|
||||
ISFS_Deinitialize();
|
||||
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
static char temp_cad[512];
|
||||
|
||||
void create_FAT_FFS_Directory(struct discHdr *header)
|
||||
{
|
||||
|
||||
char device[2][4]={
|
||||
"sd:",
|
||||
"ud:"
|
||||
};
|
||||
|
||||
|
||||
if(!header) return;
|
||||
|
||||
sprintf((char *) temp_cad,"%s/nand%c", &device[(nand_mode & 2)!=0][0], (nand_mode & 0xc) ? 49+((nand_mode>>2) & 3) : '\0');
|
||||
|
||||
sprintf((char *) temp_cad+32,"%2.2x%2.2x%2.2x%2.2x", header->id[0], header->id[1], header->id[2], header->id[3]);
|
||||
|
||||
|
||||
sprintf((char *) temp_cad+64,"%s/title/00010000/%s", temp_cad, temp_cad+32);
|
||||
sprintf((char *) temp_cad+128,"%s/title/00010004/%s", temp_cad, temp_cad+32);
|
||||
sprintf((char *) temp_cad+256,"/title/00010000/%s", temp_cad+32);
|
||||
sprintf((char *) temp_cad+384,"/title/00010004/%s", temp_cad+32);
|
||||
|
||||
|
||||
}
|
||||
|
||||
int test_FAT_game(char * directory)
|
||||
{
|
||||
DIR_ITER * dir=NULL;
|
||||
|
||||
dir= diropen(directory);
|
||||
|
||||
if(dir) {dirclose(dir);return 1;}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
char *get_FAT_directory1(void)
|
||||
{
|
||||
return temp_cad+64;
|
||||
}
|
||||
|
||||
char *get_FAT_directory2(void)
|
||||
{
|
||||
return temp_cad+128;
|
||||
}
|
||||
|
||||
char *get_FFS_directory1(void)
|
||||
{
|
||||
return temp_cad+256;
|
||||
}
|
||||
|
||||
char *get_FFS_directory2(void)
|
||||
{
|
||||
return temp_cad+384;
|
||||
}
|
24
source/mload/fatffs_util.h
Normal file
24
source/mload/fatffs_util.h
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef _FAT_UTIL_
|
||||
#define _FAT_UTIL_
|
||||
|
||||
#include <gctypes.h>
|
||||
|
||||
#include "usbloader/disc.h"
|
||||
|
||||
s32 FAT_DeleteDir(const char *dirpath);
|
||||
|
||||
s32 FFS_to_FAT_Copy(const char *ffsdirpath, const char *fatdirpath);
|
||||
|
||||
void create_FAT_FFS_Directory(struct discHdr *header);
|
||||
|
||||
int test_FAT_game(char * directory);
|
||||
|
||||
char *get_FAT_directory1(void);
|
||||
|
||||
char *get_FAT_directory2(void);
|
||||
|
||||
char *get_FFS_directory1(void);
|
||||
|
||||
char *get_FFS_directory2(void);
|
||||
|
||||
#endif
|
@ -484,52 +484,115 @@ return ret;
|
||||
|
||||
}
|
||||
|
||||
int mload_get_version()
|
||||
/*
|
||||
int load_ehc_module()
|
||||
{
|
||||
int ret;
|
||||
if(mload_init()<0) return -1;
|
||||
ret = IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_MLOAD_VERSION, ":");
|
||||
return ret;
|
||||
}
|
||||
int is_ios=0;
|
||||
FILE *fp;
|
||||
|
||||
if(!external_ehcmodule)
|
||||
{
|
||||
|
||||
fp=fopen("SD:/apps/usbloader_gx/ehcmodule.elf","rb");
|
||||
if(fp==NULL)
|
||||
fp=fopen("SD:/apps/usbloadergx/ehcmodule.elf","rb");
|
||||
|
||||
/* IOS info structure */
|
||||
typedef struct {
|
||||
/* Syscall base */
|
||||
u32 syscall;
|
||||
if(fp!=NULL)
|
||||
{
|
||||
|
||||
/* Module versions */
|
||||
u32 dipVersion;
|
||||
u32 esVersion;
|
||||
u32 ffsVersion;
|
||||
u32 iopVersion;
|
||||
} iosInfo;
|
||||
fseek(fp, 0, SEEK_END);
|
||||
size_external_ehcmodule = ftell(fp);
|
||||
external_ehcmodule = memalign(32, size_external_ehcmodule);
|
||||
if(!external_ehcmodule)
|
||||
{fclose(fp);}
|
||||
else
|
||||
{
|
||||
fseek(fp, 0, SEEK_SET);
|
||||
|
||||
int wanin_mload_get_IOS_base()
|
||||
{
|
||||
int ret;
|
||||
iosInfo ios;
|
||||
memset(&ios, 0, sizeof(ios));
|
||||
|
||||
if(mload_init()<0) return -1;
|
||||
|
||||
ret= IOS_IoctlvFormat(hid, mload_fd, MLOAD_GET_IOS_BASE, ":d", &ios, sizeof(ios));
|
||||
//printf("get_ios_base: %d %x\n", ret, ios.dipVersion);
|
||||
if (ret == 0) {
|
||||
switch(ios.dipVersion) {
|
||||
case 0x48776F72: /* DIP: 07/11/08 14:34:26 */
|
||||
return 37;
|
||||
|
||||
case 0x4888E14C: /* DIP: 07/24/08 20:08:44 */
|
||||
return 38;
|
||||
|
||||
case 0x4A262AF5: /* DIP: 06/03/09 07:49:09 */
|
||||
return 57;
|
||||
|
||||
case 0x492ACA9D: /* DIP: 11/24/08 15:39:09 */
|
||||
return 60;
|
||||
if(fread(external_ehcmodule,1, size_external_ehcmodule ,fp)!=size_external_ehcmodule)
|
||||
{free(external_ehcmodule); external_ehcmodule=NULL;}
|
||||
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
||||
if(!external_ehcmodule)
|
||||
{
|
||||
if(mload_init()<0) return -1;
|
||||
|
||||
if (IOS_GetRevision() == 4) {
|
||||
gprintf("Loading ehcmodule v4\n");
|
||||
mload_elf((void *) ehcmodule_frag_v4_bin, &my_data_elf);
|
||||
} else if (IOS_GetRevision() == 0) { // 0? Strange value for v5 ehcmodule
|
||||
gprintf("Loading ehcmodule v5\n");
|
||||
mload_elf((void *) ehcmodule_frag_v5_bin, &my_data_elf);
|
||||
}
|
||||
thread_id = mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
|
||||
if(thread_id < 0) return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(mload_init()<0) return -1;
|
||||
mload_elf((void *) external_ehcmodule, &my_data_elf);
|
||||
thread_id = mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
|
||||
if(thread_id<0) return -1;
|
||||
}
|
||||
usleep(350*1000);
|
||||
|
||||
|
||||
// Test for IOS
|
||||
mload_seek(0x20207c84, SEEK_SET);
|
||||
mload_read(patch_datas, 4);
|
||||
if(patch_datas[0]==0x6e657665)
|
||||
{
|
||||
is_ios=38;
|
||||
}
|
||||
else
|
||||
{
|
||||
is_ios=36;
|
||||
}
|
||||
|
||||
if(is_ios==36)
|
||||
{
|
||||
// IOS 36
|
||||
memcpy(ios_36, dip_plugin, 4); // copy the entry_point
|
||||
memcpy((void *) dip_plugin, ios_36, 4*10); // copy the adresses from the array
|
||||
|
||||
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
|
||||
mload_write(dip_plugin,size_dip_plugin);
|
||||
|
||||
// enables DIP plugin
|
||||
mload_seek(0x20209040, SEEK_SET);
|
||||
mload_write(ios_36, 4);
|
||||
|
||||
}
|
||||
if(is_ios==38)
|
||||
{
|
||||
// IOS 38
|
||||
|
||||
memcpy(ios_38, dip_plugin, 4); // copy the entry_point
|
||||
memcpy((void *) dip_plugin, ios_38, 4*10); // copy the adresses from the array
|
||||
|
||||
mload_seek(0x1377E000, SEEK_SET); // copy dip_plugin in the starlet
|
||||
mload_write(dip_plugin,size_dip_plugin);
|
||||
|
||||
// enables DIP plugin
|
||||
mload_seek(0x20208030, SEEK_SET);
|
||||
mload_write(ios_38, 4);
|
||||
|
||||
}
|
||||
|
||||
mload_close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int patch_cios_data() {
|
||||
patch_datas[0]=*((u32 *) (dip_plugin+16*4));
|
||||
mload_set_ES_ioctlv_vector((void *) patch_datas[0]);
|
||||
return 1;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
@ -28,8 +28,6 @@
|
||||
|
||||
#define MLOAD_MLOAD_THREAD_ID 0x4D4C4400
|
||||
#define MLOAD_GET_IOS_BASE 0x4D4C4401
|
||||
#define MLOAD_GET_MLOAD_VERSION 0x4D4C4402
|
||||
|
||||
#define MLOAD_LOAD_MODULE 0x4D4C4480
|
||||
#define MLOAD_RUN_MODULE 0x4D4C4481
|
||||
#define MLOAD_RUN_THREAD 0x4D4C4482
|
||||
|
@ -1,11 +1,12 @@
|
||||
#include "mload_modules.h"
|
||||
#include "ehcmodule_frag_bin.h"
|
||||
#include "dip_plugin_249.h"
|
||||
#include "sys.h"
|
||||
#include "ehcmodule_frag_v4_bin.h"
|
||||
#include "ehcmodule_frag_v5_bin.h"
|
||||
#include "gecko.h"
|
||||
|
||||
#define ALIGNED(x) __attribute__((aligned(x)))
|
||||
|
||||
#define DEBUG_MLOAD
|
||||
|
||||
/* Used for Hermes NAND emulation */
|
||||
int global_mount;
|
||||
int sd_ok=0;
|
||||
@ -82,6 +83,7 @@ static u32 ios_60[16] ATTRIBUTE_ALIGN(32)=
|
||||
0x20203750+1, // ios_printf (thumb)
|
||||
};
|
||||
|
||||
|
||||
u32 patch_datas[8] ATTRIBUTE_ALIGN(32);
|
||||
|
||||
data_elf my_data_elf;
|
||||
@ -91,19 +93,105 @@ int size_external_ehcmodule=0;
|
||||
|
||||
static int my_thread_id=0;
|
||||
|
||||
int load_ehc_module_hermes()
|
||||
int load_ehc_module()
|
||||
{
|
||||
int is_ios=0;
|
||||
int is_ios=0;
|
||||
|
||||
#if 0
|
||||
|
||||
FILE *fp;
|
||||
|
||||
// WARNING!!!: load external module suspended
|
||||
if(sd_ok && !external_ehcmodule)
|
||||
{
|
||||
|
||||
fp=fopen("sd:/apps/usbloader_gx/ehcmodule.elf","rb");
|
||||
if(fp==NULL)
|
||||
fp=fopen("sd:/apps/usbloadergx/ehcmodule.elf","rb");
|
||||
|
||||
if(fp!=0)
|
||||
{
|
||||
fseek(fp, 0, SEEK_END);
|
||||
size_external_ehcmodule = ftell(fp);
|
||||
external_ehcmodule= memalign(32, size_external_ehcmodule);
|
||||
if(!external_ehcmodule)
|
||||
{fclose(fp);}
|
||||
else
|
||||
{
|
||||
fseek(fp, 0, SEEK_SET);
|
||||
|
||||
if(fread(external_ehcmodule,1, size_external_ehcmodule ,fp)!=size_external_ehcmodule)
|
||||
{free(external_ehcmodule); external_ehcmodule=NULL;}
|
||||
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
if(mload_init()<0) return -1;
|
||||
mload_elf((void *) ehcmodule_frag_bin, &my_data_elf);
|
||||
mload_elf((void *) logmodule, &my_data_elf);
|
||||
my_thread_id= mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
|
||||
if(my_thread_id<0) return -2;
|
||||
if(my_thread_id<0) return -1;
|
||||
*/
|
||||
|
||||
if(!external_ehcmodule)
|
||||
{
|
||||
#ifdef DEBUG_MLOAD
|
||||
gprintf("before mload_init\n");
|
||||
#endif
|
||||
if(mload_init()<0) return -1;
|
||||
#ifdef DEBUG_MLOAD
|
||||
gprintf("after mload_init\n");
|
||||
#endif
|
||||
if (IOS_GetRevision() == 4) {
|
||||
#ifdef DEBUG_MLOAD
|
||||
gprintf("Loading ehcmodule v4\n");
|
||||
#endif
|
||||
mload_elf((void *) ehcmodule_frag_v4_bin, &my_data_elf);
|
||||
} else if (IOS_GetRevision() == 65535) {
|
||||
#ifdef DEBUG_MLOAD
|
||||
gprintf("Loading ehcmodule v5\n");
|
||||
#endif
|
||||
mload_elf((void *) ehcmodule_frag_v5_bin, &my_data_elf);
|
||||
} else {
|
||||
return -2;
|
||||
}
|
||||
// mload_elf((void *) ehcmodule, &my_data_elf);
|
||||
#ifdef DEBUG_MLOAD
|
||||
gprintf("before mload_run_thread\n");
|
||||
#endif
|
||||
my_thread_id= mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
|
||||
if(my_thread_id<0) return -1;
|
||||
//if(mload_module(ehcmodule, size_ehcmodule)<0) return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
//if(mload_module(external_ehcmodule, size_external_ehcmodule)<0) return -1;
|
||||
if(mload_init()<0) return -1;
|
||||
mload_elf((void *) external_ehcmodule, &my_data_elf);
|
||||
my_thread_id= mload_run_thread(my_data_elf.start, my_data_elf.stack, my_data_elf.size_stack, my_data_elf.prio);
|
||||
if(my_thread_id<0) return -1;
|
||||
}
|
||||
usleep(350*1000);
|
||||
|
||||
|
||||
// Test for IOS
|
||||
|
||||
#if 0
|
||||
mload_seek(0x20207c84, SEEK_SET);
|
||||
mload_read(patch_datas, 32);
|
||||
if(patch_datas[0]==0x6e657665 )
|
||||
{
|
||||
is_ios=38;
|
||||
}
|
||||
else
|
||||
{
|
||||
is_ios=36;
|
||||
}
|
||||
|
||||
#endif
|
||||
is_ios=mload_get_IOS_base();
|
||||
|
||||
switch(is_ios)
|
||||
@ -176,39 +264,11 @@ int load_ehc_module_hermes()
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
mload_close();
|
||||
|
||||
int load_dip_249()
|
||||
{
|
||||
gprintf("load_dip_249\n");
|
||||
int ret = -1;
|
||||
if (is_ios_type(IOS_TYPE_WANIN) && IOS_GetRevision() >= 18)
|
||||
{
|
||||
gprintf("mload_init\n");
|
||||
if(mload_init()<0) {
|
||||
return -2;
|
||||
}
|
||||
gprintf("mload_module\n");
|
||||
ret = mload_module(dip_plugin_249, size_dip_plugin_249);
|
||||
gprintf("mload_close\n");
|
||||
mload_close();
|
||||
}
|
||||
gprintf("mload done\n");
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int load_ehc_module()
|
||||
{
|
||||
if (is_ios_type(IOS_TYPE_HERMES))
|
||||
return load_ehc_module_hermes();
|
||||
else if (is_ios_type(IOS_TYPE_WANIN))
|
||||
return load_dip_249();
|
||||
return -1;
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
||||
#define IOCTL_FAT_MOUNTSD 0xF0
|
||||
#define IOCTL_FAT_UMOUNTSD 0xF1
|
||||
#define IOCTL_FAT_MOUNTUSB 0xF2
|
||||
@ -368,8 +428,6 @@ s32 ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void enable_ES_ioctlv_vector(void)
|
||||
{
|
||||
patch_datas[0]=*((u32 *) (dip_plugin+16*4));
|
||||
@ -405,7 +463,11 @@ void test_and_patch_for_port1()
|
||||
|
||||
u8 * ehc_data = NULL;
|
||||
|
||||
ehc_data=search_for_ehcmodule_cfg((void *) ehcmodule_frag_bin, ehcmodule_frag_bin_size);
|
||||
if (IOS_GetRevision() == 4) {
|
||||
ehc_data=search_for_ehcmodule_cfg((void *) ehcmodule_frag_v4_bin, ehcmodule_frag_v4_bin_size);
|
||||
} else if (IOS_GetRevision() == 65535) {
|
||||
ehc_data=search_for_ehcmodule_cfg((void *) ehcmodule_frag_v5_bin, ehcmodule_frag_v5_bin_size);
|
||||
}
|
||||
|
||||
if(ehc_data)
|
||||
{
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include "fatmounter.h"
|
||||
#include "settings/cfg.h"
|
||||
#include "mload/mload.h"
|
||||
#include "mload/mload_modules.h"
|
||||
#include "mload/dip_plugin.h"
|
||||
#include "gecko.h"
|
||||
|
||||
#include "patchcode.h"
|
||||
@ -830,7 +830,9 @@ u32 do_bca_code(u8 *gameid)
|
||||
}
|
||||
}
|
||||
|
||||
Set_DIP_BCA_Datas((u8 *) &bcaCode);
|
||||
mload_seek(*((u32 *) (dip_plugin+15*4)), SEEK_SET); // offset 15 (bca_data area)
|
||||
mload_write(bcaCode, 64);
|
||||
mload_close();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -26,7 +26,6 @@
|
||||
|
||||
#include "usbloader/apploader.h"
|
||||
#include "patchcode.h"
|
||||
#include "../gecko.h"
|
||||
|
||||
//#include "sd.h"
|
||||
//#include "fwrite_patch.h"
|
||||
@ -415,138 +414,4 @@ void vidolpatcher(void *addr, u32 len)
|
||||
}
|
||||
}
|
||||
|
||||
//giantpune's magic super patch to return to channels
|
||||
bool PatchReturnTo(void *Address, int Size, u32 id) {
|
||||
if( !id )return 0;
|
||||
//new __OSLoadMenu() (SM2.0 and higher)
|
||||
u8 SearchPattern[ 12 ] = { 0x38, 0x80, 0x00, 0x02, 0x38, 0x60, 0x00, 0x01, 0x38, 0xa0, 0x00, 0x00 };
|
||||
|
||||
//old _OSLoadMenu() (used in launch games)
|
||||
u8 SearchPatternB[ 12 ] = { 0x38, 0xC0, 0x00, 0x02, 0x38, 0xA0, 0x00, 0x01, 0x38, 0xE0, 0x00, 0x00 };
|
||||
|
||||
//identifier for the safe place
|
||||
u8 SearchPattern2[ 12 ] = { 0x4D, 0x65, 0x74, 0x72, 0x6F, 0x77, 0x65, 0x72, 0x6B, 0x73, 0x20, 0x54 };
|
||||
|
||||
|
||||
int found = 0;
|
||||
int patched = 0;
|
||||
u8 oldSDK = 0;
|
||||
u32 ad[ 4 ] = { 0, 0, 0, 0 };
|
||||
|
||||
void *Addr = Address;
|
||||
void *Addr_end = Address+Size;
|
||||
|
||||
while (Addr <= Addr_end - 12 ) {
|
||||
//find a safe place or the patch to hang out
|
||||
if ( ! ad[ 3 ] && memcmp( Addr, SearchPattern2, 12 )==0 ) {
|
||||
ad[ 3 ] = (u32)Addr + 0x30;
|
||||
gprintf("found a safe place @ %08x\n", ad[ 3 ]);
|
||||
//hexdump( Addr, 0x50 );
|
||||
}
|
||||
//find __OSLaunchMenu() and remember some addresses in it
|
||||
else if ( memcmp( Addr, SearchPattern, 12 )==0 ) {
|
||||
ad[ found++ ] = (u32)Addr;
|
||||
}
|
||||
else if ( ad[ 0 ] && memcmp( Addr, SearchPattern, 8 )==0 ) //after the first match is found, only search the first 8 bytes for the other 2
|
||||
{
|
||||
if( !ad[ 1 ] ) ad[ found++ ] = (u32)Addr;
|
||||
else if( !ad[ 2 ] ) ad[ found++ ] = (u32)Addr;
|
||||
if( found >= 3 )break;
|
||||
}
|
||||
Addr += 4;
|
||||
}
|
||||
//check for the older-ass version of the SDK
|
||||
if( found < 3 && ad[ 3 ] )
|
||||
{
|
||||
Addr = Address;
|
||||
ad[ 0 ] = 0; ad[ 1 ] = 0;
|
||||
ad[ 2 ] = 0;
|
||||
found = 0;
|
||||
oldSDK = 1;
|
||||
|
||||
while (Addr <= Addr_end - 12 ) {
|
||||
//find __OSLaunchMenu() and remember some addresses in it
|
||||
if ( memcmp( Addr, SearchPatternB, 12 )==0 ) {
|
||||
ad[ found++ ] = (u32)Addr;
|
||||
}
|
||||
else if ( ad[ 0 ] && memcmp( Addr, SearchPatternB, 8 ) == 0 ) //after the first match is found, only search the first 8 bytes for the other 2
|
||||
{
|
||||
if( !ad[ 1 ] ) ad[ found++ ] = (u32)Addr;
|
||||
else if( !ad[ 2 ] ) ad[ found++ ] = (u32)Addr;
|
||||
if( found >= 3 )break;
|
||||
}
|
||||
Addr += 4;
|
||||
}
|
||||
}
|
||||
|
||||
//if the function is found and if it is not too far into the main.dol
|
||||
if( found == 3 && ( ad[ 2 ] - ad[ 3 ] < 0x1000001 ) && ad[ 3 ] )
|
||||
{
|
||||
gprintf("patch __OSLaunchMenu( 0x00010001, 0x%08x )\n", id);
|
||||
u32 nop = 0x60000000;
|
||||
|
||||
//the magic that writes the TID to the registers
|
||||
u8 jump[ 20 ] = { 0x3C, 0x60, 0x00, 0x01, 0x60, 0x63, 0x00, 0x01,
|
||||
0x3C, 0x80, 0x4A, 0x4F, 0x60, 0x84, 0x44, 0x49,
|
||||
0x4E, 0x80, 0x00, 0x20 };
|
||||
if( oldSDK )
|
||||
{
|
||||
jump[ 1 ] = 0xA0; //3CA00001 60A50001
|
||||
jump[ 5 ] = 0xA5; //3CC04A4F 60C64449
|
||||
jump[ 9 ] = 0xC0;
|
||||
jump[ 13 ] = 0xC6;
|
||||
}
|
||||
//patch the thing to use the new TID
|
||||
jump[ 10 ] = (u8)( id >> 24 );
|
||||
jump[ 11 ] = (u8)( id >> 16 );
|
||||
jump[ 14 ] = (u8)( id >> 8 );
|
||||
jump[ 15 ] = (u8)id;
|
||||
|
||||
void* addr = (u32*)ad[ 3 ];
|
||||
|
||||
//write new stuff to memory main.dol in a unused part of the main.dol
|
||||
memcpy( addr, jump, sizeof( jump ) );
|
||||
|
||||
//ES_GetTicketViews()
|
||||
u32 newval = ( ad[ 3 ] - ad[ 0 ] );
|
||||
newval &= 0x03FFFFFC;
|
||||
newval |= 0x48000001;
|
||||
addr = (u32*)ad[ 0 ];
|
||||
memcpy( addr, &newval, sizeof( u32 ) );
|
||||
memcpy( addr + 4, &nop, sizeof( u32 ) );
|
||||
gprintf("\t%p -> %08x\n", addr, newval );
|
||||
|
||||
//ES_GetTicketViews() again
|
||||
newval = ( ad[ 3 ] - ad[ 1 ] );
|
||||
newval &= 0x03FFFFFC;
|
||||
newval |= 0x48000001;
|
||||
addr = (u32*)ad[ 1 ];
|
||||
memcpy( addr, &newval, sizeof( u32 ) );
|
||||
memcpy( addr + 4, &nop, sizeof( u32 ) );
|
||||
gprintf("\t%p -> %08x\n", addr, newval );
|
||||
|
||||
//ES_LaunchTitle()
|
||||
newval = ( ad[ 3 ] - ad[ 2 ] );
|
||||
newval &= 0x03FFFFFC;
|
||||
newval |= 0x48000001;
|
||||
addr = (u32*)ad[ 2 ];
|
||||
memcpy( addr, &newval, sizeof( u32 ) );
|
||||
memcpy( addr + 4, &nop, sizeof( u32 ) );
|
||||
gprintf("\t%p -> %08x\n", addr, newval );
|
||||
|
||||
patched = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gprintf("not patched\n");
|
||||
gprintf("found %d addresses\n", found);
|
||||
int i;
|
||||
for( i = 0; i< 4; i++)
|
||||
gprintf("ad[ %d ]: %08x\n", i, ad[ i ] );
|
||||
gprintf("offset : %08x\n", ad[ 2 ] - ad[ 3 ] );
|
||||
|
||||
}
|
||||
return patched;
|
||||
}
|
||||
|
||||
|
||||
|
@ -36,7 +36,6 @@ bool dogamehooks(void *addr, u32 len);
|
||||
void langpatcher(void *addr, u32 len);
|
||||
void vidolpatcher(void *addr, u32 len);
|
||||
void patchdebug(void *addr, u32 len);
|
||||
bool PatchReturnTo(void *Address, int Size, u32 id);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -1772,6 +1772,14 @@ DiscWait(const char *title, const char *msg, const char *btn1Label, const char *
|
||||
while (i >= 0) {
|
||||
VIDEO_WaitVSync();
|
||||
timerTxt.SetTextf("%u %s", i,tr("seconds left"));
|
||||
/* HaltGui();
|
||||
if (Settings.cios == ios222) {
|
||||
ret = IOS_ReloadIOS(222);
|
||||
load_ehc_module();
|
||||
} else {
|
||||
ret = IOS_ReloadIOS(249);
|
||||
}
|
||||
ResumeGui();*/
|
||||
sleep(1);
|
||||
USBDevice_deInit();
|
||||
USBDevice_Init();
|
||||
|
@ -205,7 +205,7 @@ int TitleBrowser(u32 type) {
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
if (getName00(name[i], TITLE_ID(0x00010002, sys_titles[i-num_titles]), 2)>=0)
|
||||
if (getName00(name[i], TITLE_ID(0x00010002, sys_titles[i-num_titles]))>=0)
|
||||
found=2;
|
||||
|
||||
if (!found) {
|
||||
|
@ -47,12 +47,20 @@ static const char *opts_no_yes[settings_off_on_max] = {trNOOP("No"),trNOOP("Yes"
|
||||
static const char *opts_off_on[settings_off_on_max] = {trNOOP("OFF"),trNOOP("ON") };
|
||||
static const char *opts_videomode[settings_language_max][2] = {{"",trNOOP("Disc Default")},{trNOOP("System Default"),""},{trNOOP("AutoPatch"),""},{trNOOP("Force"), " PAL50"},{trNOOP("Force")," PAL60"},{trNOOP("Force")," NTSC"}};
|
||||
static const char *opts_language[settings_language_max] = {trNOOP("Console Default"),trNOOP("Japanese"),trNOOP("English"),trNOOP("German"),trNOOP("French"),trNOOP("Spanish"),trNOOP("Italian"),trNOOP("Dutch"),trNOOP("SChinese"),trNOOP("TChinese"),trNOOP("Korean")};
|
||||
static const char *opts_cios[settings_cios_max] = {"IOS 249","IOS 222", "IOS 223", "IOS 224", "IOS 250"};
|
||||
static const char *opts_cios[settings_ios_max] = {"IOS 249","IOS 222", "IOS 223", "IOS 250"};
|
||||
static const char *opts_parentalcontrol[5] = {trNOOP("0 (Everyone)"),trNOOP("1 (Child 7+)"),trNOOP("2 (Teen 12+)"),trNOOP("3 (Mature 16+)"),trNOOP("4 (Adults Only 18+)")};
|
||||
static const char *opts_error002[settings_error002_max] = {trNOOP("No"),trNOOP("Yes"),trNOOP("Anti")};
|
||||
static const char *opts_partitions[settings_partitions_max] = {trNOOP("Game partition"),trNOOP("All partitions"), trNOOP("Remove update")};
|
||||
static const char *opts_installdir[settings_installdir_max] = {trNOOP("None"), trNOOP("GAMEID_Gamename"), trNOOP("Gamename [GAMEID]")};
|
||||
|
||||
bool IsValidPartition(int fs_type, int cios) {
|
||||
if (cios == 249 || cios == 250) {
|
||||
return fs_type == FS_TYPE_WBFS;
|
||||
} else {
|
||||
return fs_type == FS_TYPE_WBFS || fs_type == FS_TYPE_FAT32 || fs_type == FS_TYPE_NTFS;
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* MenuSettings
|
||||
***************************************************************************/
|
||||
@ -995,6 +1003,9 @@ int MenuSettings()
|
||||
if (++Settings.cios >= settings_cios_max) {
|
||||
Settings.cios = 0;
|
||||
}
|
||||
if ((Settings.cios == 1 && ios222rev!=4) || (Settings.cios == 2 && ios223rev != 4)) {
|
||||
WindowPrompt(tr("Hermes CIOS"),tr("USB Loader GX will only run with Hermes CIOS rev 4! Please make sure you have revision 4 installed!"),tr("OK"));
|
||||
}
|
||||
}
|
||||
if (Settings.godmode == 1)
|
||||
options2.SetValue(Idx, "%s", opts_cios[Settings.cios]);
|
||||
@ -1006,7 +1017,12 @@ int MenuSettings()
|
||||
{
|
||||
if (firstRun) options2.SetName(Idx, "%s", tr("Partition"));
|
||||
if (ret == Idx) {
|
||||
Settings.partition = Settings.partition + 1 == partitions.num ? 0 : Settings.partition + 1;
|
||||
// Select the next valid partition, even if that's the same one
|
||||
do
|
||||
{
|
||||
Settings.partition = Settings.partition + 1 == partitions.num ? 0 : Settings.partition + 1;
|
||||
}
|
||||
while (!IsValidPartition(partitions.pinfo[Settings.partition].fs_type, Settings.cios));
|
||||
}
|
||||
|
||||
PartInfo pInfo = partitions.pinfo[Settings.partition];
|
||||
@ -2200,7 +2216,8 @@ int MenuSettings()
|
||||
|
||||
ResumeGui();
|
||||
return menu;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/********************************************************************************
|
||||
*Game specific settings
|
||||
@ -2421,8 +2438,9 @@ int GameSettings(struct discHdr * header)
|
||||
|
||||
mainWindow->Append(&w);
|
||||
|
||||
CFG_set_game_default();
|
||||
if (game_cfg) {
|
||||
|
||||
|
||||
if (game_cfg) { //if there are saved settings for this game use them
|
||||
videoChoice = game_cfg->video;
|
||||
languageChoice = game_cfg->language;
|
||||
ocarinaChoice = game_cfg->ocarina;
|
||||
@ -2436,11 +2454,35 @@ int GameSettings(struct discHdr * header)
|
||||
reloadblock = game_cfg->iosreloadblock;
|
||||
strlcpy(alternatedname, game_cfg->alternatedolname, sizeof(alternatedname));
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
videoChoice = Settings.video;
|
||||
languageChoice = Settings.language;
|
||||
ocarinaChoice = Settings.ocarina;
|
||||
viChoice = Settings.vpatch;
|
||||
if (Settings.cios == ios222)
|
||||
iosChoice = i222;
|
||||
else if (Settings.cios == ios250)
|
||||
iosChoice = i250;
|
||||
else if (Settings.cios == ios223)
|
||||
iosChoice = i223;
|
||||
else
|
||||
iosChoice = i249;
|
||||
parentalcontrolChoice = 0;
|
||||
fix002 = Settings.error002;
|
||||
countrystrings = Settings.patchcountrystrings;
|
||||
alternatedol = off;
|
||||
alternatedoloffset = 0;
|
||||
reloadblock = off;
|
||||
strcpy(alternatedname, "");
|
||||
}
|
||||
|
||||
ResumeGui();
|
||||
|
||||
while (MainButton1.GetEffect() > 0) usleep(50);
|
||||
|
||||
|
||||
|
||||
while (menu == MENU_NONE)
|
||||
{
|
||||
VIDEO_WaitVSync ();
|
||||
@ -2591,7 +2633,7 @@ int GameSettings(struct discHdr * header)
|
||||
if(ret == ++Idx || firstRun)
|
||||
{
|
||||
if(firstRun) options2.SetName(Idx, "IOS");
|
||||
if(ret == Idx && ++iosChoice >= settings_cios_max)
|
||||
if(ret == Idx && ++iosChoice >= settings_ios_max)
|
||||
iosChoice = 0;
|
||||
options2.SetValue(Idx,"%s",opts_cios[iosChoice]);
|
||||
}
|
||||
@ -2930,7 +2972,25 @@ int GameSettings(struct discHdr * header)
|
||||
int choice1 = WindowPrompt(tr("Are you sure?"),0,tr("Yes"),tr("Cancel"));
|
||||
if (choice1 == 1)
|
||||
{
|
||||
CFG_set_game_default();
|
||||
videoChoice = Settings.video;
|
||||
viChoice = Settings.vpatch;
|
||||
languageChoice = Settings.language;
|
||||
ocarinaChoice = Settings.ocarina;
|
||||
fix002 = Settings.error002;
|
||||
countrystrings = Settings.patchcountrystrings;
|
||||
alternatedol = off;
|
||||
alternatedoloffset = 0;
|
||||
reloadblock = off;
|
||||
if (Settings.cios == ios222)
|
||||
iosChoice = i222;
|
||||
else if (Settings.cios == ios250)
|
||||
iosChoice = i250;
|
||||
else if (Settings.cios == ios223)
|
||||
iosChoice = i223;
|
||||
else
|
||||
iosChoice = i249;
|
||||
parentalcontrolChoice = 0;
|
||||
strcpy(alternatedname, "");
|
||||
CFG_forget_game_opt(header->id);
|
||||
/* commented because the database language now depends on the main language setting, this could be enabled again if there is a separate language setting for the database
|
||||
// if default language is different than language from main settings, reload titles
|
||||
@ -2976,6 +3036,8 @@ int GameSettings(struct discHdr * header)
|
||||
w.SetEffect(EFFECT_FADE, -20);
|
||||
while (w.GetEffect()>0) usleep(50);
|
||||
|
||||
|
||||
|
||||
HaltGui();
|
||||
|
||||
mainWindow->RemoveAll();
|
||||
|
@ -1258,6 +1258,7 @@ void cfg_parsearg(int argc, char **argv)
|
||||
|
||||
// PER-GAME SETTINGS
|
||||
|
||||
|
||||
// return existing or new
|
||||
struct Game_CFG* cfg_get_game(u8 *id) {
|
||||
struct Game_CFG *game = CFG_get_game_opt(id);
|
||||
@ -1268,22 +1269,6 @@ struct Game_CFG* cfg_get_game(u8 *id) {
|
||||
return game;
|
||||
}
|
||||
|
||||
void CFG_set_game_default()
|
||||
{
|
||||
videoChoice = Settings.video;
|
||||
viChoice = Settings.vpatch;
|
||||
languageChoice = Settings.language;
|
||||
ocarinaChoice = Settings.ocarina;
|
||||
fix002 = Settings.error002;
|
||||
countrystrings = Settings.patchcountrystrings;
|
||||
alternatedol = off;
|
||||
alternatedoloffset = 0;
|
||||
reloadblock = off;
|
||||
iosChoice = Settings.cios;
|
||||
parentalcontrolChoice = 0;
|
||||
strcpy(alternatedname, "");
|
||||
}
|
||||
|
||||
// current options to game
|
||||
void cfg_set_game_opt(struct Game_CFG *game, u8 *id) {
|
||||
strncpy((char*)game->id, (char*)id, 6);
|
||||
@ -1753,7 +1738,6 @@ struct Game_CFG* CFG_get_game_opt(u8 *id) {
|
||||
return &cfg_game[i];
|
||||
}
|
||||
}
|
||||
CFG_set_game_default();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -1951,21 +1935,3 @@ void GetLanguageToLangCode(int *langid, char *langcode) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int ciosSetting2Cios(int setting)
|
||||
{
|
||||
switch (setting) {
|
||||
case ios222:
|
||||
return 222;
|
||||
case ios223:
|
||||
return 223;
|
||||
case ios224:
|
||||
return 224;
|
||||
case ios250:
|
||||
return 250;
|
||||
case ios249:
|
||||
default:
|
||||
return 249;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -239,7 +239,6 @@ extern "C" {
|
||||
void CFG_Load(void);
|
||||
struct Game_CFG* CFG_get_game_opt(u8 *id);
|
||||
struct Game_NUM* CFG_get_game_num(u8 *id);
|
||||
void CFG_set_game_default();
|
||||
bool CFG_save_game_opt(u8 *id);
|
||||
bool CFG_save_game_num(u8 *id);
|
||||
bool CFG_reset_all_playcounters();
|
||||
@ -299,11 +298,18 @@ extern "C" {
|
||||
settings_sinfo_max // always the last entry
|
||||
};
|
||||
|
||||
enum {
|
||||
i249=0,
|
||||
i222,
|
||||
i223,
|
||||
i250,
|
||||
settings_ios_max // always the last entry
|
||||
};
|
||||
|
||||
enum {
|
||||
ios249=0,
|
||||
ios222,
|
||||
ios223,
|
||||
ios224,
|
||||
ios250,
|
||||
settings_cios_max // always the last entry
|
||||
};
|
||||
@ -458,8 +464,6 @@ extern "C" {
|
||||
void GetLanguageToLangCode(int *langid, char *langcode);
|
||||
bool OpenXMLDatabase(char* xmlfilepath, char* argdblang, bool argJPtoEN, bool openfile, bool loadtitles, bool freemem);
|
||||
|
||||
int ciosSetting2Cios(int setting);
|
||||
|
||||
char *get_title(struct discHdr *header);
|
||||
char *cfg_get_title(u8 *id) ;
|
||||
void title_set(char *id, char *title);
|
||||
|
@ -1,323 +1,283 @@
|
||||
#include <stdio.h>
|
||||
#include <ogcsys.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "settings/cfg.h"
|
||||
#include "usbloader/wdvd.h"
|
||||
#include "usbloader/usbstorage2.h"
|
||||
#include "usbloader/disc.h"
|
||||
#include "usbloader/wbfs.h"
|
||||
#include "usbloader/partition_usbloader.h"
|
||||
#include "mload/mload_modules.h"
|
||||
// #include "menu.h"
|
||||
#include "fatmounter.h"
|
||||
#include "sys.h"
|
||||
#include "wpad.h"
|
||||
|
||||
extern char game_partition[6];
|
||||
extern u8 load_from_fs;
|
||||
|
||||
extern int screenheight;
|
||||
extern int screenwidth;
|
||||
|
||||
//Wiilight stuff
|
||||
static vu32 *_wiilight_reg = (u32*)0xCD0000C0;
|
||||
|
||||
void wiilight(int enable) { // Toggle wiilight (thanks Bool for wiilight source)
|
||||
u32 val = (*_wiilight_reg&~0x20);
|
||||
if (enable && Settings.wiilight) val |= 0x20;
|
||||
*_wiilight_reg=val;
|
||||
}
|
||||
|
||||
/* Variables */
|
||||
u8 shutdown = 0;
|
||||
u8 reset = 0;
|
||||
|
||||
void __Sys_ResetCallback(void) {
|
||||
/* Reboot console */
|
||||
reset = 1;
|
||||
}
|
||||
|
||||
void __Sys_PowerCallback(void) {
|
||||
/* Poweroff console */
|
||||
shutdown = 1;
|
||||
}
|
||||
|
||||
void Sys_Init(void) {
|
||||
/* Initialize video subsytem */
|
||||
//VIDEO_Init();
|
||||
|
||||
/* Set RESET/POWER button callback */
|
||||
SYS_SetResetCallback(__Sys_ResetCallback);
|
||||
SYS_SetPowerCallback(__Sys_PowerCallback);
|
||||
}
|
||||
|
||||
void ExitGUIThreads(void);
|
||||
void StopAudio();
|
||||
void StopGX();
|
||||
|
||||
static void _ExitApp() {
|
||||
ExitGUIThreads();
|
||||
StopGX();
|
||||
StopAudio();
|
||||
|
||||
UnmountNTFS();
|
||||
SDCard_deInit();
|
||||
USBDevice_deInit();
|
||||
mload_set_ES_ioctlv_vector(NULL);
|
||||
mload_close();
|
||||
}
|
||||
|
||||
void Sys_Reboot(void) {
|
||||
/* Restart console */
|
||||
_ExitApp();
|
||||
STM_RebootSystem();
|
||||
}
|
||||
|
||||
int Sys_ChangeIos(int ios) {
|
||||
s32 prevIos = IOS_GetVersion();
|
||||
|
||||
SDCard_deInit();
|
||||
USBDevice_deInit();
|
||||
|
||||
WPAD_Flush(0);
|
||||
WPAD_Disconnect(0);
|
||||
WPAD_Shutdown();
|
||||
|
||||
WDVD_Close();
|
||||
|
||||
USBStorage2_Deinit();
|
||||
|
||||
s32 ret = IOS_ReloadIOSsafe(ios);
|
||||
if (ret < 0) {
|
||||
ios = prevIos;
|
||||
}
|
||||
|
||||
load_ehc_module();
|
||||
SDCard_Init();
|
||||
USBDevice_Init();
|
||||
|
||||
PAD_Init();
|
||||
Wpad_Init();
|
||||
WPAD_SetDataFormat(WPAD_CHAN_ALL,WPAD_FMT_BTNS_ACC_IR);
|
||||
WPAD_SetVRes(WPAD_CHAN_ALL, screenwidth, screenheight);
|
||||
|
||||
WBFS_Init(WBFS_DEVICE_USB);
|
||||
Disc_Init();
|
||||
|
||||
if (ios_supports_frag()) {
|
||||
WBFS_OpenNamed((char *) &game_partition);
|
||||
} else {
|
||||
WBFS_Open();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int Sys_IosReload(int IOS) {
|
||||
s32 ret = -1;
|
||||
|
||||
//shutdown SD and USB before IOS Reload in DiscWait
|
||||
SDCard_deInit();
|
||||
USBDevice_deInit();
|
||||
|
||||
WPAD_Flush(0);
|
||||
WPAD_Disconnect(0);
|
||||
WPAD_Shutdown();
|
||||
|
||||
WDVD_Close();
|
||||
|
||||
USBStorage2_Deinit();
|
||||
|
||||
if (is_ios_type(IOS_TYPE_HERMES) || is_ios_type(IOS_TYPE_WANIN)) {
|
||||
int i;
|
||||
for (i = 0; i < 10; i++) {
|
||||
ret = IOS_ReloadIOSsafe(IOS);
|
||||
if (ret < 0) return ret;
|
||||
load_ehc_module();
|
||||
ret = WBFS_Init(WBFS_DEVICE_USB);
|
||||
if (!(ret < 0)) break;
|
||||
sleep(1);
|
||||
USBStorage2_Deinit();
|
||||
}
|
||||
if (ret>=0) {
|
||||
ret = Disc_Init();
|
||||
/*
|
||||
if (ret>=0) {
|
||||
if (ios_supports_frag() && game_partition[0] != '\0') {
|
||||
ret = WBFS_OpenNamed((char *) &game_partition);
|
||||
} else {
|
||||
ret = WBFS_Open();
|
||||
}
|
||||
}
|
||||
*/
|
||||
} else Sys_BackToLoader();
|
||||
}
|
||||
|
||||
PAD_Init();
|
||||
Wpad_Init();
|
||||
WPAD_SetDataFormat(WPAD_CHAN_ALL,WPAD_FMT_BTNS_ACC_IR);
|
||||
WPAD_SetVRes(WPAD_CHAN_ALL, screenwidth, screenheight);
|
||||
//reinitialize SD and USB
|
||||
SDCard_Init();
|
||||
USBDevice_Init();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define ShutdownToDefault 0
|
||||
#define ShutdownToIdle 1
|
||||
#define ShutdownToStandby 2
|
||||
|
||||
static void _Sys_Shutdown(int SHUTDOWN_MODE) {
|
||||
_ExitApp();
|
||||
WPAD_Flush(0);
|
||||
WPAD_Disconnect(0);
|
||||
WPAD_Shutdown();
|
||||
|
||||
/* Poweroff console */
|
||||
if ((CONF_GetShutdownMode() == CONF_SHUTDOWN_IDLE && SHUTDOWN_MODE != ShutdownToStandby) || SHUTDOWN_MODE == ShutdownToIdle) {
|
||||
s32 ret;
|
||||
|
||||
/* Set LED mode */
|
||||
ret = CONF_GetIdleLedMode();
|
||||
if (ret >= 0 && ret <= 2)
|
||||
STM_SetLedMode(ret);
|
||||
|
||||
/* Shutdown to idle */
|
||||
STM_ShutdownToIdle();
|
||||
} else {
|
||||
/* Shutdown to standby */
|
||||
STM_ShutdownToStandby();
|
||||
}
|
||||
}
|
||||
void Sys_Shutdown(void) {
|
||||
_Sys_Shutdown(ShutdownToDefault);
|
||||
}
|
||||
void Sys_ShutdownToIdel(void) {
|
||||
_Sys_Shutdown(ShutdownToIdle);
|
||||
}
|
||||
void Sys_ShutdownToStandby(void) {
|
||||
_Sys_Shutdown(ShutdownToStandby);
|
||||
}
|
||||
|
||||
void Sys_LoadMenu(void) {
|
||||
_ExitApp();
|
||||
/* Return to the Wii system menu */
|
||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||
}
|
||||
|
||||
void Sys_BackToLoader(void) {
|
||||
if (*((u32*) 0x80001800)) {
|
||||
_ExitApp();
|
||||
exit(0);
|
||||
}
|
||||
// Channel Version
|
||||
Sys_LoadMenu();
|
||||
}
|
||||
|
||||
bool Sys_IsHermes() {
|
||||
return IOS_GetVersion() == 222 || IOS_GetVersion() == 223;
|
||||
}
|
||||
|
||||
// #include "prompts/PromptWindows.h"
|
||||
|
||||
void ShowMemInfo() {
|
||||
char buf[255];
|
||||
struct mallinfo mymallinfo = mallinfo();
|
||||
sprintf((char *) &buf,"Total: %d, Used: %d, Can be freed: %d", mymallinfo.arena/1024, mymallinfo.uordblks/1024, mymallinfo.keepcost/1024);
|
||||
// WindowPrompt("Mem info", (char *) &buf, "OK");
|
||||
}
|
||||
|
||||
|
||||
#include "wad/title.h"
|
||||
|
||||
s32 ios222rev = -69;
|
||||
s32 ios223rev = -69;
|
||||
s32 ios249rev = -69;
|
||||
s32 ios250rev = -69;
|
||||
|
||||
s32 IOS_ReloadIOSsafe(int ios)
|
||||
{
|
||||
if (ios==222)
|
||||
{
|
||||
if (ios222rev == -69)
|
||||
ios222rev = getIOSrev(0x00000001000000dell);
|
||||
|
||||
if (ios222rev > 0 && (ios222rev != 4 && ios222rev != 5))return -2;
|
||||
}
|
||||
else if (ios==223)
|
||||
{
|
||||
if (ios223rev == -69)
|
||||
ios223rev = getIOSrev(0x00000001000000dfll);
|
||||
|
||||
if (ios223rev > 0 && (ios223rev != 4 && ios223rev != 5))return -2;
|
||||
}
|
||||
else if (ios==249)
|
||||
{
|
||||
if (ios249rev == -69)
|
||||
ios249rev = getIOSrev(0x00000001000000f9ll);
|
||||
|
||||
if (ios249rev >= 0 && !(ios249rev>=9 && ios249rev<65280))return -2;
|
||||
}
|
||||
else if (ios==250)
|
||||
{
|
||||
if (ios250rev == -69)
|
||||
ios250rev = getIOSrev(0x00000001000000fall);
|
||||
|
||||
if (ios250rev >= 0 && !(ios250rev>=9 && ios250rev<65280))return -2;
|
||||
}
|
||||
|
||||
s32 r = IOS_ReloadIOS(ios);
|
||||
if (r >= 0) {
|
||||
WII_Initialize();
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
#include <time.h>
|
||||
|
||||
s32 TakeScreenshot(const char *path);
|
||||
|
||||
void ScreenShot()
|
||||
{
|
||||
time_t rawtime;
|
||||
struct tm * timeinfo;
|
||||
char buffer [80];
|
||||
char buffer2 [80];
|
||||
|
||||
time ( &rawtime );
|
||||
timeinfo = localtime ( &rawtime );
|
||||
//USBLoader_GX_ScreenShot-Month_Day_Hour_Minute_Second_Year.png
|
||||
strftime (buffer,80,"USBLoader_GX_ScreenShot-%b%d%H%M%S%y.png",timeinfo);
|
||||
sprintf(buffer2, "%s/config/%s", bootDevice, buffer);
|
||||
|
||||
TakeScreenshot(buffer2);
|
||||
}
|
||||
|
||||
int get_ios_type()
|
||||
{
|
||||
switch (IOS_GetVersion()) {
|
||||
case 249:
|
||||
case 250:
|
||||
return IOS_TYPE_WANIN;
|
||||
case 222:
|
||||
case 223:
|
||||
if (IOS_GetRevision() == 1)
|
||||
return IOS_TYPE_KWIIRK;
|
||||
case 224:
|
||||
return IOS_TYPE_HERMES;
|
||||
}
|
||||
return IOS_TYPE_UNK;
|
||||
}
|
||||
|
||||
int is_ios_type(int type)
|
||||
{
|
||||
return (get_ios_type() == type);
|
||||
}
|
||||
|
||||
int ios_supports_frag()
|
||||
{
|
||||
return ((is_ios_type(IOS_TYPE_HERMES) && IOS_GetRevision() >= 4) ||
|
||||
(is_ios_type(IOS_TYPE_WANIN) && IOS_GetRevision() >= 18));
|
||||
}
|
||||
#include <stdio.h>
|
||||
#include <ogcsys.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "usbloader/wdvd.h"
|
||||
#include "usbloader/usbstorage2.h"
|
||||
#include "usbloader/disc.h"
|
||||
#include "usbloader/wbfs.h"
|
||||
#include "usbloader/partition_usbloader.h"
|
||||
#include "mload/mload_modules.h"
|
||||
#include "video.h"
|
||||
#include "audio.h"
|
||||
#include "menu.h"
|
||||
#include "fatmounter.h"
|
||||
#include "sys.h"
|
||||
#include "wpad.h"
|
||||
|
||||
extern char game_partition[6];
|
||||
extern u8 load_from_fs;
|
||||
|
||||
//Wiilight stuff
|
||||
static vu32 *_wiilight_reg = (u32*)0xCD0000C0;
|
||||
void wiilight(int enable) { // Toggle wiilight (thanks Bool for wiilight source)
|
||||
u32 val = (*_wiilight_reg&~0x20);
|
||||
if (enable && Settings.wiilight) val |= 0x20;
|
||||
*_wiilight_reg=val;
|
||||
}
|
||||
|
||||
/* Variables */
|
||||
u8 shutdown = 0;
|
||||
u8 reset = 0;
|
||||
|
||||
void __Sys_ResetCallback(void) {
|
||||
/* Reboot console */
|
||||
reset = 1;
|
||||
}
|
||||
|
||||
void __Sys_PowerCallback(void) {
|
||||
/* Poweroff console */
|
||||
shutdown = 1;
|
||||
}
|
||||
|
||||
void Sys_Init(void) {
|
||||
/* Initialize video subsytem */
|
||||
//VIDEO_Init();
|
||||
|
||||
/* Set RESET/POWER button callback */
|
||||
SYS_SetResetCallback(__Sys_ResetCallback);
|
||||
SYS_SetPowerCallback(__Sys_PowerCallback);
|
||||
}
|
||||
|
||||
static void _ExitApp() {
|
||||
ExitGUIThreads();
|
||||
StopGX();
|
||||
ShutdownAudio();
|
||||
|
||||
UnmountNTFS();
|
||||
SDCard_deInit();
|
||||
USBDevice_deInit();
|
||||
mload_set_ES_ioctlv_vector(NULL);
|
||||
mload_close();
|
||||
}
|
||||
|
||||
void Sys_Reboot(void) {
|
||||
/* Restart console */
|
||||
_ExitApp();
|
||||
STM_RebootSystem();
|
||||
}
|
||||
|
||||
int Sys_ChangeIos(int ios) {
|
||||
s32 prevIos = IOS_GetVersion();
|
||||
|
||||
SDCard_deInit();
|
||||
USBDevice_deInit();
|
||||
|
||||
WPAD_Flush(0);
|
||||
WPAD_Disconnect(0);
|
||||
WPAD_Shutdown();
|
||||
|
||||
WDVD_Close();
|
||||
|
||||
USBStorage2_Deinit();
|
||||
|
||||
s32 ret = IOS_ReloadIOSsafe(ios);
|
||||
if (ret < 0) {
|
||||
ios = prevIos;
|
||||
}
|
||||
|
||||
SDCard_Init();
|
||||
|
||||
if (ios == 222 || ios == 223) {
|
||||
load_ehc_module();
|
||||
}
|
||||
USBDevice_Init();
|
||||
|
||||
PAD_Init();
|
||||
Wpad_Init();
|
||||
WPAD_SetDataFormat(WPAD_CHAN_ALL,WPAD_FMT_BTNS_ACC_IR);
|
||||
WPAD_SetVRes(WPAD_CHAN_ALL, screenwidth, screenheight);
|
||||
|
||||
WBFS_Init(WBFS_DEVICE_USB);
|
||||
Disc_Init();
|
||||
|
||||
if (Sys_IsHermes()) {
|
||||
WBFS_OpenNamed((char *) &game_partition);
|
||||
} else {
|
||||
WBFS_Open();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int Sys_IosReload(int IOS) {
|
||||
s32 ret = -1;
|
||||
|
||||
//shutdown SD and USB before IOS Reload in DiscWait
|
||||
SDCard_deInit();
|
||||
USBDevice_deInit();
|
||||
|
||||
WPAD_Flush(0);
|
||||
WPAD_Disconnect(0);
|
||||
WPAD_Shutdown();
|
||||
|
||||
WDVD_Close();
|
||||
|
||||
USBStorage2_Deinit();
|
||||
|
||||
if (IOS == 249 || IOS == 222 || IOS == 223) {
|
||||
for (int i = 0; i < 10; i++) {
|
||||
ret = IOS_ReloadIOSsafe(IOS);
|
||||
if (ret < 0) return ret;
|
||||
if (IOS == 222 || IOS == 223) load_ehc_module();
|
||||
ret = WBFS_Init(WBFS_DEVICE_USB);
|
||||
if (!(ret < 0)) break;
|
||||
sleep(1);
|
||||
USBStorage2_Deinit();
|
||||
}
|
||||
if (ret>=0) {
|
||||
ret = Disc_Init();
|
||||
if (ret>=0) {
|
||||
ret = WBFS_Open();
|
||||
}
|
||||
} else Sys_BackToLoader();
|
||||
}
|
||||
|
||||
PAD_Init();
|
||||
Wpad_Init();
|
||||
WPAD_SetDataFormat(WPAD_CHAN_ALL,WPAD_FMT_BTNS_ACC_IR);
|
||||
WPAD_SetVRes(WPAD_CHAN_ALL, screenwidth, screenheight);
|
||||
//reinitialize SD and USB
|
||||
SDCard_Init();
|
||||
USBDevice_Init();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define ShutdownToDefault 0
|
||||
#define ShutdownToIdle 1
|
||||
#define ShutdownToStandby 2
|
||||
|
||||
static void _Sys_Shutdown(int SHUTDOWN_MODE) {
|
||||
_ExitApp();
|
||||
WPAD_Flush(0);
|
||||
WPAD_Disconnect(0);
|
||||
WPAD_Shutdown();
|
||||
|
||||
/* Poweroff console */
|
||||
if ((CONF_GetShutdownMode() == CONF_SHUTDOWN_IDLE && SHUTDOWN_MODE != ShutdownToStandby) || SHUTDOWN_MODE == ShutdownToIdle) {
|
||||
s32 ret;
|
||||
|
||||
/* Set LED mode */
|
||||
ret = CONF_GetIdleLedMode();
|
||||
if (ret >= 0 && ret <= 2)
|
||||
STM_SetLedMode(ret);
|
||||
|
||||
/* Shutdown to idle */
|
||||
STM_ShutdownToIdle();
|
||||
} else {
|
||||
/* Shutdown to standby */
|
||||
STM_ShutdownToStandby();
|
||||
}
|
||||
}
|
||||
void Sys_Shutdown(void) {
|
||||
_Sys_Shutdown(ShutdownToDefault);
|
||||
}
|
||||
void Sys_ShutdownToIdel(void) {
|
||||
_Sys_Shutdown(ShutdownToIdle);
|
||||
}
|
||||
void Sys_ShutdownToStandby(void) {
|
||||
_Sys_Shutdown(ShutdownToStandby);
|
||||
}
|
||||
|
||||
void Sys_LoadMenu(void) {
|
||||
_ExitApp();
|
||||
/* Return to the Wii system menu */
|
||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||
}
|
||||
|
||||
void Sys_BackToLoader(void) {
|
||||
if (*((u32*) 0x80001800)) {
|
||||
_ExitApp();
|
||||
exit(0);
|
||||
}
|
||||
// Channel Version
|
||||
Sys_LoadMenu();
|
||||
}
|
||||
|
||||
bool Sys_IsHermes() {
|
||||
return IOS_GetVersion() == 222 || IOS_GetVersion() == 223;
|
||||
}
|
||||
|
||||
#include "prompts/PromptWindows.h"
|
||||
|
||||
void ShowMemInfo() {
|
||||
char buf[255];
|
||||
struct mallinfo mymallinfo = mallinfo();
|
||||
sprintf((char *) &buf,"Total: %d, Used: %d, Can be freed: %d", mymallinfo.arena/1024, mymallinfo.uordblks/1024, mymallinfo.keepcost/1024);
|
||||
WindowPrompt("Mem info", (char *) &buf, "OK");
|
||||
}
|
||||
|
||||
|
||||
#include "wad/title.h"
|
||||
|
||||
s32 ios222rev = -69;
|
||||
s32 ios223rev = -69;
|
||||
s32 ios249rev = -69;
|
||||
s32 ios250rev = -69;
|
||||
|
||||
s32 IOS_ReloadIOSsafe(int ios)
|
||||
{
|
||||
if (ios==222)
|
||||
{
|
||||
if (ios222rev == -69)
|
||||
ios222rev = getIOSrev(0x00000001000000dell);
|
||||
|
||||
if (ios222rev > 0 && (ios222rev != 4 && ios222rev != 5))return -2;
|
||||
}
|
||||
else if (ios==223)
|
||||
{
|
||||
if (ios223rev == -69)
|
||||
ios223rev = getIOSrev(0x00000001000000dfll);
|
||||
|
||||
if (ios223rev > 0 && (ios223rev != 4 && ios223rev != 5))return -2;
|
||||
}
|
||||
else if (ios==249)
|
||||
{
|
||||
if (ios249rev == -69)
|
||||
ios249rev = getIOSrev(0x00000001000000f9ll);
|
||||
|
||||
if (ios249rev >= 0 && !(ios249rev>=9 && ios249rev<65280))return -2;
|
||||
}
|
||||
else if (ios==250)
|
||||
{
|
||||
if (ios250rev == -69)
|
||||
ios250rev = getIOSrev(0x00000001000000fall);
|
||||
|
||||
if (ios250rev >= 0 && !(ios250rev>=9 && ios250rev<65280))return -2;
|
||||
}
|
||||
|
||||
s32 r = IOS_ReloadIOS(ios);
|
||||
if (r >= 0) {
|
||||
WII_Initialize();
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
#include <time.h>
|
||||
|
||||
void ScreenShot()
|
||||
{
|
||||
time_t rawtime;
|
||||
struct tm * timeinfo;
|
||||
char buffer [80];
|
||||
char buffer2 [80];
|
||||
|
||||
time ( &rawtime );
|
||||
timeinfo = localtime ( &rawtime );
|
||||
//USBLoader_GX_ScreenShot-Month_Day_Hour_Minute_Second_Year.png
|
||||
strftime (buffer,80,"USBLoader_GX_ScreenShot-%b%d%H%M%S%y.png",timeinfo);
|
||||
sprintf(buffer2, "%s/config/%s", bootDevice, buffer);
|
||||
|
||||
TakeScreenshot(buffer2);
|
||||
}
|
17
source/sys.h
17
source/sys.h
@ -1,10 +1,6 @@
|
||||
#ifndef _SYS_H_
|
||||
#define _SYS_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void wiilight(int enable);
|
||||
|
||||
/* Prototypes */
|
||||
@ -27,18 +23,5 @@ extern s32 ios223rev;
|
||||
extern s32 ios249rev;
|
||||
extern s32 ios250rev;
|
||||
|
||||
#define IOS_TYPE_UNK 0
|
||||
#define IOS_TYPE_WANIN 1
|
||||
#define IOS_TYPE_HERMES 2
|
||||
#define IOS_TYPE_KWIIRK 3
|
||||
|
||||
int get_ios_type();
|
||||
int is_ios_type(int type);
|
||||
int ios_supports_frag();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -8,9 +8,7 @@
|
||||
#include "apploader.h"
|
||||
#include "wdvd.h"
|
||||
#include "fstfile.h"
|
||||
#include "../gecko.h"
|
||||
#include "../patches/dvd_broadway.h"
|
||||
#include "../patches/patchcode.h"
|
||||
|
||||
extern u8 mountMethod;
|
||||
|
||||
@ -26,10 +24,15 @@ bool Load_Dol(void **buffer, int* dollen, char * filepath) {
|
||||
memcpy(gameidbuffer6, (char*)0x80000000, 6);
|
||||
snprintf(fullpath, 200, "%s%s.dol", filepath, gameidbuffer6);
|
||||
|
||||
// SDCard_Init();
|
||||
// USBDevice_Init();
|
||||
|
||||
file = fopen(fullpath, "rb");
|
||||
|
||||
if (file == NULL) {
|
||||
fclose(file);
|
||||
// SDCard_deInit();
|
||||
// USBDevice_deInit();
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -41,16 +44,22 @@ bool Load_Dol(void **buffer, int* dollen, char * filepath) {
|
||||
dol_buffer = malloc(filesize);
|
||||
if (dol_buffer == NULL) {
|
||||
fclose(file);
|
||||
return false;
|
||||
// SDCard_deInit();
|
||||
// USBDevice_deInit();
|
||||
return false;
|
||||
}
|
||||
ret = fread( dol_buffer, 1, filesize, file);
|
||||
if (ret != filesize) {
|
||||
free(dol_buffer);
|
||||
fclose(file);
|
||||
return false;
|
||||
// SDCard_deInit();
|
||||
// USBDevice_deInit();
|
||||
return false;
|
||||
}
|
||||
fclose(file);
|
||||
|
||||
// SDCard_deInit();
|
||||
// USBDevice_deInit();
|
||||
*buffer = dol_buffer;
|
||||
*dollen = filesize;
|
||||
return true;
|
||||
@ -179,7 +188,7 @@ void __dvd_readidcb(s32 result)
|
||||
{
|
||||
dvddone = result;
|
||||
}
|
||||
u32 Load_Dol_from_disc(u32 doloffset, u8 videoSelected, u8 patchcountrystring, u8 vipatch, u8 cheat, u32 rtrn ) {
|
||||
u32 Load_Dol_from_disc(u32 doloffset, u8 videoSelected, u8 patchcountrystring, u8 vipatch, u8 cheat) {
|
||||
int ret;
|
||||
void *dol_header;
|
||||
u32 entrypoint;
|
||||
@ -207,8 +216,6 @@ u32 Load_Dol_from_disc(u32 doloffset, u8 videoSelected, u8 patchcountrystring, u
|
||||
void *offset;
|
||||
u32 pos;
|
||||
u32 len;
|
||||
u32 dolStart = 0x90000000;
|
||||
u32 dolEnd = 0x0;
|
||||
|
||||
while (load_dol_image_modified(&offset, &pos, &len)) {
|
||||
if (len != 0) {
|
||||
@ -218,24 +225,12 @@ u32 Load_Dol_from_disc(u32 doloffset, u8 videoSelected, u8 patchcountrystring, u
|
||||
|
||||
gamepatches(offset, len, videoSelected, patchcountrystring, vipatch, cheat);
|
||||
|
||||
|
||||
DCFlushRange(offset, len);
|
||||
|
||||
if( (u32)offset < dolStart )
|
||||
dolStart = (u32)offset;
|
||||
|
||||
if( (u32)offset + len > dolEnd )
|
||||
dolEnd = (u32)offset + len;
|
||||
|
||||
Remove_001_Protection(offset, len);
|
||||
}
|
||||
}
|
||||
gprintf("start: %08x\tend: %x\n", dolStart, dolEnd );
|
||||
if( PatchReturnTo( (u32*)dolStart, dolEnd - dolStart , rtrn ) )
|
||||
{
|
||||
// gprintf("return-to patched\n" );
|
||||
DCFlushRange( (u32*)dolStart, dolEnd - dolStart );
|
||||
}
|
||||
|
||||
free(dol_header);
|
||||
|
||||
return entrypoint;
|
||||
|
@ -10,7 +10,7 @@ extern "C" {
|
||||
bool Load_Dol(void **buffer, int* dollen, char * path);
|
||||
bool Remove_001_Protection(void *Address, int Size);
|
||||
u32 load_dol_image(void * dolstart);
|
||||
u32 Load_Dol_from_disc(u32 doloffset, u8 videoSelected, u8 patchcountrystring, u8 vipatch, u8 cheat, u32 rtrn);
|
||||
u32 Load_Dol_from_disc(u32 doloffset, u8 videoSelected, u8 patchcountrystring, u8 vipatch, u8 cheat);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include "settings/cfg.h"
|
||||
#include "gecko.h"
|
||||
#include "patches/wip.h"
|
||||
#include "sys.h"
|
||||
|
||||
extern bool geckoinit;
|
||||
|
||||
@ -34,6 +33,11 @@ static u8 *appldr = (u8 *)0x81200000;
|
||||
static u32 buffer[0x20] ATTRIBUTE_ALIGN(32);
|
||||
struct SSettings Settings;
|
||||
|
||||
static void __noprint(const char *fmt, ...) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool compare_videomodes(GXRModeObj* mode1, GXRModeObj* mode2) {
|
||||
if (mode1->viTVMode != mode2->viTVMode || mode1->fbWidth != mode2->fbWidth || mode1->efbHeight != mode2->efbHeight || mode1->xfbHeight != mode2->xfbHeight ||
|
||||
mode1->viXOrigin != mode2->viXOrigin || mode1->viYOrigin != mode2->viYOrigin || mode1->viWidth != mode2->viWidth || mode1->viHeight != mode2->viHeight ||
|
||||
@ -224,30 +228,10 @@ void Anti_002_fix(void *Address, int Size) {
|
||||
}
|
||||
}
|
||||
|
||||
void PretendThereIsADiscInTheDrive(void *buffer, u32 len)
|
||||
|
||||
{
|
||||
const u8 oldcode[] = { 0x54, 0x60, 0xF7, 0xFF, 0x40, 0x82, 0x00, 0x0C, 0x54, 0x60, 0x07, 0xFF, 0x41, 0x82, 0x00, 0x0C };
|
||||
const u8 newcode[] = { 0x54, 0x60, 0xF7, 0xFF, 0x40, 0x82, 0x00, 0x0C, 0x54, 0x60, 0x07, 0xFF, 0x48, 0x00, 0x00, 0x0C };
|
||||
|
||||
int n;
|
||||
|
||||
/* Patch cover register */
|
||||
|
||||
for(n=0;n<(len-sizeof(oldcode));n+=4)
|
||||
{
|
||||
if (memcmp(buffer+n, (void *) oldcode, sizeof(oldcode)) == 0)
|
||||
{
|
||||
memcpy(buffer+n, (void *) newcode, sizeof(newcode));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/** Thanks to WiiPower **/
|
||||
bool NewSuperMarioBrosPatch(void *Address, int Size)
|
||||
{
|
||||
if (is_ios_type(IOS_TYPE_HERMES)) return false; // Don't use this when using Hermes, it'll use the BCA fix instead...
|
||||
if (IOS_GetVersion() == 222 || IOS_GetVersion() == 223) return false; // Don't use this when using Hermes, it'll use the BCA fix instead...
|
||||
|
||||
if (memcmp("SMNE", (char *)0x80000000, 4) == 0)
|
||||
{
|
||||
@ -290,8 +274,6 @@ bool NewSuperMarioBrosPatch(void *Address, int Size)
|
||||
|
||||
void gamepatches(void * dst, int len, u8 videoSelected, u8 patchcountrystring, u8 vipatch, u8 cheat) {
|
||||
|
||||
PretendThereIsADiscInTheDrive(dst, len);
|
||||
|
||||
GXRModeObj** table = NULL;
|
||||
if (videoSelected == 5) // patch
|
||||
|
||||
@ -320,15 +302,14 @@ void gamepatches(void * dst, int len, u8 videoSelected, u8 patchcountrystring, u
|
||||
Search_and_patch_Video_Modes(dst, len, table);
|
||||
}
|
||||
|
||||
if(cheat)
|
||||
dogamehooks(dst,len);
|
||||
dogamehooks(dst,len);
|
||||
|
||||
if (vipatch)
|
||||
vidolpatcher(dst,len);
|
||||
//if (vipatch)//moved to degamehooks()
|
||||
// vidolpatcher(dst,len);
|
||||
|
||||
|
||||
/*LANGUAGE PATCH - FISHEARS*/
|
||||
langpatcher(dst,len);
|
||||
//langpatcher(dst,len);//moved to degamehooks()
|
||||
|
||||
/*Thanks to WiiPower*/
|
||||
if (patchcountrystring == 1)
|
||||
@ -347,7 +328,7 @@ void gamepatches(void * dst, int len, u8 videoSelected, u8 patchcountrystring, u
|
||||
|
||||
}
|
||||
|
||||
s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8 patchcountrystring, u8 error002fix, u8 alternatedol, u32 alternatedoloffset, u32 rtrn) {
|
||||
s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8 patchcountrystring, u8 error002fix, u8 alternatedol, u32 alternatedoloffset) {
|
||||
app_entry appldr_entry;
|
||||
app_init appldr_init;
|
||||
app_main appldr_main;
|
||||
@ -355,8 +336,7 @@ s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8
|
||||
|
||||
u32 appldr_len;
|
||||
s32 ret;
|
||||
gprintf("Apploader_Run( %p, %d, %d, %d, %d, %d, %d, %d, %08x )\n", \
|
||||
entry, cheat, videoSelected, vipatch, patchcountrystring, error002fix, alternatedol, alternatedoloffset, rtrn );
|
||||
gprintf("\nApploader_Run() started");
|
||||
|
||||
//u32 geckoattached = usb_isgeckoalive(EXI_CHANNEL_1);
|
||||
//if (geckoattached)usb_flush(EXI_CHANNEL_1);
|
||||
@ -382,7 +362,7 @@ s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8
|
||||
appldr_entry(&appldr_init, &appldr_main, &appldr_final);
|
||||
|
||||
/* Initialize apploader */
|
||||
appldr_init( gprintf );
|
||||
appldr_init(__noprint);
|
||||
|
||||
if (error002fix!=0) {
|
||||
/* ERROR 002 fix (thanks to WiiPower for sharing this)*/
|
||||
@ -390,9 +370,6 @@ s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8
|
||||
// *(u32 *)0x80003140 = *(u32 *)0x80003188;
|
||||
}
|
||||
|
||||
u32 dolStart = 0x90000000;
|
||||
u32 dolEnd = 0x0;
|
||||
|
||||
for (;;) {
|
||||
void *dst = NULL;
|
||||
int len = 0, offset = 0;
|
||||
@ -405,21 +382,9 @@ s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8
|
||||
/* Read data from DVD */
|
||||
WDVD_Read(dst, len, (u64)(offset << 2));
|
||||
|
||||
if( !alternatedol )gamepatches(dst, len, videoSelected, patchcountrystring, vipatch, cheat);
|
||||
gamepatches(dst, len, videoSelected, patchcountrystring, vipatch, cheat);
|
||||
|
||||
DCFlushRange(dst, len);
|
||||
if( (u32)dst < dolStart )dolStart = (u32)dst;
|
||||
if( (u32)dst + len > dolEnd ) dolEnd = (u32)dst + len;
|
||||
}
|
||||
|
||||
//this patch should be run on the entire dol at 1 time
|
||||
if( !alternatedol && rtrn)
|
||||
{
|
||||
if( PatchReturnTo( (u32*)dolStart, dolEnd - dolStart , rtrn) )
|
||||
{
|
||||
//gprintf("return-to patched\n" );
|
||||
DCFlushRange( (u32*)dolStart, dolEnd - dolStart );
|
||||
}
|
||||
}
|
||||
|
||||
*entry = appldr_final();
|
||||
@ -437,11 +402,8 @@ s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8
|
||||
DCFlushRange(dolbuffer, dollen);
|
||||
|
||||
gamepatches(dolbuffer, dollen, videoSelected, patchcountrystring, vipatch, cheat);
|
||||
if( PatchReturnTo( (u32*)dolStart, dolEnd - dolStart , rtrn ) )
|
||||
{
|
||||
//gprintf("return-to patched\n" );
|
||||
DCFlushRange(dolbuffer, dollen);
|
||||
}
|
||||
|
||||
DCFlushRange(dolbuffer, dollen);
|
||||
|
||||
/* Set entry point from apploader */
|
||||
*entry = (entry_point) load_dol_image(dolbuffer);
|
||||
@ -455,7 +417,7 @@ s32 Apploader_Run(entry_point *entry, u8 cheat, u8 videoSelected, u8 vipatch, u8
|
||||
|
||||
FST_ENTRY *fst = (FST_ENTRY *)*(u32 *)0x80000038;
|
||||
|
||||
*entry = (entry_point) Load_Dol_from_disc(fst[alternatedoloffset].fileoffset, videoSelected, patchcountrystring, vipatch, cheat, rtrn );
|
||||
*entry = (entry_point) Load_Dol_from_disc(fst[alternatedoloffset].fileoffset, videoSelected, patchcountrystring, vipatch, cheat);
|
||||
|
||||
if (*entry == 0)
|
||||
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0);
|
||||
|
@ -9,8 +9,8 @@ extern "C" {
|
||||
typedef void (*entry_point)(void);
|
||||
|
||||
/* Prototypes */
|
||||
s32 Apploader_Run(entry_point *, u8, u8, u8, u8, u8, u8, u32, u32);
|
||||
void gamepatches(void * dst, int len, u8 videoSelected, u8 patchcountrystring, u8 vipatch, u8 cheat );
|
||||
s32 Apploader_Run(entry_point *, u8, u8, u8, u8, u8, u8, u32);
|
||||
void gamepatches(void * dst, int len, u8 videoSelected, u8 patchcountrystring, u8 vipatch, u8 cheat);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -8,15 +8,13 @@
|
||||
#include "patches/fst.h"
|
||||
#include "apploader.h"
|
||||
#include "disc.h"
|
||||
#include "video.h"
|
||||
#include "wdvd.h"
|
||||
#include "alternatedol.h"
|
||||
#include "memory.h"
|
||||
#include "wbfs.h"
|
||||
#include "gecko.h"
|
||||
#include "fatmounter.h"
|
||||
#include "sys.h"
|
||||
#include "frag.h"
|
||||
#include "usbstorage2.h"
|
||||
#include "../gecko.h"
|
||||
#include "../fatmounter.h"
|
||||
|
||||
/* Constants */
|
||||
#define PTABLE_OFFSET 0x40000
|
||||
@ -242,36 +240,15 @@ s32 Disc_Wait(void) {
|
||||
}
|
||||
|
||||
s32 Disc_SetUSB(const u8 *id) {
|
||||
if (is_ios_type(IOS_TYPE_HERMES)) {
|
||||
u32 part = 0;
|
||||
if (wbfs_part_fs) {
|
||||
part = wbfs_part_lba;
|
||||
} else {
|
||||
part = wbfs_part_idx ? wbfs_part_idx - 1 : 0;
|
||||
}
|
||||
|
||||
int ret;
|
||||
if (id && *id) {
|
||||
ret = set_frag_list((u8 *) id);
|
||||
} else {
|
||||
ret = USBStorage_WBFS_SetFragList(NULL, 0);
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Set USB mode */
|
||||
return WDVD_SetUSBMode(id, part);
|
||||
}
|
||||
|
||||
if (WBFS_DEVICE_USB && wbfs_part_fs) {
|
||||
gprintf("Setting frag list for wanin\n");
|
||||
return set_frag_list((u8 *) id);
|
||||
u32 part = 0;
|
||||
if (wbfs_part_fs) {
|
||||
part = wbfs_part_lba;
|
||||
} else {
|
||||
part = wbfs_part_idx ? wbfs_part_idx - 1 : 0;
|
||||
}
|
||||
|
||||
gprintf("Setting disc usb thing for wanin\n");
|
||||
return WDVD_SetWBFSMode(WBFS_DEVICE_USB, (u8 *) id);
|
||||
/* Set USB mode */
|
||||
return WDVD_SetUSBMode(id, part);
|
||||
}
|
||||
|
||||
s32 Disc_ReadHeader(void *outbuf) {
|
||||
@ -296,7 +273,7 @@ s32 Disc_IsWii(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 Disc_BootPartition(u64 offset, u8 videoselected, u8 cheat, u8 vipatch, u8 patchcountrystring, u8 error002fix, u8 alternatedol, u32 alternatedoloffset, u32 rtrn) {
|
||||
s32 Disc_BootPartition(u64 offset, u8 videoselected, u8 cheat, u8 vipatch, u8 patchcountrystring, u8 error002fix, u8 alternatedol, u32 alternatedoloffset) {
|
||||
entry_point p_entry;
|
||||
|
||||
s32 ret;
|
||||
@ -314,7 +291,7 @@ s32 Disc_BootPartition(u64 offset, u8 videoselected, u8 cheat, u8 vipatch, u8 pa
|
||||
__Disc_SetLowMem();
|
||||
|
||||
/* Run apploader */
|
||||
ret = Apploader_Run(&p_entry, cheat, videoselected, vipatch, patchcountrystring, error002fix, alternatedol, alternatedoloffset, rtrn);
|
||||
ret = Apploader_Run(&p_entry, cheat, videoselected, vipatch, patchcountrystring, error002fix, alternatedol, alternatedoloffset);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@ -388,7 +365,7 @@ s32 Disc_BootPartition(u64 offset, u8 videoselected, u8 cheat, u8 vipatch, u8 pa
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 Disc_WiiBoot(u8 videoselected, u8 cheat, u8 vipatch, u8 patchcountrystring, u8 error002fix, u8 alternatedol, u32 alternatedoloffset, u32 rtrn) {
|
||||
s32 Disc_WiiBoot(u8 videoselected, u8 cheat, u8 vipatch, u8 patchcountrystring, u8 error002fix, u8 alternatedol, u32 alternatedoloffset) {
|
||||
u64 offset;
|
||||
s32 ret;
|
||||
|
||||
@ -398,7 +375,7 @@ s32 Disc_WiiBoot(u8 videoselected, u8 cheat, u8 vipatch, u8 patchcountrystring,
|
||||
return ret;
|
||||
|
||||
/* Boot partition */
|
||||
return Disc_BootPartition(offset, videoselected, cheat, vipatch, patchcountrystring, error002fix, alternatedol, alternatedoloffset, rtrn);
|
||||
return Disc_BootPartition(offset, videoselected, cheat, vipatch, patchcountrystring, error002fix, alternatedol, alternatedoloffset);
|
||||
}
|
||||
|
||||
|
||||
|
@ -47,8 +47,8 @@ extern "C" {
|
||||
s32 Disc_SetUSB(const u8 *);
|
||||
s32 Disc_ReadHeader(void *);
|
||||
s32 Disc_IsWii(void);
|
||||
s32 Disc_BootPartition(u64, u8, u8, u8, u8, u8, u8, u32, u32);
|
||||
s32 Disc_WiiBoot(u8, u8, u8, u8, u8, u8, u32, u32);
|
||||
s32 Disc_BootPartition(u64, u8, u8, u8, u8, u8, u8, u32);
|
||||
s32 Disc_WiiBoot(u8, u8, u8, u8, u8, u8, u32);
|
||||
s32 __Disc_FindPartition(u64 *outbuf);
|
||||
void PatchCountryStrings(void *Address, int Size);
|
||||
s32 __Disc_FindPartition(u64 *outbuf);
|
||||
|
@ -11,9 +11,6 @@
|
||||
#include "usbstorage2.h"
|
||||
#include "frag.h"
|
||||
#include "utils.h"
|
||||
#include "sys.h"
|
||||
#include "wdvd.h"
|
||||
#include "gecko.h"
|
||||
|
||||
FragList *frag_list = NULL;
|
||||
|
||||
@ -155,31 +152,27 @@ int set_frag_list(u8 *id)
|
||||
{
|
||||
if (wbfs_part_fs == PART_FS_WBFS) return 0;
|
||||
if (frag_list == NULL) {
|
||||
if (wbfs_part_fs == PART_FS_FAT) {
|
||||
// fall back to old fat method
|
||||
// printf("FAT: fallback to old method\n");
|
||||
return 0;
|
||||
}
|
||||
// ntfs has no fallback, return error
|
||||
return -1;
|
||||
}
|
||||
|
||||
// (+1 for header which is same size as fragment)
|
||||
int size = sizeof(Fragment) * (frag_list->num + 1);
|
||||
int ret;
|
||||
DCFlushRange(frag_list, size);
|
||||
if (is_ios_type(IOS_TYPE_HERMES)) {
|
||||
ret = USBStorage_WBFS_SetFragList(frag_list, size);
|
||||
} else {
|
||||
gprintf("Calling WDVD_SetFragList\n");
|
||||
ret = WDVD_SetFragList(wbfsDev, frag_list, size);
|
||||
}
|
||||
int ret = USBStorage_WBFS_SetFragList(frag_list, size);
|
||||
if (ret) {
|
||||
// printf("set_frag: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
// verify id matches
|
||||
char discid[8];
|
||||
memset(discid, 0, sizeof(discid));
|
||||
if (is_ios_type(IOS_TYPE_HERMES)) {
|
||||
ret = USBStorage_WBFS_Read(0, 8, discid);
|
||||
} else {
|
||||
ret = WDVD_UnencryptedRead(discid, 8, 0);
|
||||
}
|
||||
return (memcmp(id, discid, 6) != 0) ? -1 : 0;
|
||||
ret = USBStorage_WBFS_Read(0, 6, discid);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -50,8 +50,8 @@ distribution.
|
||||
#define USB_IOCTL_WBFS_READ_DISC (WBFS_BASE+0x2)
|
||||
#define USB_IOCTL_WBFS_READ_DIRECT_DISC (WBFS_BASE+0x3)
|
||||
#define USB_IOCTL_WBFS_STS_DISC (WBFS_BASE+0x4)
|
||||
#define USB_IOCTL_WBFS_SET_DEVICE (WBFS_BASE+0x14)
|
||||
#define USB_IOCTL_WBFS_SET_FRAGLIST (WBFS_BASE+0x15)
|
||||
#define USB_IOCTL_WBFS_SET_DEVICE (WBFS_BASE+0x50)
|
||||
#define USB_IOCTL_WBFS_SET_FRAGLIST (WBFS_BASE+0x51)
|
||||
|
||||
#define UMS_HEAPSIZE 0x1000 //0x10000
|
||||
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "gecko.h"
|
||||
|
||||
Wbfs *current = NULL;
|
||||
#define DEBUG_WBFS
|
||||
|
||||
/* WBFS device */
|
||||
s32 wbfsDev = WBFS_MIN_DEVICE;
|
||||
@ -56,11 +57,20 @@ s32 WBFS_OpenPart(u32 part_fs, u32 part_idx, u32 part_lba, u32 part_size, char *
|
||||
if (part_fs == PART_FS_FAT) {
|
||||
current = new Wbfs_Fat(wbfsDev, part_lba, part_size);
|
||||
strcpy(wbfs_fs_drive, "USB:");
|
||||
#ifdef DEBUG_WBFS
|
||||
gprintf("\n\tCreated WBFS_Fat instance at lba: %d of size %d", part_lba, part_size);
|
||||
#endif
|
||||
} else if (part_fs == PART_FS_NTFS) {
|
||||
current = new Wbfs_Ntfs(wbfsDev, part_lba, part_size);
|
||||
strcpy(wbfs_fs_drive, "NTFS:");
|
||||
#ifdef DEBUG_WBFS
|
||||
gprintf("\n\tCreated WBFS_Ntfs instance at lba: %d of size %d", part_lba, part_size);
|
||||
#endif
|
||||
} else {
|
||||
current = new Wbfs_Wbfs(wbfsDev, part_lba, part_size);
|
||||
#ifdef DEBUG_WBFS
|
||||
gprintf("\n\tCreated WBFS_Wbfs instance at lba: %d of size %d", part_lba, part_size);
|
||||
#endif
|
||||
}
|
||||
if (current->Open())
|
||||
{
|
||||
|
@ -366,6 +366,9 @@ s32 Wbfs_Fat::GetHeadersCount()
|
||||
dir_iter = diropen(path);
|
||||
if (!dir_iter) return 0;
|
||||
|
||||
dir_iter = diropen(path);
|
||||
if (!dir_iter) return 0;
|
||||
|
||||
while (dirnext(dir_iter, fname, &st) == 0) {
|
||||
//printf("found: %s\n", fname); Wpad_WaitButtonsCommon();
|
||||
if ((char)fname[0] == '.') continue;
|
||||
|
@ -17,7 +17,6 @@
|
||||
#define IOCTL_DI_OFFSET 0xD9
|
||||
#define IOCTL_DI_DISC_BCA 0xDA
|
||||
#define IOCTL_DI_STOPMOTOR 0xE3
|
||||
#define IOCTL_DI_SETWBFSMODE 0xF4
|
||||
#define IOCTL_DI_SETUSBMODE 0xF4
|
||||
#define IOCTL_DI_DISABLERESET 0xF6
|
||||
|
||||
@ -25,10 +24,6 @@
|
||||
#define DI_SETWBFSMODE 0xfe
|
||||
#define DI_SETOFFSETBASE 0xf1
|
||||
|
||||
#define IOCTL_DI_SETFRAG 0xF9
|
||||
#define IOCTL_DI_GETMODE 0xFA
|
||||
#define IOCTL_DI_HELLO 0xFB
|
||||
|
||||
/* Variables */
|
||||
static u32 inbuf[8] ATTRIBUTE_ALIGN(32);
|
||||
static u32 outbuf[8] ATTRIBUTE_ALIGN(32);
|
||||
@ -311,27 +306,6 @@ s32 WDVD_DisableReset(u8 val) {
|
||||
return (ret == 1) ? 0 : -ret;
|
||||
}
|
||||
|
||||
s32 WDVD_SetWBFSMode(u32 mode, u8 *discid)
|
||||
{
|
||||
s32 ret;
|
||||
|
||||
memset(inbuf, 0, sizeof(inbuf));
|
||||
|
||||
/* Set USB mode */
|
||||
inbuf[0] = IOCTL_DI_SETWBFSMODE << 24;
|
||||
inbuf[1] = mode;
|
||||
|
||||
/* Copy disc ID */
|
||||
if (discid)
|
||||
memcpy(&inbuf[2], discid, 6);
|
||||
|
||||
ret = IOS_Ioctl(di_fd, IOCTL_DI_SETWBFSMODE, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
return (ret == 1) ? 0 : -ret;
|
||||
}
|
||||
|
||||
/** Hermes **/
|
||||
s32 WDVD_SetUSBMode(const u8 *id, s32 partition) {
|
||||
s32 ret;
|
||||
@ -345,7 +319,9 @@ s32 WDVD_SetUSBMode(const u8 *id, s32 partition) {
|
||||
/* Copy ID */
|
||||
if (id) {
|
||||
memcpy(&inbuf[2], id, 6);
|
||||
inbuf[5] = partition;
|
||||
if (IOS_GetVersion() != 249) {
|
||||
inbuf[5] = partition;
|
||||
}
|
||||
}
|
||||
|
||||
ret = IOS_Ioctl(di_fd, IOCTL_DI_SETUSBMODE, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
|
||||
@ -378,25 +354,3 @@ s32 WDVD_Read_Disc_BCA(void *buf)
|
||||
|
||||
return (ret == 1) ? 0 : -ret;
|
||||
}
|
||||
|
||||
s32 WDVD_SetFragList(int device, void *fraglist, int size)
|
||||
{
|
||||
s32 ret;
|
||||
|
||||
memset(inbuf, 0, sizeof(inbuf));
|
||||
memset(outbuf, 0, sizeof(outbuf));
|
||||
|
||||
/* Set FRAG mode */
|
||||
inbuf[0] = IOCTL_DI_SETFRAG << 24;
|
||||
inbuf[1] = device;
|
||||
inbuf[2] = (u32)fraglist;
|
||||
inbuf[3] = size;
|
||||
|
||||
DCFlushRange(fraglist, size);
|
||||
ret = IOS_Ioctl(di_fd, IOCTL_DI_SETFRAG, inbuf, sizeof(inbuf), outbuf, sizeof(outbuf));
|
||||
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
return (ret == 1) ? 0 : -ret;
|
||||
}
|
||||
|
@ -22,10 +22,8 @@ extern "C" {
|
||||
s32 WDVD_WaitForDisc(void);
|
||||
s32 WDVD_GetCoverStatus(u32 *);
|
||||
s32 WDVD_DisableReset(u8);
|
||||
s32 WDVD_SetWBFSMode(u32, u8 *);
|
||||
s32 WDVD_SetUSBMode(const u8 *, s32 partition);
|
||||
s32 WDVD_Read_Disc_BCA(void *buf);
|
||||
s32 WDVD_SetFragList(int device, void *fraglist, int size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
void InitVideo ();
|
||||
void InitVideodebug();
|
||||
extern "C" void StopGX();
|
||||
void StopGX();
|
||||
void ResetVideo_Menu();
|
||||
void Menu_Render();
|
||||
void Menu_DrawImg(f32 xpos, f32 ypos, f32 zpos, f32 width, f32 height, u8 data[],
|
||||
@ -21,7 +21,7 @@ void Menu_DrawImg(f32 xpos, f32 ypos, f32 zpos, f32 width, f32 height, u8 data[]
|
||||
void Menu_DrawTPLImg(f32 xpos, f32 ypos, f32 zpos, f32 width, f32 height, GXTexObj *texObj,
|
||||
f32 degrees, f32 scaleX, f32 scaleY, u8 alpha, int XX1, int YY1,int XX2, int YY2,int XX3, int YY3,int XX4, int YY4);
|
||||
void Menu_DrawRectangle(f32 x, f32 y, f32 width, f32 height, GXColor color, u8 filled);
|
||||
extern "C" s32 TakeScreenshot(const char *path);
|
||||
s32 TakeScreenshot(const char *path);
|
||||
|
||||
extern int screenheight;
|
||||
extern int screenwidth;
|
||||
|
@ -945,52 +945,5 @@ out:
|
||||
gprintf(" = %d",ret);
|
||||
return ret;
|
||||
}
|
||||
#define TITLE_LOWER(x) ((u32)(x))
|
||||
u32 GetReturnToTitle()
|
||||
{
|
||||
u32 tmdsize;
|
||||
u64 tid = 0;
|
||||
u64 *list;
|
||||
u32 titlecount;
|
||||
s32 ret;
|
||||
u32 i;
|
||||
|
||||
ret = ES_GetNumTitles(&titlecount);
|
||||
if(ret < 0)
|
||||
return 0;
|
||||
|
||||
list = memalign(32, titlecount * sizeof(u64) + 32);
|
||||
|
||||
ret = ES_GetTitles(list, titlecount);
|
||||
if(ret < 0) {
|
||||
free(list);
|
||||
return 0;
|
||||
}
|
||||
for(i=0; i<titlecount; i++) {
|
||||
if (list[i]==TITLE_ID(0x00010001,0x554c4e52)
|
||||
|| list[i]==TITLE_ID(0x00010001,0x554e454f))
|
||||
{
|
||||
tid = list[i];
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
for(i=0; i<titlecount && !tid ; i++) {
|
||||
if (list[i]==TITLE_ID(0x00010001,0x4A4F4449)
|
||||
|| list[i]==TITLE_ID(0x00010001,0x48415858))
|
||||
{
|
||||
tid = list[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
free(list);
|
||||
|
||||
if(!tid)
|
||||
return 0;
|
||||
|
||||
if(ES_GetStoredTMDSize(tid, &tmdsize) < 0)
|
||||
return 0;
|
||||
|
||||
return TITLE_LOWER(tid);
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ extern "C" {
|
||||
s32 getNameBN(char *name, u64 id);
|
||||
|
||||
// Get the name of a title from its 00000000.app in NAND
|
||||
s32 getName00(char *name, u64 id, int lang);
|
||||
s32 getName00(char *name, u64 id, int lang = 2);
|
||||
|
||||
// Get string representation of lower title id
|
||||
char *titleText(u32 kind, u32 title);
|
||||
@ -70,8 +70,6 @@ s32 WII_BootHBC();
|
||||
//get the rev of a ISO and such without having to load it
|
||||
s32 getIOSrev(u64 req);
|
||||
|
||||
u32 GetReturnToTitle();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user