Synopsis #
Header: fxcg/display.h (Not yet in
libfxcg)
Syscall index: 0x01F1
Function signature: int Cursor_SetPosition(int x, int y)
Sets the cursor position for Print_OS.
Parameters #
- x Must be in range of [0,20]
- y Must be in range of [0,7]
Returns #
0 on failure, 1 on success.
Comments #
This function like locate_OS does bounds checking. It is better to use this function as opposed to locate_OS to avoid a duplication of bounds checking.
Cursor_SetPosition:
cmp/pz r4
bf Cursor_SetPosition_OutOfBounds
mov #21, r2
cmp/ge r2, r4
bt Cursor_SetPosition_OutOfBounds
cmp/pz r5
bf Cursor_SetPosition_OutOfBounds
mov #8, r2
cmp/ge r2, r5
bf loc_8004E744
Cursor_SetPosition_OutOfBounds:
rts
mov #0, r0
! ---------------------------------------------------------------------------
loc_8004E744:
mov.l #CursorXpos, r1
mov #1, r0
mov.l #CursorYpos, r6
mov.l r4, @r1
rts
mov.l r5, @r6
! End of function Cursor_SetPosition