mirror of
https://github.com/UzixLS/zx-sizif-xxs.git
synced 2025-07-19 15:22:06 +03:00
36 lines
965 B
NASM
36 lines
965 B
NASM
pause_init:
|
|
xor a
|
|
ld (var_pause_is_released), a
|
|
ld d, PAUSE_BODY_ATTR
|
|
ld c, PAUSE_X
|
|
ld b, PAUSE_Y
|
|
ld e, PAUSE_WIDTH
|
|
call draw_attribute_line
|
|
ld b, PAUSE_Y+2
|
|
ld e, PAUSE_WIDTH
|
|
call draw_attribute_line
|
|
ld d, PAUSE_TEXT_ATTR
|
|
ld b, PAUSE_Y+1
|
|
ld e, PAUSE_WIDTH
|
|
call draw_attribute_line
|
|
ld b, (PAUSE_Y+1)<<3
|
|
ld hl, str_pause
|
|
call print_string
|
|
ret
|
|
|
|
pause_process:
|
|
xor a ; read pause key state in bit 1 of #00FF port
|
|
in a, (#ff) ; ...
|
|
bit 1, a ; check key is hold
|
|
jr nz, .is_hold ; yes?
|
|
ld a, 1
|
|
ld (var_pause_is_released), a
|
|
ret
|
|
.is_hold:
|
|
ld a, (var_pause_is_released) ; if key wasnt released - do nothing
|
|
or a ; ...
|
|
ret z ; ...
|
|
ld a, 1 ; otherwise - var_exit_flag = 1
|
|
ld (var_exit_flag), a ; ...
|
|
ret
|