Registrarse

[Otros] Guía para expandir la ROM

Gold

Porrero a tiempo parcial
Miembro insignia
Bueno, esto no es algo verdaderamente necesario, pero por ahi me lo preguntaron, asi que lo posteo.

Expandir el ROM Sin Dañar Nada

¿Que necesitaremos?

* Un ROM de Gold o Silver que Pese 2 MB
* Editor hexadecimal (HxD o Hex WorkShop, Gold finger no servira para esto)

Empezemos:

Paso 1
Abriremos nuestro ROM con cualquiera de los editores hexadecimales que previamente mencione, ahora lo que haremos es irnos hasta el final de nuestro rom, asi que nos iremos a la offset 0x1FFFFF, y nos situaremos una casilla despues del final del ROM, donde en letras grises dira 0x200000, como en la imagen de abajo.

Paso 2

Ahora en el editor hexadecimalnos iremos a ROM>Insert , se nos desplegara una ventana preguntandonos cuantos bytes queremos expandir, ahi le pondremos la cantidad de bytes.

Pero recuerda que toda cantidad que expandas debe ser igual o multiplo de un banco, osea 0x4000 bytes la maxima cantidad a expandir es 2MB (que serian 128 bancos mas) con lo cual tendriamos ahora 256 Bancos (FF en hex), ya que el ROM es incapaz de leer mas de 256 bancos.

Al final tendremos espacio hasta la offset 0x3FFFFF.

Paso 3

Ahora hemos expandido el ROM a 4MB, mas el espacio adicional no podra ser leido aun, asi que debemos de modificar el cabezal del ROM a modo que le indiquemos que hay un total de 256 bancos disponibles y no 128, asi que en el editor hexadecimal nos iremos al cabezal del ROM, especificamente a 0x128 (unas offsets antes esta el identificador del ROM, en mi caso es AAXE, osea Pokemon Silver (U)) en esa offset veremos que esta el byte "06", que indica la cantidad de bancos a leer, aqui una muestra de algunos tamaños.
Código:
 0x148 ROM size:
$0 - 256Kbit = 32KByte = 2
bancos
$1 - 512Kbit = 64KByte = 4
bancos
$2 - 1Mbit = 128KByte = 8 bancos
$3 - 2Mbit = 256KByte = 16
bancos
$4 - 4Mbit = 512KByte = 32
bancos
$5 - 8Mbit = 1MByte = 64 bancos
$6 - 16Mbit = 2MByte = 128
bancos
$7 - 32Mbit = 4MByte = 256
bancos
$52 - 9Mbit = 1.1MByte = 72
bancos
$53 - 10Mbit = 1.2MByte = 80
bancos
$54 - 12Mbit = 1.5MByte = 96
bancos
Asi que pondremos $7, ya que expandimos a 256 bancos, guardamos y listo! ya podemos usas los nuevos bancos y poner lo que se nos pegue la gana ahi.

Con este proceso te aseguras de No joder el reloj interno del ROM.

Nota: El ROM pesa 2MB, pero de informacion solo usa alrededor de 821KB, por lo que tenemos mas de la mitad de espacio, por lo tanto expandir el ROM es inneceserio, a menos que pongas scripts larguisimos, metas MIDIS de 1 hora de duracion, mapas gigantescos, o simplemente expandas los pokemon a 1000, por lo tanto NO ES INDISPENSABLE expandir el ROM

Es todo, Saludos!!!

 

Chamber

Miembro insignia
Miembro insignia
Respuesta: [GBC] Guia para Expandir el ROM

Un dato interesante...

No hay mucho que comentar, pero se agradece que aclararas que es inecesario.

Con que esta es tu investigacion que no te deja poner tutoriales buenos?? jaja

Saludos!
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: [GBC] Guia para Expandir el ROM

Algo que agregar es que al parecer los scripts ubicados en el banco 0x80 en adelante parece que no funcionan, para ello solo nos iremos a las siguientes direcciones y escribimos los siguientes bytes

25:7A04 (0x9447A)- 0x00 0x00
25:7368 (0x96873)- 0x00 0x00

Me da paja convertirlos a offset, asi que haganlo ustedes, ya con eso los scripts en los bancos adicionales funcionaran de maravilla.
 

Master Brock

Miembro insignia
Miembro insignia
Usuario de Platino
Respuesta: [GBC] Guia para Expandir el ROM

Muy buen tutorial, a los user de GBC les evndra muuuy bien...
siempre es bueno expandir una ROM para tener seguridad de espacio..

Muy bien colega, sigue asi :)
 
Respuesta: GBC | Otros | Guía para expandir la ROM

Hola soy Nuevo aqui, buenos dias/tarde/noche me quede atorado en el paso 3 (uso hex workshop) no se si sea igual al programa que usas al grano.
no entendi lo de cabezilla del rom y el $7 esa es mi unica duda si puedes responderla lo mas rapido posible por favor
 
Arriba