4sports/src/fx/fx.hgr.color.fizzle.a
2022-08-25 21:56:29 -04:00

79 lines
1.5 KiB
Plaintext

;license:MIT
;(c) 2018 by 4am
;
!cpu 6502
!to "build/FX.INDEXED/LITTLE.BOXES",plain
*=$6000
phase = $FC ; byte, $80 or $00
color = $FD ; byte
!source "src/fx/fx.hgr.block.fizzle.common.a"
+BUILD_BLOCK_FIZZLE_DATA
lda #$80
sta phase
@outerloop
lda #0
sta color
+LDADDR Coordinates
+ST16 coord
@loop
dec color
bpl +
lda #4
sta color
+ ldx color
lda colors,x
sta @colorLoop+1
ldy #0
lda (coord),y
bmi @nextPhase
tax
iny
lda (coord),y
tay
txa
bit phase
bmi +
jsr HGRBlockCopy
jmp @wait
+
+HGR_ROW_CALC
ldx #7
@colorLoop
lda #$FD ; SMC
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl @colorLoop
@wait
lda #$0C
jsr WaitForKeyWithTimeout
bmi @exit
inc coord
bne +
inc coord+1
+ inc coord
bne +
inc coord+1
+ bne @loop
@nextPhase
bit phase
bpl @exit
asl phase
+LBCS @outerloop ; always branches
@exit rts
colors
!byte %00101010
!byte %00101010
!byte %11010101
!byte %11010101
!byte %11111111
!source "src/wait.a"
+HGR_BLOCK_COPY_ROUTINES