Patrocinadores

http://www.dsflash.es/

Anuncios Google

Cursos Básicos de Programación en C Para Wii. Parte 3

Tutoriales Avanzados Homebrewes

¡Hola! Se que estas ansioso por hacer tu primer programa de wii después de mucho tiempo que te he llenado de pura teoría, no es así? Pues hoy llega el día en este tutorial te enseñare a hacer tu primer programa, el Hola Mundo, no es mucho, pero todos los grandes coders lo han hecho una vez y es importante conocerlo, así que te invito a conocerlo veras que es muy fácil y estarás sumamente feliz con tu primer y pequeño programa para wii.


Herramientas

Ya conoces las 3 herramientas que se necesitan para crear un programa en C para wii, en este tutorial te entrego antes que nada tus 2 herramientas básicas, tu primer Makefile y tu primer Compilador para wii, tómalos y disfrútalos.

Descargar Makefile Básico (Sólo usuarios registrados).

Descargar Compilador Básico (Sólo usuarios registrados).

Nota: Recuerda que debes tener la librería Multiusos.h, tu main.c vacío, y el Devickit, que explique en el primer tutorial.


Preparando archivos

En este paso preparamos los archivos que se necesitaran para poder crear el programa, es algo muy básico y para nada complicado, mas bien sólo te indicare donde meter las herramientas y en que carpetas.

Primero que nada tenemos que crear una carpeta en la raíz del disco C, llamada:

holamundo

Se pone tal cual, si mayúsculas, sin espacios, ni acentos aunque puedes cambiar el nombre, dentro de esta carpeta pondremos nuestro compilador y nuestro Makefile.

Dentro de la misma carpeta llamada hola mundo crearemos otra de nombre Source, dentro la esta ultima carpeta meteremos nuestro main.c (El vacío) y listo tendremos nuestros archivos listos y preparados para la mera acción.


Captura de como deberían quedar los archivos*


Llegamos a la mejor parte/Creación del programa

Pues llegamos a la mejor parte del tutorial, la creación de tu primer programa abriremos nuestro main.c vació/estructura con el Notepad++ ahora ya modificaremos el que esta en la carpeta Source creada anteriormente ese ya sera el espacio habitual de trabajo para todos tus programas, para ello te recordare como es la estructura de la mencionada base.

 

//Includes
#include <multiusos.h>
//Variables y defines
//Main
int main() {
	Init();
	while(1){
 
		VideoSync();
	}
	return 0;
}

Estructura de un main.c vacío/Programa de wii vacío*

