Registrarse

Clase 3 | U-2: Sistemas Numéricos (II)

Estado
Cerrado para nuevas respuestas.

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia

WAH'S MEORH | UNIDAD 2: SISTEMAS NUMÉRICOS

TEMA 3: PRINCIPIOS DE LA EDICIÓN HEX

Hemos aprendido qué es el sistema hexadecimal y en qué se diferencia del decimal que usamos habitualmente. Pero, ¿qué me dicen si les dijera que podemos romhackear editando números?

Veamos, la información del ROM es un conjunto de números ordenados. ¿No me creen? Ábranla en un editor hexadecimal y lo verán.


Como ya dijimos antes, cualquier cambio que hagamos a una ROM es, técnicamente, un acto de ROM-hacking. Así que con solo teclear un número diferente estamos romhackeando.

Sin embargo, no vamos a hacer eso porque podríamos editar cualquier cosa y terminar cagando la ROM. Es importante que siempre se anoten los cambios que vayan haciendo, especialmente si no están seguros de lo que están tocando, para poder revertirlos luego.

Entonces, ¿por qué funciona la edición hexadecimal como romhacking Simple, estamos cambiando los datos que contiene nuestra memoria ROM. De igual modo podríamos editarlo en binario o decimal e igual modificar los datos.


TEMA 4: EDITAR ROM CON CONOCIMIENTOS ADQUIRIDOS

Vamos a divertirnos un poco, hoy empieza la práctica :wiiiii:
Necesitaremos un editor hexadecimal (yo uso HxD) y una ROM de Fire Red. Por esta vez, no usaremos ni Ruby ni Emerald ni ROMs en español. A partir de la clase siguiente, tendrán permitido usar cualquier base que les guste :D

Abrimos nuestra ROM en el HxD y nos vamos al offset 0x169BB5. Por si no saben cómo hacerlo, apreten Ctrl+G o bien vayan a "Buscar" y luego a "Ir a".
Verificamos que esté marcada la casilla de "Hex" e insertamos nuestro offset donde dice "Posición".


Le damos a "Aceptar" y debería llevarnos justo a esa zona marcada delante del 01. De no tener el cursor allí, debemos darle click al espacio en blanco antes del 0.


Ahora cambiemos ese "01" por un "13". ¿Cómo? Con el cursor delante del 01 simplemente ingresamos "13" con el teclado.
Le damos al botón de guardar, o teclamos Ctrl+S.


Ahora abrimos nuestro ROM en el emulador, empezamos juego nuevo e intentamos salir de Pueblo Paleta. Vendrá nuestro queridísimo Profesor Oak y nos llevará al laboratorio.
Elijamos la primer pokeball de la izquierda... ¡SORPRESA!





TAREA

Me las envían por MP. Deben proveer un link de descarga a una ROM o a un archivo .ips que tenga los cambios pedidos hechos.
  1. ¿Por qué de los tres sistemas explicados usamos el hexadecimal a la hora de romhackear?
  2. Sabiendo que la posición del pokémon en la segunda pokeball es $169D82 y el de la tercera es $169DB8, cambiar a squirtle y charmander por otros pokémon. ¿Cómo sé qué número meter? Busquen el número del pokémon que quieran en la pokédex nacional y conviértanlo a hexadecimal.
  3. Cambiar el mapa en que apareceremos al iniciar el juego, sabiendo que:
    • 0x054A04 tiene el "banco" del mapa.
    • 0x054A06 tiene el "número" de mapa.
    • 0x054A08 tiene la coordenada X de aparición.
    • 0x054A00 tiene la coordenada Y de aparición.
Banco
Número

Coordenadas X/Y respectivamente


 
Última edición:

AmuSakura

Baneado
Respuesta: Clase 3 | U-3: Sistemas Numéricos (II)

Hola!

Muchas gracias por la tercer clase y la primer en ser práctica n.n , un poquito @.@, pero lo estoy releyendo hasta entender bien jeje.

Saludos :D
 

Wolf

Creciendo paso a paso
Respuesta: Clase 3 | U-3: Sistemas Numéricos (II)

Disculpe @Franco Kuchiki pero la dirección que usted a citado (169DAE) en Fire Red no equivale a uno de los iniciales que te da oak, la direccion correcta es 169DB8.

Disculpe las molestias.
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Respuesta: Clase 3 | U-3: Sistemas Numéricos (II)

Disculpe @Franco Kuchiki pero la dirección que usted a citado (169DAE) en Fire Red no equivale a uno de los iniciales que te da oak, la direccion correcta es 169DB8.

Disculpe las molestias.
Es 100% cierto, pido mil disculpas por el error.
En el offset 0x169DAE está el principio del script de la pokeball (para el que entienda algo de scripting, puede verlo).
Lo explicaré en detalle una vez que empecemos con las clases de scripting, así que el que no lo entiende que no se preocupe :p
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Re: Clase 3 | U-3: Sistemas Numéricos (II)

T_T Soy el único que por curiosidad lo ha abierto y se ha comido el spoiler? Por cierto buena clase y curiosa cuanto menos.

Una pregunta, como y a donde subimos nuestra rom?

Y en cuanto a lo de la primera pregunta te mandamos un mensaje por privado?
 
Última edición:

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Respuesta: Re: Clase 3 | U-3: Sistemas Numéricos (II)

T_T Soy el único que por curiosidad lo ha abierto y se ha comido el spoiler? Por cierto buena clase y curiosa cuanto menos.

Una pregunta, como y a donde subimos nuestra rom?

Y en cuanto a lo de la primera pregunta te mandamos un mensaje por privado?
Las suben a Mediafire, Mega, Zippyshare o donde quieran.
Si. Todas las tareas se entregan por mensaje privado o Skype.
 
Respuesta: Clase 3 | U-3: Sistemas Numéricos (II)

Uff, esta clase me ha costado un poco más. Pero aún así creo que lo conseguí entender todo.

Tarea enviada.
 

Volk

Antiguamente SouL o SoulOfBandit
Respuesta: Clase 3 | U-3: Sistemas Numéricos (II)

tarea lista niggi, puse a tu pkmn favorito como segundo inicial 7w7r que se note mi afecto azia thi(? gran clase amyjo!
 
Estado
Cerrado para nuevas respuestas.
Arriba