lo siento por adelante, mi español no es lo mejor
¡hola a todos! este tema sirve para esos que quieren expandir la bolsa en sus hacks de Pokémon Fire Red (US) de versión 1,0.
hay dos rutinas, una que azurile13 de pokecommunity hizo y la otra que yo hice. mientras no necesito creditos, dale creditos a azurile13 por hacer su parte de esto si la usas, por favor...
primer, tienen que insertar esta rutina con cambios a 0x1083F4:
ahora, la parte que actualmente expande la bolsa
cambia el numero de objetos que quieres en cada sección y entonces insértalo a 0x099E44
no tengo una versión compilada de esa rutina porque cambia de persona a persona~
PD: se me olvidó de decir eso:
a la dirección 0x13B8C2:
1D E0
tienes que desactivar el menú de ayuda que se muestra cuando presionas los botones l or r
PD2: hablemos de limites
si usas más que 0x1000 (4096) objetos en los bolsillos de los objetos generales, importantes, y de los poké balls (cuando las cantidades son combinadas), tu rom rompería
pero el límite de cada bolsillo es 255 objetos porque la byte en ram que guarda la posición del cursor que nos muestra cual objeto seleccionamos
y los bolsillos de las bayas y de los mts usan la ram vieja con esta implementación
así si tienes más mts y bayas de TODOS los objetos que el juego te permitía tener, entonces sí, no puedes hacer eso
tl;dr en limites: 255 para los bolsillos de objetos generales, importantes, y poké balls
la cantidad de bayas y mts (combinada) no puede ser más de la cantidad que el juego te permitía tener
algo alrededor de 167
antes de terminar, es importante saber que todos los savefiles (?) de hacks comenzados no funcionarían despues de hacer eso.
si tienen preguntas o necesitas aclaraciones, dime and responderé prontamente~
¡que tengan buena suerte!
¡hola a todos! este tema sirve para esos que quieren expandir la bolsa en sus hacks de Pokémon Fire Red (US) de versión 1,0.
hay dos rutinas, una que azurile13 de pokecommunity hizo y la otra que yo hice. mientras no necesito creditos, dale creditos a azurile13 por hacer su parte de esto si la usas, por favor...
primer, tienen que insertar esta rutina con cambios a 0x1083F4:
cambia "largest_pocket_size" a tu cantidad mas grande de todos los "pockets" (BALLS, OBJETOS GENERALES, MTS, etc.)
recuerda que es hex
.equ largest_pocket_size, 0xDB
.equ largest_pocket_size_plus_one, largest_pocket_size + 1
.equ strings_size, largest_pocket_size_plus_one * 19
.org 0x08002B9C
malloc:
push {lr}
mov r1, r0
.org 0x081083F4
main:
push {r4, lr}
ldr r4, =(0x0203AD18)
mov r0, #largest_pocket_size_plus_one
lsl r0, r0, #0x3
bl malloc
str r0, [r4, #0x0]
cmp r0, #0x0
beq return
ldr r0, =strings_size
bl malloc
str r0, [r4, #0x4]
cmp r0, #0x0
beq return
mov r0, #0x1
return:
pop {r4}
pop {r1}
bx r1
esta rutina hace el juego poder reservar la cantidad de espacio en ram para todos los objetos~
recuerda que es hex
.equ largest_pocket_size, 0xDB
.equ largest_pocket_size_plus_one, largest_pocket_size + 1
.equ strings_size, largest_pocket_size_plus_one * 19
.org 0x08002B9C
malloc:
push {lr}
mov r1, r0
.org 0x081083F4
main:
push {r4, lr}
ldr r4, =(0x0203AD18)
mov r0, #largest_pocket_size_plus_one
lsl r0, r0, #0x3
bl malloc
str r0, [r4, #0x0]
cmp r0, #0x0
beq return
ldr r0, =strings_size
bl malloc
str r0, [r4, #0x4]
cmp r0, #0x0
beq return
mov r0, #0x1
return:
pop {r4}
pop {r1}
bx r1
esta rutina hace el juego poder reservar la cantidad de espacio en ram para todos los objetos~
ahora, la parte que actualmente expande la bolsa
cambia el numero de objetos que quieres en cada sección y entonces insértalo a 0x099E44
.text
.align 2
.thumb
.equ .OBJETOS_GENERALES, 100
.equ .OBJETOS_IMPORTANTES, 100
.equ .POKE_BALLS, 30
.equ .MTS, 120
.equ .BAYAS, 80
main:
ldr r1, bolsa_informacion
ldr r3, bolsa_nueva_direccion
@ objetos generales
str r3, [r1]
mov r0, #.OBJETOS_GENERALES
strb r0, [r1,#4]
@ objetos importantes
lsl r0, r0, #2
add r3, r0
str r3, [r1,#8]
mov r0, #.OBJETOS_IMPORTANTES
strb r0, [r1,#0xC]
@ poke balls
lsl r0, r0, #2
add r3, r0
str r3, [r1,#0x10]
mov r0, #.POKE_BALLS
strb r0, [r1,#0x14]
@ MTS
ldr r0, saveblock_8
ldr r2, [r0]
mov r3, #0xC4
lsl r3, r3, #2
add r2, r2, r3
str r2, [r1,#0x18]
mov r0, #.MTS
strb r0, [r1,#0x1C]
@ bayas
lsl r0, r0, #2
add r2, r0
str r2, [r1,#0x20]
add r1, r1, #0x24
mov r0, #.BAYAS
strb r0, [r1]
bx lr
.align 2
bolsa_informacion:
.word 0x0203988C
bolsa_nueva_direccion:
.word 0x0203B174
saveblock_8:
.word 0x03005008
.align 2
.thumb
.equ .OBJETOS_GENERALES, 100
.equ .OBJETOS_IMPORTANTES, 100
.equ .POKE_BALLS, 30
.equ .MTS, 120
.equ .BAYAS, 80
main:
ldr r1, bolsa_informacion
ldr r3, bolsa_nueva_direccion
@ objetos generales
str r3, [r1]
mov r0, #.OBJETOS_GENERALES
strb r0, [r1,#4]
@ objetos importantes
lsl r0, r0, #2
add r3, r0
str r3, [r1,#8]
mov r0, #.OBJETOS_IMPORTANTES
strb r0, [r1,#0xC]
@ poke balls
lsl r0, r0, #2
add r3, r0
str r3, [r1,#0x10]
mov r0, #.POKE_BALLS
strb r0, [r1,#0x14]
@ MTS
ldr r0, saveblock_8
ldr r2, [r0]
mov r3, #0xC4
lsl r3, r3, #2
add r2, r2, r3
str r2, [r1,#0x18]
mov r0, #.MTS
strb r0, [r1,#0x1C]
@ bayas
lsl r0, r0, #2
add r2, r0
str r2, [r1,#0x20]
add r1, r1, #0x24
mov r0, #.BAYAS
strb r0, [r1]
bx lr
.align 2
bolsa_informacion:
.word 0x0203988C
bolsa_nueva_direccion:
.word 0x0203B174
saveblock_8:
.word 0x03005008
PD: se me olvidó de decir eso:
a la dirección 0x13B8C2:
1D E0
tienes que desactivar el menú de ayuda que se muestra cuando presionas los botones l or r
PD2: hablemos de limites
si usas más que 0x1000 (4096) objetos en los bolsillos de los objetos generales, importantes, y de los poké balls (cuando las cantidades son combinadas), tu rom rompería
pero el límite de cada bolsillo es 255 objetos porque la byte en ram que guarda la posición del cursor que nos muestra cual objeto seleccionamos
y los bolsillos de las bayas y de los mts usan la ram vieja con esta implementación
así si tienes más mts y bayas de TODOS los objetos que el juego te permitía tener, entonces sí, no puedes hacer eso
tl;dr en limites: 255 para los bolsillos de objetos generales, importantes, y poké balls
la cantidad de bayas y mts (combinada) no puede ser más de la cantidad que el juego te permitía tener
algo alrededor de 167
antes de terminar, es importante saber que todos los savefiles (?) de hacks comenzados no funcionarían despues de hacer eso.
si tienen preguntas o necesitas aclaraciones, dime and responderé prontamente~
¡que tengan buena suerte!
Última edición: