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

dudo mucho que sean como las de psp, las ciso son isos eliminada la basura y las actualizaciones, es un formato que ha creado hermes para facilitar el extraer las imágenes wii del disco duro y su posterior grabación, no creo que tenga nada que ver con psp salvo el nombre

juanca, a mí pikmin 2 me funciona usando 222 y 249, así que tu problema debe ser otro, probablemente un disco duro poco compatible, o unos isos defectuosos
los backup no deben ser cuando eh probado como 8 o 9 y todos se me quedan pillados
Buenas!
Tengo una duda. Veo que en las características del uloader, se menciona que se puede navegar por el menú del juego con la guitarra del GH3. En mi caso, lo he probado con la del GH World Tour, y no me la ha detectado, por lo que para poder entrar en los juegos, he tenido que sacar el wiimote de la guitarra, y una vez seleccionado el juego, volver a colocarlo en la guitarra. ¿Hay alguna posibilidad de hacer que también se pueda navegar con la del GH World Tour, o con su batería, o solo es posible hacerlo si se usa la del GH3?
Un saludo y gracias por este pedazo de programa!
Me gustaría probar este loader pero tengo el siguiente problema, he leído y buscado por el foro y hay varias personas que les pasa pero no encuentro la solución:

-- Cuando intento instalar el cios 222 offline usando la tarjeta SD (todos los archivos guardados como se debe) comprueba los archivos y todos dan ok pero a la hora de comenzar a instalar me lanza error -1017 y sale al HBC. He probado varias veces y vuelto a bajar los archivos pero siempre me da el mismo error.

Tengo el System Menu 4.0 de Waninkoko + cios39 rev10 + HBC + parche IOS60 para trucha. Me gustaría saber si estoy haciendo algo mal o si alguien más que le ha pasado y ha logrado instalar el cios222. Gracias
Hermes te cuento esto por si te sirve de algo no se si es bug, es normal o ¿que?
Tengo el ciosrev9 y tu loader, bueno pues cuando grabo algun juego en mi disco duro ya sea por pc o wii tu loader me reconoce el disco y puedo jugar bien sin problemas incluso dejandolo en pausa mas de 20 min. y volviendo a jugar desde el pricipio. El caso es que cuando apago la wii y el disco, y al cabo de un rato vuelvo a encender me sale error -1 y no hay nada que hacer. Vuelvo a meterle algun juego nuevo y vuelve a funcionar. ¡no me lo explico! ¬_¬ ¬_¬
ryancillo escribió:Buenas!
Tengo una duda. Veo que en las características del uloader, se menciona que se puede navegar por el menú del juego con la guitarra del GH3. En mi caso, lo he probado con la del GH World Tour, y no me la ha detectado, por lo que para poder entrar en los juegos, he tenido que sacar el wiimote de la guitarra, y una vez seleccionado el juego, volver a colocarlo en la guitarra. ¿Hay alguna posibilidad de hacer que también se pueda navegar con la del GH World Tour, o con su batería, o solo es posible hacerlo si se usa la del GH3?
Un saludo y gracias por este pedazo de programa!

Es que creo que Hermes sólo tiene la guitarra del GHIII, así que toca comprarle una entre todos o prestársela !!!
A ver si alguien me ayuda con lo que me pasa.
Le cuesta arrancar el canal i cuando sale algo en pantalla me dice que no se puede inicializar (en ingles) i error -1 porque pasa?? que puedo hacer???
Gracias
¿Alguna solucion para lo que me pasa? se me quedan pillados todos los juegos en algun lugar por ejemplo mario kart al iniciar el modo un jugador.. ¿sabeis que puede ser? tengo un seagate de 60GB
Has instalado el cIOS 222 beta Hermes ?

http://www.elotrolado.net/hilo_tuto-cios222-b3-hermes-soluciona-problemas-hdds-usbs_1224200

Si así tampoco te va, pues a esperar a que saque una actualización...
[fumando]
Hola, hermes, espero no importunarte pero como hace tiempo que no apareces solo queria saber como llevas "eso en lo que estas trabajando" y si puedes adelantar algo, de en que consiste, estamos impacientes (y no es presionar, solo un deseo).
Saludos y gracias por todo.
villahermosa escribió:Hola, hermes, espero no importunarte pero como hace tiempo que no apareces solo queria saber como llevas "eso en lo que estas trabajando" y si puedes adelantar algo, de en que consiste, estamos impacientes (y no es presionar, solo un deseo).
Saludos y gracias por todo.


Yo tampoco quiero presionar pero me uno al deseo [+risas] [+risas]
Ojala sea algo que me solucione mi problema jejejej
¿Os imagináis que hubiera una manera, para que por ejemplo, si alguien saca una actualización para el driver USB o para el dip_plugin, no se hiciera necesario tener que actualizar el cIOS?

¿Os imagináis que el cIOS pudiera protegerse y cuando un juego le pidiera cambiar a otra versión, el cIOS le hiciera creer que ha cambiado de versión, cuando en realidad sigue en la misma y con todos los drivers en activo y que si fuera necesario actualizar esa protección, no hubiera que actualizar el cIOS, si no una pequeña sección de código? ¿que incluso existiera la posibilidad de que elaborandolo más, pudieramos simular un cambio de IOS verdadero pero manteniendo el control?

