Registrarse
  • ¡Vuelven los concursos de mapas! ¿Quién será el mejor diseñador en esta ocasión? ¿Te ves capaz de demostrar todas tus habilidades en el mapeo, Invitado? ¡Inscríbete ya dándole al botón!

    El periodo de inscripción acaba el día 17 de mayo.

[Decomp-GBA] Como instalar decompilación en MacOS

InmortalKaktus

Ludiloco
Bueno, a petición de @alexMAD me he instalado una máquina virtual y he estado gran parte de la tarde investigando los errores que iba recibiendo, hasta conseguir compilar nuestro querido proyecto. Yo en principio he probado solo con pokeemerald, aunque si con otro proyecto trae algún problema concreto, puedo intentar compilarlo también para solucionar los errores que puedan haber.

Haría un script, pero sorprendentemente, para MacOS es ULTRA FÁCIL configurarlo todo (que envidia cabrones :c), y ni si quiera merece la pena.

En primer lugar, necesitamos las herramientas de la línea de comandos de XCode. OJO, no necesitamos descargar XCode, se llama así, pero se instala de forma independiente. Para ello, abriremos la Terminal de MacOS


Y una vez la abramos, escribiremos el siguiente comando y lo ejecutaremos
Código:
xcode-select --install
Nos aparecerá una ventana como esta, o muy similar

1615501695879.png

Le damos a Install, y esperamos a que se complete la instalación.

Una vez la instalación acabe, pasaremos a instalar Homebrew, que no es lo que nos sirve para hackear las consolas de Nintendo que nos servirá para poder descargar el paquete que no viene preinstalado con el primer comando que hemos ejecutado, es decir, libpng.
Código:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Y ejecutaremos estas dos líneas para actualizar los paquetes que ya tenemos instalados.

Código:
brew update
brew upgrade
E instalaremos libpng con este código
Código:
brew install libpng
NOTA: Si en alguno de estos comandos se nos pide permisos y no nos deja ejecutarlos, lo único que tenemos que hacer es escribir "sudo" delante del comando, así
Código:
sudo brew install libpng
Luego nos pediría la contraseña de nuestro Mac para confirmar que sabemos lo que hacemos. La escribimos (no veremos ningún caracter escribiendo mientras tecleamos, pero la Terminal sí lo está leyendo), y cuando la hayamos escrito, le damos intro, y ya se ejecuta el comando.

Ahora, el paquete gordo. devkitPro-Pacman. Para este, tendremos que ir a ESTE ENLACE y haremos un poco de scroll hasta abajo hasta encontrar algo como esto:

1615499741788.png


Ojo, nosotros tenemos que descargar el que acaba en .pkg, así que, lo descargamos, y por ejemplo, lo movemos al escritorio.
Ahora, volvemos a la terminal, y tenemos que acceder a la ruta del escritorio, para ello, escribiremos en el terminal cd y un espacio. Volvemos al Escritorio, y arrastramos el paquete que acabamos de descargar, a la terminal, y veremos que se escribe automáticamente la ruta, eso sí, de esa ruta, tendremos que borrar el nombre del archivo. A mi al final, me queda así

1615499940913.png


TIENE QUE HABER UN ESPACIO ENTRE CD Y EL RESTO DEL TEXTO (Cuidado con esto, que se nos puede pasar jajajaja)

Una vez tenemos eso escrito, le damos a intro para ejecutarlo, y copiamos y pegamos este comando.
Código:
sudo installer -pkg devkitpro-pacman-installer.pkg -target /
Esperamos a que se instale todo, y de nuevo, aceptamos todo lo que tengamos que aceptar.

Y lo último que tendremos que instalar será gcc-arm-none-eabi. Yo lo he tenido que instalar de un repositorio ajeno al oficial, porque el oficial me daba problemas. Para esto, ejecutaremos estas tres instrucciones por orden

Código:
brew tap PX4/homebrew-px4
brew update
brew install gcc-arm-none-eabi
Y con esto, si todo ha ido bien, ya tendríamos todos los paquetes necesarios.
Ahora, descargaremos nuestro repositorio de preferencia, en mi caso será pokeemerald. Y para ello, si no queréis que se guarde en el propio Escritorio, podéis crear una carpeta en el escritorio ejecutando este comando
Código:
mkdir Decomp
Y luego, accedemos a ella con
Código:
cd Decomp
Ahora ya, procedemos a descargar lo necesario con las siguientes instrucciones, os dejo las que tendríais que usar según la base que queráis en diferentes spoiler
Código:
git clone https://github.com/pret/pokeemerald
git clone https://github.com/pret/agbcc

cd ./agbcc
./build.sh
./install.sh ../pokeemerald

cd ../pokeemerald
Código:
git clone https://github.com/pret/pokeruby
git clone https://github.com/pret/agbcc

cd ./agbcc
./build.sh
./install.sh ../pokeruby

cd ../pokeruby
Código:
git clone https://github.com/pret/pokefirered
git clone https://github.com/pret/agbcc

