fox32rom: Move enable_cursor to a separate subroutine
This commit is contained in:
parent
92d4de1016
commit
e5c98ddd69
35
cursor.asm
Normal file
35
cursor.asm
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
; mouse cursor routines
|
||||||
|
|
||||||
|
enable_cursor:
|
||||||
|
push r0
|
||||||
|
push r1
|
||||||
|
push r31
|
||||||
|
|
||||||
|
; write the cursor bitmap to the overlay framebuffer
|
||||||
|
mov r0, CURSOR_FRAMEBUFFER_PTR
|
||||||
|
mov r1, mouse_cursor
|
||||||
|
mov r31, 96 ; 8x12
|
||||||
|
enable_cursor_loop:
|
||||||
|
mov [r0], [r1]
|
||||||
|
add r0, 4
|
||||||
|
add r1, 4
|
||||||
|
loop enable_cursor_loop
|
||||||
|
|
||||||
|
; set properties of overlay 31
|
||||||
|
mov r0, 0x8000011F ; overlay 31: size
|
||||||
|
mov.16 r1, CURSOR_HEIGHT
|
||||||
|
sla r1, 16
|
||||||
|
mov.16 r1, CURSOR_WIDTH
|
||||||
|
out r0, r1
|
||||||
|
mov r0, 0x8000021F ; overlay 31: framebuffer pointer
|
||||||
|
mov r1, CURSOR_FRAMEBUFFER_PTR
|
||||||
|
out r0, r1
|
||||||
|
|
||||||
|
; enable overlay 31 (cursor)
|
||||||
|
mov r0, 0x8000031F
|
||||||
|
out r0, 1
|
||||||
|
|
||||||
|
pop r31
|
||||||
|
pop r1
|
||||||
|
pop r0
|
||||||
|
ret
|
26
main.asm
26
main.asm
|
@ -34,30 +34,7 @@ disable_all_overlays_loop:
|
||||||
inc r0
|
inc r0
|
||||||
out r0, 0
|
out r0, 0
|
||||||
|
|
||||||
; write the cursor bitmap to the overlay framebuffer
|
call enable_cursor
|
||||||
mov r0, CURSOR_FRAMEBUFFER_PTR
|
|
||||||
mov r1, mouse_cursor
|
|
||||||
mov r31, 96 ; 8x12
|
|
||||||
cursor_overlay_loop:
|
|
||||||
mov [r0], [r1]
|
|
||||||
add r0, 4
|
|
||||||
add r1, 4
|
|
||||||
loop cursor_overlay_loop
|
|
||||||
|
|
||||||
cursor_enable:
|
|
||||||
; set properties of overlay 31
|
|
||||||
mov r0, 0x8000011F ; overlay 31: size
|
|
||||||
mov.16 r1, CURSOR_HEIGHT
|
|
||||||
sla r1, 16
|
|
||||||
mov.16 r1, CURSOR_WIDTH
|
|
||||||
out r0, r1
|
|
||||||
mov r0, 0x8000021F ; overlay 31: framebuffer pointer
|
|
||||||
mov r1, CURSOR_FRAMEBUFFER_PTR
|
|
||||||
out r0, r1
|
|
||||||
|
|
||||||
; enable overlay 31 (cursor)
|
|
||||||
mov r0, 0x8000031F
|
|
||||||
out r0, 1
|
|
||||||
|
|
||||||
mov r0, BACKGROUND_COLOR
|
mov r0, BACKGROUND_COLOR
|
||||||
call fill_background
|
call fill_background
|
||||||
|
@ -140,6 +117,7 @@ get_rom_version:
|
||||||
; code
|
; code
|
||||||
#include "background.asm"
|
#include "background.asm"
|
||||||
#include "boot.asm"
|
#include "boot.asm"
|
||||||
|
#include "cursor.asm"
|
||||||
#include "debug.asm"
|
#include "debug.asm"
|
||||||
#include "disk.asm"
|
#include "disk.asm"
|
||||||
#include "draw_pixel.asm"
|
#include "draw_pixel.asm"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user