mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-10 14:05:59 +00:00
59 lines
666 B
ArmAsm
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
|