Codigo fuente del homebrew actual (para el Wiki)

Buenas.

Mi proximo objetivo en el Wiki de la Scene de Wii (de EOL) es comenzar a desarrollar la zona de programadores, y para ello, necesitaria codigo fuente y documentación.

Con este post pretento pedir a los desarrolladores de homebrew de EOL si me pueden dar el codigo fuente de sus aplicaciones para la Scene de Wii (no NGC) como Mag, waninkoko, etc.

Muchas gracias.
Asi, nos beneficiaremos todos ;)
Yo por mi no tengo ningun problema en compartir mis fuentes, me gusta la idea de hacerlo para que haya mas gente que se anime a desarrollar para la wii.

Estos son los unicos proyectos que he hecho, pronto habran mas.. ;)

WiiMenu 1.0: http://www.mediafire.com/?8n3izeio1ym

WiiPaint 1.0: http://www.mediafire.com/?fejddjz13cw

Saludos...
Kontakatilu escribió:Yo por mi no tengo ningun problema en compartir mis fuentes, me gusta la idea de hacerlo para que haya mas gente que se anime a desarrollar para la wii.

Estos son los unicos proyectos que he hecho, pronto habran mas.. ;)

WiiMenu 1.0: http://www.mediafire.com/?8n3izeio1ym

WiiPaint 1.0: http://www.mediafire.com/?fejddjz13cw

Saludos...


yo tengo una duda


buttonB=0;//variables a cero
//buttonA=0;//variables a cero

//if (IS_JUST_PRESSED(wm, WIIMOTE_BUTTON_ONE)){
//wiiuse_set_ir(wm, 1);
//usleep(200000);
//wiiuse_motion_sensing(wm, 0);
//usleep(200000);
//}



despues del buton b, lo demas no se toma como comentario ???
Si, despues de dos barras // lo de detras se interpreta como comentario, y aveces se usa para invalidar codigo y probar cosas, osea en lugar de borrar un codigo del que no estas seguro que esta mal, pues le pones dos barras delante y lo dejas ahi anulado hasta que le quites la barras o lo borres.

La verdad es que ese codigo que esta barrado se me ha colado y lo tenia que haber quitado pues no me servia para lo que queria, con el intentaba evitar que la gente haga lo de pulsar "arriba" "izquierda" para activar el wiimote, pero no me sirvio :)
Kontakatilu escribió:Si, despues de dos barras // lo de detras se interpreta como comentario, y aveces se usa para invalidar codigo y probar cosas, osea en lugar de borrar un codigo del que no estas seguro que esta mal, pues le pones dos barras delante y lo dejas ahi anulado hasta que le quites la barras o lo borres.

La verdad es que ese codigo que esta barrado se me ha colado y lo tenia que haber quitado pues no me servia para lo que queria, con el intentaba evitar que la gente haga lo de pulsar "arriba" "izquierda" para activar el wiimote, pero no me sirvio :)



ok gracias por la contestacion ;-)
Añado un trozo de codigo que he encontrado en otro foro (publicado por el usuario Goatjuggler, gracias ;))

/******************************************************************/
/* Stop DVD motor                                                 */
/*                                                                */
/* Creado usando la documentacion de Crediar's & SVPE             */
/* en [url]http://wiibrew.org/index.php?title=/dev/di[/url]                  */
/* y el codigo de herraa1's en starlet-ipc.c para GameCube-Linux  */
/*                                                                */
/* Requiere ipc.h para los comandos IOS IOS_Open() e IOS_Ioctl()  */
/* usar #include <ogc/ipc.h>                                      */
/******************************************************************/
       
    s32 di_fd; //valor devuelto por IOS_Open()
    s32 buf[3];
    buf[0]=0xE3000000;
    buf[1]=0; //desconocido/sin uso por el momento
    buf[2]=0; //desconocido/sin uso por el momento
           
    /* Abrimos la interfaz DVD para escritura */   
    di_fd=IOS_Open("/dev/di", 2);
   
    /* Shhhhh, a dormir */
    IOS_Ioctl( di_fd, buf[0], buf, 0x20, buf, 0x20);

De este modo, como comenta el creador, se produce una pequeña pausa cuando se ejecuta el codigo, para solucionarlo simplemente hacemos la operacion de modo asincrono, es decir, en lugar de usar:
IOS_Ioctl( di_fd, buf[0], buf, 0x20, buf, 0x20);

Usamos:
IOS_IoctlAsync( di_fd, buf[0], buf, 0x20, buf, 0x20, NULL, NULL);

