Dudas técnicas sobre IOS-cIOS (IOS base, stubs...)

Hola a todos,
como muchos otros que leo últimamente por aquí, llevaba bastante tiempo desconectado del tema de la scene de Wii: vi que la cosa empezaba a complicarse, no tenía tiempo para seguirlo, y el poco que me quedaba libre prefería emplearlo en jugar :p
Ahora tampoco es que ande muy sobrado de tiempo pero he podido sacar un hueco y me he empapado un poco, lo cual me ha servido para hacerme una idea del panorama general actual.

El caso es que tanto por el bien de las futuras cosas que le haga a mi querida Wii como por el hecho de aprender y quien sabe si algún día aportar algo a la scene, me gustaría comentar con vosotros algunas dudas. Tengo muchas más, pero vayamos poco a poco... ahí va la primera:

¿Qué es exactamente el IOS base a la hora de instalar un cIOS?
(La respuesta del faq del hilo [TUTORIAL] Instalar cIOS en cualquier Wii - Listado de cIOS no me ha aportado nada, lo siento lamateporunyogur :p )
Yo entiendo que debe ser algo así como que el instalador del cIOS "corre" encima de un IOS (vamos, que necesita un IOS para ejecutarse) y a eso se le llama "IOS base", ¿es así o estoy quedando como un noob del quince? XD Siguiendo con este tema:

Para instalar un cIOS ¿siempre se necesita un IOS base? y más importante, ese IOS base ¿debe cumplir alguna característica especifica como tener el bug trucha?

Ahora respecto a los stub IOS. Primero os comento como los entiendo yo: son IOS que Nintendo mete en la Wii para "tapar" un número de IOS concreto (voy a llamarlo "slot"). Esto en principio cumple dos cometidos: primero, si ya teníamos un cIOS en ese slot, al llegar el stub se lo carga (sobreescribiendolo) y por otra parte, impide que se pueda volver a instalar otro cIOS en ese slot. Ahora viene mi duda:

Supuestamente, con programas tipo Dop-IOS/Pimp My Wii, uno puede poner al día sus IOS incluso parchearlos. Bien, entonces, ¿qué problema hay con los stubs? ¿No podíamos quitarlos y sustituirlos por los cIOS que intentan bloquear simplemente borrandolos?

Para empezar esta bien, no? Espero vuestras respuestas.

Saludos!
Te doy una explicación "para que se entienda", aunque no sea exacta al 100%.

Los cIOS no son IOS totalmente nuevos, sino que son IOS modificados. El IOS base, es el IOS que se ha usado de base, es decir, el que se ha cogido y se ha modificado para lo que sea (USB2.0, carga de copias, etc, etc). La diferencia entre coger un IOS u otro como base, es la diferencia que tengan esos IOS entre si.

Por ejemplo, para los juegos que necesitan cargar instrumentos por USB, el "driver" se encuentra en el IOS37, asi que, al cargar con Softmods (obligando asi a que el juego se ejecute bajo un cIOS), necesitamos que el cIOS en cuestión tenga este "driver", por tanto, necesitamos un cIOS que tenga como base el IOS37, ya sea solo (como antiguamente se hacia con Softchip) o acompañado ("merged" que es lo más útil).

Los IOS base suelen ser siempre los mismos y los eligen porque son los más optimos ya sea en velocidad o en cualquier otra cosa (segun lo que interese, los programadores basan su cIOS en X IOS). Asi, antes el IOS base tipico era el 36 (el 37 "merged" lo que sea es un indispensable para los instrumentos), ahora el tipico sería el 38 y el 60 (Waninkoko y Hermes).

Lógicamente, si entiendes lo que es el IOS base, la respuesta a tu segunda pregunta es evidente, SI, todos los cIOS (tal y como son ahora) necesitan un IOS base, y este no lo elegimos nosotros al azar, es el que nos diga el autor del cIOS (Hermes tiene varios cIOS, cuya UNICA diferencia es el IOS base (IOS222 y 223)). Estos IOS no necesitan tener trucha ni nada de nada (de hecho, el IOS base se modifica para crear un cIOS, que siempre va a tener trucha, lo tenga o no el IOS base).

El "problema" de los stub es que a la gente le gusta más downgradear que a un tonto una tiza, y downgradeo + stub = peligro de brick (además, de un black-brick, solo recuperable con BootMii/boot2).
Un IOS stub es un IOS que ya no se utiliza para nada (pues es el IOS base de un SM obsoleto). Como no se utiliza más, pero ocupa espacio (que a la Wii le escasea), Nintendo penso que, una vez y actualizas tu Wii a la versión X, todos los IOS que ya no sirven para nada (estando en esta version) se actualizan por sus versiones stub. Esto es BUENO, y no hay ningun problema ni peligro por tener estos stub, sin embargo, si downgradeas el menú y sigues usando un IOS stub como base, obtienes un brick bien feo, ya que el IOS del SM no existe.

