Paquetes raw ethernet en Linux 
En la sección "soft" he puesto un targz con dos aplicaciones sencillitas para acceder desde C a bajo nivel a los interfaces de red ethernet en Linux. En programa eth_send permite enviar paquetes ethernet crudos con mensajes de texto en su interior, mientras que el programa eth_recv permite leer los paquetes ethernet crudos que llegan a una interface de red y permite configurar la interface de red en modo promíscuo, como si fuese un sniffer de red (ver código fuente eth_recv.c).

Las he tenido que hacer para probar una interface de red embebida que estamos configurando en la empresa.

Todo el código es GPL.

[ añadir comentario ] ( 664 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1105 )
¡Cuántas cosas en la cabeza! 
Pues eso, entre el piso nuevo, la Gameboy Advance, el MSX y Java estoy que no quepo de estrés: voy a tener que tranquilizarme :-).

Sobre el piso: A ver si durante esta semana hay noticias sobre la tasación del piso, a ver si me pueden dar ese crédito de CajaCanarias que tiene tan buena pinta. Luego vendrán los sustos de poner la luz y el agua a mi nombre, poner teléfono, ADSL, camprar algunos muebles, etc. Vamos que voy a estar con los bolsillos ligeritos que da gusto :-).

Sobre el MSX: Pues nada, que Fran, el redactor de la revista Call MSX, me ha pedido un artículo de lo que sea para dentro de un mes... casi nada... a ver si le meto mano de nuevo a la grabación de CDs utilizando la interface IDE-ATA del MSX.

Sobre la Gameboy Advance: De golpes me estoy dando para meterle sonido bastante optimizado a mi superéxito MatchIt :-D. Estoy dudando entre portar la librería libmpg123 a Gameboy Advance o utilizar el reproductor de ficheros MOD que tengo ya a puntito. En un principio había pensado en utilizar el decodificador Tremor para meter sonido OggVorbis al juego pero lo cierto es que, muy a mi pesar, la librería de decodificación en punto fijo Tremor mete un overhead bastante alto en el código ROM de la GBA y el decodificador no es muy eficiente tal cual se baja de http://xiph.org. A pesar de que soy más partidario de los formatos libres como el Ogg, la librería libmpg123 (que es GPL) es muy compacta ya que sólo soporta Layer3 (sólo ficheros estrictamente MP3) y se le puede meter mano sin miedo para pasarla a punto fijo ya que está formada por muy pocos ficheros de código fuente.

Sobre Java: Es lo más aparcado que tengo. Estoy tratando de hacer, junto con un chico que trabaja en un estudio de grabación, un programa para reproducir MIDIs en tiempo real con sicronización de tempo desde Java y la cosa está bastante parada.

Cuando firme la hipoteca voy a tener que dedicarme casi en exclusiva al piso nuevo. Ya contaré por estos lares lo que acontezca :-).

[ 2 comentarios ] ( 623 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 923 )
Reproductor OggVorbis para la Gameboy Advance 
Acabo de terminar la versión preliminar de un reproductor de ficheros OggVorbis para Gameboy Advance utilizando una adaptación de la librería Tremor, una librería desarrollada en un 90% en ANSI C y que utiliza aritmética de punto fijo para decodificar los streams Ogg. Aún tengo que optimizar algunas cosillas, ya que el rendimiento del reproductor es bastante pobre, pero por lo menos realiza la decodificación satisfactoriamente.

En la sección "gameboy advance" he puesto un fichero tar.gz que incluye la adaptación que he hecho de la librería para Gameboy Advance y un ejemplo de utilización con la canción Sequencer Funk de UNIT-E, con licencia Creative Commons Attribution-ShareAlike 2.5.

Todo mi código tiene licencia GPL mientras que el código de la librería Tremor posee licencia BSD (más info en http://xiph.org).

[ añadir comentario ] ( 747 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1028 )
MOD player en punto fijo: ahora para GBA 
Ya he conseguido adaptar el reproductor de ficheros MOD en punto fijo para la Gameboy Advance. Al final me ahorré las divisiones precalculándolas, ya que sólo se realizaban entre un conjunto bastante limitado de números. El reproductor tiene un rendimiento bastante mejorable y aún consume mucha CPU; espero poder optimizarlo lo suficiente como para poder incluirlo en el juego MatchIt y así añadirle música y efectos de sonido al juego.

Por supuesto, ni que decir tiene que todo el código del reproductor es GPL :-). Sección "gameboy advance" del menú de la izquierda.

[ 1 comentario ] ( 701 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 993 )
MOD player en punto fijo 
Hacía tiempo que no posteaba algo por aquí. Lo cierto es que estoy algo estresadillo ya que voy a comprarme un piso en Las Palmas y estoy de papel en papel y tiro porque me toca.. :-). Sin embargo el estrés no me impide el loable ejercicio de la programación y acabo de subir a la sección "soft" un reproductor de fichero de música MOD (si, si, los del Amiga ^_^) recién salidito del horno que he hecho en C y que utiliza un algoritmo de mezcla en punto fijo. El reproductor no soporta todos los efectos (aún no tiene trémolo ni vibrato, por ejemplo) y el objetivo final es portarlo para Gameboy Advance y en eso estoy trabajando ahora.

El problema de la Gameboy Advance es que si quieres que la rutina de interrupción del DMA para el audio te vaya a toda hostia la tienes que alojar en la IWRAM (In-Chip Work RAM) y ahí sólo tienes 32 Kbytes para código. Tal cual está escrito el reproductor, el código compilado no cabe en estos 32 Kbytes y estoy optimizando algunos cálculos de 32 bits y evitando en lo posible realizar divisiones (el procesador ARM7TDMI de la GBA no sabe dividir :-) ) para no generar código en exceso.

Ya iré comentando los avances.

[ añadir comentario ] ( 638 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1148 )

<< <Anterior | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | Siguiente> >>