dos33fsprogs/megamusic/gr_hline.s

45 lines
910 B
ArmAsm
Raw Normal View History

2018-10-27 03:40:54 +00:00
;==================================
; HLINE
;==================================
; Color in A
; Y has which line
; takes 435 cycles
hline:
pha ; 3
ldx gr_offsets,y ; 4+
stx hline_loop+1 ; self-modify code ; 4
lda gr_offsets+1,y ; 4+
clc ; 2
adc DRAW_PAGE ; 3
sta hline_loop+2 ; self-modify code ; 4
pla ; 4
ldx #39 ; 2
;===========
; 30
hline_loop:
sta $5d0,X ; 38 ; 5
dex ; 2
bpl hline_loop ; 2nt/3
;===========
; 40*(10)=400
; -1
rts ; 6
;==========================
; Clear gr screen
;==========================
; Color in A, Clears 0 to and including Y
; clear_gr: takes 2+(48/2)*(6+435+7)+5 = 10759
; cpl: takes (Y/2)*(6+435+7)+5 = ?
clear_gr:
ldy #46 ; 2
clear_page_loop:
jsr hline ; 6+435
dey ; 2
dey ; 2
bpl clear_page_loop ; 2/3
rts ; 6