1
0
mirror of https://github.com/UzixLS/zx-sizif-xxs.git synced 2025-07-19 07:11:28 +03:00
Files
zx-sizif-xxs/rom_src/pause.asm
2022-02-01 18:54:46 +03:00

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