Super Mario 64 es un port (
https://github.com/aboood40091/sm64-port) a Wii U, llevado a cabo por
AboodXD (
https://github.com/aboood40091), del proyecto de descompilación (
https://github.com/n64decomp/sm64) del juego.
No es posible distribuir el port compilado. El port es completamente legal (por eso está disponible en GitHub) pero los binarios compilados utilizan archivos de la rom del juego, propiedad de Nintendo. Es necesario que lo compiléis vosotros mismos. A continuación haré una guía, más o menos simple, de cómo hacerlo.
COMPILAR EL JUEGOExisten varias formas de compilar el juego y entornos de compilación, es un tema complicado (para un usuario normal) e inabarcable. Aquí explicaré cómo hacerlo, desde cero, con el
Subsistema de Windows para Linux (WSL), que aunque su nombre es un tanto equívoco en realidad es Linux para Windows 10. Esto lo podéis hacer en cualquier versión de Windows 10, da igual que sea la Pro, que la Home, que la LTSC, es indiferente que tenga la UWP instalada o no.
El primer paso será instalar el Subsistema de Windows para Linux. Para ello iremos a
Panel de Control (escribid 'panel de control' en la barra de direcciones del explorador) >
Programas y Características >
Activar o desactivar características de Windows y marcad
Subsistema de Windows para Linux. Aceptad y reiniciad Windows.
Bajad la imagen de
Ubuntu 18.04 (
enlace) e instaladla vía
Powershell. Para ello id a la carpeta donde lo halláis descargado, en la barra de direcciones poned
powershell y presionad Enter. El comando para instalar sería
Add-AppxPackage ./XXX.Appx, donde XXX sería el nombre del paquete.
Una vez el proceso haya finalizado id a
Inicio >
Aplicaciones >
Ubuntu 18.04 y dejad que finalice la instalación. Rellenad el usuario que usaréis y la contraseña (dos veces). Cerrad el Terminal.
Volved a abrir el Terminal de Linux (
Inicio >
Aplicaciones >
Ubuntu 18.04). Usad los siguientes comandos por orden, cuando acabe uno usad otro:
Primero
sudo apt update (la primera vez que uséis sudo os pedirá la contraseña de administrador) y luego
sudo apt upgrade -y (-y sirve para aceptar automáticamente).
Después
sudo apt install build-essential -y y a continuación
sudo apt install software-properties-common -y.
El siguiente comando será
sudo apt install git-all -y.
Finalmente
sudo apt install p7zip-full p7zip-rar -y. Cerrad el Terminal.
Con esto habremos instalado las herramientas básicas para trabajar con compilaciones. Ahora instalaremos el kit de desarrollo
devkitPro, el cual nos permitirá compilar aplicaciones de Nintendo: Wii, WiiU, 3DS, etc.
Abrid nuevamente el Terminal de Linux y usad el comando
sudo apt install gdebi-core -y. GDebi es una herramienta para instalar paquetes Debian, que es la manera más fácil de instalar devkitPRO. Cerrad el Terminal.
Seguidamente descargaremos devkitPRO (
enlace). En la carpeta donde hayamos descargado el paquete abrimos un Terminal de Linux, para ello iremos a la barra de direcciones y escribiremos
bash para pulsar Intro seguidamente. En esa ventana de Terminal usaremos el comando
sudo gdebi devkitpro-pacman.amd64.deb.
De esta manera tendremos instalado el entorno de desarrollo devkitPro, pero nos harán falta las herramientas específicas de cada plataforma. En este caso, 3DS, serán las
WiiU-dev. Primero usamos el comando
sudo dkp-pacman -Sy (sirve para buscar actualizaciones en devkitPRO) y después
sudo dkp-pacman -Syu -y (sirve para instalar actualizaciones, si las hubiese).
A continuación usaremos
sudo dkp-pacman -S wiiu-dev. Cuando os pregunte qué paquetes de 3DS-dev instalar, simplemente
pulsad intro para instalarlos todos. Finalmente usaremos sudo
dkp-pacman -S wiiu-sdl2. Para acabar cerraremos el Terminal.
A continuación actualizaremos algunas librerías extra. Volved a abrir el Terminal y usad
sudo apt install build-essential pkg-config git binutils-mips-linux-gnu zlib1g-dev libaudiofile-dev.
En último lugar descargaremos el paquete de instalación de Irix para QEMU (
enlace) y lo instalaremos (abrid un Terminal en la misma carpeta de descarga con
bash en la barra de direcciones) con
sudo dpkg -i qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb.
De esta forma quedará instalado todo nuestro entorno de programación, listo para compilar Super Mario 64. A continuación veremos cómo descargar el código fuente y cómo compilar el juego.
El primer paso será compilar el juego. Para ello descargamos el código fuente del GitHub de AboodXD (
enlace). Para ello vamos a la carpeta donde queremos descargarlo y usamos
bash en la barra de direcciones, como hemos visto varias veces ya. Primero usaremos el comando
git clone https://github.com/aboood40091/sm64-port para descargar el repositorio completo. Cuando finalice la descarga/comprobación entraremos en la carpeta con
cd sm64-port.
Aquí es donde entra en juego la parte "turbia" del asunto. El proyecto de decompilación de Super Mario 64 y sus consiguientes ports son completamente legales en tanto en cuanto no usan código de Nintendo. Sin embargo, para compilar el port, obviamente hacen falta los archivos del juego, de manera que
necesitaréis la rom. Personalmente suelo compilar el juego con la versión USA, pero la EUR y JPN también valen. El formato tiene que ser
Z64, el SHA1 de la versión USA, por si queréis comprobarlo es 9bef1128717f958171a4afac3ed78ee2bb4e86ce. Con este hash también podéis hacer otras cosas (guiño-guiño-codazo-codazo). Descargad la rom, extraedla y renombradla a:
baserom.us.z64,
baserom.eu.z64 o
baserom.jp.z64, dependiendo de la región escogida. Finalmente moved la rom, renombrada, a la carpeta sm64-port, creada en el paso anterior.
Finalmente compilaremos el juego con
make. Si la habéis cagado en algún sitio aquí es donde habrá errores a chorrón. En principio el Terminal informa de dónde está el problema y a qué es debido, generalmente la falta de alguna dependencia o la imposibilidad de acceso a algún programa (porque no esté en el PATH, porque no sea ejecutable, etc), sin embargo puede ser complicado de descifrar si no estáis familiarizados con la compilación o la programación. Si tenéis algún problema comentadlo por aquí con una captura de pantalla del error.
Si todo ha ido como la seda el ejecutable se encontrará en la ruta:
/sm64-port/build/**_wiiu/sm64.**.f3dex2e.rpx. Donde los asteriscos son la región (us, eu o jp). Ese es el ejecutable que deberemos usar con
Homebrew Launcher.
------EN PROCESO------
Nota: Existe
Ubuntu 20.04 en Windows Subsystem, sin embargo a mi me ha dado problemas con algunos programas (Cargo/Rust, por ejemplo), Ubuntu 18.04 es más que suficiente para una "experiencia Linux" completa.
GITHUBhttps://github.com/aboood40091/sm64-port