El futuro de la emulacion

Bien, hoy voy a cambiar un poco el tercio y no voy a hablar sobre el mundo del PC/XT. Como comentaba en Zonadepruebas y GP32spain, a la vista de un nuevo emulador, DICE, creo que he visto la tendencia a seguir en los proximos años en cuanto a emulacion se refiere. Reproduzco el articulo:

Acabo de leer este articulo de Ars Technica:

Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

En donde, a grandes rasgos nos hablan de como los emuladores actuales tienden cada vez mas a la sincronizacion perfecta de todos los elementos emulados, para asi conseguir una emulacion mas fiel.

Asi, tenemos casos bestiales, Zsnes emula SNES con un x86 a 300mhz, mientras que el emulador del articulo, Bsnes necesita uno a 3000mhz.

Obviamente, la emulacion del ultimo es mucho mas fiel, y como se comenta, hay algunos juegos que requieren de esta potencia extra de cpu para poder emular efectos en unos pocos juegos que de otra forma los harian injugables en su totalidad.

Pero aqui viene la que para mi gusto es la magra con tomate del articulo. Se nos habla de un nuevo emulador, DICE, cuya filosofia no es la tipica de un emulador tal y como lo conocemos. Este software se dedica a simular en tiempo real los transistores de los que esta formado el sistema original, la latencia electrica entre los componentes, las resistencias, los condensadores… todo…

Imaginaos un programa de simulacion de circuitos, pero cuya funcion no sea ayudar a la creacion de los mismos, si no simular en tiempo real lo que haria dicho circuito, llevandolo a sus ultimas consecuencias.

Y aqui me vais a permitir que haga un alto en el camino y os cuente una historia que esta relacionada y que me va a servir de parabola para explicar lo que yo creo que va a ser la emulacion de sistemas retro en las proximas decadas.

A principios de los 90 comenzaron a verse los primeros emuladores de Spectrum. Todos recordamos aquel genial emulador de Pedro Gimeno. Este emulador funcionaba con snapshots de memoria.

Alguien cargaba un juego desde cinta directamente al emulador, y luego el programa podia hacer un volcado de la memoria completa del spectrum a un fichero .SNA. Luego podias cargar ese volcado las veces que quisieras. El sistema funcionaba, y era muy rapido, pero perdias elementos, como la pantalla de carga del juego, los efectos durante el mismo, que en muchos juegos estaban muy currados…

El siguente paso fue un emulador que cargaba ficheros .WAV. Tu grababas tu cinta en wav a pelo, y el emulador lo cargaba. Pero claro, los juegos terminaban ocupando 40 megas, 50 megas… una barbaridad, habia que hacer algo para unir lo mejor de los dos sistemas.

Asi surgio el formato TZX. Este formato es una ‘partitura’ de la cinta en si. En vez de grabar la cinta, haces una partitura, el emulador la ‘toca’ y el resultado final es la cinta original. Ocupa poco y es una recreacion perfecta. El sistema perfecto.

La gran ventaja era que servia en los dos sentidos, podias pasar de cinta a TZX… y de TZX a cinta, de forma que te bajas un juego de internet, lo grabas en una cinta y puedes rularlo en el hardware original!

Volvamos a 2011 y a lo que comentaba. Vemos que la actual tendencia es replicar electricamente los sistemas a emular… y si esto es posible, que impide que estos futuros emuladores EXPORTEN la replica a:

– VHDL o VERILOG: Se podrian crear sistemas como el Minimig o el One Chip MSX on the fly
– GERBER: Crear las PCBs de los sistemas emulados, con una lista de chips a soldar y todo el soft necesario para programar las roms, pics, gals…

Todo esto, por supuesto tiene su desventaja, y es la enorme potencia que hace falta para llevar esto a cabo. DICE ahora mismo solo emula el Pong, y en un x86 a 3000mhz lo hace a unos 15fps, asi que imaginad un sistema mas moderno y potente como la n64… pero tiempo al tiempo…

Asi, creo que este va a ser el futuro. No ya emuladores hiper precisos, si no emuladores llevados al plano electrico, que en ultima instancia permitiran recrear la maquina emulada en la vida real.

Sumadle a todo esto una impresora 3d y vereis a lo que me refiero