¿Os imagináis que aparte de los pequeños parches, solo hubiera que subir un pequeño módulo de 4KB que tuviera las siguientes funciones? :

1) Alojar memoria en el Starlet, desde 0x13700000 hasta 0x137FFFF, 512KB. En esa memoria podemos cargar MODULOS, como el ehc (el driver usb) o el dip_plugin (que ahora es completamente configurable desde el exterior)

2) Hacer la inicialización mínima para el USB y luego pasar la estructura necesaria para trabajar mediante una llamada ioctlv. Esto tiene la ventaja, de que posiblemente, no se pegue con otros dispositivos y en caso de hacerlo, se podría hacer que solo trabajase sobre un puerto en particular, en modo USB 2.0, ignorando los otros "tres" (nosotros solo vemos, uno más, pero el bluetooth tira de uno interno)

3) Disponer de funciones para cargar módulos, ejecutarlos, leer y escribir en memoria, hace la inicialización necesaria para EHC (mínima).

4) Proporcionar una función que es la que permite controlar el cambio de IOS (simplemente, engaña a la función encargada de eso, haciéndole creer que todo ha ido bien y modificando la versión por la llamante... pero alguien que quiera elaborarlo más, podría sacarle mucho partido, para juegos). Simplemente, se captura el vector de la llamada ioctlv.

Ventajas: No requiere tantas reprogramaciones de IOS, ocupa menos espacio en la flash, permite añadir actualizaciones de los módulos sin tocar la flash y al hombrew le abre un nuevo campo por explorar. Desde el punto de vista de que dip_plugin es de código semi-cerrado , ofrece la ventaja de que será configurable (es decir, le podréis pasar las direcciones del módulo dip necesarias). El tema de controlar dev/es (responsable de la inicialización del IOS), nos puede dar mucho juego

Desventajas: la principal es que hay que proporcionarle los módulos de forma externa (curioso, lo mismo que su principal ventaja XD). No se si ocupar 512KB puede ser negativo desde el punto de vista de cargar juegos o se quedará demasiado corta
esa memoria para el homebrew (porque lo cierto es que hasta ahora, no teniamos NADA tan útil como esto). Rompe con todo lo anterior y eso hace que el software que no esté preparado, no irá

En fin, sigo con ello por que me queda que revisar cosas, hacer algunos test y preparar el código para la release, sobre todo para que la gente que hacemos Homebrew sepamos como sacarle partido.

Por cierto, se que desde IOS36 va, pero ahora mismo, estoy trabajando con un IOS 38 modificado (ahora el parcheador combina una parte de IOS36 con la del 38) y de momento, todo bien.

Otra cosa que me gustaría comentar, es que ahora no tendrían porque desactivarse los parches de dip_plugin, ni tampoco el nuevo es_plugin, pues son unos pocos bytes y mientras no modifiquemos el vector de salto, funcionará igual que siempre XD

rodries, si me lees, lo siento tío: he estado muy atareado (problemas, sobre todo al principio que petaba el Wiimote, cuando todo parecía ir tan bien [+risas] ), hay licencias GPL de por medio y cojones, hasta que no tenga completado el trabajo, es absurdo que nos andemos complicado, pasándote algo que a lo mejor tu lo evolucionas por otro lado y complicamos el tema: toca esperar, pero ya solo un poco (hoy no creo que lo toque más, porque estoy cansado [+risas] )

De momento esto es un avance de lo que ya hay ;)

Saludos
Te lo estas currando un monton Hermes, estoi deseando ya probarlo XD , si necesitas ayuda con algo (testers o lo que sea) avisame.
Hermes escribió:¿Os imagináis .....?

Esto es la bomba !!! Ya os seguí a ti y a rodries con lo de libfat, pero esto SI QUE ES FUERTE !!!
[oki]
Solo cabe decir:.....a tus pies.

Gracias.
Thyl-Thalion escribió:
Hermes escribió:¿Os imagináis .....?

Esto es la bomba !!! Ya os seguí a ti y a rodries con lo de libfat, pero esto SI QUE ES FUERTE !!!
[oki]


Pues si, mola cantidad y es bastante complicado... porque en el Starlet no se puede modificar posiciones de memoria porque si y yo lo he tenido que aprender todo de sopetón (¿veis porque no quería? porque sabía que me iba a liar y liar [+risas] )

De momento, he jugado un par de horas al Mario Galaxy para probar: he tenido una tres interrupciones de sonido, que eso antes significaba muerte, pero todo perfecto.

Lo bueno de que la Wii tenga esa forma de trabajar, tan diferente a la PS2 (en el IOP de PS2, podías acceder a toda la memoria sin hacer virguerías), es que estoy seguro que esto que he metido, no molesta: las zonas de memoria que he pillado, están sin asignar y los modulos que hay en el starlet, los pone Nintendo y no el desarrollador (en PS2 SONY metía lo necesario, pero también el desarrollador podía meter sus módulos a su antojo... y eso complicaba la cosa)

