por
pobrecito hablador
el Domingo, 16 Mayo de 2004, 21:09h
(#301724)
Ahora, si tienes la mala suerte de ejecutar dos programas a la vez que toqueteen el contador programable, seguramente no pase nada bueno.
Hay una técnica básica que es salvar la dirección de la anterior interrupción y en lugar de hacer un IRET haces un salto a la otra rutina. De esa forma puedes tener todo lo que quieras en la interrupción de reloj.
Y para la temporización, una técnica mejor que definir un periodo fijo, es dejar pasar todo el tiempo que sea y actualizar los elementos del juego en función del tiempo que ha pasado. Si han sido 10ms pues 10ms, si han sido 30ms pues 3 veces más que si han sido 10ms. De esa forma te evitas el problema de la pérdida de fotogramas.
Ah, las viejas interrupciones de la BIOS, que tiempos...
Si mal no recuerdo, el contador programable tenía un problema añadido: se usaba para actualizar la hora del ordenador, por lo que si modificabas su frecuencia y no parcheabas la interrupción correctamente, te puedes imaginar lo que pasaba...
No creo que el uso de interrupciones suponga muchos problemas en los Windows modernos, ya que deberían ser emuladas.
Re:Juegos Viejos.
(Puntos:2, Informativo)Hay una técnica básica que es salvar la dirección de la anterior interrupción y en lugar de hacer un IRET haces un salto a la otra rutina. De esa forma puedes tener todo lo que quieras en la interrupción de reloj.
Y para la temporización, una técnica mejor que definir un periodo fijo, es dejar pasar todo el tiempo que sea y actualizar los elementos del juego en función del tiempo que ha pasado. Si han sido 10ms pues 10ms, si han sido 30ms pues 3 veces más que si han sido 10ms. De esa forma te evitas el problema de la pérdida de fotogramas.
Re:Juegos Viejos.
(Puntos:2, Informativo)( http://barrapunto.com/ | Última bitácora: Viernes, 17 Noviembre de 2006, 23:39h )
Si mal no recuerdo, el contador programable tenía un problema añadido: se usaba para actualizar la hora del ordenador, por lo que si modificabas su frecuencia y no parcheabas la interrupción correctamente, te puedes imaginar lo que pasaba...
No creo que el uso de interrupciones suponga muchos problemas en los Windows modernos, ya que deberían ser emuladas.
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!