some wipes

This commit is contained in:
4am
2019-10-20 11:05:00 -04:00
parent 1b78361fd5
commit c3ee9b4cd5
4 changed files with 352 additions and 1 deletions

View File

@@ -1 +1 @@
RIPPLE
RIPPLE

View File

@@ -0,0 +1,115 @@
;license:MIT
;(c) 2017-2019 by qkumba and 4am
!cpu 6502
!to "build/FX/PALETTE.FIZZLE",plain
*=$6000
!source "src/fx/macros.a"
;init masks
lda #%00101010
sta sourcemask_even
lda #%11010101
sta copymask_even
lda #%01010101
sta sourcemask_odd
lda #%10101010
sta copymask_odd
@outerloop
;init RNG
ldx #1
stx @rnd1+1
dex
stx @rnd2+1
;iterate
@loop
ldy @rnd1+1
ldx @rnd2+1
lsr @rnd2+1
ror @rnd1+1
bcc +
;feedback polynomial forms #$100D for period of 8191
lda @rnd1+1
eor #$0d
sta @rnd1+1
lda @rnd2+1
eor #$10
sta @rnd2+1
;little hack to avoid missing offset zero
;screen hole at $xxFF is missed instead
+ tya
eor #$ff
sta $26
sta $3c
txa
;target page 1
ora #$20
sta $27
eor #$60
sta $3d
;copy pixel from other page to this page
ldy #0
lda $26
ror
bcs @odd
lda ($26),y
and sourcemask_even
sta $00
lda ($3c),y
and copymask_even
ora $00
sta ($26),y
jmp @next
@odd
lda ($26),y
and sourcemask_odd
sta $00
lda ($3c),y
and copymask_odd
ora $00
sta ($26),y
@next
lda $c000
bmi @exit
;and exit condition
@rnd2 lda #0
bne @loop
@rnd1 lda #0
cmp #1
bne @loop
lda sourcemask_even
beq @exit
lda #0
sta sourcemask_even
sta sourcemask_odd
lda #$FF
sta copymask_even
sta copymask_odd
+LBNE @outerloop
@exit rts
sourcemask_even
!byte %00101010
copymask_even
!byte %11010101
sourcemask_odd
!byte %01010101
copymask_odd
!byte %10101010

118
src/fx/fx.hgr.r.by.2.a Normal file
View File

@@ -0,0 +1,118 @@
;license:MIT
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX/R.BY.2",plain
*=$6000
tmp = $fc
maskindex = $fd
row = $fe
col = $ff
!source "src/fx/macros.a"
lda #0
sta col
ColLoop
lda #0
sta row
jsr WaitForVBL
RowLoop
lda row
+HGR_ROW_CALC
lda col
ror
bcs OddCol
ldx #7
ldy col
- lda ($26),y
and sourcemask_even
sta $00
lda ($3c),y
and copymask_even
ora $00
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
bmi NextRow ; always branches
OddCol
ldx #7
ldy col
- lda ($26),y
and sourcemask_odd
sta $00
lda ($3c),y
and copymask_odd
ora $00
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
NextRow
inc row
lda row
cmp #24
+LBNE RowLoop
lda $c000
bmi Exit
inc col
lda col
cmp #40
+LBNE ColLoop
beq Phase2
Exit rts
Phase2
lda #0
sta col
ColLoop2
lda #0
sta row
jsr WaitForVBL
RowLoop2
lda row
+HGR_ROW_CALC
ldx #7
ldy col
- lda ($3c),y
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
inc row
lda row
cmp #24
+LBNE RowLoop2
lda $c000
bmi Exit2
inc col
lda col
cmp #40
+LBNE ColLoop2
Exit2 rts
sourcemask_even
!byte %00110011
copymask_even
!byte %11001100
sourcemask_odd
!byte %01001100
copymask_odd
!byte %10110011
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"
!source "src/fx/hw.vbl.a"

View File

@@ -0,0 +1,118 @@
;license:MIT
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX/R.BY.PALETTE",plain
*=$6000
tmp = $fc
maskindex = $fd
row = $fe
col = $ff
!source "src/fx/macros.a"
lda #0
sta col
ColLoop
lda #0
sta row
jsr WaitForVBL
RowLoop
lda row
+HGR_ROW_CALC
lda col
ror
bcs OddCol
ldx #7
ldy col
- lda ($26),y
and sourcemask_even
sta $00
lda ($3c),y
and copymask_even
ora $00
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
bmi NextRow ; always branches
OddCol
ldx #7
ldy col
- lda ($26),y
and sourcemask_odd
sta $00
lda ($3c),y
and copymask_odd
ora $00
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
NextRow
inc row
lda row
cmp #24
+LBNE RowLoop
lda $c000
bmi Exit
inc col
lda col
cmp #40
+LBNE ColLoop
beq Phase2
Exit rts
Phase2
lda #0
sta col
ColLoop2
lda #0
sta row
jsr WaitForVBL
RowLoop2
lda row
+HGR_ROW_CALC
ldx #7
ldy col
- lda ($3c),y
sta ($26),y
clc
+HGR_INC_WITHIN_BLOCK
dex
bpl -
inc row
lda row
cmp #24
+LBNE RowLoop2
lda $c000
bmi Exit2
inc col
lda col
cmp #40
+LBNE ColLoop2
Exit2 rts
sourcemask_even
!byte %00101010
copymask_even
!byte %11010101
sourcemask_odd
!byte %01010101
copymask_odd
!byte %10101010
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"
!source "src/fx/hw.vbl.a"