Los nuevos stub también han afectado al homebrew, pues en Nintendo, lo que han hecho es sacar un IOS249, 250, 222, 223 stub, para sobrescribir a los cIOS cuando se actualiza a 4.2 (y solo a 4.2). Eso si, de poco les ha servido, pues ya hay formas de volver a instalar cIOS en 4.2. Esto es el primer paso, lo que Nintendo quiere es a partir de una versión, que no se pueda instalar cIOS (y por tanto tampoco se podría downgradear). Solo con esto, ya se evitarían los Softmods al 100% (las personas que hayan actualizado) que ya es bastante.
Un IOS es realmente el Sistema Operativo bajo el cual se ejecutan las aplicaciones (canales) y juegos en la Wii. Está compuesto por un conjunto de módulos que proporcionan los servicios necesarios para comunicarse con todo el hardware de la Wii. Sólo puede haber un IOS ejecutándose a la vez. Aún cuando la Wii tiene un conjunto de ellos instalado.
Muchos juegos usan un mismo IOS para ejecutarse, otros necesitan un IOS en especial.
El IOS en ejecución bajo el cual se ejecuta un juego debe contener los módulos necesarios para que los dispositivos que se desean usar funcionen. Por ejemplo, si un IOS /cIOS no contiene el módulo para comunicarse con los instrumentos de Rockband, estos no podrán funcionar en la Wii aunque el juego se ejecute.
Un cIOS no es más que un IOS modificado al cuál se le han agregado nuevos módulos para agregar funcionalidades que no estan presentes en los IOS oficiales (por ejemplo, el driver que emula el lector de la consola desde un dispositivo USB). Un cIOS necesita un IOS base porque los nuevos modulos se agregan a los ya existentes en un IOS oficial.
¿Qué características necesita tener el IOS base? Desconozco con exactitud esa información, aunque Hermes ya había comentado que no todos los IOS se puede usar como base, y que incluso IOS más recientes al 38 no admitían agregar nuevos módulos.
Ahora, con respecto al bug trucha, no confundas el IOS base con el IOS que se usa para validar la instalación de un cIOS.
Con respecto a los Stubs. Un IOS antiguo, oficial de Nintendo, no puede agregar nuevos modulos por ello, eventualmente, los nuevos juegos requieren nuevos IOS para funcionar. Los IOS que se han vuelto obsoletos, Nintendo los convierte en Stubs para que no ocupen espacio en la memoria de la consola. Los stubs son IOS "sin modulos", es decir, vacios.
Un IOS Stub, a través de homebrew, puede ser borrado y sustituido por una versión anterior, una versión falseada de otro o el mismo IOS.

EDITO: Me ganó comepiedras al escribir, así que lo dejo nada más como complemento ;)
Ante todo muchas gracias por la rapidez y concisión en la respuesta ;)

A ver si lo entiendo, cuando se dice que un cIOS necesita un IOS base, nos estamos refiriendo a que al ser el cIOS una modificación de otro que ya existía (el base), obviamente se necesita que ese IOS exista en algún lugar para poder modificarlo. Pero mi duda es, ese IOS de partida ¿tiene que estar en la Wii para que su correspondiente cIOS pueda funcionar? ¿o no es estrictamente necesario? Por ejemplo, ¿podría tener un cIOS basado en IOS37 y no tener el IOS37 en mi Wii? Y si lo necesita, ¿por qué motivo? porque no veo que haya interactividad en tiempo de ejecución entre el cIOS y su correspondiente IOS base.

comepiedras escribió:El "problema" de los stub es que a la gente le gusta más downgradear que a un tonto una tiza, y downgradeo + stub = peligro de brick (además, de un black-brick, solo recuperable con BootMii/boot2).
Un IOS stub es un IOS que ya no se utiliza para nada (pues es el IOS base de un SM obsoleto). Como no se utiliza más, pero ocupa espacio (que a la Wii le escasea), Nintendo penso que, una vez y actualizas tu Wii a la versión X, todos los IOS que ya no sirven para nada (estando en esta version) se actualizan por sus versiones stub.


Vale, aquí hablamos de IOS base de System Menus (SM). Este concepto de IOS base para SM es diferente al concepto de IOS base para cIOS, no? (hasta que no sepa la respuesta a mi duda anterior no sabré la respuesta a esta... :p )

Ahora... también podemos distinguir entre dos tipos de stubs (según con la intención que los haya creado Nintendo). Estos de los que hablas, para ahorrar espacio... bien, mi duda es ¿y por qué crear stubs de los IOS que ya no son necesarios en una determinada versión del SM y no borrarlos directamente? si la Wii no anda sobrada de espacio con más razón... no?

