Registrarse

[Otros] Instalando herramientas de desarrollador

Kaiser de Emperana

Called in hand
Bueno esto no es directamente un tutorial de rom hacking, pero en cierto modo está relacionado. Este va a ser un tutorial de lo que más se les complica a los novatos, instalar "bien" los programas y dejarlos funcionando.

Esto va a estar orientado a usuarios de Windows, asumo que los demás pueden arreglarselas solos.

Voy a explicar, conjuntamente, la instalacion de las siguientes herramientas (si no les interesa alguna simplemente no la instalen).
devkitARM: yendo a lo que nos importa, sirve para compilar codigo en C y rutinas asm.
Descarga: https://sourceforge.net/projects/devkitpro/files/devkitARM/devkitARM_r45/devkitARM_r45-win32.exe/download (dejo el link a la version 45, que es la que recomienda la mayoría)

armips: es otro ensamblador mas. Algunos lo usan, por comodidad, en conjunto al devkitARM.
Descarga: https://buildbot.orphis.net/armips/ (elijan la version más reciente)

cygwin (con el paquete make): por lo general somos los usuarios de otros sistemas operativos los que se las tiene que arreglar para hacer que las cosas hechas por usuarios de windows anden. Ahora es al revez. Esto es algo así como un emulador de la línea de comando de linux, para windows. No es indispensable para nada, pero yo les recomiendo instalarlo.
Descarga: https://cygwin.com/install.html (setup-x86, si su sistema operativo es de 32 bits, setup-x86_64 si es de 64bits)

Empecemos con el más complicado...

Hagan doble click en el setup descargado. Va a aparecer esta ventana:

Ahora, aprieten next y continuen


Dejen la pantalla como está y... next.


Elijan la carpeta donde instalarlo y next...


Acá les pide que ingresen una carpeta donde guardar unos archivos. Se creará una carpeta con un nombre raro donde indiquen. Una vez terminen la instalacion, la pueden borrar.
Y next...


Si no entienden lo que es esto. Déjenlo como está y next.


Elijan la primer opción de la lista y next...


Esperen a que termine y les dejo adivinar lo que sigue... next