Aquí parece que salvo algún IOS "raro" precisamente, para añadir esas cosas que en PS2 eran tan fáciles, no tiene porqué haber complicaciones.

Os muestro las funciones de referencia con las que trabaja dev/mload :

/*--------------------------------------------------------------------------------------------------------------*/

// to init/test if the device is running

int mload_init();

/*--------------------------------------------------------------------------------------------------------------*/

// to close the device (remember call it when rebooting the IOS!)

int mload_close();

/*--------------------------------------------------------------------------------------------------------------*/

// get the base and the size of the memory readable/writable to load modules

int mload_get_load_base(u32 *starlet_base, int *size);

/*--------------------------------------------------------------------------------------------------------------*/

// load and run a module from starlet (it need to allocate MEM2 to send the elf file)
// the module must be a elf made with stripios

int mload_module(void *addr, int len);

/*--------------------------------------------------------------------------------------------------------------*/

// load a module from the PPC
// the module must be a elf made with stripios

int mload_elf(void *my_elf, data_elf *data_elf);

/*--------------------------------------------------------------------------------------------------------------*/

// run one thread (you can use to load modules or binary files)

int mload_run_thread(void *starlet_addr, void *starlet_top_stack, int stack_size, int priority);

/*--------------------------------------------------------------------------------------------------------------*/

// fix starlet address to read/write (uses SEEK_SET, etc as mode)

int mload_seek(int offset, int mode);

/*--------------------------------------------------------------------------------------------------------------*/

// read bytes from starlet (it update the offset)

int mload_read(void* buf, u32 size);

/*--------------------------------------------------------------------------------------------------------------*/

// write bytes from starlet (it update the offset)

int mload_write(const void * buf, u32 size);

/*--------------------------------------------------------------------------------------------------------------*/

// fill a block (similar to memset)

int mload_memset(void *starlet_addr, int set, int len);

/*--------------------------------------------------------------------------------------------------------------*/

// get the ehci datas ( ehcmodule.elf uses this address)

void * mload_get_ehci_data();

/*--------------------------------------------------------------------------------------------------------------*/

// set the dev/es ioctlv input routine

int mload_set_ES_ioctlv_vector(void *starlet_addr);

/*--------------------------------------------------------------------------------------------------------------*/



Hay dos procedimientos para cargar módulos: uno los carga y ejecuta directamente desde el Starlet, sin mas preámbulos compuesto de dos llamadas . El otro permite cargar elfs en memoria desde el PPC y creo que nos ahorra un pico de MEM2 en el proceso. Luego solo es cuestión de pasarle los datos de la estructura de ejecución para que se cree el hilo necesario.

Para el cargador de juegos hay dos parches bypass, que no hacen nada en absoluto, salvo cuando se les activa reprogramando la dirección deseada: mload_set_ES_ioctlv_vector() fija la función que tratará todas las entradas ioctvl de dev/es y que podemos usar para "saltarnos" un cambio de IOS (función que por defecto, no usaremos, porque se cuelga si tratas de volver al sistema, claro: podemos ignorar un reboot pero no proporcionamos el entorno necesario [+risas] ). Esto será un flag que podremos activar desde uloader.

Por cierto que mload no hace nada perverso con esto: simplemente, recibe un salto y lo conmuta de vuelta si una variable (que es la que cambiamos con la llamada anterior), está a 0 o salta a la dirección programada en caso contrario.

Desde un punto de vista de homebrew, podría ser interesante investigarlo para conseguir cosas que ahora mismo solo podemos conseguir a base de custom IOS reprogramando títulos.

El dip_plugin se activa simplemente, escribiendo la dirección de entrada de la rutina (los primeros 4 bytes) en una zona de memoria accesible que contiene la rutina bypass.

Tambien se puede reprogramar con las direcciones clave que necesita... pero eso ya es cosa de expertos:

Ejemplo de activación en IOS 38:

static u32 ios_38[16] ATTRIBUTE_ALIGN(32)=
{
   0, // DI_EmulateCmd
   0,
   0x2022cdac, // dvd_read_controlling_data
   0x20200d38+1, // handle_di_cmd_reentry (thumb)
   0x202008c4+1, // ios_shared_alloc_aligned (thumb)
   0x20200898+1, // ios_shared_free (thumb)
   0x20205b80+1, // ios_memcpy (thumb)
   0x20200048+1, // ios_fatal_di_error (thumb)
   0x20202874+1, // ios_doReadHashEncryptedState (thumb)
   0x2020365c+1, // ios_printf (thumb)
};

if(is_ios==38)
      {
      // IOS 38

      memcpy(ios_38, dip_plugin, 4);       // copy the entry_point
      memcpy(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);

      }



El método que yo uso, tiene dos cosas positivas: si teneis un cIOS antiguo funcinará igual, tirando de lo viejo y saltandose todo esto (porque al no existir dev/mload, todas las llamadas devolverán error y retornará).

Y la segunda, es que nos facilitará mucho la vida a la hora de probar algo y será mas permeable para vosotros (parece que Wiigator no quiere que se haga público el código fuente). El binario se carga justo al final de la RAM operativa, (8KB finales, pensando un poco en posibles ampliaciones).