comepiedras escribió:Esto es BUENO, y no hay ningun problema ni peligro por tener estos stub, sin embargo, si downgradeas el menú y sigues usando un IOS stub como base, obtienes un brick bien feo, ya que el IOS del SM no existe.


Ok, esto lo entiendo. Supongoamos que tengo la versión 4.2 (IOS base del SM 70 y IOS30 como stub) por ejemplo y quiero downgradear a la 3.2 que tenía de IOS base del SM el IOS30. Si fuera un incauto borraría el IOS70 (y el 60 si lo tuviera) con la esperanza de quedarme sólo con el IOS30, le pondría el System Menu de la 3.2 instalando su wad correspondiente por ejemplo y... plaf! Brick total porque el SM intenta tirar de IOS30 y resulta que era un stub :O
Pero alguien que sepa lo que hace, que sepa que IOS tiene, cuales son stub y los que necesitaría para ponerse en la versión X del SM, podría hacerlo sin demasiados problemas, no? Es decir, que, sabiendo lo que haces, te puedes plantar en la versión del SM que quieras, tener los IOS que quieras, tener parcheado lo que quieras, incluso (ya he leido por ahí que es peligroso) borrar los IOS que quieras, por ejemplo los stubs que sepas que no vas a usar, no?

comepiedras escribió:Los nuevos stub también han afectado al homebrew, pues en Nintendo, lo que han hecho es sacar un IOS249, 250, 222, 223 stub, para sobrescribir a los cIOS cuando se actualiza a 4.2 (y solo a 4.2). Eso si, de poco les ha servido, pues ya hay formas de volver a instalar cIOS en 4.2. Esto es el primer paso, lo que Nintendo quiere es a partir de una versión, que no se pueda instalar cIOS (y por tanto tampoco se podría downgradear). Solo con esto, ya se evitarían los Softmods al 100% (las personas que hayan actualizado) que ya es bastante.


No he mirado que nuevas formas hay de instalar cIOS en 4.2 pero vamos, si se cumple lo que he puesto arriba, este intento de Nintendo de eliminarlos es bastante cutre, no? los sustituyen por stubs? ok, se borran los stubs y se vuelven a meter los cIOS, así de simple, no?

comepiedras escribió:Te doy una explicación "para que se entienda", aunque no sea exacta al 100%.


No temas, si lo ves necesario puedes usar un lenguaje más técnico ;)
Gracias, gracias y mas gracias
Ya me queda algo mas claro el tema de los cIOS, IOS,.....
Siempre han sido un ente abstracto en mi mente novata.

Edito: no me queda muy claro lo de las numeraciones 36, 37, ahora 38, las revisiones, pero eso es otra guerra

Grandisimo curro.
El IOS base no necesitas que esté instalado en la Wii, pero lo necesitas en el momento de instalación, por eso, los instaladores de cIOS requieren que pongas el wad en la SD o si tienes internet, se bajan el IOS de los servidores de Nintendo.

El IOS base del SM es el IOS que usa para arrancar, si no existe ese IOS (o es un stub, que viene siendo lo mismo), entonces obtienes un brick.

Lo de poner stub en lugar de borrar si es lógico, pues si no, cada vez que metieras un juego con versión 3.1, te metería el IOS30, mientras que en 4.1 (por ejemplo), ese IOS no es necesario, asi pues, para que no te pidan actualizar los juegos siempre y ahorrar espacio, se convierte el IOS en stub, es decir, se crea un IOS NUEVO, VACIO con una versión SUPERIOR, de forma que los juegos interpretan que tienes ese IOS igual o más actualizado y por tanto no te lo quieren actualizar.

Si se sabe lo que se hace, no es TAN peligroso downgradear, pero sigue teniendo peligro. Aparte, ten en cuenta que el problema no es solo el downgradeo en si, sino que, sin darte cuenta, actualizas con un juego que trae 3.4 después de downgradear una 4.2 a 3.2 y listo, BRICKAZO! Si a esto le sumas que 4.1 es la versión con más ventajas (Nintendo mejoro e introdujo varias cosas) y que TODO lo que se puede hacer en 3.X se puede hacer en 4.1 (e incluso en 4.2), es totalmente absurdo bajar la versión de una Wii.

Lo de que meter stub en los lugares de los cIOS es una tontería... cuentaselo a los que actualizaron y perdieron Softmods durante dias porque no se sabía como recuperar estos cIOS de nuevo (y sin cIOS no hay downgrade, ni softmods.... vamos, que no hay trucha en general)... El problema es que el Team Twizzers son unos crack, y una vez y sacan una actualización de BootMii que se puede instalar en todas las Wii con todas las versiones, con cboot2 se puede instalar de nuevo el cIOS.
En un futuro veremos que hace Nintendo, pero con que solo les "jodiera" los cIOS a los nuevos compradores (con Wii actualizada) y a los que actualizan sin darse cuenta, por error, porque lo hace la familia, etc... ya habrían conseguido mucho.

