- Joined
- Dec 24, 2007
- Messages
- 103
- Trophies
- 0
- Age
- 30
- Location
- let me find a sign...
- Website
- www.nitroclan.freeforums.org
- XP
- 242
- Country
Hey, I recently picked up my gba micro with ez flash iv, decided that I wanted to play emerald and was looking to see if anyone had patched it yet.
I came across this from a dude called Gamer2020:
Hi everyone. Today I bring you a clock fix for Emerald (BPEE). You may remember that there was an rtc patch made for R/S that allowed the clock to be based on playtime. A patch like this was never made for Emerald. I took the one for Ruby, disassembled it, and made it work for Emerald. Keep in mind that while this does work it has not been fully tested.
Memory address 0x0200F024 may not be safe. It is the same one used in the Ruby routine. This can be changed without affecting functionality.
Just assemble the code below and follow the included instructions.
I've been trying to figure out how to use this, but with a lack of hacking knowledge I have absolutely no idea.
Does anyone have a clue how to utilize this?
Cheers.
(Sources) : http://www.pokemonhackersonline.com/showthread.php?t=14004-Emerald-Clock-Fix
http://www.pokecommunity.com/showthread.php?t=297913
I came across this from a dude called Gamer2020:
Hi everyone. Today I bring you a clock fix for Emerald (BPEE). You may remember that there was an rtc patch made for R/S that allowed the clock to be based on playtime. A patch like this was never made for Emerald. I took the one for Ruby, disassembled it, and made it work for Emerald. Keep in mind that while this does work it has not been fully tested.
Memory address 0x0200F024 may not be safe. It is the same one used in the Ruby routine. This can be changed without affecting functionality.
Just assemble the code below and follow the included instructions.
Code:
.text
.align 2
.thumb
.thumb_func
.global emeraldclockfix
/*At 80005e6 write 01B400480047xxxxxxxx01BC with xxxxxxxx being the offset for this routine.
To disable the error code text write C046C046 at 0802FB06
Offset 0200F024 may not be safe in emerald but this can be changed to anything desired.
This code seems to work but is not fully tested. Use at your own risk.*/
main:
push {r0-r7}
ldr r0,.PLAYER_DATA
ldr r0, [r0]
add r0,r0, #0x11
str r0,[sp]
ldr r4,.PLAYER_DATA
ldr r4, [r4]
add r4,r4, #0x9A
add r3,r4,#0x1
ldr r7,.SUM_BUFF
ldrb r5,[r7]
ldrb r0,[r0]
add r2,r7,#0x1
cmp r5,r0
beq Game_Code_and_Return
strb r0,[r7]
ldrb r0,[r2]
add r6,r0,#0x1
lsl r0,r6,#0x18
lsr r0,r0,#0x18
strb r0,[r2]
cmp r0,#0x3B
ble Game_Code_and_Return
mov r6,#0x0
strb r6,[r2]
ldrb r6,[r3]
sub r6,#0x1
lsl r1,r6,#0x18
lsr r1,r1,#0x18
cmp r1,#0xFF
bne SOMETHING3
mov r6,#0x3B
strb r6,[r3]
ldrb r6,[r4]
sub r6,#0x1
and r1,r6
cmp r1,#0xFF
bne SOMETHING2
mov r1,#0x17
bl SOMETHING4
SOMETHING2:
strb r1,[r4]
b Game_Code_and_Return
SOMETHING3:
strb r1,[r3]
Game_Code_and_Return:
pop {r0-r7}
ldr r0,.SUM_GAME_OFF
ldrh r1,[r0]
ldr r2,.SUM_VAL
mov r0,r2
mov r3,r0
eor r3,r1
ldr r0,.RETURN_OFFSET
bx r0
SOMETHING4:
push {r0-r2}
ldr r0,.PLAYER_DATA
ldr r0, [r0]
add r0,r0, #0x98
ldrh r1,[r0]
sub r1,#0x1
ldr r2,=.SUM_VAL2
cmp r1,r2
blt SOMETHING1
ldr r1,.SUM_VAL3
SOMETHING1:
strh r1,[r0]
pop {r0-r2}
mov r15,r14
.align 2
.PLAYER_DATA:
.word 0x03005D90
.SUM_BUFF:
.word 0x0200F024
.SUM_GAME_OFF:
.word 0x04000130
.RETURN_OFFSET:
.word 0x080005F1
.SUM_VAL2:
.hword 0x8000
.hword 0x0000
.SUM_VAL3:
.hword 0xFFFF
.hword 0x0000
.SUM_VAL:
.hword 0x3FF
I've been trying to figure out how to use this, but with a lack of hacking knowledge I have absolutely no idea.
Does anyone have a clue how to utilize this?
Cheers.
(Sources) : http://www.pokemonhackersonline.com/showthread.php?t=14004-Emerald-Clock-Fix
http://www.pokecommunity.com/showthread.php?t=297913