En primer lugar, sed escepticos… Yo no soy una fuente primaria y esta entrada viene de una charla que he tenido las vacaciones navideñas con un contacto que para mi es de fiar, lo que me ha comentado me ha convencido y por ello he decidido compartirlo y como me consta que la entrada quedaría desfasada en unos días por visto… Ya que Nintendo no tardaría en hacer oficial el anuncio.

#1 Hardware

Aquí es donde la cosa cambia un poco, como sabreis la NES y la SNES Classic Mini hacen uso del mismo hardware, en este video donde abren ambas se demuestra:

Hace unas semanas hice una entrada donde comente que eran necesarios una serie de cambios técnicos en la N64 Classic Mini. La mayoría de estos cambios son para aumentar el rendimiento de los juegos y no son tan imposibles de solventar si tenemos en cuenta cual es la naturaleza de dichas limitaciones técnicas  en lo que al framerate se refiere.

La primera de ellas es ni más ni menos que la enorme distancia entre la CPU y la RAM del sistema fisicamente hablando, lo que lo hacía sinceramente extremadamente vulnerable a la latencia provocando que de las tres etapas de renderizado de una escena, la «Application Stage» correspondiente a la CPU dure una eternidad.

3Stages

Pero en el hardware de las Nintendo Classic ese problema no existe, más bien el problema sería la emulación del R4300i… En todo caso es una CPU ampliamente documentada, especialmente gracias a sus arquitectos, los señores John L. Hennesy y David A. Patterson que son autores de un famoso libro de arquitectura de computadores que utilizan el R4000 como procesador ejemplo y hemos de tener en cuenta que en el caso de N64 tanto su CPU como una pieza del RCP, el llamado RSP encargado de la geometría de la escena y el audio se basan en el R4000, siendo el único elemento un poco modificado el RDP. ¿Es un problema eso? cCuriosamente la misma gente que diseño la GX GPU dentro del Flipper de Gamecube son la misma gente que diseño el RDP de N64, exactamente los mismos y Gamecube es una versión evolucionada del mismo que incluso es compatible hacía atrás en lo que a código se refiere, obviamente no vas a poder ejecutar un juego de N64 en la Gamecube estandar por las diferencias de la CPU pero las conversiones se hacían muy facilmente y tenemos dos ejemplos de juegos portados que son muy famosos.

Pete_ac_gc

gfs_24366_2_4

ArtX, la empresa que diseño la GX GPU para Gamecube estaba liderada por la misma gente que hizo el RCP y lo evolucionaron desde ese chip, es decir, la GX GPU utilizada en GCN, Wii y en el interior del Latte de Wii U para la compatibilidad hacía atrás no es un borrón y cuenta nueva sino que parte del RCP de N64. Los derechos completos de la GX GPU son propiedad de Nintendo porque dicho chip se diseño al completo antes de la compra de ArtX por parte de ATI (ahora propiedad de AMD) por lo que Nintendo no tiene que pedir permiso para integrar la tecnología a nadie y es algo que ya hicieron en Wii U al integrar la GX GPU y sus 3MB de memoria embebida en el Latte para la compatibilidad con Wii.

wiiugpudie

¿Las diferencias entre el RDP y la GX GPU? Bueno, son obvias, la primera de ellas es que no existe el Texture Environment o TEV que le permite realizar los efectos basados en la combinación de registros de color hasta en 8 etapas mientras que en N64 esta limitado a 2. El segundo paso es la TMEM, en la GX GPU tenemos 1MB en total mientras que en N64 solo 4KB y luego hemos de tener en cuenta que la tasa de relleno es 4 veces por ciclo de reloj en la GX GPU al tener 4 unidades de texturas. ¿A que me refiero con eso? Nintendo puede coger la GX GPU y reducirla al máximo para hacer una versión lite… Y bueno, me olvidaba de une elemento, la unidad XF que en Gamecube es de función fija mientras que en N64 es distinta y se trata de la unidad RSP, aparte de que en Gamecube tenemos un chip de audio dedicado pero lo que es principalmente la parte del RDP es común en general y hemos de sumarle que el RSP al ser una variación del R4000 esta completamente documentado.

