Desde el lanzamiento de la Switch 2, muchos son los usuarios que se han preguntado cómo funciona la retrocompatibilidad de los juegos de la Switch con la Switch 2, si se realiza a través de un software dedicado o si, por el contrario, se utiliza un sistema de emulación.
Este debate sobre cómo gestiona la Nintendo Switch 2 la retrocompatibilidad quedó zanjado hace tiempo. A diferencia de las transiciones generacionales del pasado de Nintendo (como de DS a 3DS, o de Wii a Wii U), donde se incluía silicio nativo de la consola anterior para ejecutar los juegos, la Switch 2 no contiene hardware dedicado de la primera Switch.
Según afirmaron en su momento los ingenieros principales de la consola, Takuhiro Dohta y Kouichi Kawamoto, el enfoque se sitúa en un punto intermedio: ni un chip físico redundante, ni una emulación pura tradicional por software.
Traducción Binaria en Tiempo Real
La arquitectura de Switch 2 se basa en un SoC de NVIDIA mucho más moderno y avanzado que el veterano Tegra X1 (arquitectura Maxwell de 20nm) de la Switch original. Aunque ambos procesadores comparten el ecosistema ARM, las diferencias a nivel de instrucciones de CPU, las microarquitecturas de la GPU y la gestión de memoria impedían una ejecución nativa directa.
La solución a este problema sin meter el procesador de la Switch original en la Switch 2, lo que implicaría un precio más elevado, pasa por utilizar un método de traducción binaria.
En lugar de interpretar cada instrucción de código línea por línea en una máquina virtual (lo que provocaría elevado consumo de la CPU y, por ende, de la batería), la Switch 2 traduce el código compilado del juego original a las nuevas instrucciones del SoC de forma dinámica a medida que los datos se leen de la memoria o del cartucho.
Durante el proceso, el sistema operativo de Switch 2 genera un entorno controlado que «engaña» al binario del juego, haciéndole creer que está operando bajo las restricciones y llamadas de la GPU Maxwell original, mapeando esas órdenes directamente hacia la nueva y mucho más potente arquitectura de la GPU.
Este es prácticamente el mismo enfoque de Apple con Rosetta 2 y de Microsoft con Prism, para ejecutar aplicaciones diseñadas para x86 en procesadores con arquitectura ARM. Vamos, que Nintendo no ha inventado la rueda, sino que se ha basado en una tecnología ya utilizada por otros fabricantes.
Problemas de incompatibilidad
El software puede traducirse, pero las limitaciones físicas no. Todos los juegos que dependan de la ergonomía o de componentes exclusivos del hardware original quedan descartados o severamente limitados.
Esto incluye accesorios como Nintendo Labo (debido al cambio de tamaño del chasis de la consola) o juegos que dependan de los raíles y anclajes exactos de los Joy-Con originales, como Ring Fit Adventure, a menos que se utilicen mandos de la primera generación sincronizados de forma externa.
Este problema de incompatibilidad se soluciona lanzando nuevos productos al mercado, obligando a los usuarios a volver a pasar por caja.
