Nintendo Entertainment System
La Nintendo Entertainment System (NES) es un sistema de 8-bits lanzado al mercado el 15 de julio de 1983, durante la tercera generación de consolas, siendo conocido como Famicom en Japón, su territorio natal.
Los primeros juegos lanzados en la consola sufrieron restricciones significativas debido al modo en que estaba diseñada: direccionamiento de memoria limitado (lo que impedía sobrepasar un tamaño de ROM máximo), un único modo de procesar el sonido, ausencia de guardado (necesario en títulos más largos)...
Ante esta situación, Nintendo ofreció dos soluciones diferentes:
- El Famicom Disk System, un periférico lanzado exclusivamente en territorio nipón que permitía la ejecución de juegos en un formato diferente, una versión modificada del Quick Disk que no solo ofrecía mayor capacidad, sino también mejoras en cuanto al audio e incluso soporte para el uso de un micrófono en ciertos juegos. Había planes para exportarlo a otros países, pero como el lanzamiento de la consola se retrasó fuera de Japón, la solución de los mappers se impuso.
- Los Memory Management Controllers (MMC), también conocidos como mappers, que solucionaban los problemas mencionados mediante el bank switching, consistente en intercambiar los datos de una región del espacio de direcciones por otros que se encontrasen en el cartucho. Además, estos también podían controlar cómo se mostraban los gráficos en pantalla y ofrecer otras funcionalidades adicionales (aunque menos comunes). La Game Boy empleó un diseño similar.
Especificaciones
- CPU: Ricoh 2A03, a 1,79 MHz (NTSC) o Ricoh 2A07, a 1,66 MHz (PAL), siguiendo la arquitectura 6502 (CISC).
- RAM: 2 KiB, con 256 bytes dedicados a la pila.
- Unidad de procesamiento gráfico: Ricoh 2C02, a 5,37 MHz, con 2 KiB de RAM de vídeo, 256 bytes de almacenamiento para sprites y paleta de 54 colores.
- Unidad de sonido: Integrada en la CPU, con 5 canales y dependiente de la frecuencia del procesador.
- Medios: Cartuchos.
Emulación
La emulación de la NES es sólida, pues existen numerosos emuladores de elevada precisión. Algunos de ellos son:
Nombre | Plataformas | Lenguaje de programación | Soporte de Famicom Disk System | Precisión | Código abierto | En desarrollo | Recomendado |
---|---|---|---|---|---|---|---|
Mesen | C++, C# | ✓ | A nivel de ciclo | ✓ | ✗ | ✓ | |
Nestopia | C++ | ✓ | A nivel de ciclo | ✓ | ✓ | ✓ | |
3dSen | C# | ✗ | Alta | ✗ | ✓ | ✓ | |
nintaco | Java | ✓ | A nivel de ciclo | ✓ | ✗ | ✗ | |
MetalNES | C++ | ✗ | A nivel de transistor | ✓ | ✓ | ✗ |