Patchanka escribió:javier_himura escribió:Estamos hablando de máquinas de los años 80 y además de las mas conocidas de la época, la emulación de algo así debe ser mas que perfecta a estas alturas.
Es que el problema es ese, la emulación es perfecta. Estamos hablando de máquinas con procesadores y memorias que, probablemente, tenían unas tolerancias absurdas. Un emulador va a emular la máquina perfecta, no va a simular las tolerancias.
Eso no es así. Una emulación se considera perfecta cuando emule completamente el funcionamiento del hardware original, incluyendo bugs, fallos y características no documentadas del hardware original, que al final si no está documentado solo queda obtenerlo del hardware original mediante pruebas e ingeniería inversa. Eso es un emulador perfecto y con eso no hay rango a decir "pero puede que no funcione así".
Lo que tu mencionas es un emulador que se limite a emular el funcionamiento de los componentes originales (CPU, RAM, etc) según la documentación original al pie de la letra, pero eso no es un emulador perfecto, con un emulador así puede que funcione la gran mayoría de juegos de la máquina pero siempre habrá alguno que dependa de algo no documentado y por tanto al no estar eso emulado el juego no funcionará. Ante eso un desarrollador cutre pondrá parches juego por juego para que se modifique al vuelo el juego y tire, no es un emulador perfecto. Un desarrollador que en cambio quiera mejorar su emulación se olvidará de arreglar el juego y se centrará en que se funcione al emularse replique la máquina original y no la documentación, es decir si es un fallo del harware el emulador emulrá el fallo del harware.
Suena raro pero un buen desarrollador de emuladores debe olvidarse de los juegos y centrarse en que la máquina virtual y la máquina física funcionen igual, y si lo hace entonces todos los juegos funcionarán igual. Si un juego no va o va diferente...entonces hay que comparar que pasa con ambas máquinas cuando ejecute dicho juego y lo que se detecte diferente cambiarlo en la virtual...y entonces el juego funcionará.
Un ejemplo de esos lo tienes en la diferencia entre los emuladores de PS2 como PSCX2 y el Dolphin de GameCube. El primero opta por emular la PS2 "perfecta" y parches los juegos que no tiren. Dolphin en cambio obta por replicar la máquina original mas alla de la documentación, si un juego no va no arreglan el juego, buscan que diferencia hay entre la consola y Dolphin y entonces cambian el segundo.
Otro ejemplo son los emuladores de SNES, se puede saber si un emulador se limita a emular la documentación de SNES o replicar al 100% la consola según si funcione o no un juego de Speedy Gonzalez, es un juego que tiene la particularidad que en una parte del juego utiliza una instrucción rara que funcione diferente a la documentación oficial, es diferente por un error de diseño del hardware que nunca se documento oficialmente pero el juego lo utiliza y si se ejecuta en un emulador que no emula dicho fallo...el juego no funciona.
La Atari es una consola de principios de los 80 y muy popular, no una máquina desconocida, creo que para estas alturas la emulación es perfecta, pero de verdad, de forma que no hay discrepancias entre esta y el hardware original, el comportamiento entre ambos ha sido mas que probado y cotejado que es el mismo. De haberlo ya lo habrían encontrado.
Por lo que no, no le doy el beneficio de la duda a que este tipo lo consiguió pero en un emulador no. No con tanta diferencia entre el primero y el segundo como la hay con gente detrás intentando superar ese récord, tanto en emulador como en la consola original. Los speedrunners son tan competitivos que se mueven entre rangos de milisegundos en sus rankings, pero este tio supuestamente tiene varios segundos mas que todos los demás durante décadas.
Si me apuras lo único que se puede considerar que quizás que afecte a la comparación sea que en el emulador sea mas fácil o mas rápido pulsar botones al utilizar mandos modernos, o tenga tiempos de carga más rápido, y en esos casos en estas páginas de speedrun suelen analizar el comportamiento entre ambos para ver si esa diferencia afecta y adaptan juego por juego sus reglas para indicarlo..pero es que esas diferencias lo que hacen es dar ventaja el emulador, y aquí el emulador pierde.