[Hilo Oficial] uLoader v5.1E (Emulacion saves, DLC, Wiiware)

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 con
      if(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?

Gracias, esta de puta madre, a ver si alguien da con la tecla y asi podemos ponerlo para subir y bajar volumen y para lo que le falta,. Yo creo que hermes debería añadirle lo del OGG ya de paso, solo es una sugerencia xd.
josete2k escribió:
Hermes o quien sepa de esto:

Tengo claro que con
      if(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?

En que n sigue siendo -1
Bien!!!, entonces solo Falta lo del IOS_Reload y ajustar el Volumen de la musica OGG
Vrsquid escribió:En que n sigue siendo -1


Exacto XD

Se supone que PlayOgg devuelve error y debería ser n=PlayOgg(....

Pero además, el fichero debería abrirse con fopen, salvo que josete esté utilizando una versión muy antigua...

-------------------------------------------------------------------------------------------------------------

Por otro lado, estoy ausente porque estoy haciendo currando en casa (de chapuza) y tengo poco tiempo para pasarme por el foro (por no decir ninguno) y bueno, veo que algunos tiene problemas que otros no, asi que lo primero: aseguraos de que estais utilizando la 3.0B y que no teneis el módulo ehcmodule.elf en el directorio de uloader. Si os obliga a desenchufar/enchufar, tal vez se deba al HBC, que bloquee vuestro dispositivo y a lo mejor, podéis solucionarlo con el modulo alternativo que téneis en descarga (con Reset Bulk). De todas formas, cuando pueda le echaré un ojo por si puedo anclar en otro punto la interrupción o procesar posibles cambios antes de salir de la función de tratamiento .

Tambien recordad que si teneis instalada la rev 14 del cIOS de Waninkoko, hace interferencias con el cIOS 222, cosa que ya ha sido comentada por muchos de vosotros tanto en éste como en otros hilos. Hoy Waninkoko me ha mandado un MP y yo le he preguntado sobre el tema, a ver si conseguimos que ambos cIOS puedan convivir sin interferirse y ganando prestaciones ;)

Por otro lado, el parche de ios_reload que estoy utilizando es este:

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;
}



Simplemente, hay que cambiar en ios.c la rutina __IOS_LaunchNewIOS() por esa, compilar libogc y luego forzar la compilación del programa. Si os fijais el #if 0 se usa para deshabilitar el código antiguo y utilizar el nuevo método.

El spritegen nuevo, ya lo subiré cuando pueda, pero tengo que modificar si no recuerdo mal, la exportación de color directo (sin paleta) a RGB5A3 y ahora no tengo tiempo y además, estoy cansado :p

Saludos
Bajado, gracias por todo, realmente aprecio la dedicación, cuando yo me pongo en algo normalmente suelo tardar 1 mes en dejarlo de lado... lol

PD: Tambien porque creo que hace lo que deberia hacer... y sólo lo uso yo.. jajaja... y que son tonterias... lo dicho, [oki] [oki] [oki] [oki] [oki] [oki] [oki]
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... [ayay] 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.
XD lo del if 0 no me ha gustado nada. Que poco profesional. XDDD

¿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?

Open creo que esta deprecated no obsolete. Un warning y ya esta na del otro mundo. Mientras compile XDD
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... [ayay] 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
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... [ayay] 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

any title deleter son los IOS: 249 y creo que 250
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... [ayay] 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.


El modulo externo debe estar en apps/uloader, pero la recomendación de borrarlo, es para evitar que el modulo externo antiguo, se utilice en lugar del interno moderno. Vamos que te asegures de el programa utiliza los módulos mas nuevos (sean internos o externos) antes de decir "oye, que esto no va".


Vrsquid escribió:XD lo del if 0 no me ha gustado nada. Que poco profesional. XDDD


Hombre, yo no soy un profesional (te recuerdo que soy Yesero ;)), pero en mi opinión los tiquismiquis del código que le dan mas importancia a la forma que al contenido y se paran a mirar insignificancias, de profesionales tienen poco (que cobran un sueldo, calientan una silla y poco más). Es más, corren el riesgo de que uno piense que es lo único que han sabido entender del código XD

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?