cd ./agbcc
./build.sh
./install.sh ../pokefirered

cd ../pokefirered

Con todo esto descargado e instalado, el siguiente comando será el que compile nuestro juego.
Código:
make -j$(sysctl -n hw.physicalcpu)
Y una vez compilado, os debería salir algo muy similar a esto
1615500892833.png


¡Y ya tendrás tu juego compilado!

Eso si, yo antes de conseguir ese resultado, obtuve un error por un fallo en uno de los archivos Makefile del proyecto, si a ti no te ha aparecido eso a la primera, abre el spoiler.

Si te ha dado este error

1615500995486.png


Tendrás que abrir manualmente un archivo de todos los que hay ahí.

Exactamente, estará en el archivo donde descargaste pokeemerald, luego entras a la carpeta de pokeemerald, y en esa carpeta, entras a libagbsyscall

1615501094884.png


Dentro de ella, encontrarás un archivo llamado Makefile, pues le damos click derecho, y lo abrimos con el TextEdit

1615501227744.png


Y dentro nos encontraremos con muchas líneas, pero tendremos que bajar hasta una que se llama
Código:
export LD := $(PREFIX)ld
1615501399550.png


Y justo después de esa línea, añades la siguiente

Código:
export AR := $(PREFIX)ar
Quedando de esta manera

1615501464939.png


Una vez hecho esto, guardamos el archivo desde File > Save, y ahora en la terminal ejecutaremos estas dos instrucciones

Código:
make clean
make -j$(sysctl -n hw.physicalcpu)
Y por fin deberíamos lograr nuestra ansiada ROM compilada ;)

¡Disfrutad de Decomp en MacOS! :D
 

Adjuntos

Última edición:

Xiros

Creador de Pokémon Omega (2007)
Miembro de honor
Yo estuve horas para poder configurar todo hace meses, me hubiese gustado tener este tuto!
Gran aporte como todos los que venís dando últimamente :)
 
En vez de recomendar "/Bin/Bash" pon que sea una ruta definida (esa si quieres), porque si no la gente va a instalarlo en el volumen por defecto si saber que pueden en cualquiera. Ejemplo:

1615548142352.png
 
Después de instalar homebrew y antes de poder usar el comando, necesitas añadir estas dos:

Código:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/tuUsuario/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Asumiendo que instalas en /Bin/Bash
 

InmortalKaktus

Ludiloco
Muchas gracias @Manurocker95 por todas las puntualizaciones, si alguien tiene algún problema, debería tener en cuenta también tus comentarios

Por lo que veo, depende de la versión de MacOS se necesitan unas cosas u otras. En mi caso seguí los pasos de arriba para MacOS Sierra
 

alexMAD

Otro Romhacker mas...
Bueno pues después del millón de errores que me salieron gracias a IK y al foro encontré la solución.
primero en lugar de instalar el pokeemerald desde/pret/pokeemerald lo instale desde :
Código:
git clone https://github.com/luckytyphlosion/pokeemerald
git clone https://github.com/luckytyphlosion/agbcc
no sin antes volver a instalar el Pacman desde el enlace que compartieron es el que seguí yo

Código:
Download the devkitpro-pacman-installer.pkg package from here.

Open the package to install devkitPro pacman.

In the Terminal, run the following commands to install devkitARM:

sudo dkp-pacman -Sy
sudo dkp-pacman -S gba-dev
sudo dkp-pacman -S devkitarm-rules
The command with gba-dev will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.

After the tools are installed, devkitARM must now be made accessible from anywhere by the system. To do so, run the following commands:

export DEVKITPRO=/opt/devkitpro
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc

echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile
AGBCC no buildea en Catalina o superior debido a cambios en Xcode 12.


la verdad desconozco cuál de todas las cosas que hice fue la que funciono pero muchas gracias de nuevo por este teme que me ayudo a despejar los problemas .
 
Última edición:
Bueno pues después del millón de errores que me salieron gracias a IK y al foro encontré la solución.
primero en lugar de instalar el pokeemerald desde/pret/pokeemerald lo instale desde :
Código:
git clone https://github.com/luckytyphlosion/pokeemerald
git clone https://github.com/luckytyphlosion/agbcc
no sin antes volver a instalar el Pacman desde el enlace que compartieron es el que seguí yo

Código:
Download the devkitpro-pacman-installer.pkg package from here.

Open the package to install devkitPro pacman.

In the Terminal, run the following commands to install devkitARM:

sudo dkp-pacman -Sy
sudo dkp-pacman -S gba-dev
sudo dkp-pacman -S devkitarm-rules
The command with gba-dev will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.

After the tools are installed, devkitARM must now be made accessible from anywhere by the system. To do so, run the following commands:

export DEVKITPRO=/opt/devkitpro
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc

echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile


la verdad desconozco cuál de todas las cosas que hice fue la que funciono pero muchas gracias de nuevo por este teme que me ayudo a despejar los problemas .
Te funciona en catalina/big sur?
 
Arriba