Un problema que tenemos con los módulos, es que no son reubicables como en PS2, por lo que hay que tener muy claro que es lo que se pone y donde (por eso el módulo ehcmodule, está al principio y el dip_plugin que no se usa en homebrew, al final)

Tenemos 512KB de memoria, aunque podemos asignar unos 640KB más utilizando el heap handle 0. Así que hay mas que suficiente para trabajar ;)

Saludos
Hermes escribió:Tenemos 512MB de memoria, aunque podemos asignar unos 640KB más utilizando el heap handle 0. Así que hay mas que suficiente para trabajar ;)


Yo creia que solo teniamos 88MB xDDDDDDDD

fuera bromas :)

estoy alucinando con el curro que te estas pegando Hermes.

Enhorabuena y Gracias.
kawengod escribió:
Hermes escribió:Tenemos 512MB de memoria, aunque podemos asignar unos 640KB más utilizando el heap handle 0. Así que hay mas que suficiente para trabajar ;)


Yo creia que solo teniamos 88MB xDDDDDDDD

fuera bromas :)

estoy alucinando con el curro que te estas pegando Hermes.

Enhorabuena y Gracias.


Pues si: creo que se reserva bastante menos para el Starlet [+risas]
Bueno, ante todo lo que he leído en este ratito solo tengo una respuesta:
Imagen

A todo esto, yo solo venía a comentar que finalmente (casualidades de la vida) he podido trastear con un nuevo HDD USB maxtor y me ha tirado el uLoader de fábula. Cargas rapidísimas y 0 cuelgues. Es más, en ciertos momentos (tras largo rato jugando) parecía que se iba a quedar colgado y tras unos segundos retomaba el juego como si tal cosa.

Pero por si te interesa (y te da alguna otra idea), el HDD que no me tiraba antes he estado viendo que cuando traspaso archivos en el PC a veces como que "se para" a descansar un rato y luego sigue. Es como si descansase un segundo entre tanta actividad y luego retoma. Cuando le pasa esto en la Wii es cuando se cuelga, pero en el PC continua trabajando. Lo extraño es que este se pare y en cambio el que probé hoy retoma la actividad tan ricamente... pero bueno.

Un saludo y muchas gracias por tu curro.
Una cosa, puedo desinstalar de alguna manera el cios 222? Es que creo que desde que lo he instalado me saltan errores -1 a tutiplen, y antes no saltaba ni 1 :S:S:S:S!

Salu2!
Con el cios 222 de Hermes si no funciona el lector no se puede utilizar?... lo pregunto porque yo tenia instalado el anterior el que no era de hermes y funcionaba, ahora me dio por instalar el modificado por hermes y no me ha funcionado ningun juego, si ejecuto un juego sin ningun disco dentro sale inmediatamente un mensaje que ahora realmente no recuerdo que dice pero algo del disco en un rato lo checo de nuevo y lo pongo aqui (sale en rojo) y si pongo un disco adentro como que intenta leerlo y despues de un rato sale el mismo mensaje (el problema de mi lector es que no gira).

Muchas gracias por tu loader Hermes!!!
Hermes, grande...

Volviendo al tema del uLoader... realmente es el programa que más potencial tiene en estos momentos (y el que menos falla con diferencia)... lástima que la gui no sea tan "llamativa" como los basados en el loader de waninkoko.

El mejor sin duda.
edd2s escribió:Con el cios 222 de Hermes si no funciona el lector no se puede utilizar?... lo pregunto porque yo tenia instalado el anterior el que no era de hermes y funcionaba, ahora me dio por instalar el modificado por hermes y no me ha funcionado ningun juego, si ejecuto un juego sin ningun disco dentro sale inmediatamente un mensaje que ahora realmente no recuerdo que dice pero algo del disco en un rato lo checo de nuevo y lo pongo aqui (sale en rojo) y si pongo un disco adentro como que intenta leerlo y despues de un rato sale el mismo mensaje (el problema de mi lector es que no gira).

Muchas gracias por tu loader Hermes!!!


Es posible: que yo recuerde, todo este asunto lo inició Kwiirk porque su lector no funcionaba y en la versión suya había un puñado de juegos que te pedían disco, mientras que la de Waninkoko no lo hacía: tal vez era porque tenía "emulada" una función por culpa de su lector roto y que hacía que no fuera.

La base de uLoader es el dip_plugin de Waninkoko, precisamente para evitar ese problema, pero parece que se vuelve en contra de los que teneis el lector roto.

Yo tengo el código fuente del dip_plugin por parte de Waninkoko (rev 11), pero no se que modificaciones hizo Kwiirk en el suyo, pues el código es semi-cerrado y además, no tengo contacto con Kwiirk (y tampoco he podido estudiarlo, pues estoy con esto que he contado, que me ha absorvido por completo). Si alguien puede contactar con Kwiirk y que le comente que es lo que cambió, sería interesante.

Esta es una de esas situaciones en la que podremos sacar partido a tener un dip_plugin configurable.

josete2k la GUI es la que hay: yo soy programador (aficionado) y me gusta ir a lo práctico y lo funcional, no a lo bonito: lo práctico es tener 16 juegos en pantalla configurados como favoritos y usar imágenes que se guardan en el propio juego y no en la SD, al igual que poder configurar parámetros del juego e incluso seleccionar los trucos desde una lista .txt en vez de un fichero .gct.

