josete2k escribió:Manumtz escribió:yo esque quiero ponerle alguna de One Piece: la de We Are!, Kokoro no Chizu! o la de Share the world que viene con el último Opening xd.
Prueba esta versión pre-3.0B, no tiene el IOS_Reload nuevo, así que no irá en las nuevas Wii.
Te permite cargar el ogg desde
sd:apps\uloader\file.ogg
DESCARGAR (Resubido por pequeño error, el ehcmodule era de la 3.0A)
Hermes o quien sepa de esto:
Tengo claro que conif(sd_ok)
{
PlayOgg(open("sd:/apps/uloader/file.ogg"),0,OGG_INFINITE_TIME);
selected_ogg=1;
}
selecciono el ogg de la SD...
Bien, si quiero que primero mire si hay en la SD y si no cargue el ogg incluido en el dol (bg_music):
n=-1;
if(sd_ok)
{
PlayOgg(open("sd:/apps/uloader/file.ogg"),0,OGG_INFINITE_TIME);
selected_ogg=1;
}
if(n<0)
PlayOgg(mem_open(bg_music, size_bg_music),0,OGG_INFINITE_TIME);
selected_ogg=1;
pero siempre me carga el ogg del dol... aún estando file.ogg en la SD...
¿En qué falla?
josete2k escribió:
Hermes o quien sepa de esto:
Tengo claro que conif(sd_ok)
{
PlayOgg(open("sd:/apps/uloader/file.ogg"),0,OGG_INFINITE_TIME);
selected_ogg=1;
}
selecciono el ogg de la SD...
Bien, si quiero que primero mire si hay en la SD y si no cargue el ogg incluido en el dol (bg_music):
n=-1;
if(sd_ok)
{
PlayOgg(open("sd:/apps/uloader/file.ogg"),0,OGG_INFINITE_TIME);
selected_ogg=1;
}
if(n<0)
PlayOgg(mem_open(bg_music, size_bg_music),0,OGG_INFINITE_TIME);
selected_ogg=1;
pero siempre me carga el ogg del dol... aún estando file.ogg en la SD...
¿En qué falla?
Vrsquid escribió:En que n sigue siendo -1
ios.c escribió:void __IPC_Reinitialize(void);
void __UnmaskIrq(u32);
void __MaskIrq(u32);
void udelay(int us);
static raw_irq_handler_t prolog_ios_irq = NULL;
s32 __IOS_LaunchNewIOS(int version)
{
u32 numviews;
s32 res;
u64 titleID = 0x100000000LL;
STACK_ALIGN(tikview,views,4,32);
#ifdef DEBUG_IOS
s32 oldversion;
#endif
s32 newversion;
if(version < 3 || version > 0xFF) {
return IOS_EBADVERSION;
}
#ifdef DEBUG_IOS
oldversion = IOS_GetVersion();
if(oldversion>0) printf("Current IOS Version: IOS%d\n",oldversion);
#endif
titleID |= version;
#ifdef DEBUG_IOS
printf("Launching IOS TitleID: %016llx\n",titleID);
#endif
res = ES_GetNumTicketViews(titleID, &numviews);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" GetNumTicketViews failed: %d\n",res);
#endif
return res;
}
if(numviews > 4) {
printf(" GetNumTicketViews too many views: %u\n",numviews);
return IOS_ETOOMANYVIEWS;
}
res = ES_GetTicketViews(titleID, views, numviews);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" GetTicketViews failed: %d\n",res);
#endif
return res;
}
#if 0
res = ES_LaunchTitle(titleID, &views[0]);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" LaunchTitle failed: %d\n",res);
#endif
return res;
}
__ES_Reset();
#else
////////////////////////////////////////////////////////////////
*((u32*)0x80003140) = 0; // clear old version number
//sync_after_write((u32 *)0x80003140, 4);
DCFlushRange((void*)0x80003140,4);
res = ES_LaunchTitleBackground(titleID, &views[0]);
if(res < 0) {
printf(" LaunchTitle failed: %d\n",res);
return res;
}
__MaskIrq(IRQ_PI_ACR);
prolog_ios_irq = IRQ_Free(IRQ_PI_ACR);
u32 ios_counter;
DCInvalidateRange((void*)0x80003140,8);
// wait for IOS version number to be set
for (ios_counter = 0; (*((u32*)0x80003140) >> 16) == 0; ios_counter++ ) {
//sync_before_read((u32*)0x80003140, 4);
DCInvalidateRange((void*)0x80003140,8);
udelay(1000);
}
u32 ipc_counter;
// wait for IPC to start on the newly-loaded IOS
for (ipc_counter = 0; !( *((volatile u32 *)0xcd000004) & 2); ipc_counter++)
udelay(1000);
IRQ_Request(IRQ_PI_ACR, prolog_ios_irq, NULL);
prolog_ios_irq = NULL;
__UnmaskIrq(IRQ_PI_ACR);
//udelay(2000*1000);
__IPC_Reinitialize();
__ES_Reset();
////////////////////////////////////////////////////////////////
#endif
newversion = IOS_GetVersion();
#ifdef DEBUG_IOS
printf(" IOS Version: IOS%d %d.%d\n",newversion,IOS_GetRevisionMajor(),IOS_GetRevisionMinor());
#endif
if(newversion != version) {
#ifdef DEBUG_IOS
printf(" Version mismatch!\n");
#endif
return IOS_EMISMATCH;
}
return version;
}
Hermes escribió: asi que lo primero: aseguraos de que estais utilizando la 3.0B [b]y que no teneis el módulo ehcmodule.elf en el directorio de uloader.
prosomilo escribió:Hermes escribió: asi que lo primero: aseguraos de que estais utilizando la 3.0B [b]y que no teneis el módulo ehcmodule.elf en el directorio de uloader.
Ahhh pensaba que el módulo ech debía ir dentro de la carpeta de uloader en apps... entonces en donde se coloca?
Por cierto, ya quité el cios 14 y puse el 13.a y en principio no me da los problemas que me daba antes en el Fire Emblem (y sin módulo ehc en ningún sitio, que esperaré a saber en donde va), ya iré probando el resto otro día.
Ornella escribió:prosomilo escribió:Hermes escribió: asi que lo primero: aseguraos de que estais utilizando la 3.0B [b]y que no teneis el módulo ehcmodule.elf en el directorio de uloader.
Ahhh pensaba que el módulo ech debía ir dentro de la carpeta de uloader en apps... entonces en donde se coloca?
Por cierto, ya quité el cios 14 y puse el 13.a y en principio no me da los problemas que me daba antes en el Fire Emblem (y sin módulo ehc en ningún sitio, que esperaré a saber en donde va), ya iré probando el resto otro día.
Como quitaste el cIOS 14 de waninkoko? que herramienta usaste? si alguien sabe como sacarlo si me avisa por favor
Muchas gracias
prosomilo escribió:Hermes escribió: asi que lo primero: aseguraos de que estais utilizando la 3.0B [b]y que no teneis el módulo ehcmodule.elf en el directorio de uloader.
Ahhh pensaba que el módulo ech debía ir dentro de la carpeta de uloader en apps... entonces en donde se coloca?
Por cierto, ya quité el cios 14 y puse el 13.a y en principio no me da los problemas que me daba antes en el Fire Emblem (y sin módulo ehc en ningún sitio, que esperaré a saber en donde va), ya iré probando el resto otro día.
Vrsquid escribió:XD lo del if 0 no me ha gustado nada. Que poco profesional. DD
Vrsquid escribió:¿Soy la unica persona extraña que cuando va a usar algo multithreaded hace la comprobacion de si existe y se puede acceder al fichero antes para ahorrarse posibles disgustos?
dantemugiwara escribió:Es cierto, el Cios 14 de Waninkoko interfiere con el de Hermes... yo cuando instalé el ultimo de wanin interferia en ulaoder... pero hermes hizo una nueva versión de uloader y volvió a funcionar como siempre.
He estado jugando a Metroid trilogy....y va perfecto, estoy jugando al 1 y probé si el 3 se veia en castellano y va todo bien.
ël único pero es que todavia no está subida la caratula de este grandioso juego.
Sigo reportando 0 fallos en uloader
pd desde dvd9 el emtroid ocupa 7,5 gigas... que lo rpegunté ahce tiempo.
pd2 me alegra ver que fuera de los foros de manga veo gente que le gusta One piece como son josete y Manumtz, por cierto te recomiendo que escuches brand new world, es mi opening favorito de one piece
Vrsquid escribió:Sobre el ios de Waninkoko y tuyo. No se si voy a decir una tonteria muy grande. En los tickets he visto que los recursos se pueden declarar shared. ¿No sera que alguna de las partes que usais este puesta como shared y al instalar uno os cargais parte del otro?
Manumtz escribió:pues entonces veo más logico que waninkoko lance otro cIOS38 - 249 y así arregla algunos bugs conocidos en la r14:
Los más conocidos en la r14
-Pantalla bloqueada en Usb Loader y necesidad de apagar la consola para elegir un segundo juego a jugar.
-Al poner el IOS 249/250 de System Menu en el Preloader la wii se traba siempre al entrar en configuracion de la wii despues salir y meterte en algun canal.
Hermes ya que estas en contacto con él ¿podrías decirle eso cuando tengas algo que decirle?
Hermes escribió:Manumtz escribió:pues entonces veo más logico que waninkoko lance otro cIOS38 - 249 y así arregla algunos bugs conocidos en la r14:
Los más conocidos en la r14
-Pantalla bloqueada en Usb Loader y necesidad de apagar la consola para elegir un segundo juego a jugar.
-Al poner el IOS 249/250 de System Menu en el Preloader la wii se traba siempre al entrar en configuracion de la wii despues salir y meterte en algun canal.
Hermes ya que estas en contacto con él ¿podrías decirle eso cuando tengas algo que decirle?
Oye, que yo no tengo telefono rojo con Waninkoko! . Supongo que el es consciente de los problemas que se le presentan al igual que yo.
De todas formas, hay esto es como estar en la Jungla y muchas de estas cosas se resuelven a base de experimentar e intuición, por que vas a ciegas o con pocas referencias (por ejemplo, yo tenía un problema que achacaba al nuevo IOS_Reload y luego resultó estar relacionado con la cache de instrucciones, probablemente porque se produjera una interrupción antes de que yo aplicara una serie de parches y eso refrescara dicha caché anulando mis parches).
Manumtz escribió:entonces se recomienda quitar el Cios 249 por ahora?
Mokona Modoki escribió:Manumtz escribió:entonces se recomienda quitar el Cios 249 por ahora?
+1
Yo tengo instalada la rev 14 del cIOS 249 y no he notado algo raro. ¿Qué clase de interferencia hace con el cIOS 222 o que clase de conflictos causa?
No uso el cIOS de Waninkoko para cargar por USB, sólo lo he llegado a usar para pruebas y nada más
Manumtz escribió:entonces se recomienda quitar el Cios 249 por ahora?
Vrsquid escribió:
¡Ah! El maravilloso mundo de la documentacion insuficiente o inexistente. Aun sigo asombrado con tu asndlib.
N-N escribió:Hermes, tu loader es una maravilla. Yo empecé utilizando el de Wanin paro a partir de la versión 2.0 me he quedado enganchado al uLoader. Por ahora nada que reportar (sólo he tenido un pequeño problema con el WSR solucionado con el .dol alternativo).
Sólo tengo una pregunta: ayer actualizando con el cIOS222 me despisté y lo instalé en el 249 en el IOS36 y luego lo instalé como Cios222 en el IOS38. ¿Puede haber algún problema?
Manumtz escribió:entonces para los que tengamos la r14 del cIOS 249/250 tenemos que borrarlos con any title deleter e instalar una versión anterior del cIOS 249/250 y despues reinstalar el cIOS222 para que este bien?
3vagos escribió:ArangeL escribió:3vagos escribió:Hola,
al compilar el uloader me da el siguiente error:.../src/uloader/source/uloader.c:4541: error: '__io_wiisd' undeclared (first use in this function)
El mismo error me da al intentar compilar el forwarder.
Tego instaldo el devkitPro con las librerias de Hermes. He buscado por los ficheros include y no aparece ninguna referéncia a dicha función a pesar de que está disponible en libfat.a
Alguien sabe donde queda definida dicha función?
(los ejemplos de Hermes se compilan y se ejecutan perfectamente)
Saludos.
Según comentó, editó las librerías "estándar". Por lo que supongo que toquetearía dicha función por el tema de las SDHC. Según comentó tenía que subir dichas modificaciones a su carpeta personal. Ya lo hará cuando vuelva.
Lo acabo de probar en la versión Windows (normalmente uso Linux) y me dá el mismo error.
Entonces como ha comentado josete2k que no le da este error a pesar de no tener instalado el parche de Hermes he reinstaldado el kit de desarrollo sin los parches. Ahora uloader.c me compila bien sin el error pero ahora tengo un error del linker:linking ... uloader.elf
http.o: In function `http_deinit':
d:/devkitPro/Hermes/uloader/src/uloader/source/http.c:376: undefined reference to `net_deinit'
collect2: ld returned 1 exit status
make[1]: *** [/d/devkitPro/Hermes/uloader/src/uloader/uloader.elf] Error 1
Saludos.
extern const DISC_INTERFACE __io_wiisd;
3vagos escribió:
PD: Voy a pasar este tema al hilo "Curso de Programación" de Hermes. Creo que estará mejor ubicado en ese hilo al tratarse de un problema de compilación.
Hermes escribió:3vagos escribió:
PD: Voy a pasar este tema al hilo "Curso de Programación" de Hermes. Creo que estará mejor ubicado en ese hilo al tratarse de un problema de compilación.
No creo que sea un buen lugar, entre otras cosas porque yo ya avisé que la libogc del curso es mas antigua (de hecho, no hace mucho puse lo que había que hacer para poder utilizar las librerías antiguas del curso, partiendo de una instalación "moderna")
Todo tiene que ver con que poco después de publicar el curso en entuwii.net, rompieron de forma radical la libfat de forma que ahora se inicializa de otra manera. Por lo tanto, no te sirve esa librería para compilar. El curso te sirve para aprender y gran parte es perfectamente válido, exceptuando algunas cosas de libfat.
Lo del error de net_deinit() es algo que añadí y que puedes encontrar entre los fuentes de uLoader y es básicamente, un IOS_Close() . Tambien he subido hace poco en un post el código necesario para el IOS_Reload() nuevo.
selected_ogg=1;
n=-1;
if(sd_ok)
{
FILE *fp;
fp=fopen("sd:/apps/uloader/file.ogg","rb");
if(fp!=0)
{
PlayOgg(open("sd:/apps/uloader/file.ogg"),0,OGG_INFINITE_TIME);
fclose(fp);
}
else
PlayOgg(mem_open(bg_music, size_bg_music),0,OGG_INFINITE_TIME);
}
else
{
n=PlayOgg(mem_open(bg_music, size_bg_music),0,OGG_INFINITE_TIME);
}
N-N escribió:
Sólo tengo una pregunta: ayer actualizando con el cIOS222 me despisté y lo instalé en el 249 en el IOS36 y luego lo instalé como Cios222 en el IOS38. ¿Puede haber algún problema?
Manumtz escribió:
Lo que has hecho es instalar el cIOS222 usando el 249 para instalarlo, no lo has instalado en 249.
josete2k escribió:llamadme tonto, ya he solucionado el tema de ogg interno/externo:selected_ogg=1;
n=-1;
if(sd_ok)
{
FILE *fp;
fp=fopen("sd:/apps/uloader/file.ogg","rb");
if(fp!=0)
{
PlayOgg(open("sd:/apps/uloader/file.ogg"),0,OGG_INFINITE_TIME);
fclose(fp);
}
else
PlayOgg(mem_open(bg_music, size_bg_music),0,OGG_INFINITE_TIME);
}
else
{
n=PlayOgg(mem_open(bg_music, size_bg_music),0,OGG_INFINITE_TIME);
}
pero no puedo compilar el ios.c nuevo, siempre me da errores raros...
¿He de tocar algo más? Va que sólo me queda eso (y lo del volumen )
selected_ogg=1;
if(~(sd_ok & PlayOgg(open("sd:/apps/uloader/file.ogg"),0,OGG_INFINITE_TIME)))
{
PlayOgg(mem_open(bg_music, size_bg_music),0,OGG_INFINITE_TIME);
}
N-N escribió:N-N escribió:
Sólo tengo una pregunta: ayer actualizando con el cIOS222 me despisté y lo instalé en el 249 en el IOS36 y luego lo instalé como Cios222 en el IOS38. ¿Puede haber algún problema?
Manumtz escribió:
Lo que has hecho es instalar el cIOS222 usando el 249 para instalarlo, no lo has instalado en 249.
Es decir, que sigo teniendo instalado el cIOS36_rev10 de Wanin en el 249, ¿no?
Gracias Manumtz
Edito: ¿sabeis que ha pasado con la web que tenía los códigos Ocarina?, ¿hay alguna otra del estilo?
s32 __IOS_LaunchNewIOS(int version)
{
u32 numviews;
s32 res;
u64 titleID = 0x100000000LL;
STACK_ALIGN(tikview,views,4,32);
#ifdef DEBUG_IOS
s32 oldversion;
#endif
s32 newversion;
if(version < 3 || version > 0xFF) {
return IOS_EBADVERSION;
}
#ifdef DEBUG_IOS
oldversion = IOS_GetVersion();
if(oldversion>0) printf("Current IOS Version: IOS%d\n",oldversion);
#endif
titleID |= version;
#ifdef DEBUG_IOS
printf("Launching IOS TitleID: %016llx\n",titleID);
#endif
res = ES_GetNumTicketViews(titleID, &numviews);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" GetNumTicketViews failed: %d\n",res);
#endif
return res;
}
if(numviews > 4) {
printf(" GetNumTicketViews too many views: %u\n",numviews);
return IOS_ETOOMANYVIEWS;
}
res = ES_GetTicketViews(titleID, views, numviews);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" GetTicketViews failed: %d\n",res);
#endif
return res;
}
res = ES_LaunchTitle(titleID, &views[0]);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" LaunchTitle failed: %d\n",res);
#endif
return res;
}
__ES_Reset();
newversion = IOS_GetVersion();
#ifdef DEBUG_IOS
printf(" IOS Version: IOS%d %d.%d\n",newversion,IOS_GetRevisionMajor(),IOS_GetRevisionMinor());
#endif
if(newversion != version) {
#ifdef DEBUG_IOS
printf(" Version mismatch!\n");
#endif
return IOS_EMISMATCH;
}
return version;
}
ios.c escribió:void __IPC_Reinitialize(void);
void __UnmaskIrq(u32);
void __MaskIrq(u32);
void udelay(int us);
static raw_irq_handler_t prolog_ios_irq = NULL;
s32 __IOS_LaunchNewIOS(int version)
{
u32 numviews;
s32 res;
u64 titleID = 0x100000000LL;
STACK_ALIGN(tikview,views,4,32);
#ifdef DEBUG_IOS
s32 oldversion;
#endif
s32 newversion;
if(version < 3 || version > 0xFF) {
return IOS_EBADVERSION;
}
#ifdef DEBUG_IOS
oldversion = IOS_GetVersion();
if(oldversion>0) printf("Current IOS Version: IOS%d\n",oldversion);
#endif
titleID |= version;
#ifdef DEBUG_IOS
printf("Launching IOS TitleID: %016llx\n",titleID);
#endif
res = ES_GetNumTicketViews(titleID, &numviews);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" GetNumTicketViews failed: %d\n",res);
#endif
return res;
}
if(numviews > 4) {
printf(" GetNumTicketViews too many views: %u\n",numviews);
return IOS_ETOOMANYVIEWS;
}
res = ES_GetTicketViews(titleID, views, numviews);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" GetTicketViews failed: %d\n",res);
#endif
return res;
}
#if 0
res = ES_LaunchTitle(titleID, &views[0]);
if(res < 0) {
#ifdef DEBUG_IOS
printf(" LaunchTitle failed: %d\n",res);
#endif
return res;
}
__ES_Reset();
#else
////////////////////////////////////////////////////////////////
*((u32*)0x80003140) = 0; // clear old version number
//sync_after_write((u32 *)0x80003140, 4);
DCFlushRange((void*)0x80003140,4);
res = ES_LaunchTitleBackground(titleID, &views[0]);
if(res < 0) {
printf(" LaunchTitle failed: %d\n",res);
return res;
}
__MaskIrq(IRQ_PI_ACR);
prolog_ios_irq = IRQ_Free(IRQ_PI_ACR);
u32 ios_counter;
DCInvalidateRange((void*)0x80003140,8);
// wait for IOS version number to be set
for (ios_counter = 0; (*((u32*)0x80003140) >> 16) == 0; ios_counter++ ) {
//sync_before_read((u32*)0x80003140, 4);
DCInvalidateRange((void*)0x80003140,8);
udelay(1000);
}
u32 ipc_counter;
// wait for IPC to start on the newly-loaded IOS
for (ipc_counter = 0; !( *((volatile u32 *)0xcd000004) & 2); ipc_counter++)
udelay(1000);
IRQ_Request(IRQ_PI_ACR, prolog_ios_irq, NULL);
prolog_ios_irq = NULL;
__UnmaskIrq(IRQ_PI_ACR);
//udelay(2000*1000);
__IPC_Reinitialize();
__ES_Reset();
////////////////////////////////////////////////////////////////
#endif
newversion = IOS_GetVersion();
#ifdef DEBUG_IOS
printf(" IOS Version: IOS%d %d.%d\n",newversion,IOS_GetRevisionMajor(),IOS_GetRevisionMinor());
#endif
if(newversion != version) {
#ifdef DEBUG_IOS
printf(" Version mismatch!\n");
#endif
return IOS_EMISMATCH;
}
return version;
}
Vrsquid escribió:No se que haces con ios.c yo solo tengo devkitpro actualizado.
Estaba echandole un vistazo para incluir los cambios de hermes en lo nuevo y no cambiar a saco.
Es lo que tiene el c que es un dolor de muelas pasas el mismo tiempo programando como ajustando cosillas para que compile.
N-N escribió:N-N escribió:
¿sabeis que ha pasado con la web que tenía los códigos Ocarina?, ¿hay alguna otra del estilo?
Elbarto777 escribió:N-N escribió:N-N escribió:
¿sabeis que ha pasado con la web que tenía los códigos Ocarina?, ¿hay alguna otra del estilo?
+1
Me uno a la petición