Teniendo esto comenzamos con la acción lo primero sera borrar los que mencione en el tutorial 2 que eran meros títulos, se borran y se recorren las lineas sobrantes, hecho esto te explicare lo siguiente en 2 sencillos pasos:

  1. Debajo de while(1){ se agregar una linea con la siguiente función wpadInitButtons(Wpad1); Este comando se utiliza para iniciar los controles de wii, recordemos que entre mas controles pongamos mas se gastara la RAM, si queremos que se active el control 2 simplemente debajo de esa linea ponemos wpadInitButtons(Wpad2);
  2. Hecho esto debajo de esa línea pondremos algo como esto screenCoorPrintf(5, 5, "!!!Hola Mundo, Hola SceneBeta!!!");  te explico por partes screenCoorPrintf esto nos da las palabras que se pondrán en la pantalla al ejecutar el programa  la parte que dice (5, 5, Nos indica las coordenadas en las que queramos que aparezca la frase, y la parte "Hola Mundo, Hola SceneBeta" Pues nos indica el texto que aparecerá en la pantalla, podemos poner las que nos plazcan siempre dentro de las comillas ("") y por ultimo el ): que indica que se cierra.

De modo que nuestro programa tendrá que quedar mas o menos con este aspecto, dependiendo las coordenados y lo que ustedes hallan escrito para que aparezca en la pantalla.

NOTA IMPORTANTISIMA: En el main.c que se cree siempre se tiene que dejar una línea vacía al final ya que es como el limite para el compilador.

 

#include <multiusos.h>
int main() {
	Init();
	while(1){
	wpadInitButtons(Wpad1);  
screenCoorPrintf(35, 5, "!!!Hola Mundo, Hola SceneBeta!!!");  
		VideoSync();
	}
	return 0;
}

Estructura de un Hola Mundo para wii*

 


 

Compilando

A llegado la hora en que tu programa esta listo, lo único que tienes que hacer es darle clic a la casilla guardar en el NotePad, y listo nos situamos en la carpeta holamundo de la raíz del disco C, y damos doble clic al compilador previamente colocado en esta ruta, nos debería aparecer algo como esto:


Captura del compilador*

Como el mismo compilador dice, sólo tendremos que presionar una tecla y el solo seguirá el procedimiento, cuando vuelva a aparecer la frase Presione una tecla para continuar... cierra el compilador y veras que en la carpeta abran aparecido 3 nuevos archivos, el holamundo.elf y holamundo.dol y una carpeta, (la carpeta no nos sirve ni interesa de momento puedes eliminarla).

Listo esto, el archivo que mas nos interesa en este caso sera el holamundo.dol lo único que tenemos que hacer es renombrarlo por Boot.dol meterla en una carpeta de cualquier nombre en la SD, lo mas conveniente seria en algo como esto

SD/apps/HolaMundo/Boot.dol

Y listo prueba el programa en tu wii cargándolo con el canal Homebrew y veras que pasa!!

Nota: Recuerda que si tu programa se llama mainvacio, debes cambiarle por main solamente (Obviamente exención C).

Nota 2: Si el compilador marca algún error fuera de lo común observarlo bien el compilador habla por si solo y ver en que linea indica que esta el error, es muy fácil identificarlos, lo mas probable es que sea algo que no este bien en tu main.c.

Nota 3: El compilador de la descarga se llama makeador.


Terminado

Hemos terminado todo el trabajo por hoy, segura estas muy emocionado con tu programita de wii eh? y si lo crees sencillo no te angusties pronto te enseñare e hacer cosas mucho mas emocionantes como tu primer tester, por eso no me queda mas que decirte felicidades!! has entrado al mundo de la programación. Y felicidades por tu primer y grandioso programa para wii.

4.714285
Tu voto: Ninguno Votos totales: 4.7 (77 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

^^v

Lo hice y funciono. Solo me queda 1 cosa para decir: I´TS ALIVE!!!!!!!!!!!!!!!!!!!!

Imagen de J.M.C.

Ayudaaa!!!

Me sale este codigo de error ¿Aguna solución?

 

holamundo.c

In file included from c:/holamundo/source/holamundo.c:2:0:

c:/devkitPro/libogc/include/multiusos.h:94:13: warning: built-in function 'exp'

declared as non-function [enabled by default]

c:/devkitPro/libogc/include/multiusos.h:95:13: warning: built-in function 'exp2'

 declared as non-function [enabled by default]

c:/holamundo/source/holamundo.c: In function 'main':

c:/holamundo/source/holamundo.c:11:3: error: expected ';' before 'VIDEO_WaitVSync'

make[1]: *** [holamundo.o] Error 1

make: *** [build] Error 2

Presione una tecla para continuar . . .

 


El 98% de los adolesentes ha fumado si eres el afortunado 2% copia esto y ponlo en tu firma

Te falta un ";" en alguna

Te falta un ";" en alguna parte del programa. Acordate de finalizar todas las instrucciones con un ";"

gracias por el tutorial!!!!!

que bueno que pusiste este tutorial esta muy padre, me salio todo perfecto 

recuerdo que no queria ni desbloquear mi wii y ahora empieso  a hacer programas, genial!!!

te vuelvo a agradecer por compartir tus conocimientos con nosotros

error 2 iwal >.<

holaaa hicee todoo al piee de la letra pero cuando habro el makeador me salee esto:

make[1]:/c/Hola: No such file or directory

make[1]: *** No rule to make target `/c/Hola´.Stop.

make: ***[build] Error 2

Presione una tecla para continuar....

he leido q puede ser el make file y q debo descargarlo de nuevo peroo igual no me sirve, algun otro lugar donde descargarlo? D: este es mi main:

//Includes 

#include <multiusos.h>

//Variables y defines  

//Main  

int main() {

Init();

while(1){

//wpadInitButtons(Wpad1);

//screenCoorPrintf(5, 5, "MUY BUENOS DIAS! Sr.Dr.Profesor J kun xD!!");

//VideoSync();

}

return 0;

}

El compilador no esta

El compilador no esta encontrando los archivos. Fijate si que pusiste todo en su lugar

Imagen de naxoleal98

lo probe me salio exitosamente...

estubo muy bueno este tutorial, lo que si me gustaria crear otras cosas pero me salio bien jajajajaja

Imagen de 0kami

  Hola disculpa tengo un

 

Hola disculpa tengo un problema...

Hize todo al pie de la letra y al final me sale algo asi en el CMD

Edito: Ya arregle el error...Lo que pasaba es que me faltaba pegar Libreria Multiusos en DevkitPro

Espero me entiendan, Para todos aquellos que les haya pasado lo mismo


 

Imagen de david_____david

xD

Genial!

Un tutorial buenisimo.

No hace ni 1h que me he puesto a leer los tutoriales anteriores y ya he compilado el Hello World.

Funciona perfectamente :)

Deseando seguir.. xDD

 

 

Salu2


Imagen de Necro-Gamer

Lo Logre!

Muchas gracias por este tuto amigos de la scene! todo me ha salido al 100% no es nada dificil y menos con estas explicaciones tan detalladas y simples! muchas gracias de verdad...!

Imagen de giratina1234567

a mi me pone error del win32

a mi me pone error del win32 y no me deja compilarlo

ya lo e instalao dos veces y sigo con el mismo error

¿alguien me puede dar una solución?

el main lo tengo exactamente igual al que hay en esta pagina.

Imagen de fran98

Se me olvidó instalar el

Se me olvidó instalar el devkit, es que no sé instlarlo.

¿Alguien me ayuda a instalarlo, por favor?

Gracias y saludos.

 

 


 

 

Firma


Imagen de fran98

Muchas gracias por la

Muchas gracias por la recomendación.

Saludos.

Imagen de fran98

¡AYUDA!

No sé que archivo compilar.
Ayudenme, por favor.

Imagen de Neutron2000

...

el main.c. y usas el makeador.bat para compilar-lo.

Imagen de fran98

Pero el makeador...

Pero, el makeador me da el siguiente error:

"make" no se reconoce como un comando interno o externo,

programa o archivo por lotes ejecutable.

Presione una tecla para continar...

¿Qué puede ser y que hago para poder compilar?

 

 


Firma


Imagen de Neutron2000

..

a mi tambien me paso eso.

Reinstala el devkit..

Instalaste las multiusos no?

Saludos

Imagen de thebomb2412

no me va... me sale

no me va... me sale esto:

nota: he reinstalado el devkitpro 2 veces

nota 2: mi main.c contenía esto:

#include <multiusos.h>
int main() {
	Init();
	while(1){
	wpadInitButtons(Wpad1);  
screenCoorPrintf(35, 5, "!!!Hola Mundo!!!");  
		VideoSync();
	}
	return 0;
}


Por favor ayudadme a ser premium en megaupload. http://www.megaupload.com/?d=TRCREC10

Ayudanos a los demas desde aquí http://wii.scenebeta.com/node/4764 (Gracias!)

Si me quieren agregar como amigo en la 3ds o en la wii, enviadme un MP Risa

Imagen de Neutron2000

Te bajaste las librerias

Te bajaste las librerias multiusos?

Imagen de thebomb2412

Las he instalado y sigo igual

Las he instalado y sigo igual. Ahora me sale esto:

Y mi main.c es este:

#include <multiusos.h>
int main() {
	Init();
	while(1){
	wpadInitButtons(Wpad1);  
screenCoorPrintf(35, 5, "!!!Hola Mundo!!! :D");  
		VideoSync();
	}
	return 0;
}


Por favor ayudadme a ser premium en megaupload. http://www.megaupload.com/?d=TRCREC10

Ayudanos a los demas desde aquí http://wii.scenebeta.com/node/4764 (Gracias!)

Si me quieren agregar como amigo en la 3ds o en la wii, enviadme un MP Risa

Imagen de Neutron2000

Aqui hay algo mal! Fijate que

Aqui hay algo mal! Fijate que pone: main.c : 17. Ese 17 quiere decir la linia del main donde esta el error. En tu main no hay 17 linias..

Ademas, mira yo he intentado compilar este source que me has dado tu, i me lo ha compilado de perlas.. No se, mira si en la linia 17 de mas abajo por cualquier cosa hay algun main o algo..! La verdad es que no se porque te da ese error.!


Imagen de csar.ale

Mmm

Su source no llega ni a la linea 17 que raro jeje, y tu dices que su source te a compilado perfectamente, por lo cual su error debe estar en el makefile, recomiendo que reinicie el PC, descargue de nuevo el makefile si lo anterior no funciona, y si ninguna de las anteriores funciona que instale de nuevo la librería y el devick.

Saludos!!

ayudame: como se descarga la libreria multiusos

como se descarga la libreria multiusos? me sale este error y no c si es por eso...

Imagen de thebomb2412

ya se que pasaba!!!! tenia el

ya se que pasaba!!!!

tenia el main.c en el mismo directorio que el makeador.bat y el makefile cuando debería estar en la carpeta source XD

gracias a los que me ayudaron


Por favor ayudadme a ser premium en megaupload. http://www.megaupload.com/?d=TRCREC10

Ayudanos a los demas desde aquí http://wii.scenebeta.com/node/4764 (Gracias!)

Si me quieren agregar como amigo en la 3ds o en la wii, enviadme un MP Risa

Imagen de supersonic_101

No me funciona ...

Hago todo comome dice pero "no hace nada". Acontinuacion pongo mi cmd.exe :

linking ... holamundo.elf
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/4.5.1/../../../../powerpc-eab
i/lib/crtmain.o: In function `__crtmain':
c:/Users/davem/projects/devkitpro/buildscripts/newlib-1.18.0/libgloss/rs6000/crt
main.c:17: undefined reference to `main'
collect2: ld returned 1 exit status
make[1]: *** [/c/holamundo/holamundo.elf] Error 1
make: *** [build] Error 2
Presione una tecla para continuar . . .

¿Que es lo que pasa?¿Porque no funciona?

Otra cosa, ¿De donde saco la carpeta source?






Tienes dudas, pasate por aquí (wii.scenebeta)

Imagen de Neutron2000

enseñanos tu main.c!

enseñanos tu main.c!

Imagen de supersonic_101

Mi main.c

Aqui esta:

//Includes
#include <multiusos.h>
//Variables y defines
//Main
int main() {
	Init();
	while(1){
		wpadInitButtons(Wpad1)
		screenCoorPrintf(5, 5, "!!!Hola Mundo, Hola SceneBeta!!!");
		VideoSync();
	}
	return 0;
}

¿Alguen me puede decir lo que no me funciona?






Tienes dudas, pasate por aquí (wii.scenebeta)

Imagen de inaki180995

He descubierto por kno funciona

A mi me pasaba lo mismo del ERrOR 1 y ERROR 2, lo que pasa es que al instalar el devkitpro luego no has copiado la libreria multiusos!!!


KOMANKK

Imagen de csar.ale

jeje

Relee la parte donde indico que esas frases que tienen un // son meros títulos, también (Y no se si lo tengas) deja un espacio al final.

Saludos!

Edito: Veo que tienes dudas hasta en la carpeta source (La cual se crea en esta ruta:

C:/holamundo/source

Por lo cual te recomiendo volver a leer todo con más calma.

Imagen de supersonic_101

Gracias

Empezado por csar.ale :"Relee la parte donde indico que esas frases que tienen un // son meros
títulos"

Claro usar "//texto" en c es como usar "{texto}" en pascal

Empezado por csar.ale :"también (Y no se si lo tengas) deja un espacio al final."

Está, pero no aparece.

Empezado por csar.ale : "Edito: Veo que tienes dudas hasta en la carpeta source (La cual se crea en esta ruta:

C:/holamundo/source

Por lo cual te recomiendo volver a leer todo con más calma."

Ok, espero que me funcione. Por lo que veo, no es tan "facil" como pascal.


Edito: Gracias, me funcioná perfecto.






Tienes dudas, pasate por aquí (wii.scenebeta)

y la PARTE 4 ????

y la PARTE 4 ????

No me funca

al abrir el compilador me dice "make" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

 

y no hace nada mas, me podrian ayudar porfavor =) gracias

Imagen de Neutron2000

A mi me paso eso, y lo que

A mi me paso eso, y lo que hize fue reinstalar el devkit, y ya me funciono!

Saludos.

Imagen de Rider7

te a de ver faltado ponerle

te a de ver faltado ponerle algo al source code revisalo bien que este como la imagen

¿para cuando el 4º?

Para cuando el 4º tutorial?? Estaria bien que fuera un poco mas avanzado...

Imagen de Neutron2000

Otro problemaa!!

Tengo un problema con un source que estoy creando. Copio el codigo i os digo el error que me marca el compilador aver si alguien me puede ayudar.

#include <multiusos.h>
int main() {
Init();
screenCoorPrintf(5, 5, "Pulse un boton para detectarlo\n");
while(1) {
wpadInitButtons(Wpad1);
if (pressed & ButtonA){
screenCoorPrintf(5, 6, "Boton A Funcionando")
}
if (pressed & ButtonB){
screenCoorPrintf(5, 7, "Boton B Funcionando");
}
VideoSync();
}
return 0;
}

El compilador me dice que ha encontrado un error en la linia 9( que solo tiene esto } ). Este es el error:

main.c:9: error: expected ´;´ before ´>´ token

Que puede ser? En la lina 9 solo hay un } .

PD: ya esta solucionado, olvide un ; despues de lo de boton a funcionando.


Imagen de csar.ale

Con calma

Aun no llegamos a eso, por otro lado muéstrame tu código con el botón Insertar código (Dentro del editor de texto) para observarlo mejor y ver el posible error.

Saludos!

Imagen de Draco el dragon

Que va

Eso es problema de C no de programacion en wii xD

El error indica que falta un ; antes de un > en esa linea.

Codigo bien (bueno, sin que de errores, luego si da errores de no se inicio tal cosa o no carga en la wii ya no se, que de wii no se nada xD):

#include <multiusos.h>
int main() {
Init();
screenCoorPrintf(5, 5, "Pulse un boton para detectarlo\n");
while(1) {
wpadInitButtons(Wpad1);
if (pressed & ButtonA){
screenCoorPrintf(5, 6, "Boton A Funcionando"); // Aqui faltaba un ;, es un despiste corriente
}
if (pressed & ButtonB){
screenCoorPrintf(5, 7, "Boton B Funcionando");
}
VideoSync();
}
return 0;
}

Ale, ya esta, o eso creo ;D


Chuck Norris es la razon por la que Wally se esconde

Han encontrado al doble que hizo de Chuck Norris en Salvados muerto en su casa. Tenía una huella de zapato en la cara y no se había leído el manual del perfecto forero.

¿Tienes un idevice y quieres aplicaciones gratis legalmente? ¡Freemyapps!

Imagen de Neutron2000

Ah ok!!! Mira que busque aver

Ah ok!!! Mira que busque aver si habia algo para insertar codigo, pero no vi eso!

Con calma...!xD!

¿Hay alguna forma de hacer

¿Hay alguna forma de hacer esto en linux?. Lo estoy intentando de todas las maneras posibles, pero no lo consigo. Uso ubuntu 10.04. Creo que lo ideal sería instalar esas librerías. Hay algún linuxero que me pueda aydar? Gracias de antemano

Importancia del Hello World

Me encanta que se arranque con el nunca menospreciado "Hello World"!!!

 

Esperando por tutos mas avanzados a ver si podemos lograr algo copado en esta comunidad con tanta onda!!

:D

Imagen de ateno_3

Fallo

Cuando intento compilar un programa para wii creado por mi, sale esto:

¿Que he hecho mal?

Imagen de Draco el dragon

Eso seguramente

Es problema de la instalacion de devkitpro. Lo mejor es que reinstales devkitpro.

Imagen de Draco el dragon

Mmmm

Los tutoriales estan bien, pero como dice disgepia el ritmo es algo lento, por lo menos para mi xD

Hay una cosa que se deberia de cambiar:

2.   Hecho esto debajo de esa línea pondremos algo como esto screenCoorPrintf(5, 5, "!!!Hola Mundo, Hola SceneBeta!!!");  te explico por partes screenCoorPrintf
esto nos da las palabras que se pondrán en la pantalla al ejecutar el
programa  la parte que dice (5, 5, Nos indica las coordenadas en las que
queramos que aparezca la frase, y la parte "Hola Mundo, Hola SceneBeta"
Pues nos indica el texto que aparecerá en la pantalla, podemos poner
las que nos plazcan siempre dentro de las comillas ("") y por ultimo el ): que indica que se cierra.

Lo del ; (aunque pone : xD) no es que se cierre, indica el fin de cualquier funcion, algo asi como un punto en el lenguaje corriente, porque si se deja asi parece que solo se usa para esa funcion xD


Chuck Norris es la razon por la que Wally se esconde

Han encontrado al doble que hizo de Chuck Norris en Salvados muerto en su casa. Tenía una huella de zapato en la cara y no se había leído el manual del perfecto forero.

¿Tienes un idevice y quieres aplicaciones gratis legalmente? ¡Freemyapps!

Imagen de Disgepia

No es que critiqué pero....

no crees que vas algo lento con los tutoriales? ya van 3 y lo único "funcional" es un hello world .__.

Imagen de csar.ale

Nop

Recuerda que hay gente con diferentes ritmos, a ti te pueden parecer lentos a alguien mas rapidos mejor lento pero seguro no cres?

Imagen de Disgepia

Bueno, si...

tienes razón a los que ya tenemos algo de tiempo familiarizados con la programación esto es muy aguado, pero para los nuevos esta muy bien... mejor prevenir que lamentar :D :P

Salu2


Imagen de sting18

xD....

jajaja lento pero seguro xD oye csar.ale los sombreros en tu avatar estan curados jajaja saludos

Imagen de Rider7

Que buenos tutoriales aver si

Que buenos tutoriales aver si me ago un coder cmo tu ami esto no se me hace tan dificil ya que cmo tengo un poco de experiencia programando en windows ya me se varias funciones y su funcionamiento Gracias por los tutos Saludoss


Te invito a registrarte   ¿Quieres un avatar como el mio?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.