Si sacara solo 12, pues se verían como los canales de Wii: mas despejado, pero yo no me quito cuatro juegos de selección rápida solo por quedar un poco mas cool [+risas] (coño, yo tardo dos segundos en seleccionar el juego al que quiero jugar de los 16 que tengo de favoritos ¿que mas dá si es mas feo o más bonito?)

Lo bonito es sacar las cajas, mostrar solo un juego, tener las imagenes en la SD, listarlos espectacularmente, pero de forma ineficiente desde el punto de vista de seleccionar... y no aportar nada, salvo la interfaz. Las imágenes están bien, pero tambien hay que pensar en la forma de manipularlas y almacenarlas

Yo desde luego, prefiero mi estilo, pero si el día de mañana le diera un lavado de cara al loader... sería porque ya fuera perfecto en otras áreas.

En fin, cada cual debe ser fiel a su estilo [+risas]
Alguien puede esplicamre como puedo cambiar el puntero??
Esque me parece horrible, podria llevar uno como el del hbc o como uno de pc.
Muchas gracias!!!
Estoy de acuerdo con Hermes, que el entorno grafico en realidad es algo nimio, hay muchas otras cosas mas importantes y entre ellas quisiera destacar la compatibilidad de dispositivos, sobre todo para los que estamos en "crisis" y no podemos comprar "gatches" ora si ora tambien. Hermes tu loader me parece genial pero solo lo puedo utilizar con un pendrive, el hd solo me funciona con el cargador de lospt, y a veces se cuelga 2min, luego sigue pero te estropea el juego (a mi no, a mis chiquitos). Aun asì gracias por todo y si consigues todo lo que te has propuesto pues genial. Si se conssigue asì tambien más compatibilidad o se avanza para ello mejor que mejor pero si no pues habra que seguir intentandolo.
Saludos.
A mi me gusta el entorno gráfico, solo le pondría un efecto como de cristal a las pantallas, cambiaría el fondo y cambiaría el puntero... por una calavera a mas resolución!! que la que hay esta muy pixelada xD

PD: Alguien puede poner este icono del little king en la wiki? es que yo soy manco y no se hacerlo, y me duele que aun no este el icono del juego [+furioso]

Imagen
raguan escribió:PD: Alguien puede poner este icono del little king en la wiki? es que yo soy manco y no se hacerlo, y me duele que aun no este el icono del juego [+furioso]


¿te vale éste?:

Imagen

EDIT: ahora te he releído, y me acabo de enterar de lo que querías... qué patán soy XD

EDIT2: vale, ya está. Ahora tenemos dos para elegir ;)
nosekefik escribió:Alguien puede esplicamre como puedo cambiar el puntero??
Esque me parece horrible, podria llevar uno como el del hbc o como uno de pc.
Muchas gracias!!!


Hombre... horrible horrible no es... a muchos nos gusta...

Mira a ver si te vale este:


http://www.mediafire.com/download.php?zmghwgji12m
en vez de colgar el .dol no puedes colgar solo el icono para verlo??

Gracias
Lo verás muy pequeñito pero vale:

Imagen
a la expectativa del nuevo trabajo de hermes, confirmo que esta versión de wbfs permite formatear un disco de 1000 gigas e instalar juegos en él, posteriormente he probado el disco duro en la wii tanto con la última versión de uloader y con otro loader basado en el 1.5 de waninkoko, y ambos han detectado el tamaño del disco correctamente con el espacio vacío y han ejecutado sin problemas los juegos

comento también que el pikmin2 a menudo para el disco duro, pero que usando el uloader apago y enciendo el hd y el juego continúa, mientras que con el de waninkoko se pierde la partida y tengo que reiniciar la wii

¿habría alguna forma sencilla de usar tu cios con los loaders de waninkoko, hermes?
elsita escribió:
¿habría alguna forma sencilla de usar tu cios con los loaders de waninkoko, hermes?


Te contesto yo mesmo :P

Yo lo tengo en el usbloadergui... aunque falla a menudo al instalar desde la consola... el GUI digo, pero eso pasa con IOS249 y 222, es culpa de la versión.



En el USBLoader normal de Waninkoko sí funciona con IOS222 y muy bien por cierto... lo malo es que las mejoras de 1.5 (carátulas y carga desde SD) no las tienes al estar IOS222 de Hermes basado en la rev9, por lo que mejor usar un loader basado en 1.1 de Waninkoko pero con IOS222

Tan solo has de cambiar:

ret = IOS_ReloadIOS(249);


por:

ret = IOS_ReloadIOS(222);


Si quieres alguno sólo has de decirlo.

Saludos
josete2k escribió:Lo verás muy pequeñito pero vale:

Imagen

Si valer me vale pero me parece grande i no se preferiria una mano pero da = es solo por pijeria lo que en realidad importa es ke karguen los juegos sin errores.
Muchas gracias de todas formas!!
A todo esto, yo estoy preparando ejemplos para usar mload y estoy investigando las syscalls: hoy he aprendido a programar un timer con repetición y hacer que un hilo se sincronice y me reporte un contador que se actualiza cada segundo ;)

