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.72152
Tu voto: Ninguno Votos totales: 4.7 (79 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.
Imagen de Vegeta El Principe

Una ayudita sii

Hola a todos. Bien,hace un tiempo fui hacker de juegos para moviles Java y quieria adentrarme a editar y crear para Wii.

Logre seguir paso a paso el tuto creando el HolaMundo perfectamente,me sirvio muy bien.

Para comenzar a editar me fui por el VBA GX que tiene bastante lag y queria cambiarle eso.

Ya hecho el cambio al querer compilar me sale filebrowser.ccp error 1 error 2

no se que sera,uso el sourcecode del VBA GX 2.3.6

buen dia.

disculpen las molestias.... hago todo lo que me dice el tutorial sin presentar errores... pero algo debo estar haciendo mal debido que al obtener la extencion .dol y cambiarla a boot.dol y anadirla a la memoria SD el hombrew channel no la lee. a que se debera esto? cuales son los errores mas comunes. para ir descartando. gracias y perdonen las molestias nuevamente.

Imagen de panchoDC

Problema al compilar

Hola mucho gusto, el ejecutar el compilador me sale el siguiente error:

 

linking ... holamundo.elf
powerpc-eabi-gcc.exe: error: unrecognized command line option '-mp3player'
make[1]: *** [/c/holamundo/holamundo.elf] Error 1
make: *** [build] Error 2
Presione una tecla para continuar . .

Quisiera que alguien me pudiera ayudar, ¿Que estoy haciendo mal?.

- Edición -

Hola soy yo de nuevo, mostre mi error arriba y lo solucioné editando el archivo Makefile y borré la bandera que hace referencia a
-mp3player, no se si es lo correcto pero a mi me funcionó.

****************************************
Editado: Crear hilos y comentarios duplicados incumple las Normas de la comunidad, si necesita cambiar su comentario puede usar la opcion de Editar, antes de volver a postear por favor revíselas.| KazuoX13.
****************************************


francisco

Imagen de NaxoR93

Gracias por publicar la

Gracias por publicar la solución a tu problema, aunque la hayas tenido que encontrar tú mismo xD. Desgracidamente, hay muy pocas personas que saben de programación en esta web, y los que estaban activos tuvieron que abandonar por temas personales :/

Saludos.


Mi entrada de bitácora: 3 años: Historia de un Editor

Si tienes una duda, por favor realízala en los foros o en la noticia correspondiente, ya que así también ayudas a otros usuarios. No respondo dudas por mensajería privada.

Imagen de panchoDC

Hola mucho gusto.

Hola mucho gusto, no hay nada qu agradecer, al contrario estos "Tutoriales" me han gustado y servido mucho. Posteé el problema que tenía para a ver sí alguien me lo podía responder, pero no me había fijado bien y tienen bastante tiempo que no se ve que resuelvan alguna duda (veo que fue por lo que me acabas de decir), es por eso que busque a fondo la solución.

Soy programador (desarrollo en otros lenguajes pero no en C )y aportaré a la comunidad tanto como pueda, gracias de antemano.


francisco

Imagen de NaxoR93

Cualquier apoyo a la web es

Cualquier apoyo a la web es bienvenido y agradecido. Yo estuve un tiempo intentando aprender a programar en C pero simplemente no sirvo para la programación, solo me dedico a alentar a quienes saben xD. De todas formas es algo de lo que al menos debo estar al tanto, puesto que como estudio redes deberé trabajar codo a codo con programadores en el futuro.

Un saludo.


Mi entrada de bitácora: 3 años: Historia de un Editor

Si tienes una duda, por favor realízala en los foros o en la noticia correspondiente, ya que así también ayudas a otros usuarios. No respondo dudas por mensajería privada.

Problemas al compilar...

Hola. gracias por leer, alguien sabe como solucionar este problema? tengo las librerias con devkitpro:

al compilar sale esto:

++++++++++++++++++++++++++++++++++++++++
Editado: El límite del ancho de las imagenes es de 500 pixeles, sobrepasar este límite puede descolocar la web e incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.|CarlosSakura.
++++++++++++++++++++++++++++++++++++++++

Imagen de KH_ZETA

Hola. me sale lo siguiente y

Hola. me sale lo siguiente y no se que he hecho mal :

make: *** Notargets specified and no makefile found. Stop.

Presione una tecla para continuar . . .

Graciar de adelantadoSonrisa

Imagen de hyliano8

la verdad es que no soy muy

la verdad es que no soy muy adelantado en esto pero lo mas seguro es que te hayas equivocado en el orden de las carpetas o te falto colocar el makefile en la carpeta que se creo en la raiz del disco duro

espero haber servido de algo (si estoy mal en mi respuesta agradecere a quien me envie un mp con la respuesta correcta a esto ya que mientras mas errores se conoscan mas se sabe XD)

^^v

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

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 . . .

 


Web

www.comunidadiptv.org

Canal

https://www.youtube.com/user/Jamesjon12345

Twitter @jamesjon12345

Facebook jamesjon12345

Las mejores webs donde gano dinero (Recomiendo los 2 sitios):

Ganando dinero


Ganando dinero


 

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í

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í

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í

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

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

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.