.align 2
.thumb
MAIN:
push {r0-r4,lr}
add sp, -#0x8
ldr r0, VAL
str r0, [sp, #0x4]
ldr r1, MEMLOC
mov r0, #0x3
mov r2, #0x0
mov r3, #0xFF
bl JUMP
add sp, #0x8
pop {r0-r4, pc}
JUMP:
ldr r4, ROUTINE
bx r4
.align 2
VAL: .word 0x080861CD
MEMLOC: .word 0x020375D8
ROUTINE: .word 0x080E2D79
The items in red are the parameters the function takes in Glazed. r0 has the type of keyboard to display, such as PC BOX or the like, and r1 has the memory address the input will be placed. I currently have it set to place the letters in variables 0x8000 to 0x8004. I have no idea what r2 and r3 are for, but they appear to be necessary.