Parece una tontería pero esto es muy importante, porque permite disponer de un timer con resolución de microsegundo, para las tareas del driver usb2, que evidentemente, dará paso a otra tarea si se le pide

Hasta ahora, teníamos un sistema que si, devuelve el tiempo transcurrido, pero NO INTERRUMPE la ejecución del hilo... lo cual puede explicar ciertos cuelgues, porque tachán: tal vez haya un hilo de menor prioridad que se tiene que joder por nuestra culpa)

Por otro lado, esto me podría permitir hacer un hilo que trabaje en segundo plano y que sea quien realmente, haga el trabajo duro, con la idea de que si pasa un tiempo sin que se le pida hacer nada, se dedique a leer algo del disco duro.

¿y para que serviría eso? Pues.. para que no se duerma! [+risas]

Lo malo de todo esto, es que cada vez que levanto una piedra, se me multiplica el trabajo: esta mañana estaba dedicido a hacer público el cIOS ya y luego centrarme en 4 detalles que le faltan a uLoader, pero ahora se va a retrasar.
nosekefik escribió:Si valer me vale pero me parece grande i no se preferiria una mano pero da = es solo por pijeria lo que en realidad importa es ke karguen los juegos sin errores.
Muchas gracias de todas formas!!


Ainssss.... caprichosos!!!!!!!!!!

Toma, con la mano del menú de Wii

http://www.mediafire.com/download.php?wecgtmtmyyo

Ahora me dirás que prefieres la del Homebrew Channel sin el número
[sonrisa] [sonrisa] [sonrisa]



PD: Hermes, cada vez que te leo me fascinas....
Hermes escribió:Yo tengo el código fuente del dip_plugin por parte de Waninkoko (rev 11), pero no se que modificaciones hizo Kwiirk en el suyo, pues el código es semi-cerrado y además, no tengo contacto con Kwiirk (y tampoco he podido estudiarlo, pues estoy con esto que he contado, que me ha absorvido por completo). Si alguien puede contactar con Kwiirk y que le comente que es lo que cambió, sería interesante.

Me comento que usó el de wanin pero creo que no tocó nada, le preguntaré a ver que responde.

Me tienes anonadado, estoy deseando ver y entender bien como funciona el sistema nuevo que has creado, pero basicamente creo que has creado una especie de cargador de modulos dinámico sobre el starlet, eso sería la leche, tienes control absoluto sobre la wii en runtime.
¿ Has podido comprobar el problema de la inicialización de red ? Haz un iosreload de tu cios y prueba a inicializar la red con el router wifi apagado a ver que te pasa.

Estoy deseando de ver tu trabajo y traginarlo a ver que tal, unas de las cosas que me gustaría ver es si se puede cambiar el modulo wifi de la wii que va lentisimo y no entiendo el porque, marcan me comentó que está totalmente reversado por un grupo de gente que no recuerdo, por lo que se podría ver el porque de que vaya tan lento y vaya a 11b en vez de a 11g.

Saludos y animo con tu pedazo de curro.
Hermes escribió:
¿y para que serviría eso? Pues.. para que no se duerma! [+risas]

Lo malo de todo esto, es que cada vez que levanto una piedra, se me multiplica el trabajo: esta mañana estaba dedicido a hacer público el cIOS ya y luego centrarme en 4 detalles que le faltan a uLoader, pero ahora se va a retrasar.


este cios solucionaria definitivamente los problemas de cuelgues de algunos discos duros como el mio, que se cuelga al poco de comenzar los juegos, no?
ansioso estoy por probarlo, Gracias Hermes por el trabajo que te estas pegando.
rodries escribió:
Hermes escribió:Yo tengo el código fuente del dip_plugin por parte de Waninkoko (rev 11), pero no se que modificaciones hizo Kwiirk en el suyo, pues el código es semi-cerrado y además, no tengo contacto con Kwiirk (y tampoco he podido estudiarlo, pues estoy con esto que he contado, que me ha absorvido por completo). Si alguien puede contactar con Kwiirk y que le comente que es lo que cambió, sería interesante.

Me comento que usó el de wanin pero creo que no tocó nada, le preguntaré a ver que responde.

Me tienes anonadado, estoy deseando ver y entender bien como funciona el sistema nuevo que has creado, pero basicamente creo que has creado una especie de cargador de modulos dinámico sobre el starlet, eso sería la leche, tienes control absoluto sobre la wii en runtime.
¿ Has podido comprobar el problema de la inicialización de red ? Haz un iosreload de tu cios y prueba a inicializar la red con el router wifi apagado a ver que te pasa.

Estoy deseando de ver tu trabajo y traginarlo a ver que tal, unas de las cosas que me gustaría ver es si se puede cambiar el modulo wifi de la wii que va lentisimo y no entiendo el porque, marcan me comentó que está totalmente reversado por un grupo de gente que no recuerdo, por lo que se podría ver el porque de que vaya tan lento y vaya a 11b en vez de a 11g.

Saludos y animo con tu pedazo de curro.


El caso es que Waninkoko tampoco se ha estado quieto XD

