L!no
GBA Developer
nunca quisieron tener un hack epicamente jarcor con misiones que no permitan el guardado pero si lo hacian no podrian guardar sus partidas?
hoy les voy a enseñar como alternar entre 2 menus con y sin opcion de guardar.
la rutina es de FBI,creditos a el.
---------------------
que necesitamos?
---------------------
HxD*
thumb
XSE
Fire red*
un cerebro*
(las marcadas con * son obligatorias)
-----------------------
cual es el tutorial?
-----------------------
este!
okey,primero ensamblamos esta rutina con thumb:
como los amo a todos,les dejo la rutina ya compilada
para los que van a insertar la rutina ya compilada,el espacio necesario es de 78 bytes
es MUY importante anotar donde la insertaste
sigamos
vayan al offset 0x6ED5C y pegen escribiendo ctrl+B esto:
00 48 00 47 XX XX XX 08
donde XX XX XX es el pointer de nuestra rutina +1
ahora vamos al offset 6EE42 con ctrl+G y cambiamos el 08 por un 00
--------------------------------
pero... ¿que c*ñ* eh echo?
--------------------------------
pues has hecho que al usar setflag 0x250 el menu cambie al modo jarcor (sin guardado) y,obviamente,al usar clearflag 0x250 el modo jarcor desaparesca.
-------------------------------
quiero que lo demuestres!
-------------------------------
okey,dicho esto,he preparado este pequeño script:
y este otro:
ahora los voy a probar:
tataan!
hoy les voy a enseñar como alternar entre 2 menus con y sin opcion de guardar.
la rutina es de FBI,creditos a el.
---------------------
que necesitamos?
---------------------
HxD*
thumb
XSE
Fire red*
un cerebro*
(las marcadas con * son obligatorias)
-----------------------
cual es el tutorial?
-----------------------
este!
okey,primero ensamblamos esta rutina con thumb:
.text
.align 2
.thumb
.thumb_func
main:
mov r0, #0x94 @flag 0x250 divided by 4 (change if you want)
lsl r0, #0x2
ldr r1, =(0x806E6D0 +1)
bl linker
cmp r0, #0x0
bne showMine
end:
mov r0, #0x1
ldr r1, =(0x806ED70 +1)
bx r1
showMine:
mov r0, #0x82
lsl r0, r0, #0x4
add r0, r0, #0x9
ldr r1, =(0x806E6D0 +1)
bl linker
cmp r0, #0x0
beq noDex
mov r0, #0x0
ldr r1, =(0x806ED94 +1)
bl linker
noDex:
mov r0, #0x82
lsl r0, r0, #0x4
add r0, r0, #0x8
ldr r1, =(0x806E6D0 +1)
bl linker
cmp r0, #0x0
beq noMon
mov r0, #0x1
ldr r1, =(0x806ED94 +1)
bl linker
noMon:
mov r0, #0x2
ldr r1, =(0x806ED94 +1)
bl linker
mov r0, #0x3
ldr r1, =(0x806ED94 +1)
bl linker
mov r0, #0x5
ldr r1, =(0x806ED94 +1)
bl linker
mov r0, #0x6
ldr r1, =(0x806ED94 +1)
bl linker
pop {r0}
bx r0
linker2:
bx r0
linker:
bx r1
.align 2
.align 2
.thumb
.thumb_func
main:
mov r0, #0x94 @flag 0x250 divided by 4 (change if you want)
lsl r0, #0x2
ldr r1, =(0x806E6D0 +1)
bl linker
cmp r0, #0x0
bne showMine
end:
mov r0, #0x1
ldr r1, =(0x806ED70 +1)
bx r1
showMine:
mov r0, #0x82
lsl r0, r0, #0x4
add r0, r0, #0x9
ldr r1, =(0x806E6D0 +1)
bl linker
cmp r0, #0x0
beq noDex
mov r0, #0x0
ldr r1, =(0x806ED94 +1)
bl linker
noDex:
mov r0, #0x82
lsl r0, r0, #0x4
add r0, r0, #0x8
ldr r1, =(0x806E6D0 +1)
bl linker
cmp r0, #0x0
beq noMon
mov r0, #0x1
ldr r1, =(0x806ED94 +1)
bl linker
noMon:
mov r0, #0x2
ldr r1, =(0x806ED94 +1)
bl linker
mov r0, #0x3
ldr r1, =(0x806ED94 +1)
bl linker
mov r0, #0x5
ldr r1, =(0x806ED94 +1)
bl linker
mov r0, #0x6
ldr r1, =(0x806ED94 +1)
bl linker
pop {r0}
bx r0
linker2:
bx r0
linker:
bx r1
.align 2
como los amo a todos,les dejo la rutina ya compilada
94 20 80 00 19 49 00 F0 30 F8 00 28 02 D1 01 20 17 49 08 47 82 20 00 01 09 30 14 49 00 F0 25 F8 00 28 03 D0 00 20 13 49 00 F0 1F F8 82 20 00 01 08 30 0E 49 00 F0 19 F8 00 28 03 D0 01 20 0D 49 00 F0 13 F8 02 20 0B 49 00 F0 0F F8 03 20 09 49 00 F0 0B F8 05 20 07 49 00 F0 07 F8 06 20 05 49 00 F0 03 F8 01 BC 00 47 00 47 08 47 D1 E6 06 08 71 ED 06 08 95 ED 06 08
para los que van a insertar la rutina ya compilada,el espacio necesario es de 78 bytes
es MUY importante anotar donde la insertaste
sigamos
vayan al offset 0x6ED5C y pegen escribiendo ctrl+B esto:
00 48 00 47 XX XX XX 08
donde XX XX XX es el pointer de nuestra rutina +1
como hacer el pointer
ahora vamos al offset 6EE42 con ctrl+G y cambiamos el 08 por un 00
--------------------------------
pero... ¿que c*ñ* eh echo?
--------------------------------
pues has hecho que al usar setflag 0x250 el menu cambie al modo jarcor (sin guardado) y,obviamente,al usar clearflag 0x250 el modo jarcor desaparesca.
-------------------------------
quiero que lo demuestres!
-------------------------------
okey,dicho esto,he preparado este pequeño script:
Código:
#dynamic 0x800000
#org @inicio
lock
faceplayer
msgbox @msg 0x5
compare LASTRESULT 0x1
if 0x1 goto @si
release
end
#org @si
setflag 0x250
release
end
#org @msg
= quieres probar el modo jarcor?
Código:
#dynamic 0x800000
#org @inicio
lock
faceplayer
msgbox @msg 0x5
compare LASTRESULT 0x1
if 0x1 goto @si
release
end
#org @si
clearflag 0x250
release
end
#org @msg
= te cansaste del modo jarcor?
tataan!