tuts_gba
Thread Id: 14875
Thread Name: GBA | Otros | Como expandir la ROM para tener más sitio para meter datos
#0
Nidrax 13692
¿Qué es la ROM expandida y para que carajo se la necesita?

Una ROM expandida es simplemente una ROM que se ha expandido para tener más sitio.
La verdad es que en las ROMs originales hay bastante sitio libre para meter gráficos, mapeados, etc. y ¡no deberías expandirla sin que sea realmente necesario!
Bueno, pero hay veces que necesitamos muchísimo más sitio de lo que nos permite la ROM (por ejemplo si a alguien se le ocurra meter en el juego todos los 649 Pokémons de las primeras cinco generaciones), entonces tenemos que recurrir a un truco muy simple que nos permitirá a meter más datos en la ROM.









¡ATENCIÓN!


Tengo que advertirte que este método tiene sus ventajas, pero también hay inconvenientes que voy a mencionar después en el artículo y de los cuales debes de ser consciente.









Informaciones sobre el tutorial


Dificultad: fácil
Tiempo necesario: unos 5 minutos
Qué cosas vas a necesitar: la ROM y un editador hexadecimal que tiene la opción de expandir el archivo









Procedimiento


Bueno, primero necesitamos nuesta ROM. Puede ser de tipo qualquiera, ya sea GB, GBC o GBA. Para este ejemplo he cogido la ROM de Pokémon Oro en japonés.


Y abrimos nuestro Editador hexadecimal (yo les recomiendo el HxD que pueden descargar aquí). Utilizando el método arrastrar y soltar, albrimos nuestra ROM en el editador y nos vamos al final del archivo (perdonen que está en polaco en el pantallazo, pero no pude cambiarle el idioma en el programa):


Ahora le damos a Edición > Insertar bytes.
Tenemos que calcular la cantidad de bytes necesaria. Primero decidimos cuanta memoria vamos a necesitar. Yo les recomiendo que mantenguen el tamaño del archivo en MB como la potencia de base 2 (es decir 1, 2, 4, 8, 16, 32...). Mi ROM tiene 1MB, pero necesito muuuuuucho más, así que la voy a expandir hasta cuatro. Es decir, necesito insertar 3MB. Y ahora, ¿cómo paso los megabytes a los bytes?
Pues utilazamos la calculadora.
Samebos, que 1kB = 1024B y 1MB = 1024 kB. Así que para calcular los bytes necesarios vamos a utilizar esta fórmula:
x * 1024 * 1024, dónde la x será la cantidad de MB necesarios.

(Recuerden cambiar el modo numérico a decimal en la ventana de insertar bytes)


Le damos a ok, guardamos nuestro archivo y ¡listo!










Ventajas e inconvenientes


Ventajas:
– La única ventaja es la mayor cantidad de sitio para meter datos en la ROM.

Inconvenientes
– Los parches creados a partir de nuestra ROM no se pueden aplicar a las Bases normales (no expandidas), así que tenemos que facilitar el juego tal cual como la ROM, o tenemos que instruir el jugador como debe expandir la ROM suya para poder aplicar nuestro parche.
– No garantizo que las ROMs expandidas pueden ser jugables en las videoconsolas.
#1
Casi~ 21530
Gracias por el aporte Nidrax
muy bien explicado,curioso y con cintas CSS y también pones el editor Hex
útil,aunque,por el problema de los parche no lo vaya a usar,pero,aun así,muy buen tuto,
a parte de que es aplicable tanto a ROM's de GB,GBC y GBA
+gracias para ti :)
#2
Mikelan4315♪ 17505
Servirá a mucha gente, y, aunque ya se pueden descargar las ROMs expandidas, si por alguna razón necesitas ampliar tu proyecto una vez empezado puedes hacerlo así sin tener que repetirlo. Muy buen aporte y +Gracias (digo +Gracias porque "like" suena regular ¿no? XD)
#3
Nidrax 13692
Iniciado por Casix
aunque,por el problema de los parche no lo vaya a usar

Es como he dicho: no se deberia usar si no es realmente necesario.
#4
Milotix 12267
Muy buen tuto, sencillo y eficaz, bonita combinación.

Solo tengo una duda, tengo entendido que el emulador GBA solo soporta hasta cierta cantidad de MB, ¿Tienes idea cuanto es?
#5
Gershel 12314
¡Muy buen tuto, Nidrax!
Me gusta ver tutos con una presentación tan buena como la tuya, la verdad que se hace más fácil de leer y más didáctico. Está todo muy bien explicado, se entiende a la perfección incluso para gente que está empezando en esto.
Hay otra forma muy fácil también que es con XSE, que lleva una opción que lo permite, pero de esta forma es igual de fácil.
Espero ver más tutoriales así!
Saludos!
#6
Nidrax 13692
Iniciado por Miloticx100pre
Muy buen tuto, sencillo y eficaz, bonita combinación.

Solo tengo una duda, tengo entendido que el emulador GBA solo soporta hasta cierta cantidad de MB, ¿Tienes idea cuanto es?


He expandido mi Esmeralda hasta 512MB, VBA-M y VBA 2.11a parece soportándolo sin problema. No podía comprobarlo con 1GB, porque HxD no tenía suficiente memoria para expandir tanto el archivo. :D

@edit
No$GBA se ha crasheado. Voy a comprobarlo con otro tamaño del archivo

@edit2
No$GBA soporta hasta 128MB (así que expandir un juego nds ni de coña).
#7
ZeKro 18355
Buen tutorial, la verdad. Es útil por si no tienes espacio suficiente, pero sería un problema a la hora de sacar beta, por que solo se puede sacar en parche, y todo eso...

De todas formas, gran tutorial, bien explicado y fácil de hacer.
#8
Mrat 25183
Genial! A expandir carajo!
#9
Tito Sayer301 26309
Muy buen tutorial la verdad, estoy empezando en esto del hackin y lo entendi a la perfección. Muchas gracias
#10
Natsu Dragneel 23919
El AM me dice que no se puede editar el rom expandido... POR???
#11
Slendernotes211 28900
hola, che mira tengo problemas expandiendo, me podrias pasar una version del emerald a 128 MB? :$
#12
G0LD_ZTHVARD0X! 27515
Iniciado por Slendernotes211
hola, che mira tengo problemas expandiendo, me podrias pasar una version del emerald a 128 MB? :$


Pero ¿Para que necesitas 128 MB? solo con expandirla a 32MB basta, con 128 tendras problemas de emulacion, ademas ¿porque pides que te lo pasen si tienes el tutorial de como hacerlo frente a ti?
#13
Slendernotes211 28900
tengo errores a la hora de hacerlo :P
#14
VampireQueen 28216
Iniciado por CryStal Kck

Primero perdon por el necrospost, He releído el tutorial pero el autor no especifica el límite real del juego, pues según gbatek GBATEK - GBA/NDS Technical Info tenemos que

Pin Name Dir Expl.
1 VDD O Power Supply 3.3V DC
2 PHI O System Clock (selectable none, 4.19MHz, 8.38MHz,
16.78MHz)
3 /WR O Write Select ;\latched address to be incremented on
4 /RD O Read Select ;/rising edges of /RD or /WR signals
5 /CS O ROM Chip Select ;-A0..A15 to be latched on falling edge
6-21 AD0-15 I/O lower 16bit Address and/or 16bit ROM-data (see
below)
22-29 A16-23 I/O upper 8bit ROM-Address or 8bit SRAM-data
(see below)
30 /CS2 O SRAM Chip Select
31 /REQ I Interrupt request (/IREQ) or DMA request (/DREQ)
32 GND O Ground 0V
Asi que debido a la cantidad de lineas de direcciones que posee la GBA no es posible usar mas de 32MB, y si no entendiste

24 bit address x 16 bit data bus = 32MB

Asi que por eso no podemos expandir cuantoqueramos la ROM, si alguien puede especificarlo en el post principal para que la gente no se confunda a la hora de expandir que lo ponga.
.