buggsbunny escribió:Gracias, gracias y mas gracias
Ya me queda algo mas claro el tema de los cIOS, IOS,.....
Siempre han sido un ente abstracto en mi mente novata.

Edito: no me queda muy claro lo de las numeraciones 36, 37, ahora 38, las revisiones, pero eso es otra guerra

Grandisimo curro.

Amigo, estas muy perdido, tienes mucho por leer, para entender la numeración de los IOS y demás.
Las revisiones... pues simplemente es el numero de versión, es decir, revisión X sería como versión X. Por ejemplo, el último cIOS de Waninkoko es la versión 15 (hay 14 versiones más, que son anteriores), y la 15 tiene todo lo de las anteriores más las mejoras, por eso lo lógico es poner la última versión (últimamente están cambiando algunas cosas y se piensa que es mejor darle más importancia a los cargadores, y no toda al cIOS, y de ahi que en algunas revisiones se hayan quitado opciones).
Leete bien el hilo chincheta de lectura obligada y fijate bien en los enlaces, más que interesante el diccionario de términos de la scene para que entiendas más cosas.
Buggsbunny, empieza por aquí... XD
http://wiibrew.org/wiki/IOS_History
http://www.elotrolado.net/wiki/Actualizaciones_inclu%C3%ADdas_en_los_videojuegos_de_Wii

Gracias Mokona Modoki, estoy intentando asimilar conceptos, ya iré preguntando más cosillas...
Naeonflux escribió:Buggsbunny, empieza por aquí... XD
http://wiibrew.org/wiki/IOS_History
http://www.elotrolado.net/wiki/Actualizaciones_inclu%C3%ADdas_en_los_videojuegos_de_Wii

Gracias Mokona Modoki, estoy intentando asimilar conceptos, ya iré preguntando más cosillas...



Muchas gracias para empezar y muy interesantes los enlaces, ya mes los empapare.

Digo que soy novato en esto porque no llevo un año con mi blanquita, mi principal lio es que en este escaso año he ido coleccionando varios wad's de las distintas actualizaciones que van llegando, la mayoria con el mismo nombre y distintos tamaños, por ejemplo IOS36-64-v1042.wad de rev7 a rev10, los distingo por el tamaño, pero tampoco creo estar seguro de algunos.

Me gusta, bueno a mi mujer, los de cantar, Disney SingIt, Custom SingIt, U-Sing, We-Sing, Boogie, y el "problema" con los puertos USB 2.0, ya que utilizo HDD, para no gastar la lente y los originales, cuando quiero cantar con 2 micros, 2 puertos USB, simplemente cambio la version de ios36 para anular los USB 2.0 y asi tenerles en 1.1 utilizando el original desde el lector de DVD y despues de tanto cambio me empezo a dar error la actualizacion por internet.

Bueno resumiendo tengo varios IOS36-64-v1042.wad, que es del que mas tengo, rev7 1765Kb, rev8 1874Kb (este creo que es ios37), rev9 1780Kb, rev10 1731Kb, ... Estos van sobre IOS249 250, creo, este es mi lio, y luego estan los 222 y 223, pero a partir de las rev13, que recuerde vienen los wad como IOS38-64-vxxxx.wad y no 36.

¿Se puede tener el wad ya parcheado?, es decir, el cios corregido/modificado

Para mi considero las posiciones 222, 223, 249, 250,... como apartados postales donde poner el software de los distintos cios.

Yo utilizo BL0.3Gamma para lanzar backups con USB1.1 2 micros, el SD/USB loader 1.5 de waninkoko/kwiirk y uLoader 1.7 de Hermes para ios222 1 micro.

Edito: Tengo la wii en 3.4 y me funciona practicamente todo, salvo ahora el U-Sing y We-Sing que me dan el error 002, estoy con ello. lo que tambien me extraña es que no me funcionen los 2 micros con revisiones de cIOS superiores a la version 8/9. Tambien he leido el chincheta de lectura obligada, pero cuanto mas le leo menos entiendo, jejejeje.

Gracias a comepiedras por tu gran dedicacion y enseñanzas, al leeros no siento otra cosa que admiracion, evidentemente me queda mucho para llegaros a los tobillos, jejejeje, sin embargo las revisiones o versiones de los IOS/cIOS no son lo mismo ya que con las revisiones anteriores a la 9 no me funcionan los 2 micros, ahora ando haciendo pruebas con USB Loader GX y uLoader 3.2 y las rev15, rev14, ya que no siempre cargo desde HDD.

Reiterar mis felicitaciones por la dedicacion y enseñanzas, llevo casi un año en este y otros foros trasteando y aprendiendo, y como bien apunta comepiedras me queda mucho por leer y aprender.

Gracias
7 respuestas