dos33fsprogs/games/lemm/update_menu.s

98 lines
1.2 KiB
ArmAsm
Raw Normal View History

;=============================
; update menu
;=============================
2022-03-14 16:16:40 +00:00
update_menu:
2022-03-15 02:57:33 +00:00
lda BUTTON_LOCATION
bne actually_update_menu
rts
actually_update_menu:
ldx #7
stx HGR_COLOR
lda BUTTON_LOCATION
jsr draw_button
rts
;========================
; erase menu
2022-03-15 02:57:33 +00:00
;========================
erase_menu:
lda BUTTON_LOCATION
bne actually_erase_menu
rts
actually_erase_menu:
ldx #0
stx HGR_COLOR
lda BUTTON_LOCATION
jsr draw_button
rts
;====================
; draw button
;====================
draw_button:
; location is (1+BUTTON_LOCATION)*16
2022-03-14 16:16:40 +00:00
2022-03-14 20:43:58 +00:00
; two hlins
2022-03-15 02:57:33 +00:00
lda BUTTON_LOCATION
clc
adc #1
asl
asl
asl
asl
tax
sta button_smc1+1
sta button_smc2+1
sta button_smc3+1
clc
adc #15
sta button_smc4+1
2022-03-15 03:22:32 +00:00
; draw on both pages
jsr actual_button_draw
jsr hgr_hlin_page_toggle
jsr hgr_vlin_page_toggle
jsr actual_button_draw
jsr hgr_hlin_page_toggle
jsr hgr_vlin_page_toggle
rts
actual_button_draw:
2022-03-15 02:57:33 +00:00
button_smc1:
2022-03-14 16:16:40 +00:00
ldx #144
2022-03-14 20:43:58 +00:00
lda #168
2022-03-14 16:16:40 +00:00
ldy #15
jsr hgr_hlin ; (x,a) to (x+y,a)
2022-03-15 02:57:33 +00:00
button_smc2:
2022-03-14 16:16:40 +00:00
ldx #144
2022-03-14 20:43:58 +00:00
lda #191
2022-03-14 16:16:40 +00:00
ldy #15
jsr hgr_hlin ; (x,a) to (x+y,a)
2022-03-14 20:43:58 +00:00
; two vlins
2022-03-15 02:57:33 +00:00
button_smc3:
2022-03-14 20:43:58 +00:00
ldx #144
lda #168
2022-03-15 02:57:33 +00:00
ldy #23
2022-03-14 20:43:58 +00:00
jsr hgr_vlin ; (x,a) to (x,a+y)
2022-03-15 02:57:33 +00:00
button_smc4:
2022-03-14 20:43:58 +00:00
ldx #159
lda #168
2022-03-15 02:57:33 +00:00
ldy #23
2022-03-14 20:43:58 +00:00
jsr hgr_vlin ; (x,a) to (x,a+y)
2022-03-14 16:16:40 +00:00
rts