some wipes

This commit is contained in:
4am 2019-10-20 14:13:32 -04:00
parent c3ee9b4cd5
commit dcb4e63121
3 changed files with 117 additions and 10 deletions

View File

@ -1 +1 @@
RIPPLE STARWHITE SOFT.DIAGONAL STAGGERWHITE.UD RADIAL STAGGER.LR SOFT.UD CRYSTAL BIT.FIZZLE MEETINTHEMIDDLE DIAGONAL R.BY.PIXEL SUNRISE SOFT.L SUNSET CORNER.CIRCLE CENTER.BY.PIXEL DIAGONAL2 RIPPLE2 PALETTE.FIZZLE RADIAL2 SPLIT.UD.INTRO R.BY.2 HALF.FIZZLE RADIAL3 DIAGONAL3 BAR.DISSOLVE R.BY.PALETTE FOURSPIRAL SOFT.R IRIS CASCADE AND CHECKERBOARD LR.BY.PIXEL RADIAL4 STAGGERWHITE.LR SOFT.UD.OUT ONESQUARE FIZZLE STAR DIAMOND TWOPASS.LR HALF.MOSAIC RADIAL5 ARROW FOURSQUARE DIAGONAL4 STAGGER.UD INTERLOCK.LR SOFT.UD.IN BLOCK.MOSAIC INTERLOCK.UD BLOCK.FIZZLE SPIRAL ARROW.WHITE [eof] # # transition effects for HGR slideshows # # Each Mega-Attract Module that is an HGR slideshow (see attract.conf) # will use a single transition effect for the length of the module. # Transition effects are loaded in the order listed in this file. Each line # of this file is a filename (not including comments, like this one). The # name of the next transition effect is stored in the global prefs, so this # file should not contain duplicates. # # Transition effects are binary files loaded at $6000 and called with # hi-res page 1 showing and the next HGR graphic already loaded at $4000. # A transition effect can use $6000-$BFFF in main memory, zero page, and # text page if needed. $800-$1FFF is reserved for the slideshow data. # LC RAM banks 1 and 2 are reserved for the launcher. # # Important: LC RAM bank 1 will be read/write on entry and must be read/write # on exit. If you need ROM routines, you are responsible for switching to ROM # then switching back to RAM bank 1 (read/write) before returning. #
RIPPLE STARWHITE SOFT.DIAGONAL STAGGERWHITE.UD RADIAL STAGGER.LR SOFT.UD CRYSTAL BIT.FIZZLE MEETINTHEMIDDLE DIAGONAL R.BY.PIXEL SUNRISE SOFT.L SUNSET CORNER.CIRCLE CENTER.BY.PIXEL DIAGONAL2 RIPPLE2 PALETTE.FIZZLE RADIAL2 SPLIT.UD.INTRO R.BY.2 HALF.FIZZLE RADIAL3 DIAGONAL3 BAR.DISSOLVE R.BY.PALETTE FOURSPIRAL SOFT.R IRIS CASCADE AND CHECKERBOARD LR.BY.PIXEL RADIAL4 PALETTE.FIZZLE2 STAGGERWHITE.LR SOFT.UD.OUT ONESQUARE FIZZLE STAR DIAMOND TWOPASS.LR HALF.MOSAIC RADIAL5 ARROW FOURSQUARE DIAGONAL4 STAGGER.UD INTERLOCK.LR SOFT.UD.IN BLOCK.MOSAIC INTERLOCK.UD BLOCK.FIZZLE SPIRAL ARROW.WHITE [eof] # # transition effects for HGR slideshows # # Each Mega-Attract Module that is an HGR slideshow (see attract.conf) # will use a single transition effect for the length of the module. # Transition effects are loaded in the order listed in this file. Each line # of this file is a filename (not including comments, like this one). The # name of the next transition effect is stored in the global prefs, so this # file should not contain duplicates. # # Transition effects are binary files loaded at $6000 and called with # hi-res page 1 showing and the next HGR graphic already loaded at $4000. # A transition effect can use $6000-$BFFF in main memory, zero page, and # text page if needed. $800-$1FFF is reserved for the slideshow data. # LC RAM banks 1 and 2 are reserved for the launcher. # # Important: LC RAM bank 1 will be read/write on entry and must be read/write # on exit. If you need ROM routines, you are responsible for switching to ROM # then switching back to RAM bank 1 (read/write) before returning. #

View File

@ -5,6 +5,11 @@
!to "build/FX/PALETTE.FIZZLE",plain
*=$6000
sourcemask_even = $f0
copymask_even = $f1
sourcemask_odd = $f2
copymask_odd = $f3
!source "src/fx/macros.a"
;init masks
@ -104,12 +109,3 @@
sta copymask_odd
+LBNE @outerloop
@exit rts
sourcemask_even
!byte %00101010
copymask_even
!byte %11010101
sourcemask_odd
!byte %01010101
copymask_odd
!byte %10101010

View File

@ -0,0 +1,111 @@
;license:MIT
;(c) 2017-2019 by qkumba and 4am
!cpu 6502
!to "build/FX/PALETTE.FIZZLE2",plain
*=$6000
sourcemask_even = $f0
copymask_even = $f1
sourcemask_odd = $f2
copymask_odd = $f3
!source "src/fx/macros.a"
;init masks
lda #%01010101
sta sourcemask_even
lda #%10101010
sta copymask_even
lda #%00101010
sta sourcemask_odd
lda #%11010101
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