Ahora, sí. La parte por la que hice este tutorial. Como dije antes cygwin es algo así como un emulador de la línea de comando de linux. Si bien trae algunas funciones por defecto, no trae todas, ya que eso implicaría instalar una cantidad monstruosa de cosas que no son necesitadas.
Ahora lo que vamos a hacer es decirle al instalador que instale el paquete "make", que es una utilidad que sirve para compilar facilemente código (algo así... (? ). Hay bastantes recursos públicos de rom hacking que están pensado para que los compiles usando esto. Así que lo vamos a instalar.
(Make se puede instalar en Windows sin la necesidad de instalar cygwin, pero de esa forma van a tener algún que otro problema dependiendo de las ganas que haya tenido el desarrollador del recurso para hacerlo funcionar en windows. Así que yo les recomiendo instalarlo junto con cygwin.)

Para encontrar el paquete facilmente pongan la "configuración" que dejé. (View: Category y Search: make)
Después expandan la categoría Devel.


Busquen en la lista hasta que encuentren esa entrada (make: The GNU versión...). Y hagan click sobre el símbolo junto a Skip, hasta que aparezca un número (la version del paquete), como se ve en la captura.
Ahora sí. ¡Next!



Kaiser de Emperana (hace un par de pasos) dijo:
Esperen a que termine y les dejo adivinar lo que sigue... next

Ne... Eh, digo finish.


Con eso la instalación deberías estar lista.
Ahora a probar. Abran cygwin, escriban make y aprieten Enter.

Si ven esto, felicidades, acaban de instalar cygwin junto con make.

Como la instalación de etos es muy fácil y similarla voy a explicar en conjunto.

Lo primero que tiene que hacer es elegir dónde instalar lo programas. Yo lo voy a hacer en el disco C:, ustedes hagan lo que quieran.
En la carpeta ue hayan elegido creen una carpeta llamada "ARMIPS" y otra llamada "devkitPro".
Que quede algo así:


Ahora muevan el instalador de devkitARM dentro de la carpeta devkitPro.
Y ejecútenlo.

Corroboren que la carpeta indicada en la ventanna es la carpeta devkitPro. Y aprieten Extract.



Esperen... Y cuando termine, debería de haber una carpeta llamada devkitARM dentro de devkitPro.

Ahora armips. Simplemente extraigan el zip que descargaron en la carpeta ARMIPS. Debería quedar así:


(Pueden borrar el zip de armips y el "instalador" de devkitARM)


Técnicamente los programas están instalados. Pero hay que hacer algo más para que funcionen correctamente.

Abran el menú de inicio y escriban "variable" en la barra de busqueda.

Ahora hagan click en la entrada pintada de la imagen (en español debe ser algo como "Editar variables de entorno...")

En la ventana que aparece, hagan click en el botón New (el de arriba). Y en la ventana que aparezca después de eso pongan "DEVKITPRO" en el nombre de la variable. Y en el valor de la variable, la ruta de la carpeta devkitPro (en mi caso "C:\devkitPro").

Aprieten Ok.

Y vuelven a apretar New. Ahora en nombre ponen "DEVKITARM" y en valor pongan exactamente esto "%DEVKITPRO%\devkitARM".

Ok.

Ahora, en el panel de arriba, debería haber una variable llamada PATH (si no la hay, creenla con New). Seleccionenla y aprieten Edit.
Al final del valor de la variable agregen los siguiente ";C:\ARMIPS;%DEVKITARM%\bin"
(siendo C:\ARMIPS la ruta a su carpeta).

Yyyyy... Ok.

Con esto debería debería de funcionar.

Si quieren probar todo, pueden intentar compilar la pantalla de EV/IV de @jiangzhengwenjz
jiangzhengwenjz dijo:
EV-IV-Screen

Como usar

Asegúrate de tener Devkitarm y make instalados. armips v0.8/0.9 es requerido.
Descarga este repositorio.
Asigna la dirección de espacio libre que desees en insert.asm.
Un rom limpio de FIRERED (EMERALD) llamado "bpre0.gba" (bpee0.gba) debe estar en el directorio.
Abre la línea de comandos (o cygwin), escribe make y aprieta Enter.
Aparecerá un nuevo archivo "test.gba", es el rom de salida.
Escribe un script de prueba (Deberías hacer un callasm al offset en que insertaste la rutina + 1).

Ejemplo: lock
faceplayer
callasm 0x8F90001 //Yo inserté el código en 0x8F90000
msgbox 0x8FD0013 0x2 //string: "It's nice, huh?"
releaseall
end

Eso sería todo.

Diría que todos los usuarios avanzados sabrían hacer esto sin el tutorial. Así que espero los comentarios de los más novatos.
Intenté hacer una guía paso a paso, si alguna parte no se entendió del todo, por favor avísenme :) Hay muchas cosas que no expliqué para no hacer el tutorial pesado, si les parece las puedo agregar como aclaraciones al final.

Pero bueno, eso es todo.
Saludos
 

Lunos

Enfrentando a La Organización
Mediante cygwin tambien se instala la versión especifica de Python que usan Pokered y Pokecrystal junto a ciertas otras librerias ademas de Make, creo que merece la pena mencionarlo.

Aun asi, excelente post. Lo unico que faltaria en mi opinión, seria mencionar las variables de entorno que por lo general hay que añadir o modificar (aunque por lo general la unica variable a la que se suele modificar es la Variable PATH) para usar ciertos proyectos como la Megaevolución de Touched o el Emerald Battle Engine Upgrade de DizzyEgg y KDS.
 

Kaiser de Emperana

Called in hand
Respuesta: Re: Instalando herramientas de desarrollador

Mediante cygwin tambien se instala la versión especifica de Python que usan Pokered y Pokecrystal junto a ciertas otras librerias ademas de Make, creo que merece la pena mencionarlo.