No se a que te refieres con eso, pero cuando tratas de abrir un fichero, con lo que te devuelve, ya sabes si existe o no puedes acceder a el. Y un descriptor de fichero invalido, producirá un error que está perfectamente previsto (si tratas de leer, te devolverá un error que cualquier rutina de lectura procesa normalmente). Por ejemplo, la librería de ogg, si llamas a PlayOgg() con fd=NULL, retorna con error -1, asi que no hay disgusto posible.
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
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

el Opening 6 (D-51 Brand New World) tambien está bien pero mi favorito es el último el de Share the World y despues el kokoro no chizu.

Bueno a ver que es lo que van a hacer Hermes y Waninkoko para que sus cIOS se complementen bien y no den fallas por esta los dos puestos.

Nuevo cIOS222? o Nuevo cIOS38 - 249?
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?
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?



Eso le he comentado yo. En principio, el no sabe que puede ser, pero yo tampoco se que toquetea con sus IOS, por que no he instalado la v14

Como le he comentado, mis sospechas son:

- O bien el toquetea algun IOS que utilice el menu y al arrancar el cIOS 222 el lo bloquea para sus usos.

- O bien es debido al flag Shared que supongo que se usa para compartir modulo, implicando eso que si instalas v14 te cepillas el modulo mload, como poco.

La verdad es que a punto estuve de quitar ese flag en mi instalador, pero como yo no estoy puesto en como se almacenan dichos contenidos y además, incluso teniendo razón en esto último, también se pueden interferir otros módulos, pues lo dejé como estaba.

De todas formas, yo no tengo intención de sacar ningún cIOS por que en principio, con lo que hay funciono perfectamente, tengo posibilidad de modificarlo desde dentro y no preciso del cIOS 249 v14 para nada. Mi política es no actualizar IOS salvo extrema necesidad y esto no lo es.
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?
A mi no me ha dado problemas el cios 14 desde que me diste esa version de uloader hace tiempo (creo que era la 2.6d o alguna asi).
Yo creo que hermes no deberia toquitear el cios... al fin y al cabo entran en conflicto por algo que hizo en su nuevo cios wanin (aunque a mi no me afecta parece ser), asiq ue es más fácil que lo arregle wanin
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! XD. 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).
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! XD. 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).


¡Ah! El maravilloso mundo de la documentacion insuficiente o inexistente. Aun sigo asombrado con tu asndlib.
entonces se recomienda quitar el Cios 249 por ahora?
pues si lo necesitas para alguna otra aplicacion instala alguno que no sea la 14 (recomiendo la 13a o la 10)
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
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


Pues no estoy seguro pero creo que uno de los conflictos era con el error 002... yo igual tengo la rev 14 y por ahora no tengo ningun problema, pero si en algun momento los tengo simplemente regreso a uno anterior.
Manumtz escribió:entonces se recomienda quitar el Cios 249 por ahora?


Hombre, desde el punto de vista de uLoader, lo mejor es tener la revisión 13a, si es que la necesitas para algo, porque es obvio que yo me centro en 222-223 y que el 249 capa ciertas funcionalidades de uLoader. Quiza tener un 249 orientado a la carga de disco os sea util, pero si instalas el 249, es probable que después tengas que reinstalar el 222. Waninkoko se reserva parte del código fuente, como el instalador que utiliza, motivo por el que no se ni los parches que aplica, ni en que podemos estar interfiriéndonos. Por ejemplo, yo no se exactamente que hace el para que ES_Identify funcione: tal vez retorne sin error la función o tal vez elimine un chequeo interno que a mi me tocó descubrir (o redescubrir, quien sabe). Yo en estas cosas, respeto mucho el espacio personal y entiendo que no todo el mundo quiera compartir su trabajo o todo su trabajo: si necesitas ayuda, preguntas y si recibes una buena respuesta, gracias y si no la recibes, pues hay que respetar el parecer del preguntado.

Vrsquid escribió:
¡Ah! El maravilloso mundo de la documentacion insuficiente o inexistente. Aun sigo asombrado con tu asndlib.


