mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-18 21:06:31 +00:00
64 lines
817 B
ArmAsm
64 lines
817 B
ArmAsm
|
|
||
|
; draw a list of hlins, two wide
|
||
|
; at call time:
|
||
|
; INL:INH = addrss of list
|
||
|
; X is y value to start at (must be even)
|
||
|
; list is
|
||
|
; color,xstart,xlen
|
||
|
; xlen >128 means quit
|
||
|
|
||
|
hlin_list:
|
||
|
|
||
|
ldy #0
|
||
|
hlin_list_yloop:
|
||
|
|
||
|
lda (INL),Y ; color
|
||
|
iny
|
||
|
sta hlin_list_color_smc+1
|
||
|
|
||
|
lda gr_offsets,X ; address low
|
||
|
clc
|
||
|
adc (INL),Y
|
||
|
sec
|
||
|
sbc #1
|
||
|
iny
|
||
|
sta hlin_list_addr_smc+1
|
||
|
|
||
|
lda (INL),Y ; count
|
||
|
bmi done_hlin_list
|
||
|
iny
|
||
|
sta hlin_list_start_smc+1
|
||
|
|
||
|
lda gr_offsets+1,X ; address high
|
||
|
clc
|
||
|
adc DRAW_PAGE
|
||
|
sta hlin_list_addr_smc+2
|
||
|
|
||
|
txa
|
||
|
pha
|
||
|
|
||
|
;============================
|
||
|
; hlin
|
||
|
|
||
|
hlin_list_color_smc:
|
||
|
lda #$00
|
||
|
hlin_list_start_smc:
|
||
|
ldx #$00
|
||
|
hlin_list_xloop:
|
||
|
|
||
|
hlin_list_addr_smc:
|
||
|
sta $400,X
|
||
|
dex
|
||
|
bne hlin_list_xloop
|
||
|
|
||
|
;
|
||
|
;=============================
|
||
|
|
||
|
pla
|
||
|
tax
|
||
|
inx
|
||
|
inx
|
||
|
jmp hlin_list_yloop
|
||
|
done_hlin_list:
|
||
|
rts
|