Aun asi, excelente post. Lo unico que faltaria en mi opinión, seria mencionar las variables de entorno que por lo general hay que añadir o modificar (aunque por lo general la unica variable a la que se suele modificar es la Variable PATH) para usar ciertos proyectos como la Megaevolución de Touched o el Emerald Battle Engine Upgrade de DizzyEgg y KDS.
Sobre python, personalmente yo creo que es mucho mejor el instalar python directamente en windows (y así funcionaría tanto en cygwin como en el cmd). Tenerlo en cygwin simplemente te va a complicar usarlo para otras cosas, como simplemente ejecutar una herramienta. Según entiendo, para pokered, lo que necesitarías sería python 2 y entraría en conflicto con el hecho de que windows llama python 3 como python 2 (creo que sería mejor simplemente agregar los los enlaces simbólicos para que apunten al ejecutable correcto; en vez de básicamente instalar python dos veces). Pero como dije, el tener que abrir cgwin para ejecutar cada cosa es como un poco molesto xD
Pero vendría bien hacer una seción para python tambien por acá. Cuando me haga un tiempo probablemene lo agregue.

No me puse a hablar de las variables de entorno, porque básicamente no me hable de la línea de comandos. Y como van de la mano, no se habría entendido nada (especialmente la variable PATH).
El foro necesitaría de algún tuto simple; que explique lo básico, dir, cd, echo (para ver las variables). Cosa de que no le agarre un ataque a la gente cada vez que ve la pantalla negra esa.
 
Última edición:

Katherine

Omnipresente
Miembro de honor
Genial, muchas gracias por este aporte. Cualquiera que busque un poco y se interese por lograrlo puede hacerlo sin ninguna dificultad, pero tener un tutorial especificamente para ello en el foro todavía lo hace más accesible a los novatos.

¡Muchas gracias! Miau revoir~.
 

Sage0ne

Baneado
Aportaco!
Gracias por traerlo al foro, sin duda los instalaré apenas tenga tiempo para ir probando cosas nuevas.

Es un gran tutorial para todo el que esté interesado en ampliar sus conocimientos y ir más allá del promedio.

De putamadre! ;)
 

Ancer

Usuario de Oro
hola hice todo tal cual pero al darle a ¨make¨ me sale es
¨$ make
make: *** No se especificó ningún objetivo y no se encontró ningún makefile. Alto.¨
no se muy bien como es lo mas probablemente es que me equivoque pero si saben que es me gustaría una explicación :p
en mi caso aquí esta la carpeta
C:\Users\Angel\Desktop\EV-IV-Screen-EM-master
 
Última edición:

Kaiser de Emperana

Called in hand
Re: Respuesta: Instalando herramientas de desarrollador

hola hice todo tal cual pero al darle a ¨make¨ me sale es
¨$ make
make: *** No se especificó ningún objetivo y no se encontró ningún makefile. Alto.¨
no se muy bien como es lo mas probablemente es que me equivoque pero si saben que es me gustaría una explicación :p
en mi caso aquí esta la carpeta
C:\Users\Angel\Desktop\EV-IV-Screen-EM-master
Make está bien instalado. Te falta moverte a la carpeta del repositorio. Lo que se hace ejecutando el comando:
Código:
cd "C:/Users/Angel/Desktop/EV-IV-Screen-EM-master"
Si seguiste los pasos del readme, y las otras herramientas están bien instaladas. Luego del "cd", con ejecutar "make", como hiciste antes, debería de funcionar sin problemas.
 

Ancer

Usuario de Oro
Respuesta: Re: Respuesta: Instalando herramientas de desarrollador

Make está bien instalado. Te falta moverte a la carpeta del repositorio. Lo que se hace ejecutando el comando:
Código:
cd "C:/Users/Angel/Desktop/EV-IV-Screen-EM-master"
Si seguiste los pasos del readme, y las otras herramientas están bien instaladas. Luego del "cd", con ejecutar "make", como hiciste antes, debería de funcionar sin problemas.
si funciono gracias
si entendí el "cd" es para asignar la carpeta no?
de todas manera gracias
 

Kaiser de Emperana

Called in hand
Re: Respuesta: Re: Respuesta: Instalando herramientas de desarrollador

