Code:
@Convert to thumb
add r2,pc,#1
bx r2
.thumb
@Only works in own town
ldr r0,OnlineChar
ldrb r0,[r0]
cmp r0,#0
bne Exit
ldr r4,MapSlot
ldr r5,FreeMemory
mov r3,#0x20
lsl r3,#8
sub r3,#4
@Check what to do
mov r1,#0
ldr r0,Button
ldrh r0,[r0]
mov r2,#0x34
lsl r2,#4
@Up
tst r0,r2
bne Down
Copy1:
ldr r1,[r4,r3]
str r1,[r5,r3]
sub r3,#4
bpl Copy1
mov r1,#2
@Down
Down:
add r2,#0x40
tst r0,r2
bne Right
Copy2:
ldr r1,[r5,r3]
str r1,[r4,r3]
sub r3,#4
bpl Copy2
mov r1,#1
@Right
Right:
sub r2,#0x70
tst r0,r2
bne Left
mov r1,#2
@Left
Left:
add r2,#0x10
tst r0,r2
bne Finish
mov r1,#3
Finish:
sub r5,#5
sub r1,#1
bpl StoreByte
ldrb r1,[r5]
cmp r1,#1
bne StoreByte
@Insert map search routine here
@@@@@@@@@@@
StoreByte:
strb r1,[r5]
Exit:
bx lr
.arm
Button:
.long 0x4000130
MapSlot:
.long 0x21E3124
FreeMemory:
.long 0x22BF124
OnlineChar:
.long 0x21CBD48