Primera pantalla del secuenciador MIDI para Gameboy Advance 
La cosa va avanzando :-). Ya tengo una versión preliminar del secuenciador MIDI para GBA que utilizará el interface midiout-advance.



Como se puede ver, se trata de un secuenciador estilo tracker muy sencillo. Disponemos de hasta 16 patrones diferentes de 16 pistas cada uno; cada pista con su canal MIDI configurable. Cada canción puede ser de hasta 100 patrones de longitud. Los mensajes que se pueden enviar por ahora son NOTE ON, NOTE OFF y CONTROL CHANGE. Más que suficientes para secuenciar temas enteros.

Aún tengo que hacer más pruebas para asegurarme que el invento funciona bien ;-)

[ añadir comentario ] ( 1205 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2333 )
midiout-advance: A la segunda va la vencida 
Ya hay nueva versión del interface MIDI de salida más famoso para Gameboy Advance :-). Ahora, SI es 100% compatible con el estándar MIDI con el coste adicional de que ahora el circuito externo debe tener una fuente de alimentación independiente de la consola. La anterior versión del interface entregaba muy pocos miliamperios al bucle de corriente necesario para enviar los datos MIDI. Ahora el invento va de maravilla con mis dos sintetizadores.

En http://gba.gabiot.com pueden verse tanto el esquema como algunas fotos que he hecho del nuevo retoño.

Ahora tengo que ponerlo bonito en una placa de baquelita y empezar a desarrollar algún secuenciador :-)

[ añadir comentario ] ( 1213 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2193 )
midiout-advance con el Roland Fantom-XR (2º acto) 
Hoy he descubierto el problema que hay con el interface MIDI out de la Gameboy Advance y mi sintetizador Roland Fantom-XR: el bucle de corriente en el cable MIDI es de tan solo 1.2 mA, cuando el estándar MIDI determina que el bucle de corriente debe ser de entre 5 y 20 mA. He probado incluso eliminar las dos resistencias de 150 Ohms y dejarlas en cortocircuito, pero aún así, el bucle de corriente MIDI no alcanza los 2 mA.

Está claro que los optoacopladores de la entrada MIDI del Chameleon son muchísimo más sensibles que los del Fantom-XR, ya que están detectando un bucle de corriente que ni si quiera llega al mínimo estipulado por el estándar MIDI.

Tendré que ponerme manos a la obra con algún circuito activo sencillito para poder proporcionar los ansiados 5 mA mínimos en el bucle de corriente del cable MIDI.

[ añadir comentario ] ( 1354 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2196 )
midiout-advance con el Roland Fantom-XR 
Ya conseguí que el interface midiout para Gameboy Advance funcione con mi sintetizador Roland Fantom-XR. La solución ha sido un poco cutre: en vista de que no podía hacer que el Roland Fantom-XR reconociese las secuencias MIDI y de que el Chameleon sí que las reconocía opté por utilizar la característica MIDI-Thru del Chameleon: Conecto la GBA al MIDI in del Chameleon y el MIDI out del Chameleon lo conecto al MIDI in del Fantom-XR, habilito la opción MIDI-Thru en el menú de sistema de Chameleon y ya puedo secuenciar ambos sintetizadores sin problemas y simultáneamente desde la GBA.

Solución salchichera donde las haya. El invento funciona perfectamente, aunque se ve que no envío aún los paquetes como Dios manda y tengo que hacer estos injertos pa que la cosa ande :-). Dentro de poco empiezo a usar la GBA pa secuenciar, tiempo al tiempo ;-)

[ 1 comentario ] ( 1440 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2237 )
Parches para Nullhttpd y Mgetty 
Nullhttpd es un mini servidor web con multihilos, GPL y compilable tanto en Windows como en Linux. Soporta la interface CGI y lo estamos usando para un proyecto embebido en la oficina: compilado con la glibc6 ocupa tan solo 32 KBytes (un único ejecutable).

Debido a que sólo soporta CGIs Perl y PHP, he tenido que parchear el código para que pueda cargar y ejecutar scripts Bash (ficheros con extensión .sh).

En la sección soft puede bajarse el fichero cgi.c que sustituye al que incluye por defecto la versión 0.5.1. Además del soporte para scripts bash he añadido la variable de entorno CGI_ROOT que indica el directorio de ejecución de los scripts cgi en el servidor. Indispensable para poder hacer un

exec $CGI_ROOT/mi_programa

desde un script cgi.

mgetty es una utilidad similar al getty de consola pero diseñada específicamente para interactuar con módems. Soporta meta-usuarios como /AutoPPP/ y /FIDO/ que permiten utilizarlo en servidores telefónicos de PPP. El parche que hice permite utilizar un meta-usuario nuevo: /Empty/, que simboliza una conexión en la que el otro extremo no envía ningún dato durante, al menos 2 segundos. De esta forma mgetty no tiene por qué esperar siempre a que se envíen datos desde el otro extremo como hace la versión oficial.

Con este parche se puede añadir una línea como esta al fichero /etc/mgetty+sendfax/login.config:

/Empty/ - - /bin/mi_programa

/bin/mi_programa será landazo sin en 2 segundos después de descolgar, el extremo origen de la llamada no envía ningún dato. Como el resto de procesos arrancados por mgetty, los descriptores de fichero stdin y stdout de /bin/mi_programa son redireccionados como datos en el módem.

[ 1 comentario ] ( 1022 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 2473 )

<< <Anterior | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | Siguiente> >>