Ahh, that's because I didn't realize that he also left out another part:
push {r0-r4,lr}
mov r0, #0x8
mov r1, #0x0
ldr r4, address
bl bx_r4
pop {r0-r4,pc}
bx_r4: bx r4
.align 2
address: .word 0x0807F690 + 1
And now I see that sonic1 fixed his routine (and included that part too). Ah well. :P
Also, the problem with your script is that you have to add one to the offset that you inserted the routine to make it load correctly.
push {r0-r4,lr}
mov r0, #0x8
mov r1, #0x0
ldr r4, address
bl bx_r4
pop {r0-r4,pc}
bx_r4: bx r4
.align 2
address: .word 0x0807F690 + 1
And now I see that sonic1 fixed his routine (and included that part too). Ah well. :P
Also, the problem with your script is that you have to add one to the offset that you inserted the routine to make it load correctly.