asndlib es algo increíble y que tiene por lo menos, 10 veces el valor de lo que haya hecho con uLoader. Aquí hablamos de reversar el DSP, con muy poca información e incluso información equivocada, de descubrir nuevas instrucciones maquina y su comportamiento, de mejorar el ensamblador y el desensamblador, de darle forma y utilidad como mezclador de canales.

En 3 años el DSP estuvo muerto, con unos leves intentos de enviar y recibir un mensaje, hasta que un día marcan me sugirió de mirarlo, me pasó un PDF y en pocos días ya estaba hecho XD. Shakgur flipaba con la librería y estaba bastante asombrado con el logro, para que te hagas una idea XD (sobre todo teniendo en cuenta que el lo había intentado durante dos años)

Por eso yo suelo decir que no hay nunca que ignorar a nadie, ni menospreciarle en cuestión de dar información y oportunidades, porque nadie sabe quien será el que de la campanada y muchas veces, alguien que no esperas, es el que da en el clavo. Y aquí faltan manos para hacer cosas y sobra gente que busca ser protagonista a costa de reservarse la información para si y no compartirla.

Por ejemplo, es de admirar que alguien como josete2k, que no es programador y que se tiene que manejar con dificultad por motivos obvios, le eche cojones para sacar lo que el llama la versión ñoña, atreviéndose incluso a añadir soporte Ogg. Lo mas importante, no es lo que sepas, si no la voluntad que pones y que es lo que al final, marca la diferencia y lo que te ayuda a aprender (sobre todo detalles como que solo por el "ruido del motor" puedas deducir donde tienes la avería en el código en un entorno hostil).

Saludos

EDITO

El nuevo spritegen:

http://mods.elotrolado.net/~hermes/spri ... 2_Beta.rar

Aqui explico un poco como funciona el modo de color RGB5A3
Sigue sin descargarse la caratula de metroid trilogy.

En cuanto a lo demás sigue funcionando perfectisimamente
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?
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?
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?

lo que has hecho es instalar el cIOS222 usando el 249 para instalarlo, no lo has instalado en 249.
a ver creo que la gente se esta liando (a lo mejor soy yo) pero el hecho de tener intalado el cios de waninkoko no moleta al uloader si el uloader lo tengo configurado para que use el 222, No? osea que si yo cargo un juego con cios222 por tener intalado el cios249 no interfiere, o estoy equivocado?
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?


Me uno a esta pregunta, ya saque el cIOS249 pero no se si sacar ahora el 250, o dejarlo como esta
por ahora no tuve mas fallos, salvo que a veces debo desconectar el wiimote y volverlo a sincronizar pero es muy esporadico
Son muchas cosas cambiadas y muchas por probar, esto es un pandemonio echo y derecho, pero que divertido!!!
si se borra el 249 tambien hay que borrar el 250.

en el preloader me dice que tengo los IOS: 256 y 257 estos que son? en el any title deleter no salen xd.
Hola, he instalado este y el usb loader GX y en ambos, me salen en casi todos los juegos el mensaje de:
"Se ha producido un error. pulsa el botón eject, saca el disco y apaga la consola. Consulta el manual de instrucciones de la consola wii para obtener información."
no se por qué, pero de más de 50 títulos, solo uno o 2 me deja jugarlos a la perfección, en TODOS los demás, me sale ese error, incluidos mario kart, ssbb, en todos...
Alguna idea?
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.


Sigo batallando con el tema.
He visto que en wiisd_io.h de la versión Hermes no está definido __io_wiisd y lo he añadido a mano:
extern const DISC_INTERFACE __io_wiisd;


Entondes aparecen otros errores, concretamente el uso de la función fatMountSimple sin declarar (es solo un warning) y por el uso de la función fatUnmount con parámetros diferentes a los definidos en fat.h. Todo esto me hace pensar que se ha de usar el kit de desarrollo sin los parches de Hermes, cosa que ya he probado pero con errores del linker como ya he contado.

¿Alguien que haya conseguido compilar uloader me podría decir que versión de devkitPro está usando y si lo hace con los parches de Hermes?

Saludos.

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.
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.
Sólo posteo para agradecer a Hermes el trabajo.

