Thread: [Tutorial] HackMew's Knowledge
View Single Post
Old February 3rd, 2013 (6:46 AM).
FBI's Avatar
FBI FBI is offline
Free supporter
  • Silver Tier
Join Date: Jan 2013
Location: Unknown Island
Gender: Male
Posts: 1,814
Originally Posted by Chaos Rush View Post
I decided to take a crack at HackMew's ASM challenge, and I succeeded!

This is what I modified the routine to:
.align 2
.global lesson1

	push {r0-r1, lr}
	ldr r0, .PLAYER_DATA
	ldr r0, [r0]
	ldr r1, .VAR
	ldrh r0, [r0, #0xC]
	strh r0, [r1]	
	ldr r0, .PLAYER_DATA
	ldr r0, [r0]
	ldr r1, .NEXT
	ldrh r0, [r0, #0xA]
	strh r0, [r1]
	pop {r0-r1, pc}

.align 2
	.word 0x0300500C
	.word 0x020270B6 + (0x800D * 2)
	.word 0x020270B8 + (0x8000 * 2)
And the XSE script:
#dynamic 0x800000
#org @main
callasm YourASMoffset
buffernumber 0x0 LASTRESULT
buffernumber 0x1 0x8000
msgbox @msg MSG_FACE

#org @msg
= Your Trainer ID is [buffer2].\nYour Secret ID is [buffer1].

Going to do my best to get ASM down...
Spoiler tags, pls!
Also, you don't need to load player data twice.
It should till work without doing this the second time:
ldr r0, .PLAYER_DATA
ldr r0, [r0]

EDIT: I lied, the way you did it, you did need to load it twice (or subtract :D).
Reply With Quote