si funciono gracias
si entendí el "cd" es para asignar la carpeta no?
de todas manera gracias
Claro. "cd" viende de Change Directory (cambiar de directorio/carpeta). Al hacer "cd algún/lugar/de/tu/pc", lo que estás haciendo es cambiar la carpeta con la que estás trabajando.

Antes "make" fallaba porque estabas en cualquier lugar y el comando no sabe que es lo qu tiene que hacer. Pero al cambiar a la carpeta del código del hack, allí hay un archivo llamado "Makefile", que contiene las instrucciones de lo que tiene que realizar el comando.
 
Una pregunta noob, ¿qué hice mal?

Arraste la carpeta en la que está la rom, y solté en el cmd del cygwim pero, siempre da ese error de la imagen. ¿Alguien me podría decir lo que podría haber causado esto o, qué comando correcto? He seguido todos los pasos del tutorial.

 

Kaiser de Emperana

Called in hand
Re: Respuesta: Instalando herramientas de desarrollador

Una pregunta noob, ¿qué hice mal?

Arraste la carpeta en la que está la rom, y solté en el cmd del cygwim pero, siempre da ese error de la imagen. ¿Alguien me podría decir lo que podría haber causado esto o, qué comando correcto? He seguido todos los pasos del tutorial.

El problema es que no tenías que hacer eso. No se de donde es que lo sacaste la verdad xD

Lo que tendrías que hacer es abrir cygwin, no arrastrar la carpeta, simplemente abrirlo. Y luego lo que tenés que hacer es cambiar la carpeta en la que estás trabajando desde cygwin. Esto se hace ejecutando 'cd "C:/ruta/de/tu/carpeta"'
En tu caso:
Código:
cd "C:/Users/Adminitrador/Videos/EV-IV-Screen-EM-master"
O:
Código:
cd "/cygdrive/c/Users/Adminitrador/Videos/EV-IV-Screen-EM-master"
Cualquiera de estas dos formas sirve.

Y luego de haber ejecutado uno de estos comandos tenés que ejecutar:
Código:
make
 
Intenta con cygwin y luego busca la versión de python que usa las fuentes de pokered, con eso estarás mas que sobrado con lo que necesitas, de todas maneras si no manejas muy bien el entorno con python puedes revisar en www.escuelapython.com para que aprendas a descargar las fuentes e incluso descargar los make para la compilación.
 

Dragonite

But where's your heart
Miembro del equipo
Encargado/a de Eventos
Respuesta: Re: Instalando herramientas de desarrollador

Como se decompila fire red
Partamos de la base.

Tú lo que quieres es compilar FireRed, no decompilar.

Decompilar es convertir una ROM en las piezas de código que se utilizaron para crear el juego. Es un proceso extremadamente engorroso y complejo.

Compilar, en cambio, es crear una ROM en base al código que tienes en tu carpeta. Es mucho más sencillo y es lo que realmente sirve para hacer fangames.

Segundo, el dissasembly de FireRed (conocido como 'pokefirered') ahora mismo es basura y no sirve para ese fin (hacer fangames). Se usa mucho pokeruby y pokeemerald, yo ahora mismo estoy usando la segunda.

Espero que te haya servido!
 

Aight

Usuario de Platino
$ make
Processing image images/battle_terrains/sea/sea_bg.png
make: grit: Command not found
make: *** [Makefile:84: generated/images/battle_terrains/sea/sea_bg.c] Error 127

e puedes actualizar la imagens del variable?
 

Kaiser de Emperana

Called in hand
Respuesta: Re: Instalando herramientas de desarrollador

$ make
Processing image images/battle_terrains/sea/sea_bg.png
make: grit: Command not found
make: *** [Makefile:84: generated/images/battle_terrains/sea/sea_bg.c] Error 127

e puedes actualizar la imagens del variable?
Ese error no tiene nada que ver con lo que yo explico en este tema, el error dice que te falta el ejecutable de grit, que viene con devkitpro, no devkitarm.

Es mas, la seccion de devkitarm de este tuto ya no sirve, ya que cambiaron totalmente la forma en que se instala.

Yo que vos miraria el tuto de Lunos para compilar los proyectos de decomp. Con eso te deberia alcanzar para que te funcionen las herramientas
 
Arriba