Curso de Programación

1, 2, 3
Te recomiendo que busques por google el tutorial de nacho cabanes para programar en C
offspringboy escribió:Acabo de empezar a leer el tutorial y quise probar lo de compilar con el bat de los ejemplos de hermes pero no me compila, me sale lo de la imagen del adjunto. Creo que tal vez se instalo mal devkitpro porque tuve que hacer mucho intentos para instalarlo porque en la parte de la descarga muchas veces no quizo, y no tengo ese directorio que dice ay de devkitppc.



Perdonen mi insistencia pero nadie me contesto esto.
Peaso curro machote, te felicito...

Lastima que a partir de NOTA: Este curso... ya no entendi nada mas pero te mereces una reverencia [tadoramo]
Hola, cuando me bajo el instalador del devkitpro, lo ejecuto y me empieza a descargar los archivos nunca termina, siempre me tira un error, os pasa a alguien? Saludos.

PD: Muchisimas gracias por el curso hermes, en serio, no creia que nadie tuviera la amabilidad de dedicar tanto tiempo y curro a compartir sus conocimientos con todos, es un detallazo por tu parte.
barney2144 escribió:Hola, cuando me bajo el instalador del devkitpro, lo ejecuto y me empieza a descargar los archivos nunca termina, siempre me tira un error, os pasa a alguien? Saludos.

PD: Muchisimas gracias por el curso hermes, en serio, no creia que nadie tuviera la amabilidad de dedicar tanto tiempo y curro a compartir sus conocimientos con todos, es un detallazo por tu parte.

Me pasa exactamente igual.. Alguna solución?
Hola danielc, he estado buscando los archivos para descargarlos, osea un rar o algo con todos los archivos para descargar e instalar, y de ese modo que no dependa de que el instalador los baje, pero hasta ahora sin mucha suerte, si encuentro algo ya dejo por aqui el link, y si encuentras una solución se te agradeceria que lo postearas por aquí también porque es un coñazo esto XD . Saludos.
A ver, voy a tratar de ayudaros, aunque yo no haya probado el método:

Para empezar usad el instalador mas nuevo que haya, lo cual os creará las variables de entorno necesarias y luego actualizar con los ficheros que menciono a continuación sobreescribiendo. Tanto el instalador como el resto del material, están aquí:

http://sourceforge.net/projects/devkitpro/files/

Instalación:

creas la carpeta c:\devkitpro y guarda el instalador ahí, lo ejecutas y el solito te creará las variables de entorno, etc

Lo que necesitamos para tener la versión que utilicé en el cursillo, son estos ficheros:


Compiladores: (no los instaléis, probad primero si os sirven los que os puso el instalador, que seguro que os vale)

devkitARM_r23b-win32.exe -> Esto casi seguro que no lo necesitáis, así que podéis dejar el que estaba
devkitPPC_r15-win32.exe -> Esto son los compiladores: lo mismo os sirven bien los mas modernos.


Librerías:

- Primer paso, renombra la carpeta libogc. Si por ejemplo, instalaste en c:\devkitpro\libogc, pues lo dejamos como c:\devkitpro\libogc2. Creamos una carpeta nueva como libogc (la idea es que conserves lo mas nuevo, por si más tarde lo necesitas)

Vale descargad este ficherosy descomprimelo dentro de la carpeta libogc, de forma que tendréis dos directorios dentro de libogc, include y lib:

libogc-20080602.tar.bz2

Y ahora aplicad los parches que menciono en el cursillo.

Con esto debería de funcionar. Los compiladores, no los instaléis salvo que os den problemas con la versión de librerías (en ese caso, renombrad las carpetas devkitarm y devkitppc para no perder lo antiguo)

Teneis que perdonarme pero ando bastante ocupado con otras cosas y no tengo tiempo de actualizar el curso para que use la libfat "moderna" (con los correspondientes cambios en libogc) y eso provoca estos problemas.

Por cierto, si os da problemas de que no encuentra alguna ruta al compilar o algo, mirad que existan las siguientes variables de entorno:

Para instalación en c:\devkiPro

Variable /Valor

DEVKITPRO /c/devkitPro
DEVKITARM /c/devkitPro/devkitARM
DEVKITPPC /c/devkitPro/devkitPPC

Path C:\devkitPro\devkitARM\bin;c:\devkitPro\msys\bin;.... el resto de lo que tengais



Supongo que a estas alturas, no hace falta que diga que bajo Windows, las variables de entorno se ven/fijan en Panel de Control-> sistema ->Opciones Avanzadas -> Variables de Entorno, pero queda dicho por si las moscas [+risas]

