$this->bbcode_second_pass_quote('Metalbrain', 'Â')¡Saludos a todos!
Primer post por aquÃ. Estoy seguro de que la mayorÃa me conoce de otros sitios, o al menos de los créditos de muchos de los juegos mojones, por eso de la optimización de la rutina descompresora... a los que no me conocen decir que soy un loco del ensamblador, ex-compañero de los mojones en CEZ GS (donde programé el I Need Speed para Spectrum y MSX), y actualmente miembro de un grupo de la competencia, Retroworks.
$this->bbcode_second_pass_quote('jcgamestoy', '')$this->bbcode_second_pass_quote('na_th_an', '.').. Y sobre $C0, como es el caso de Ninjajar.
El registro I se utiliza en el modo IM2, que es el que usamos nosotros para que salte una interrupción cada 20ms y ahà llamemos al player. Es por eso que la música de Ninjajar se escucha siempre a la misma velocidad sin importar la contención del modelo donde se ejecute (incluso los clones rusos como Pentagon o Scorpion). Nuestra rutina de servicio de interrupción necesita I = $F0 para ser accesible y de ahà viene el problema.
Como siempre que paginamos/usamos las otras páginas de RAM es para obtener datos almacenados y en momentos puntuales, las interrupciones están deshabilitadas y nos podemos permitir poner momentaneamente I = 0, lo que soluciona el problema la mayor parte del tiempo. No es una solución óptima, pero sà lo suficientemente buena. Ya nos han reportado que la nieve se reduce al mÃnimo en hardware real
Sà es cierto lo del sample, que está en RAM1. Tampoco es algo que nos preocupe demasiado, la verdad, como para tener que andar montando pifostios y autodetectando modelos
En los 128/+2 se escucha un poco más grave (y levemente más distorsionado) que en los +2A o en los Pentagon/Scorpion (que no tienen contención), pero tampoco nos molesta
¡Bienvenido al foro!
Jarll eso si tiene sentido claro en los 128k la pagina alta esta "contended" y para el modo 2 de interrupciones... es una jodienda.