Y efectivamente: he creado un sistema que permite cargar los módulos como y cuando quieras, ejecutandolos como un hilo normal.

El único problema, es que las direcciones son fijas y eso nos obliga a compilar los módulos con todo el cuidado del mundo para que no se pisen unos a otros.

La Wii tiene protección de memoria, aunque te la puedes saltar en tiempo de ejecución, por lo que veo. Aun así, puedes definir un bloque de memoria dentro de tu modulo cargado por el sistema, y ese bloque puede ser de buen tamaño (como en mi caso)

mload.elf tiene un tamaño enorme, si se pasara directamente (antes del stripios trucado que uso, ocupa unos 630KB :O), pero con el truco del almendruco, que es mas viejo que las piedras, reduzco los 512KB a solo 1 byte de espacio en el elf XD .

Luego metemos un módulo en el cIOS de tan solo 3781 bytes. Y esa es toda la magia especial.

El resto ha sido entender como trabajan las syscalls, observar, entrar en el lado oscuro de la fuerza [+risas] y aglutinar un poco lo ya conocido/hecho, básicamente.

El caso es que ahora mismo tengo un modulito cargado, que no hace nada salvo contar una vez cada segundo y escribir el conteo y un mensaje .Y que puedo controlar diciendole que se pare o que continue desde el PPC a traves de mload [+risas]
josete2k escribió:PD: Hermes, cada vez que te leo me fascinas....

Vete al hilo de guitar fun y busca "rodries" vas a flipar con lo que hicieron con libfat (yo flipé, de pequeño picaba código máquina y basic, pero de ahí nunca pasé)
http://www.elotrolado.net/search.php?st=0&sk=t&sd=d&keywords=rodries&t=1052906&sf=msgonly&ch=-1
Hermes escribió:El caso es que ahora mismo tengo un modulito cargado, que no hace nada salvo contar una vez cada segundo y escribir el conteo y un mensaje .Y que puedo controlar diciendole que se pare o que continue desde el PPC a traves de mload [+risas]

Enhorabuena !!
[beer] [beer]
Bueno, pues ya tengo todo lo necesario para trabajar en multihilo a punto (todas las syscalls necesarias, tal y como me gustan XD) y doy por zanjado los cambios en mload

Ahora me toca de arreglar ehcmodule con todo lo aprendido y ver que tal va ;).

Si la cosa va bien, al menos le podré pasar a rodries todo a punto teniendo mas respuestas que preguntas [+risas]
josete2k escribió:
nosekefik escribió:Si valer me vale pero me parece grande i no se preferiria una mano pero da = es solo por pijeria lo que en realidad importa es ke karguen los juegos sin errores.
Muchas gracias de todas formas!!


Ainssss.... caprichosos!!!!!!!!!!

Toma, con la mano del menú de Wii

http://www.mediafire.com/download.php?wecgtmtmyyo

Ahora me dirás que prefieres la del Homebrew Channel sin el número
[sonrisa] [sonrisa] [sonrisa]



PD: Hermes, cada vez que te leo me fascinas....

Aun no lo he probado pero prefiero la del Homebrew Channel sin el número.
JEJEJJEJEJEJEJEJEJEJEJ
es coña!!

Entonces habra una nueva vesion del CIOS pronto no??
Se agradece todo vustro esfuerzo. Siempre habia optado por el modchip i nunca softmod, hasta ahora que gana el softmod.
Muchas gracias!!!
Pues yo lo prefiero con la estrellita, le da un toque más guay. nosekfik, eres un kprixs
Ñiños, niño dejen de pelear por manos o estrellitas y vallamos al meollo. como ya he comentado antes solo con el cios249rev9 el uloader a veces cogia el hd y a veces no, para solucionarlo instale el cios222 y desde entonces no funciona por mas inventos que he probado (si me va un pendrive). Si no he entendido mal (no soy novato aqui pero de programacion ni idea) podremos solucionar el "error -1" o solo solucionaremos los cuelgues de hd que ya reconoce. A mi personalmente solo me funciona el loader de lopst (con sus respectivos cuelgues). Siento si soy pesado pero aunque se que esto supone un gran avance a mi pesar no se programacion.
Saludos y gracias por todo.
panreyes escribió:Pues yo lo prefiero con la estrellita, le da un toque más guay. nosekfik, eres un kprixs


pues yo me quedo con la calavera, jajajaja [sati]
Hermes con respecto a lo que te preguntaba ayer de si tu ios222 se podía usar en una wii con lector descompuesto, tengo otra duda... el ios222 tuyo obviamente sustituye al otro ios222 que ya teníamos instalado por lo que cualquier otra aplicación que use el ios222 tendria que usar el nuevo no es así?, lo pregunto por que en tu loader me da el error "Erro From the loader disco id is not equal." en todos los juegos que e intentado usar con ios222 pero baje un loader que se llama ultimate que también permite usar el ios222 y con este los juegos si me los lee, intente con el juego metroid pues me decían que este juego para que funcione a fuerza tienes que tener el juego adentro y aunque mi lector ni gira el disco el juego funciona XD cual puede ser la diferencia entre tu loader y el ultimate porque el ultimate sigue usando tu ios222 no?
edd2s escribió:Hermes con respecto a lo que te preguntaba ayer de si tu ios222 se podía usar en una wii con lector descompuesto, tengo otra duda... el ios222 tuyo obviamente sustituye al otro ios222 que ya teníamos instalado por lo que cualquier otra aplicación que use el ios222 tendria que usar el nuevo no es así?, lo pregunto por que en tu loader me da el error "Erro From the loader disco id is not equal." en todos los juegos que e intentado usar con ios222 pero baje un loader que se llama ultimate que también permite usar el ios222 y con este los juegos si me los lee, intente con el juego metroid pues me decían que este juego para que funcione a fuerza tienes que tener el juego adentro y aunque mi lector ni gira el disco el juego funciona XD cual puede ser la diferencia entre tu loader y el ultimate porque el ultimate sigue usando tu ios222 no?


