Esta pagina se ve mejor con JavaScript habilitado

Zelda: Ocarina of Time nativo en Linux

 ·  🎃 kr0m

En esta ocasión vamos a hacer uso de la decompilación del juego Zelda: Ocarina of Time de N64 para instalar dicho juego, lo que nos permitirá disfrutar del título a 60FPS.

Índice:


Instalación:

En principio hay una versión precompilada del binario para Linux, así que tan solo debemos asegurarnos de tener una de las ROMS soportadas .

Nos bajamos el binario desde el GitHub del proyecto y lo descomprimimos:

unzip SoH-Blair-Foxtrot-Linux.zip

Comprobamos el hash SHA1 de la ROM:

sha1sum ~/PAL\ 1.1.z64
cfbb98d392e4a9d39da8285d10cbef3974c2f012  /home/kr0m/PAL 1.1.z64

Efectivamente es una de las versiones soportadas, movemos la ROM al directorio donde hemos descomprimido el binario:

mv ~/PAL\ 1.1.z64 ./

Ejecutamos el binario:

./soh.appimage

En esta captura se puede ver el juego, por supuesto se puede jugar a pantalla completa.

Por cierto el mando de Xbox funciona de maravilla.


Compilación:

Si el binario precompilado dá algún tipo de problema siempre podremos compilar nosotros mismos el software.

Instalamos las dependencias tal como indica la documentación :

apt-get install gcc g++ clang git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libopengl-dev libopus-dev libopusfile-dev

Clonamos el repositorio:

git clone https://github.com/HarbourMasters/Shipwright.git
cd Shipwright
git submodule update --init

Debemos tener en cuenta que solo se soportan ciertas versiones de ROM .

Comprobamos el hash SHA1 de la ROM:

sha1sum ~/PAL\ 1.1.z64
cfbb98d392e4a9d39da8285d10cbef3974c2f012  /home/kr0m/PAL 1.1.z64

Efectivamente es una de las versiones soportadas, movemos la ROM al directorio donde hemos clonado el repositorio:

mv ~/PAL\ 1.1.z64 ./

Generamos el proyecto Ninja:

cmake -H. -Bbuild-cmake -GNinja

En mi sistema Debian12 ha presentado problemas por la versión de CMake:

PaperStreet $ ~/Shipwright> cmake -H. -Bbuild-cmake -GNinja
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.26.0 or higher is required.  You are running version 3.25.1

La solución mas limpia es instalar desde backports una versión mas moderna:

echo "deb http://deb.debian.org/debian bookworm-backports main" | tee /etc/apt/sources.list.d/backports.list
apt update
apt -t bookworm-backports install cmake

Rejecutamos la generación del proyecto Ninja:

rm -rf build-cmake
cmake -H. -Bbuild-cmake -GNinja

Generamos el fichero soh.otr:

cmake --build build-cmake --target GenerateSohOtr -j8

Compilamos el proyecto:

cmake --build build-cmake -j8

Ejecutamos el binario:

./build-cmake/soh/soh.elf

Cuando nos pregunte si generar el OTR, respondemos que si:

Nos preguntará si queremos extaer alguna otra ROM, respondemos que no:

En esta captura se puede ver el juego, por supuesto se puede jugar a pantalla completa.

Por cierto el mando de Xbox funciona de maravilla.