2022-01-27 07:21:21 +01:00
|
|
|
; vsync interrupt routine
|
|
|
|
|
|
|
|
system_vsync_handler:
|
2022-10-27 06:50:29 +02:00
|
|
|
add rsp, 4
|
2022-04-18 01:21:56 +02:00
|
|
|
push r0
|
|
|
|
push r1
|
|
|
|
push r2
|
|
|
|
push r3
|
|
|
|
push r4
|
|
|
|
push r5
|
|
|
|
push r6
|
|
|
|
push r7
|
|
|
|
|
2022-01-27 07:21:21 +01:00
|
|
|
call mouse_update
|
2022-04-18 01:21:56 +02:00
|
|
|
call keyboard_update
|
2023-03-08 03:36:12 +01:00
|
|
|
cmp.8 [UPDATE_ICON], 0
|
|
|
|
ifnz call icon_update
|
2023-12-22 21:52:35 +01:00
|
|
|
; check if monitor should be started
|
|
|
|
cmp r0, 0
|
|
|
|
ifnz jmp system_vsync_handler_breakpoint
|
2022-04-18 01:21:56 +02:00
|
|
|
|
|
|
|
pop r7
|
|
|
|
pop r6
|
|
|
|
pop r5
|
|
|
|
pop r4
|
|
|
|
pop r3
|
|
|
|
pop r2
|
|
|
|
pop r1
|
|
|
|
pop r0
|
2022-01-27 07:21:21 +01:00
|
|
|
reti
|
2023-12-22 21:52:35 +01:00
|
|
|
|
|
|
|
system_vsync_handler_breakpoint:
|
|
|
|
pop r7
|
|
|
|
pop r6
|
|
|
|
pop r5
|
|
|
|
pop r4
|
|
|
|
pop r3
|
|
|
|
pop r2
|
|
|
|
pop r1
|
|
|
|
pop r0
|
|
|
|
; breakpoint handler expects that there is an extra 4 bytes on the stack
|
|
|
|
sub rsp, 4
|
|
|
|
jmp system_breakpoint_handler
|