¿le has cambiado la id a los juegos? Se supone que no debería pasarte eso, pero lo mismo he metido la pata yo (o no la he metido). El caso es que si la id de los juegos no coincide con la que lista el disco duro, que sepas que eso no es tolerable (prefiero que te diga ese mensaje, a ignorarlo y que salte una excepción mas adelante por que el juego esté corrupto)

Hay un conflicto en el dip_plugin de Waninkoko y el de Kwiirk, concretamente en dos llamadas que encima, una de ellas, se solapa y en uno hace una cosa y en otro otra :-?

Precisamente quería haber solucionado ese problema, pero ya no tiene sentido: para bien o para mal, mi cIOS 222 será muy muy diferente.

Por cierto, mi disco parece un radio faro: cada 4 segundos emite un destello del nuevo watchdog tan cachondo que he añadido.

Parece que como le hago recorrer todo el puto disco saltando de 16 en 16MB, ya no me atrapa la caché.... que por cierto, no me extrañaría que fuera la culpable no solo de que el HDD se eche a dormir, si no de que el driver falle porque recibe una respuesta demasiado rápida (y esa sobre aceleración la pague por algún lado)

En fin, creo que ahora el disco duro no va a descansar mas de cuatro segundos (otra cosa es que pete por un error o algo, que eso hay que averiguarlo)
A costa de parecer (o ser) pesado ademas de evitar los cuelgues, los que tenemos "error -1" al arrancar el uloader podremos hacer funcionar el ulader con el nuevo cios222.
Gracias por que vuestra atencion.
Aver los cuelgues que tengo yo en los juegos creo que se lo que me pasa y es que cuando se calienta el disco duro pasa eso ¿puede ser? porque eh vuelta a pasar el Pikmin 2 solo el Pikmin 2 ningun juego mas y el HDD esta frio y me funciona perfectamente ¿puede ser? y otra cosa si no es eso ¿puede ser por renombrar los juegos o no tiene na que ver?

EDITO: Acabo de meter tambien Mario kart wii y lo eh renombrado como siempre y ahora al entrar en la CWF de Nintendo ¡FUNCIONA! esto yo no lo entiendo si es por calentamiento del HDD o por la Actualizacion 3.0 del programa WBFS Manager ¿que opinan?
Juancafr escribió:Aver los cuelgues que tengo yo en los juegos creo que se lo que me pasa y es que cuando se calienta el disco duro pasa eso ¿puede ser? porque eh vuelta a pasar el Pikmin 2 solo el Pikmin 2 ningun juego mas y el HDD esta frio y me funciona perfectamente ¿puede ser? y otra cosa si no es eso ¿puede ser por renombrar los juegos o no tiene na que ver?


Un disco duro que esté medio jodido, puede dar muchos problemas por calentamiento, sobre todo los Seagate.

Hay peña que se piensa que puedes comprar una caja para discos duros, meter un disco a 7200RPM sin refrigeración y que no "pasa na". Pues si pasa y mucho XD

Si renombras únicamente el juego, pues no afecta en nada: lo que si afecta es que cambies la ID del juego.

Y por otro lado, los errores -1 en cIOS 249, no tienen nada que ver con el cIOS 222 (lo digo porque me estás dando a entender que usar cIOS 249 y le echas la culpa a haber instalado el 222) y si te da error -1 y antes no te daba, puede ser porque el disco duro esté petando y tarda mucho en responder (pasa lo mismo que si desconectaras el disco duro de la interfaz de la caja).

Se puede corregir algo la inicialización alargando un poco mas la espera, pero es que yo no soy muy partidario de alargar mucho, porque la gente ve una pantalla negra por 20 segundos y no sabe si la cosa va bien o va mal.

Por cierto, si yo desconecto mi disco duro, tarda unos 20 segundos hasta que lo vuelve a pillar de nuevo : cuando se te cuelgue un juego, espera un rato prudencial porque ahora mismo, ya no se cuelga la consola como pasaba antes (es mas cosa de los dispositivos que otra cosa)

Por otro lado, el Watchdog va perfecto: no lo noto interfiriendo y sin embargo, si una lectura tarda mas de cuatro segundos en producirse, lee un sector pegando saltos de 16MB por todo el disco para evitar que la caché filtre las lecturas.

Y evidentemente, el nuevo timer trabaja como esperaba: bien [+risas]
10244 respuestas