HispaMSX

Re: boton de PAUSA

2000-05-22 03:58:27
Para evitar desajustes en estos casos lo recomendable es que en el
tratamiento de interrupcion principal del VDP se reponga siempre el valor
del scroll vertical, set adjust y otros.

No es necesario ya que el boton de pausa de por si no cambia el valor de
estos registros.

El problema es que la posicion relativa del overscan depende del momento en
que se hace el cambio de altura de la pantalla. Si se aprieta pause se
provoca que esto ocurra en otro momento, y la pantalla se descentra.

Ademas, si utilizamos interrupciones horizontales encadenadas junto con la
interrupcion vertical, romperiamos la secuencia ya que la posicion del rayo
de electrones estaria en una posicion diferente al reanudar la marcha, lo
que puede provocar resultados catastroficos.

Para evitar al 100% todas las situaciones seria necesario cargar hasta tal
punto las interrupciones horizontales que ya no tendria sentido utilizarlas.

Lo que si seria interesante es, como dice Daniel, detectar la interferencia
con el flujo natural del programa y provocar un bloqueo o situacion
intencionada (reanudar la partida, reset de la maquina...) que llevase el
ordenador a un estado inicial estable.

Al menos el juego no quedaria en una situacion comprometida sino que el
usuario encima se la cargaria por listillo 8;) 8;) 8;)

Malgastar el precioso tiempo de CPU reescribiendo TODOS los registros en
TODAS las interrupciones provocaria que muchos juegos de alto rendimiento
simplemente fueran inviables.

Besitos,

        MkII



<Anterior en la conversación] Conversación actual [Siguiente en la conversación>