Saludos
Tengo que formatear el pc de aquí a unos días, cuando lo haga probaré lo que has escrito aquí y ya comentare que tal me ha ido, gracias por la respuesta [oki]
He seguido el tutorial con la ultima modificacion y sin problema para compilar.

Gracias Hermes.
i92jurir escribió:He seguido el tutorial con la ultima modificacion y sin problema para compilar.

Gracias Hermes.


Gracias hermes, lo mismo yo, ya pude compilar.
Hoy me he registrado y envío el primer post a pesar de llevar varios años leyendo EOL.

EL motivo explicar el método que he usado para la instalación del kit para desarrollo para Linux.
Lo primero que he hecho es descargame el script devkitPPC-CLI.sh de
http://github.com/Vithon/devkitppcsh/tree/master
Se abre una cónsola y se ejecuta el script con
$sh devkitPPC-CLI.sh

o directamente si se tienen los permisos bien puestos
$./devkitPPC-CLI.sh

cuando me ha preguntado por el path de instalación le he dado la de mi home seguida de devkitPro para mantener el path similar al de windows que usa Hermes, por ejemplo: /home/luis/devkitPro
El script descarga e instala todo lo necesario en esa carpeta. Luego he añadido los parches y ejemplos de Hermes tal como lo explica al principio de este curso y todo ha quedado a punto para compilar los ejemplos.

Si make da errores, revisar el fichero .bashrc de tu home para ajustar las variables de entorno (los export que te ha colocado al final del fichero) por si los path no corresponden exactamente a los de la instalación y hacer un make clean antes que make si es la primera vez que compiláis los ejemplos de Hermes por que en algún caso he tenido errores de linker, supongo que por intentar enlazar un objeto existente compilado con otra versión.

Saludos.
la virgen que currao el tuto ^^

saludos
3vagos escribió:...


Muchas gracias por tu aportación.

Ahora a ver si me tomo unos días de descanso y tomo fuerza para explicar cosas sobre el cIOS 202/222 con base mload y las nuevas herramientas para poder trabajar en modo sistema/supervisor con todos los permisos desde el Starlet para la creación de módulos y comentar como utilizar el nuevo módulo EHCI basado en interrupciones con dispositivos de almacenamiento
Hermes, ahora que ya controlo la instalacion del entorno de desarrollo y las posteriores compilaciones, tanto en Windows como Debian, a ver si me animo a intentar tu curso de programacion, que no es para dejarlo ir, ni mucho menos. Lo que no se es cuando me animare... [+risas]
Tengo una pregunta, y seguro que os parecera una chorrada, pero estoy pegado en este tema.
Tras muchos intentos por instalar el entorno correctamente, ya lo consegui instalar y he puesto los parches de hermes, asi que he podido ojear sus ejemplos y poco más, ya que me queda mucho que leer de este curso todavia, ya que es muy extenso.
Mi pregunta es que por ejemplo, en los ejemplos de hermes, una vez compilados, como se prueba el .dol resultante?
Imagino que una vez que compile todo bien la única forma de probarlo será en la propia wii, pero me da miedo cargarmela, así que si me podeis decir como probar lso ejempls en la wii os lo agradeceria mucho.
Ya os digo que seguramente sea una chorrada, pero estoy empezando con programacion para esta consola y no se nada. Gracias de antemano.
barney2144 escribió:Tengo una pregunta, y seguro que os parecera una chorrada, pero estoy pegado en este tema.
Tras muchos intentos por instalar el entorno correctamente, ya lo consegui instalar y he puesto los parches de hermes, asi que he podido ojear sus ejemplos y poco más, ya que me queda mucho que leer de este curso todavia, ya que es muy extenso.
Mi pregunta es que por ejemplo, en los ejemplos de hermes, una vez compilados, como se prueba el .dol resultante?
Imagino que una vez que compile todo bien la única forma de probarlo será en la propia wii, pero me da miedo cargarmela, así que si me podeis decir como probar lso ejempls en la wii os lo agradeceria mucho.
Ya os digo que seguramente sea una chorrada, pero estoy empezando con programacion para esta consola y no se nada. Gracias de antemano.


Lo que hacemos nosotros, es configurar el WIFI y con la ayuda de la aplicación wiiload, cargamos el dol mediante el Homebrew Channel

Si te fijas, dentro de mis ejemplo hay un fichero ejecuta.bat con un contenido similar a este:


SET WIILOAD=tcp:192.168.2.14

..\util\wiiload example1.dol "fat:/"

pause


Lo único que tienes que hacer, es cambiar esa IP por la que esté utilizando tu Wii (cosa que puedes ver en el propio HBC, pulsando HOME), ejecutas el .bat cuando el icono del WIFI se pare encendido en el HBC y ya está
3vagos escribió: escribió:...


Muchas gracias, ha sido facilísimo y ya lo tengo funcionando :D



barney2144 escribió:Mi pregunta es que por ejemplo, en los ejemplos de hermes, una vez compilados, como se prueba el .dol resultante?


Por si quieres más datos: http://wiibrew.org/wiki/Wiiload
Con lo que te ha dicho Hermes ya tienes suficiente, pero ahí está más mascadito (fue donde lo miré yo ^_^)
Muchas gracias Hermes y Nekete por la ayuda, me ha quedado muy claro todo, y ya por fin se para que sirve wiiload XD
Hermes.

Hasta que no me traigan el router wifi (por cambio de compañia) no puedo probar los programas creados (mediante wiiload).

Es por eso que, para aprovechar el tiempo, me gustaria que me dijeras una web de confianza para refrescarme el lenguaje C, porque hace mucho tiempo y se me escapan ciertas cosas.

EDITO: Muchas cosas [+risas]

http://www.conclase.net/c/ ¿estaria bien?
tengo este error al compilar

particles.cpp
linking ... particles.elf
/home/usuario/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/bin/ld: cannot find -lknowledge
collect2: ld returned 1 exit status
make[1]: *** [/home/usuario/knowledge-read-only/examples/particles/particles.elf] Error 1
make: *** [build] Error 2

no se parece ser que no encuentra este file....
Supongo que estaras usando el motor knowledge. eso es porque no lo tienes en la carpeta libs con las demas.
zero-simba escribió:tengo este error al compilar

particles.cpp
linking ... particles.elf
/home/usuario/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-gekko/4.2.4/../../../../powerpc-gekko/bin/ld: cannot find -lknowledge
collect2: ld returned 1 exit status
make[1]: *** [/home/usuario/knowledge-read-only/examples/particles/particles.elf] Error 1
make: *** [build] Error 2

no se parece ser que no encuentra este file....


Te esta buscando una libreria llamada knowledge. Buscala en internet. Que sea para Wii. Y una de dos, o ya esta compilada y tienes que instalarla, o solo existe el codigo fuente y tienes que compilarla tu mismo y luego instalarla (en el entorno de desarrollo).

EDITO:

Amos a ver, yo creo que tu te has bajado el svn de la libreria knowledge. Por lo visto estas intentado compilar uno de los ejemplos que trae... pero es que para eso primero tienes que compilar e instalar la libreria.
Hola.

He actualizado Spritegen a la versión v2.2 para que exporte a .C con formato de color RGB5A3 (16 bits).

Este es el modo de color 16 bits que utiliza la Wii para sus paletas y color 16bits y que básicamente, es una optimización del modo RGB5A1 mas conocido, para poder añadir niveles de translucidez en los gráficos. Al exportarse como una tabla en .C, no tenemos que preocuparnos por si el dato es little o big endian.

Basicamente el color se interpreta así:

u8 a,r,g,b;
......
if(a>=224) rgb16=(b>>3) | ((g>>3)<<5) | ((r>>3)<<10) | (1<<15);
else rgb16=(b>>4) | ((g>>4)<<4) | ((r>>4)<<8) | ((a>>5)<<13);


Parece complicado pero es tan simple como ver que si ajustais el alpha de un color por debajo de 224, en vez de tomarse los 5 bits mas altos para obtener el RGB, se utilizan únicamente los 4 bits mas altos del color, pasando alpha a controlar el nivel de translucidez. Por cierto, empleo esa sintaxis para que se vea como en el primer caso, se pierden 3 bits en el desplazamiento a la derecha, mientras en el segundo caso, se pierden 4 bits.

Descarga:

http://mods.elotrolado.net/~hermes/spri ... 2_Beta.rar
(mensaje borrado)
compilar e instalar la libreria knowledge.h ?
bueno he buscado la libreria que ya esta dentro del si que me descarge, la libreria es knowledge.h y la he copiado en la ruta ../home/Nombre_Usuario/devkitpro/devkitPPC/include/donde estan los archivos.h

