Creo que es más por la forma de funcionar que por cosa de potencia de calculo. Un ejemplo.
Hace tiempo le eche un vistazo al código de un emulador de Atari ST y lo que hacen para que sea mas compatible y funcionen las demos, es tener un array donde se va apuntando que registro hardware se toca (IIRC se hace con la paleta y registro de resolución y frecuencia de refresco), el indice dentro del array viene dado por los ciclos de reloj que han pasado desde la ultima interrupción del barrido de pantalla. Después se recorre este array y se dibuja el frame buffer teniendo en cuenta lo que haya apuntado (cambios de color).
Resumiendo, ejecuto todas las instrucciones que caben en un barrido de pantalla (160256 ciclos de reloj en PAL) y después dibujo el frame buffer.
En el hardware real o una fpga se hace todo al mismo tiempo.
En el ST puedes hacer que el teclado o el joysitck generen una interrupción, así no te molestas en leer el teclado ya te avisaran cuando el usuario toque algo. Si le das al disparo un poco antes de saltar a la rutina del juego que controla al personaje, en ese frame tendrá en cuenta esa pulsación del disparo. En un emulador, como primero ha ejecutado todo el codigo y a mayor velocidad (tienes que tener tiempo para emular otras cosas), la pulsación no se tendrá en cuenta hasta el siguiente frame. Ademas de que cuando tienes en cuenta la pulsación del teclado joystick, ¿cuando el hardware acceda a el o cuando se produzca y simulas una interrupción?
-----Actualizado-----
Asi que dejad de comprar consolas chinosas y ahorráis para una MISTER XD
Última edición por swapd0; 31/01/2022 a las 16:45
No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.
It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx
Marcadores