mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-08-19 14:29:25 +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
|