La verdad es que se agradeceria que se añadiese a las aplicaciones que van saliendo (el buen rato que se tarda en dumpear la NAND con el zelda dando vueltas por gusto es doloroso jeje).

¡Por cierto! Creo que seria bueno añadir un IOS_close(di_fd); despues del codigo, pero no estoy seguro de si es necesario, si alguien lo confirma, mejor.

P.D.: A ver si no se hunde el hilo, porque luego se crean decenas de hilos preguntando por codigo comentado o de ejemplo. Gente, posteen aunque sean pequeños trozos de codigo con cosas utiles.
Alguien sabe solucionar el problema del devkitpro r14, al intentar compilar algo que dice error 127 no se reconoce el comando gcc?
Me gusta ese código de crediar para parar el motor del lector. Haber si lo implementan...
Bueno, voy a empezar mañana el trabajo aunque no tengo ni idea del asunto XD ¿Alguien me podria hacer una documentación para la compilación? Por cierto, seria tambien útil codigo de las librerias existentes y su implementación ;)

Gracias.
o0ghost0o escribió:Alguien sabe solucionar el problema del devkitpro r14, al intentar compilar algo que dice error 127 no se reconoce el comando gcc?

Eso es que no tienes descargado el gcc, te descargaste todo del Devkitpro en el updater??
broly7 escribió:Eso es que no tienes descargado el gcc, te descargaste todo del Devkitpro en el updater??

El updater
Gracias a Kontakatilu por ofrecer su codigo fuente, el cual, me esta ayudando a comprender un poco la programación con Wii, que necesitare conocer para la Wiki.

Me gustaria ver para comparar el codigo de una aplicación que use 2 wiimotes si fuese posible ;)

Gracias.
o0ghost0o , no me hagas mucho caso pero... creo que el compilador lo que te quiere decir es que en la line 127 de tu programa has puesto alguna funcion que no existe en las librerias, bien porque la has escrito mal o porque te la has inventado :) (ami me pasa aveces). Hay que tener cuidad con las mayusculas y minusculas, ya que el compilador las distingue y pueden dar un quebradero de cabeza.

Saludos...
Joder... cuando ya tenía mi código para el wiki casi casi listo me salta un error que no tengo huevos de localizar
"expected declaration or statement at the end of the input" [buuuaaaa]

http://files.filefront.com/eol+pongrar/;10056376;/fileinfo.html

Por si acaso alguien puede echarle un vistazo y encuentra la metedura de pata que avise (debe ser una chorrada), y así se lo puede llevar capitanquartz al wiki de tirón.

PD: Ah, a todo esto. Que es un pong, o algo parecido. Como juego aporta poco, la verdad. Pero lo que pretendía era hacer una especie de tuto para novatos por lo que, si puede ser, no hagáis demasiada sangre con las críticas.

(... ainsss... con lo bien que iba :S )
realbrucest escribió:Joder... cuando ya tenía mi código para el wiki casi casi listo me salta un error que no tengo huevos de localizar
"expected declaration or statement at the end of the input" [buuuaaaa]

http://files.filefront.com/eol+pongrar/;10056376;/fileinfo.html

Por si acaso alguien puede echarle un vistazo y encuentra la metedura de pata que avise (debe ser una chorrada), y así se lo puede llevar capitanquartz al wiki de tirón.

PD: Ah, a todo esto. Que es un pong, o algo parecido. Como juego aporta poco, la verdad. Pero lo que pretendía era hacer una especie de tuto para novatos por lo que, si puede ser, no hagáis demasiada sangre con las críticas.

(... ainsss... con lo bien que iba :S )


Linea 217 de eol-pong.c
Abres un if, pero no lo cierras...


