From dcb4e631217eedff8934dac7210c5b1254af888e Mon Sep 17 00:00:00 2001 From: 4am Date: Sun, 20 Oct 2019 14:13:32 -0400 Subject: [PATCH] some wipes --- res/fx.conf | 2 +- src/fx/fx.hgr.palette.fizzle.a | 14 ++-- src/fx/fx.hgr.palette.fizzle2.a | 111 ++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 10 deletions(-) create mode 100644 src/fx/fx.hgr.palette.fizzle2.a diff --git a/res/fx.conf b/res/fx.conf index 9d1a07f42..76a4807ed 100644 --- a/res/fx.conf +++ b/res/fx.conf @@ -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. # \ No newline at end of file +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. # \ No newline at end of file diff --git a/src/fx/fx.hgr.palette.fizzle.a b/src/fx/fx.hgr.palette.fizzle.a index e24967537..542f6586e 100644 --- a/src/fx/fx.hgr.palette.fizzle.a +++ b/src/fx/fx.hgr.palette.fizzle.a @@ -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 diff --git a/src/fx/fx.hgr.palette.fizzle2.a b/src/fx/fx.hgr.palette.fizzle2.a new file mode 100644 index 000000000..835338c1b --- /dev/null +++ b/src/fx/fx.hgr.palette.fizzle2.a @@ -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