dos33fsprogs/games/tfv/select_item.s
2021-01-05 23:30:41 -05:00

59 lines
666 B
ArmAsm

; print menu selection, draw to draw page
; use arrow keys to scroll
; return/space selects
; X = num entries
; Y = start Y?
; OUTL/OUTH points to list to draw
; return number of response in A
; $FF = nothing
; 0..# is number of selection chosen
draw_menu:
; clear bottom
jsr clear_bottom
; make normal?
; draw list
jsr move_and_print_list
; draw arrow
lda menu_y
asl
tay
lda gr_offsets+1,Y
clc
adc DRAW_PAGE
sta OUTH
clc
lda gr_offsets,Y
adc menu_x
sta OUTL
ldy #0
lda #'-'
sta (OUTL),Y
iny
sta (OUTL),Y
iny
lda #'>'
sta (OUTL),Y
; check keypress
lda #$ff
sta MENU_RESULT
rts
menu_x: .byte 12
menu_y: .byte 21