mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-28 09:30:41 +00:00
55 lines
772 B
ArmAsm
55 lines
772 B
ArmAsm
;=================================
|
|
; Simple HGR box
|
|
;=================================
|
|
; only 1 7-bit block wide
|
|
; (X,A) to (X,A+Y) where X is xcoord/7
|
|
|
|
hgr_box:
|
|
; don't handle run of 0
|
|
cpy #0
|
|
beq done_hgr_box
|
|
|
|
; get initial ROW into (GBASL)
|
|
|
|
sta box_row_smc+1 ; save current A
|
|
stx box_x1_smc+1
|
|
|
|
ldx HGR_COLOR ; get colors
|
|
lda hgr_colortbl,X
|
|
sta HGR_BITS
|
|
|
|
tya
|
|
tax ; put line count into X
|
|
|
|
hgr_box_loop:
|
|
|
|
box_row_smc:
|
|
ldy #$dd ; get row info for Y1 into GBASL/GBASH
|
|
lda hposn_high,Y
|
|
hgr_box_page_smc:
|
|
eor #$00
|
|
sta GBASH
|
|
lda hposn_low,Y
|
|
sta GBASL
|
|
|
|
lda HGR_BITS
|
|
box_x1_smc:
|
|
ldy #$dd
|
|
sta (GBASL),Y
|
|
|
|
inc box_row_smc+1
|
|
|
|
dex
|
|
bne hgr_box_loop
|
|
|
|
done_hgr_box:
|
|
|
|
rts
|
|
|
|
|
|
hgr_box_page_toggle:
|
|
lda hgr_box_page_smc+1
|
|
eor #$60
|
|
sta hgr_box_page_smc+1
|
|
rts
|