mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-19 12:32:35 +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
|