Uso linux Ubuntu 9.04 amd64
Te falta el knowledge.a en la carpeta lib.
Ya hay resultados gracias a los tutos:
Un hello world con un banner en formato PNG pero el problema es que quiero que el texto quiero q salga centrado en la pantalla y fuera del banner o por lo menos debajo del banner pero me es imposible, alguien tiene idea de hacerlo?
Imagen
thor1981 escribió:Ya hay resultados gracias a los tutos:
Un hello world con un banner en formato PNG pero el problema es que quiero que el texto quiero q salga centrado en la pantalla y fuera del banner o por lo menos debajo del banner pero me es imposible, alguien tiene idea de hacerlo?
Imagen

No tengo mucha idea de las funciones que hay para Wii y sus parámetros, pero si en la función para dibujar el texto te da la opción de pasarle como parámetro la posición en "x" y en "y" bastaría con que hicieras un cálculo como este:
Para calcular "y": y = Altura de la pantalla - la altura en pixeles del texto(no se si haya una función para calcular esto en Wii) / 2.
Para calcular "x" = Anchura de la pantalla - la anchura en pixeles del texto / 2.

Saludos
Exactamente que función tendria que usar :
gotoxy (x,y)
o hay otra función especifica, como podria calcular los pixeles para centrarlo para un uso que no sea para wii, además he leido que usa una libreria determinada, estoy un poco liado en el tema.
Gracias.
extraido de los ejemplos de Hermes:
letter_size(16,64);            // tamaño 16x24 para las letras
PX= 0; PY= 24;               // coordenadas al pixel para dibujar letras
color= 0xff000000; bkcolor=0;   // color negro para las letras y transparente para el fondo de las letras (notese el uso de alpha)
SelectFontTexture(0);         // selecciona la fuente de letra normal
autocenter=1;               // selecciona autocentrado
s_printf("Esto es un test");   // imprime texto con formato
autocenter=0;


La posicion del texto depende de los valores de PX, PY y autocenter.
PX es la distancia horizontal desde el borde izquierdo hasta el punto de inicio.
PY es la distancia vertical desde el borde superio hasta el punto de inicio.
Si autocenter=1 centra el texto horizontalmente en la pantalla independientemente del valor asignado a PX.
El tamaño de la pantalla en pixels lo podemos obtener con SCR_WIDTH y SCR_HEIGHT.

Asi pues en tu caso podria ser:
letter_size(16,64);            // tamaño 16x24 para las letras

PX= 0; PY= (SCR_HEIGHT-64)/2;   // coordenadas al pixel para dibujar letras
color= 0xffffffff; bkcolor=0;   // color blanco para las letras y transparente para el fondo de las letras (notese el uso de alpha)
   
SelectFontTexture(0);         // selecciona la fuente de letra normal
autocenter=1;               // selecciona autocentrado
s_printf("Hola mundo");         // imprime texto con formato
autocenter=0;



Espero haberte ayudado.
Gracias voy a probar y os cuento.
Buenas!!
Muchas gracias por todo hermes ya que te tenga mucho repeto como genio que eres (guitarfun ps2 y wii, uloader, mediaplayer....)!!!
Queria comentarte que el ttf2raw me da error porque no encuentra SDL_ttf.dll, he probado poniendole el nombre SDL_ttf.dll a SDL.dll, pero no funciona, porque es??

Otra cosa, visto a la peticion de mucha gente, me tomo la libertad (supongo que es licencia GPL como casi todo lo que haces) de pasar el tutorial a PDF, no me lo curro solo es con el office y guardar como PDF, una copia rapida pero eficaz, y la comparto por si la gente lo quiere.
Tutorial programacion Wii by Hermes
AL final son 42 paginas y 280 KB.
Muchas gracias a todos!!
sdl se compone de varias partes y sdlttf va aparte.
Alguien me puede decir cual es el fallo?
Me da error al compilar:
#include "multiusos.h"

   int main(int argc, char **argv) {
   Init();
   LoadPNGDebug("imagen.png");
   while(1) {
   InitButtons();
   if(pressed & WPAD_BUTTON_A) {
   letter_size(16,64);             // tamaño 16x24 para las letras

    PX= 0; PY= (SCR_HEIGHT-64)/2;   // coordenadas al pixel para dibujar letras
    color= 0xffffffff; bkcolor=0;   // color blanco para las letras y transparente para el fondo de las letras (notese el uso de alpha)
   
    SelectFontTexture(0);           // selecciona la fuente de letra normal
    autocenter=1;                   // selecciona autocentrado
    s_printf("Hola mundo");         // imprime texto con formato
    autocenter=0;
   }
   VideoSync();
   }
   return 0;
   }