Yo usaba el backup loader pero tras problemas de incapacidad de cargar los nuevos juegos opté por uloader.

Perfecta documentación en el hilo y en los leeme. Disco duro externo Iomega de 640 GB. Cero problemas

Lo dicho gracias por el trabajo del uLoader y también, no hay que olvidarse, gracias por el trabajo de aguantar a la comunidad
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.


Gracias Hermes por tu respuesta.
Si lo de usar las librerías antiguas partiendo de una instalación "Moderna" te refieres a este post, ya lo había probado y tampoco compila. Da exacatamente los mismos errores aparte de que hecha a faltar el fichero ogc/disc_io.h que tuve que sacar de la versión "Moderna".

Saludos
3vagos, como bien te ha dicho Hermes, con el network_wii.c de los sources puedes compilar libogc de nuevo para que no se te produzca este error.

Recuerda luego además añadir el parche para libfat con además el partition.c que adjunta también en las descargas, te lo pego por aquí ya preparado para descomprimirlo en devkitpro y darle al bat:

http://www.mediafire.com/?mmyndcnyjjm

Con esto ya compilarás bien....





Por mi parte, 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? Sólo me queda eso y lo del volumen :( que no creo que pueda hacer, la función SetVolumeOgg() puede conmigo y nno se como "meterla" en uLoader.


Por cierto, he visto que en el boot que subí (sin ios.c nuevo) no busca los dol alternativos... ¿es por eso?

Aghhh......
Buenas.

Tengo problemas para añadir caratuals al ulaoder.

Como no se descargaba la caratula del metroid triology, decidí meterla a amno yo mismo, el resultado fue satisfactorio... y me dije voy a cambiar algunas portadas por otras custom... pues bien el mario kart tambien lo conseguí pero no lo consigo con umbrella chonicles.

Me da un error raro, no se visualiza la imagen a pesar de que las puse todas en la misma media... hay algun programa que me deje la imagen para pdoer meterla en el ulaoder... ¿o que hago mal?
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?
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 :()


No se para que usas n.

        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);
         }


Este es mucho mas corto josete y creo que hace lo mismo. Hace mucho que no programo en c.
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?

Si sigues teniendo el CIOS de waninkoko en el 249.
Vaya, gracias, ya pensaba que estaba solo [sonrisa] ...

Ya puestos... ¿podrías echarme un cable con ios.c?


EDITO: no coge file.ogg de SD con tu código... seguro que es culpa mia ya que tú hace tiempo que no programas y yo no pasé del primer curso c de la universidad :P

Por ahora lo dejaré como estaba ;) ya que lo he testeado en canal wad y desde dol, con archivo OGG en la SD y sin archivo OGG en la SD, con SD y sin SD....


Lo del ios.c aún me tiene mosca.....
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.

Edit
Tienes que abrir el ios.c en el programers notepad que viene con el devkitpro.

buscas esto:

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;
}


y lo sustituyes por esto otro


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.



Lo digo por aplicar el parche para el nuevo IOS_Reeload() que permite carga en las nuevas Wii... y creo que influye también en el load_dol porque con mis compilaciones de 3.0 no buscan el dol alternativo...

hilo_utilidad-uloader-v3-0b-ocarina-y-forzado-de-video-idioma_1217626_s2400#p1717168501
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
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

http://www.geckocodes.org/

Ya de paso aprovecho para preguntar por lo del Metroid Trilogy

¿Todavia no es posible que cargue el dol "in game"?
Gracias Vrsquid , ya lo hice anteriormente y me da errores varios compilando... :(

Imagen

El primer fallo delante de prolog_ios_irq = NULL; a partir de ahí, el resto.


PD: he probado la 2.8D que hice en su día y antes sí buscaba dol alternativos y ahora no... ¿tiene algo que ver el nuevo cIOS?
Josete falta un include

#include "irq.h"

Arriba del todo del archivo hay unos include. Añade ese que te he puesto almohadilla y comillas incluidas.
Listo!!! Qué fallo más tonto!!!!!

Estoy testeando y la carga de dol (la búsqueda) no me funciona ni compilando los sources de Hermes directamente..... :(
a mi el IOS.c no me sale
10244 respuestas