Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

¿Cómo escribir un programa que emule a la consola NES?

Las consolas de juegos son finalmente computadoras de uso específico. Contienen procesador, puertos de entrada y salida, memoria, etcétera. Los cartuchos de esas consolas son...

Las consolas de juegos son finalmente computadoras de uso específico. Contienen procesador, puertos de entrada y salida, memoria, etcétera. Los cartuchos de esas consolas son finalmente memoria ROM que contiene todo el juego completo, con una manera específica de ser reconocido pro la consola y entonces poder jugar. Sin embargo, las consolas de juegos tienden a volverse obsoletas (parte de la mercadotecnia), y las anteriores dan paso a las nuevas, con más capacidad, más colores, más definición, más memoria incluso. Entonces terminamos por desechar la consola anterior y nos concentramos en la nueva.

Pero no falta quien quiera revivir los juegos que jugaba en su consola NES, por ejemplo. Pero entonces pueden encontrar que la consola dejó de funcionar y como solución entonces está el escribir un emulador. Si finalmente la consola NES es una computadora, se puede emular su comportamiento a través de software. ¿Será muy difícil escribir un emulador? Sin duda no es una labor que pueda hacerse en media hora, pero es claro que puede ser un buen proyecto de software.

Esto fue precisamente lo que hizo Bisqwit, un programador que escribió su propio emulador de NES. La descripción no cubre más que la parte básica de escribir el código que emula el procesdador que usa este sistema de entretenimiento. Sin embargo, lo presenta de tal manera que lo hace fácil de entender para todo aquel que tenga conocimiento básico de programación. Empieza con el comando switch, para manejar los códigos que usa el procesador, los opcodes, y entonces describe cómo refinar el código para hacer que éste funcione mientras el trabajo se mantiene leíble.

En mi opinión es una buena idea la que ha tenido Bisqwit, pues explica en forma genérica qué se requiere para escribir un emulador completo. He aquí los videos correspondientes:

Referencias:

HackADay 

Comentarios