Tom Murphy explica cómo él tengo un juego Super NES ejecutándose en un NES no modificado.
Otras lecturas
La precisión toma poder: la búsqueda de un hombre de 3GHz para construir un SNES perfecto emulador En este punto, estamos acostumbrados a que las computadoras modernas puedan Realizar una emulación casi perfecta de hardware de juegos más antiguo a través de truco de software. El último proyecto de Tom “Tom7” Murphy, sin embargo, parece listo para acuñar su propia definición de “revertir emulación “ejecutando un juego jugable Super NES en real hardware NES no modificado.
Murphy analiza esta magia en un par de videos detallados. exponiendo su proceso de retoques. Aunque el hardware NES en sí mismo es intacto, el cartucho que ejecuta esta emulación inversa es un placa de circuito muy personalizada (ordenada desde China por aproximadamente $ 10), con un Raspberry Pi 3 compacto y multinúcleo conectado al mango la emulación real de Super NES.
El Pi esencialmente reemplaza la porción PPU del cartucho, conectarse al NES a través de un chip EEPROM codificado a medida que le dice al sistema cómo procesar y mostrar lo que normalmente sería un flujo abrumador de datos gráficos provenientes de la miniatura computadora. Solo el chip “copyright” CIC del cartucho original permanece sin modificaciones para evitar el chip de bloqueo del hardware.
Murphy: puedes recordarlo de los esfuerzos anteriores para enseñar una IA cómo jugar juegos de NES: dice que la Raspberry Pi también tiene mucha latencia para efectivamente “transmitir” gráficamente mosaico por mosaico instrucciones para la CPU del cartucho NES. Para cuando el Pi maneja para “descargar” un conjunto de bits de instrucciones (solo 180ns después de que fueron generados), el NES en sí ya ha pasado al siguiente parte de su ciclo de lectura-escritura.
Murphy usó un retraso de un ciclo para compensar esta latencia, esencialmente adivinar dónde estaría la PPU bastante predecible escribiendo al siguiente y simplemente enviando datos a esa ubicación antes de hora. Ese proceso funciona bastante bien pero resulta en la persistencia parpadeo y ruido gráfico que ves a lo largo de su video demostraciones
Sobrealimentar el NES
Otras lecturas
Guidemaster: una versión superior de NES Classic Edition con Raspberry Pi 3 y RetroPie A pesar del problema de latencia, utilizando el poder de un Raspberry Pi le permite a Murphy hacer muchas cosas como un NES estándar Cartucho nunca podría hacer. En un juego estándar de NES, por ejemplo, cualquier El bloque de 16 × 16 píxeles tiene que usar una sola paleta de tres colores (más Un color de fondo). Sin embargo, el hardware NES en sí mismo, en realidad genera cada línea de escaneo como un conjunto de tiras discretas de 8 × 1 píxeles. Por cambiando la paleta entre cada tira, el sistema puede en realidad muestra muchos más colores en cada mosaico (aunque cada marco todavía está limitado a cuatro paletas distintas).
La PPU de “transmisión” de Pi también le permite a Murphy actualizar cada mosaico en la pantalla con la frecuencia que quiera, desplazándose de la PPU a la CPU limitaciones de ancho de banda que restringieron las velocidades de desplazamiento en estándar Juegos de NES. Eso permite efectos como video de movimiento completo y otras animaciones complejas que no serían posibles usando el habitual modelo de sprite y fondo.
Incluso con estas ventajas, hay evidentes inherentes limitaciones para emular inversamente el Super NES en hardware antiguo. El NES no puede manejar todos los más de 56,000 colores posibles en un Super NES, por ejemplo, por lo que Raspberry Pi tiene que redondearse esencialmente a el color NES-safe más cercano disponible usando una tabla de búsqueda. El NES el controlador no tiene suficientes botones para simular todos los Super NES entradas, aunque aparentemente las mismas señales eléctricas básicas desde un controlador NES, el d-pad funciona sin modificar cuando se controla un Super NES ROM.
La emulación inversa tampoco admite actualmente Super NES audio, que sonaría bastante transformado en el limitado de NES Salida de audio de cuatro canales de todos modos. Murphy teoriza, sin embargo, que podría ser posible enviar audio modulado por código de pulso de alta calidad saluda al NES a través de una CPU de cartucho con emulación inversa. En eso caso, el cartucho esencialmente actuaría como un bus que simplemente lee los datos del Pi y los escribe en la memoria de audio del NES como lo mas rapido posible.
Si bien el hardware de videojuegos clásico de supercarga es divertido, Murphy ya está haciendo especulaciones de ciencia ficción sobre cómo funciona el cerebro humano podría revertir emular una computadora mucho más avanzada. Tal vez algun dia todos estaremos “generando” respuestas derivadas de la computadora a complejos preguntas, todas alimentadas por nuestro cerebro limitado por un súper cerebro corriendo en nuestros bolsillos.
Imagen de listado de Tom Murphy