if(bola_x==LIMITE_IZQUIERDO)
{
if(jugador[1].puntuaciondibuja_bola(NEGRO); //Borramos la bola
inicializa_bola(); //Y sacamos de centro
} <----- TE FALTA ESTA LLAVE DE CIERRE DE CLAUSULA



Podrias tratar de añadirle soporte de wiimote, en lugar de mando de GC...
Ooops!

Muchas gracias Sasker [beer]

No tengo configuradas las últimas librerías, pero cuando me pueda poner de nuevo con el código miraré lo de los wiimotes a ver si puedo hacer algo con ellos.
En la web de Waninkoko (http://www.wii.waninkoko.info/) tienes los sources del WiiFrii y el Wii Update Remover, són aplicaciones apra PC pero a lo mejor te sirven.

Espero que no le importe a Wanin :-S

Salu2!
Je, estaba a punto de hacer un pong con soporte para wiimote y dos jugadores, pero creo que te me has adelantado, jeje... Pensaré haber que puedo hacer.... alguna idea? No os paseis que no tengo mucha idea de programar eh...
Kontakatilu escribió:Je, estaba a punto de hacer un pong con soporte para wiimote y dos jugadores, pero creo que te me has adelantado, jeje... Pensaré haber que puedo hacer.... alguna idea? No os paseis que no tengo mucha idea de programar eh...
Te lo iba a decir este medio día.
Es en relación a los wiimotes. Que como yo no tengo configuradas las librerías, por si podías echarle tú el vistazo. Es que lo que yo me propuse hacer con el programita ya lo he acabado :) si lo pudieses rematar tú, pues de p*** madre.

Prefiero mantenerme a la espera de que el devkitpro soporte los wiimotes y de mientras trastear con otras cosas.

Bueno, por ahí lo dejo. Gracias Kontakatilu que eres el que me ha animado a volver a escribir algo de código.

Adjuntos

Me alegro un monton de haberte animado a realizar esto, me parece un buen trabajo, le pego una miradita y haber si le añado el wiimote.

Gracias por los agradecimientos, jeje.
yo aver si tambien a programar, pero es k tengo poco tiempo (examenes) xD
Realbrucest, ya te he puesto el wiimote en el juego. De momento lo de los 2 wiimotes tengo que mirarlo mejor asi que solo puse 1 y el otro con el mando normal. Recuerda que para que empiece a moverse tienes que pulsar "arriba" "izquierda" en el wiimote, es un coñazo pero al parecer es un bug de las librerias.

Creo que tendras que revisar el codigo para darle algo mas de vidilla a la pelota y al jugador que use el mando ya que el que se maneja con el wiimote parece que sea superman :)

Porcierto, te lo repito, un buen trabajo, gracias a el he entendido y aprendido funciones y cosas nuevas.

Saludos

Fichero: http://www.mediafire.com/?5t4xeuyegwr
Oído cocina, lo chungo es que la tele ya va a estar acaparada hasta mañana por lo que no voy a poder ver el programa "en acción".

Tomo nota y me pondré a darle vidilla a la paleta del mando de gamecube, tiro de memoria pero creo que eso van a ser un par de correcciones sin jaleo ninguno.
A bote pronto me parece que con hacer que se desplace de dos en dos píxels en lugar de uno a uno ya tendríamos algo.

Bueno, pues seguiremos entonces con el lavado de cara del pong. A ver qué más da de sí.

Muchas gracias por la ayuda.
yo estoy ontentando compilar el sdelfloader pero me da esto:

> "make"
diskio.c
dol.c
elf.c
main.c
sdio.c
tff.c
linking ... loader.elf
main.o: In function `main':
main.c:(.text.main+0xac): undefined reference to `CON_Init'
main.c:(.text.main+0x500): undefined reference to `__IOS_ShutdownSubsystems'
collect2: ld returned 1 exit status
make[1]: *** [/h/sdelfload/loader/loader.elf] Error 1
"make": *** [build] Error 2

> Process Exit Code: 2
> Time Taken: 00:12

he actualizado las librerias con cvs pero nada.

¿alguno sabe lo que pasa?

Gracias.
En este post no se puede pedir ayuda de esto ;) aunque hay un IRC en el que tal vez te puedan ayudar.

PD: La proxima vez ponle la etiqueta CODE.

PD2: Voy a aprovechar ahora que voy a documentar la wiki para aprenderme estas cosas, que no tengo gran idea XD
Pues sigue siendo que no :S

Kontakatilu, compilo tu source sin problemas. Pero cuando pruebo el elf en la wii no hay rastro del wiimote. Me lo reconoce pero la pala controlada por éste no hay manera de que responda.

Luego he estado trasteando un rato, arreglando el código para que cuando consiga implementarle los wiimotes que siga viéndose todo bien claro y sencillo para los "nuevos". Cogí carrerilla y hasta me creí que me iba a salir a la primera, iluso que es uno xD
Algo he aprendido pero en vista de los resultados no lo suficiente, vamos, que la revisión con soporte para wiimotes tendrá que esperar.

Pues eso, piano, piano.
Una vez sincronizado el wiimote, tienes que pulsar en el wiimote "arriba" y luego "izquierda", haz una pausa entre las dos pulsaciones, es un bug que tienen las librerias sorry :)
26 respuestas