;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