qna_rh
Thread Id: 30115
Thread Name: compilar rutina asm
#0
milenco 29349
Hola buenas, me presento soy Milenco y tengo una enorme duda con respecto a asm. Estoy siguiendo el tutorial de Kearnseyboy6 de pokecommunity http://www.pokecommunity.com/showthread.php?t=329357 para agregar nuevos metodos de evolucion en pokemon fire red. todo va bien, ya repuntee la tabla, cambie el BIT de numero de metodos que esta en 0x0E a 0x40. Las rutinas las coverti de .asm (que cree con el block de notas) a .bin con cmd y thumb de hackmew siguiendo el tutorial de Andrea, PERO AHÍ ME QUEDE!!! estoy colgado ya no se que hacer para compilar las rutinas a la rom. trate con las herramientas de andrea pero no entiendo como usarlas. el tutorial dice que con hxd copio la rutina y la pego con control+B a la rom en un espacio vacio pero no entiendo esa parte, si hago eso se compila sola la rutina. y despues no se como repuntear la rutina para que funcione........ estoy liadooooooo¿:..

saludos y por favor de verdad quiero aumentar los metodos. ayudaT_T
#1
Yito 29233
bien... lo que tu haces con HxD es insertar lo que guardaste en formato .bin. Es decir, abres ese archivo con el editor hex, (HxD) y veras una serie de numeros.

luego, abres tu rom en el editor hex y buscas un espacio vacio... el espacio vacio se puede reconocer por que no posee ningun codigo (bajas el scroll y buscas algun espacio que diga FF FF FF FF FF FF FF FF FF (muchas F's que le sigan, eso es espacio vacio)

date cuenta que necesitas poner control B por que si le das V expanderas el rom y se te ira al carajo. el B por otro lado, solo sobreescribe sobre el espacio vacio por ende, nada pasa.

tambien, fijate en el offset donde pegaste el codigo ya que lo necesitaras despues. (anotalo en notepat, que se yo)

luego vienes y tomas ese offset y lo pegas en algun scrip de XSE segun tu necesidad o segun lo que quieras hacer... para llamar ese ASM debes usar el comando callasm en ese mismo script que creaste

PD: el offset que copiaste y pegaste en el callasm, debes agregarle +1.. por ejm

tu offset donde pegaste el asm es 0084G214

entonces deberia ser asi: callasm 0x0084G215... sumandole un numero adelante. si no lo haces asi, no funcionara.

saludos y pese a mi "testamento" espero sea sencillo de entender.
#2
milenco 29349
Muchas gracias la verdad es fácil de entender y con tu alluda pude seguir y terminar de agregar nuevos métodos de evolución después de un rato de analizar y probar y analizar y probar...............etc......... XD (la verdad sude la gota gorda pensando :s) es fácil compilar una rutina. Así que muchas gracias. Estas rutinas no se llaman a través de un script, el offset donde se guarda se convierte en pointer y se agrega a la tabla expandida de métodos de evoluciones. Saludos gracias de nuevo y se puede cerrar el tema
#3
G0LD_ZTHVARD0X! 27515
Ten cuidado con las rutinas, hay algunas THUMB a las cuales para llamarlas no es necesario sumarle +1 a su offset, en el caso del tuto de kearnseyboy6 no se llama la rutina por script como [MENTION=29233]Yito[/MENTION] dice, la mayoría no se llama por un callasm, sino por un puntero de otra rutina.

En fin, cierro.