2022-02-02 19:02:02 +00:00
|
|
|
; shimmery blue pattern
|
|
|
|
; X=48 here, can't count on others
|
2022-02-02 05:20:56 +00:00
|
|
|
|
|
|
|
staggered:
|
2022-02-02 19:02:02 +00:00
|
|
|
stx FRAME ; set FRAME to 48
|
2022-02-02 05:20:56 +00:00
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
ldx #$00 ; init X to 0
|
|
|
|
stx GBASL ; set GBASL to 0
|
2022-02-02 05:20:56 +00:00
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
; pulse loop horizontal
|
2022-02-02 05:20:56 +00:00
|
|
|
outer_loop:
|
2022-02-02 19:02:02 +00:00
|
|
|
lda #$40 ; reset GBASH to begin page2
|
2022-02-02 05:20:56 +00:00
|
|
|
sta GBASH
|
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
inner_loop:
|
|
|
|
lda even_lookup,X ; get even color
|
|
|
|
sta (GBASL),Y ; store it to memory
|
2022-02-02 05:20:56 +00:00
|
|
|
iny
|
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
lda odd_lookup,X ; get odd color
|
|
|
|
sta (GBASL),Y ; store it to memory
|
2022-02-02 05:20:56 +00:00
|
|
|
iny
|
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
bne inner_loop ; repeat for 256
|
|
|
|
|
|
|
|
inc GBASH ; point to next page
|
2022-02-02 05:20:56 +00:00
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
inx ; wrap lookup at 8
|
2022-02-02 05:20:56 +00:00
|
|
|
txa
|
|
|
|
and #$7
|
|
|
|
tax
|
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
lda #$60 ; see if done
|
2022-02-02 05:20:56 +00:00
|
|
|
cmp GBASH
|
|
|
|
bne inner_loop
|
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
; lda #100 ; A is $60 here
|
|
|
|
jsr WAIT ; pause a bit
|
|
|
|
|
|
|
|
; A is 0 here
|
2022-02-02 05:20:56 +00:00
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
inx ; offset next FRAME
|
2022-02-02 05:20:56 +00:00
|
|
|
|
2022-02-02 19:02:02 +00:00
|
|
|
dec FRAME ; exit after so many frames
|
2022-02-02 05:20:56 +00:00
|
|
|
|
|
|
|
bne outer_loop
|
|
|
|
|
|
|
|
|
|
|
|
;even_lookup:
|
|
|
|
;.byte $D7,$DD,$F5,$D5, $D5,$D5,$D5,$D5
|
|
|
|
;odd_lookup:
|
|
|
|
;.byte $AA,$AA,$AA,$AB, $AB,$AE,$BA,$EA
|