Antes no me daba error pero al añadire las funciones para darle formato al texto, me da error
thor1981 escribió:Alguien me puede decir cual es el fallo?
Me da error al compilar:
#include "multiusos.h"

   int main(int argc, char **argv) {
   Init();
   LoadPNGDebug("imagen.png");
   while(1) {
   InitButtons();
   if(pressed & WPAD_BUTTON_A) {
   letter_size(16,64);             // tamaño 16x24 para las letras

    PX= 0; PY= (SCR_HEIGHT-64)/2;   // coordenadas al pixel para dibujar letras
    color= 0xffffffff; bkcolor=0;   // color blanco para las letras y transparente para el fondo de las letras (notese el uso de alpha)
   
    SelectFontTexture(0);           // selecciona la fuente de letra normal
    autocenter=1;                   // selecciona autocentrado
    s_printf("Hola mundo");         // imprime texto con formato
    autocenter=0;
   }
   VideoSync();
   }
   return 0;
   }


Antes no me daba error pero al añadire las funciones para darle formato al texto, me da error


Deberias decirnos que error te dá, pero yo diría que s_printf no es correcto. O usas printf a secas o spritnf para formatear el texto en un buffer previamente dimensionado y luego mandarlo a pantalla con algua otra función.
Cambia
s_printf("Hola mundo");
por
printf("Hola mundo");
y dinos algo.

Ojo! que s_printf también existe como tu lo estas usando, creo que es igual que printf con algunas pequeñas diferéncias, pero no estoy seguro que esté soportado por todos los compiladores y plataformas. Creo haberlo usado alguna vez programando para MAC en PPC.


int printf ( const char * format, ... )
int sprintf ( char * str, const char * format, ... )
os habeis leido el manual????
En la primera pagina de este hilo Hermes explica su libreria screenlib y una de las funciones de esta libreria es s_printf( char *format, ...);

Respecto a los errores deberias ser un poco mas explicito y decirnos que error te da el compilador.
¿que hay en multiusos.h?
multiusos.h es una libreria creadar por marioga un compañero del team que incluye librerias como stdio.h stdlib.h wiiuse/wpad.h y algunas más de las que se usan para programar en wii
Hermes pordrias explicarme mejor como se utiliza debug_str.
¿He de declarar la variable como global (en el main.c fuera de cualquier funcion) o en otro sitio? ¿Se ha incluir alguna libreria para poder utilizarla? Es que he intentado utilizarla y me da errores de compilacion.
Tengo tus ultimas librerias (las del uLoader) ¿puede ser por eso?

¿Podrias resumirme tambien los cambios en la nueva libfat?

Muchas gracias por toda tu dedicacion, estoy aprendiendo un huevo repasando tus codigos. Por cierto, ¿te importa si te pregunto en este hilo por cosas del codigo de uLoader? Son preguntas relacionadas con el codigo mas basico (nada que ver con el mload, EHCI ni con el funcionamiento del programa).

EDITO:
Para que veais que no solo de preguntas vive el hombre, hoy quiero compartir con vosotros mis primeros pinitos:
¿Quieres ser millonario?
Es una chorrada, pero me ha servido para aclarar algunos conceptos. Espero que os sea util tambien a vosotros.
No creo que llegue a meterme con programacion para wii, pero no puedo evitar postear para quitarme el sombrero ante este tutorial.
SuperBerny escribió:Hermes pordrias explicarme mejor como se utiliza debug_str.
¿He de declarar la variable como global (en el main.c fuera de cualquier funcion) o en otro sitio? ¿Se ha incluir alguna libreria para poder utilizarla? Es que he intentado utilizarla y me da errores de compilacion.
Tengo tus ultimas librerias (las del uLoader) ¿puede ser por eso?

¿Podrias resumirme tambien los cambios en la nueva libfat?

Muchas gracias por toda tu dedicacion, estoy aprendiendo un huevo repasando tus codigos. Por cierto, ¿te importa si te pregunto en este hilo por cosas del codigo de uLoader? Son preguntas relacionadas con el codigo mas basico (nada que ver con el mload, EHCI ni con el funcionamiento del programa).

EDITO:
Para que veais que no solo de preguntas vive el hombre, hoy quiero compartir con vosotros mis primeros pinitos:
¿Quieres ser millonario?
Es una chorrada, pero me ha servido para aclarar algunos conceptos. Espero que os sea util tambien a vosotros.


