old-MTGos-old/user/3ds/syscall.S
2016-07-24 12:21:12 +02:00

45 lines
876 B
ArmAsm

.global screenout_init
// void * screenout_init(int err);
screenout_init:
stmdb sp!, {r0} //r0 is err
mov r0, #0
svc #0 //Only one svc
sub sp, #4
bx lr
.global screenout_out
// void * screenout_out(void* handle, char *str);
screenout_out:
stmdb sp!, {r1} // R1 is str
mov r1, r0 //R0 is handle
mov r0, #1
svc #0
add sp, #4
bx lr
.global screenout_clear
// void * screenout_clear(void* handle);
screenout_clear:
mov r1, r0
mov r0, #2
svc #0
bx lr
.global screenout_setcolor
// void * screenout_setcolor(void* handle, uint32_t BG, uint32_t FG)
screenout_setcolor:
stmdb sp!, {r1, r2}
mov r1, r0
mov r0, #3
svc #0
add sp, #8
bx lr
.global screenout_destroy
// void * screenout_destroy(void * handle)
screenout_destroy:
mov r1, r0
mov r0, #0x10000
sub r0, #1
svc #0
bx lr