miércoles, 19 de noviembre de 2008
Buenas:
Pues eso mismo. Debido a que una de las nuevas músicas que tengo para el QBIQS utiliza la tabla 1, me he visto en la necesidad de volver al código del replayer de PT3 para solucionarlo.
En un principio probé a comprimir las tablas con el BitBuster pero no se comprimen bien, así que deseché esa idea enseguida. La segunda aproximación fue meter las 4 tablas en ROM y cambiar el código de forma que se pasase la dirección de la tabla buena mediante un puntero. Funciona bien, pero ocupa bastante más (no olvidemos que cada tabla ocupa 192 bytes = 2 bytes/nota * 12 notas/octava * 8 octavas).
Así que he vuelto al código original del replayer, ya que éste crea "on the fly" las tablas según la información que tengamos en el fichero PT3. Así que me he puesto un rato... et voilà, ¡nueva versión del replayer!
Diferencias con la anterior versión:
Con respecto al código, he cuidado que esté lo más parecido al programa original y he incluído algunos (no tantos como me gustaría) comentarios en la parte nueva que explican un poco por donde va el proceso.
Podéis descargar el fichero en la página de descarga de código fuente. Ahora es vuestro turno: probadlo, usadlo, comentadme si os es útil... :D
Pues eso mismo. Debido a que una de las nuevas músicas que tengo para el QBIQS utiliza la tabla 1, me he visto en la necesidad de volver al código del replayer de PT3 para solucionarlo.
En un principio probé a comprimir las tablas con el BitBuster pero no se comprimen bien, así que deseché esa idea enseguida. La segunda aproximación fue meter las 4 tablas en ROM y cambiar el código de forma que se pasase la dirección de la tabla buena mediante un puntero. Funciona bien, pero ocupa bastante más (no olvidemos que cada tabla ocupa 192 bytes = 2 bytes/nota * 12 notas/octava * 8 octavas).
Así que he vuelto al código original del replayer, ya que éste crea "on the fly" las tablas según la información que tengamos en el fichero PT3. Así que me he puesto un rato... et voilà, ¡nueva versión del replayer!
Diferencias con la anterior versión:
- Admite cualquier tabla en lugar de sólo una (por defecto viene la tabla 2 en el código).
- Ocupa 1548 bytes en ROM en lugar de 1448 bytes (100 bytes extra). La primera versión que publiqué ocupaba 1528 bytes en ROM, pero tras volver al código vi que había datos que no se utilizaban nunca, por eso ahora la versión con tabla fija está optimizada.
- Necesita 576 bytes en RAM en lugar de 384 (194 bytes extra = tabla en RAM + gancho para parchear código automodificable).
- Hay que quitar los primeros 99 bytes de los ficheros PT3 en lugar de los primeros 100 bytes (en el byte 99 es, precisamente, donde está la información de la tabla utilizada).
Con respecto al código, he cuidado que esté lo más parecido al programa original y he incluído algunos (no tantos como me gustaría) comentarios en la parte nueva que explican un poco por donde va el proceso.
Podéis descargar el fichero en la página de descarga de código fuente. Ahora es vuestro turno: probadlo, usadlo, comentadme si os es útil... :D