Implementación de un doble buffer de sonido en la Gameboy Advance 
¡Lo conseguí! :-) Anoche me di cuenta del error lamentable que estaba cometiendo en algunas líneas de código al tratar un array de bytes con signo como si fuese un array de enteros de 32 bits sin signo (chiquita diferencia). El caso es que el fichero directsound.tar.gz que hay ahora para bajarse ya tiene el main.c adaptado para doble buffer.

El ejemplo sigue siendo el mismo, pero en lugar de reservar un buffer DMA del tamaño del sample completo, lo reserva siempre de un mismo tamaño, pequeño y potencia de dos. Controlando el desbordamiento de cada una de las mitades del buffer podemos reproducir de forma continuada o, lo que es lo mismo, reproducir muestras de longitud arbitraria.

Sección "gameboy advance" del menú de la izquierda.

[ 1 comentario ] ( 1876 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente  |   ( 3 / 2028 )

<< <Anterior | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | Siguiente> >>