¿A donde quiero llegar con esto? Las malas lenguas comentan que Nintendo habría creado una versión especial del SoC utilizado en la NES Classic Mini y la SNES Classic Mini pero integrando una versión a medida de la GX GPU altamente modificada que no rompiese la compatibilidad con los juegos de N64 y evitase todos los problemas de la ejecución por emulación aparte de poner los juegos al día. Al mismo tiempo dicho SoC lo van a utilizar para las reediciones de las versiones Mini de NES y SNES,

  1. La unidad TEV de la GX GPU soporta multitexturizado por lo que puede ejecutar los efectos de dos pasos de N64 que en la consola original recortan la tasa de relleno a la mitad y con ello la tasa de fotogramas, por lo que ciertos juegos pasarían directamente a duplicar el framerate de manera literal con ello.
  2. Gamecube solventa el problema del BackBuffer dedicando un búfer exclusivo en Gamecube a través de un Framebuffer embebido, Nintendo puede optar por una solución similar en nuestra N64 Classic Mini añadiendo un eFB también a la GPU.
  3. El tema de los 4KB de Cache de Texturas no sería problema alguno tampoco… Aunque la ventaja sería la capacidad de poder realizar filtro trilineal en un paso, en realidad todo se debería hacer en un paso y mantener la tasa de relleno al máximo.
  4. La unidad XF puede ser reemplazada por el RSP funcionando tal cual como en el modelo original, a estas alturas colocar dicha modificación del R4000 en un SoC debería ser sumamente fácil.
  5. El Edge Antialiasing de N64 que es culpable del aspecto borroso de los juegos de N64 puede ser eliminado y sustituido por otro tipo de AntiAliasing, en realidad en N64 todos los juegos tienen el EAA activado de serie sin opción por parte de los desarrolladores, el hecho de tener activado un AA mejor como el SSAA/FSAA sería mucho mejor. Es decir, renderizar los juegos 640×480 en el Backbuffer en vez de 320×240. ¿Sería un problema? Teniendo en cuenta el punto 2 no lo sería.
  6. La CPU del SoC debería continuar siendo un Cortex A7 y ejecutar el mismo Sistema Operativo que la NES y la SNES Classic Mini, la inclusión del RCP «Mini» sería con tal de mantener la compatibilidad al 100%.

Obviamente esto requiere la creación de un SoC nuevo pero este seria tan sencillo y pequeño que podrían fabricarlo en masa sin romper el precio respecto a unidades anteriores. Estamos en una era donde la complejidad en puertas lógicas es de dos ordenes de magnitud o incluso llegando a tres respecto a la era de N64… Colocar el RCP en un SoC actualmente costaría literalmente centimos y a nivel de coste es mucho más barato que crear un inteprete/emulador.

Pe… pero Urian… Los juegos de N64 corren en consola virtual en Wii y Wii U.

¿Nunca os habéis preguntado porque N64 no tiene consola virtual en 3DS por ejemplo?

PanicPanic

Si, es porque en parte el hardware de N64 siguió estando en GCN, Wii y Wii U pero no se traslado a 3DS. Nintendo conociendo esto porque al fin y al cabo la consola es suya aprovecharon esto para la consola virtual de N64. De ahí a que en vez de tirar del AllWinner R16 van a sacar su propio SoC para la N64 Classic Mini.

#2 La lista de Juegos

Las malas lenguas afirman que 16 es la lista de juegos disponibles…

  1. 1080º Snowboarding
  2. Donkey Kong 64
  3. Excitebike 64
  4. Kirby: The Crystal Shards
  5. Mario Golf
  6. Mario Kart 64
  7. Mario Party 3
  8. Mario Tennis 64
  9. Sin & Punishment
  10. Star Fox 64
  11. Super Mario 64
  12. Smash Bros
  13. tLoZ: Majora’s Mask
  14. tLOZ: Ocarina of Time
  15. Wave Race 64
  16. Yoshi’s Story

Estos serían los 16 juegos incluidos de serie en la N64 Classic Mini en teoría, la veo una lista bastante viable Nintendo no va a incluir nada de Rare ni tampoco juegos licenciados de terceros desde el momento en que no quiere encarecer la consola con el tema de las licencias por lo que va a limitar los juegos de la consola retro a titulos propios sin ningún juego de terceros por el medio, lo que para muchos será una decepción y para otros no lo será pero tiene que ver con la intencionalidad de Nintendo de mantener un precio bajo para este sistema retro.

#3 Mando

El mando no es exactamente igual al de la consola original:

  • El stick analógico ha sido cambiado por el utilizado en el mando de Gamecube en adelante.
  • El mando es algo más pequeño y ligero que la versión original en tamaño, no es una versión ultrareducida tampoco hasta el punto de perder la identidad.
  • Obviamente se ha eliminado la conexión anterior del mando, no obstante su protuberancia sigue existiendo, solo que ahora esta sellada.N64-controller-white-rear.jpg
  • El Rumble Pack incluido de serie en todos los mandos de la consola.
  • La conexión de la misma manera que en las versiones anteriores es compatible con el mando de Wii.

Y con esto terminamos la entrada, no se… Yo lo veo completamente viable. No se que pensaréis vosotros, en todo caso… Comentad por favor.