El problema de debug_str, es que es un apaño que yo hice en exception.c y oficialmente, eso no se usa, asi que es normal que te de error al compilar.

Sobre el tema de uLoader, creo que sería mejor que preguntaras en el hilo oficial, entre otras cosas porque todas las cosas de uLoader deberían ir allí y porque yo por aquí, me paso muy poco (al fin y al cabo, la información importante está en los primeros posts y yo no puedo resolveros problemas ajenos al curso sobre librerías que no utilizo)

Ahora mismo la verdad, es que ando bastante ocupado y todavía no he completado la info de mload :-|
Hermes gracias por contestar,

Hermes escribió:El problema de debug_str, es que es un apaño que yo hice en exception.c y oficialmente, eso no se usa, asi que es normal que te de error al compilar.


Si es asi, personalmente creo, que deberias editar el post.

Hermes escribió:Sobre el tema de uLoader, creo que sería mejor que preguntaras en el hilo oficial, entre otras cosas porque todas las cosas de uLoader deberían ir allí y porque yo por aquí, me paso muy poco (al fin y al cabo, la información importante está en los primeros posts y yo no puedo resolveros problemas ajenos al curso sobre librerías que no utilizo)


Asi lo hare, aunque ya veras que las preguntas tienen mas que ver con el codigo que con el funcionamiento (perfecto dicho sea de paso) del programa.

Hermes escribió:Ahora mismo la verdad, es que ando bastante ocupado y todavía no he completado la info de mload


Supongo que esto lo diras por la pregunta sobre la nueva libfat. No te preocupes ya ire investigando y cuando tenga algo lo compartire para que otros puedan verlo. Tu dedicate a la documentacion del mload (o a lo que te de la gana ;-)), que es mas improtante.

De nuevo gracias por todo.
En cuanto tenga tiempo me lo leo entero, no tengo ni idea de C pero a ver que pasa.
(mensaje borrado)
Blah!

Post-chorra para saltar un posible bloqueo por haber borrado el hilo X D
Por mas que lo intento no consigo encontrar la libogc que usa Hermes:
libogc-20080602.tar.bz2

Sé que debería estar en http://sourceforge.net/projects/devkitpro/files/, pero no termino de encontrarla. Seguro que me va a comer, pero no la veo.

Si alguien me pasa el link o un mirror, se lo agradezco.
Saludos [sonrisa]
lamateporunyogur escribió:Por mas que lo intento no consigo encontrar la libogc que usa Hermes:

Hermes utiliza dos modificaciones de la libogc, una para este curso y otra posterior para compilar el uLoader.
Podeis encontrar ambas en el enlace "mas..." de mi firma.

Por otro lado estoy intendo crea un clon del popular juego Pong, ya lo tengo casi listo pero me falta añadirle sonido (una especie de beep cuando la bola rebota). He copiado esta parte del codigo de uLoader para generar el patron de sonido:
// sound pattern generator
      for(n=0;n<2;n++)
      {
      int m,l;
      switch(n)
         {
         case 0:
            l=64;
            for(m=0;m<2048;m++)
             {
              sound_effects[0][m]=((m) & l) ? 127 : -128;
             if((m & 255)==0) l>>=1; if(l<16) l=16;
             }
         break;

         case 1:
            l=127;
            for(m=0;m<2048;m++)
             {
              sound_effects[1][m]=((m) & 8) ? l : -l;
             if((m & 7)==0) l--; if(l<0) l=0;
             }
         break;

         }
      }

pero me gustaria saber que es lo q estoy haciendo realmente.
Donde puedo encontrar mas informacion sobre esto?
Existe alguna utilidad similar al SpriteGen pero para crear efectos de sonido?

EDITO: Bueno, pues ya he descifrado los patrones creados por el codigo los podeis ver en forma de grafica en este excel. Aun asi sigo con las mismas dudas que antes ¿como afecta un patro u otro al sonido?
Bueno, espero no ser baneado por doble post, pero hace muchos dias que pregunte y nadie a respuesto aun.
Realmente no hay nadie (aparte del MAESTRO) al que le interesen estos temas?
Era muy comun en los albores de la humanidad alla por los 486 con adlib(una "tarjeta de sonido") que se usase un miniwav con ruido y luego las explosiones y demas cosas que escuchabas en el juego no eran mas que notas musicales sin sentido que usaban como instrumento el miniwav(patron) y que daban el pego como una explosion, un disparo, una puerta abriendose etc.
141 respuestas
1, 2, 3