some wipes

This commit is contained in:
4am 2019-10-15 21:51:51 -04:00
parent c0f4c66aed
commit 63340081e6
3 changed files with 197 additions and 1 deletions

View File

@ -1 +1 @@
RIPPLE STARWHITE DIAGONAL STAGGERWHITE.UD RADIAL STAGGER.LR FIZZLE CRYSTAL R.BY.PIXEL SUNRISE SUNSET CORNER.CIRCLE RIPPLE2 RADIAL2 SPLIT.UD.INTRO HALF.FIZZLE RADIAL3 BAR.DISSOLVE FOURSPIRAL IRIS AND CHECKERBOARD LR.BY.PIXEL RADIAL4 STAGGERWHITE.LR ONESQUARE STAR DIAMOND TWOPASS.LR HALF.MOSAIC RADIAL5 FOURSQUARE STAGGER.UD INTERLOCK.LR BLOCK.MOSAIC INTERLOCK.UD BLOCK.FIZZLE SPIRAL [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 has full use of main memory, including zero page and # text page if needed. 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 DIAGONAL STAGGERWHITE.UD RADIAL STAGGER.LR BIT.FIZZLE MEETINTHEMIDDLE CRYSTAL R.BY.PIXEL SUNRISE SUNSET CORNER.CIRCLE RIPPLE2 RADIAL2 SPLIT.UD.INTRO HALF.FIZZLE RADIAL3 BAR.DISSOLVE FOURSPIRAL IRIS AND CHECKERBOARD LR.BY.PIXEL RADIAL4 STAGGERWHITE.LR ONESQUARE FIZZLE STAR DIAMOND TWOPASS.LR HALF.MOSAIC RADIAL5 FOURSQUARE STAGGER.UD INTERLOCK.LR BLOCK.MOSAIC INTERLOCK.UD BLOCK.FIZZLE SPIRAL [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 has full use of main memory, including zero page and # text page if needed. 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. #

91
src/fx/fx.hgr.1bit.fizzle.a Executable file
View File

@ -0,0 +1,91 @@
;license:MIT
;(c) 2017-2019 by qkumba
!cpu 6502
!to "build/FX/BIT.FIZZLE",plain
*=$6000
tmp=$fd
sourcemask=$fe
copymask=$ff
;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 #$8016 for period of 65535
lda @rnd1+1
eor #$16
sta @rnd1+1
lda @rnd2+1
eor #$80
sta @rnd2+1
;little hack to avoid missing offset zero
;screen hole at $xxFF is missed instead
+ tya
eor #$ff
sta $26
sta $3c
lda #%00000001
sta copymask
txa
and #$e0
beq +
- asl copymask
adc #$e0
bne -
+ txa
and #$1f
;target page 1
ora #$20
sta $27
eor #$60
sta $3d
lda copymask
eor #%11111111
sta sourcemask
;copy pixel from other page to this page
ldy #0
lda ($26),y
and sourcemask
sta tmp
lda ($3c),y
and copymask
ora tmp
sta ($26),y
;wait while checking for keypress
@wait lda $c000
bmi @exit
;and exit condition
@rnd2 lda #0
bne @loop
@rnd1 lda #0
cmp #1
bne @loop
@exit rts

View File

@ -0,0 +1,105 @@
;license:MIT
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX/MEETINTHEMIDDLE",plain
*=$6000
tmp = $fb
maskindex = $fc
row = $fd
col1 = $fe
col2 = $ff
lda #0
sta col1
lda #39
sta col2
@colloop
lda #6
sta maskindex
@maskloop
ldx maskindex
lda copymasks1,x
sta @copymask1
eor #%11111111
sta @sourcemask1
lda copymasks2,x
sta @copymask2
eor #%11111111
sta @sourcemask2
lda #23
sta row
@rowloop
lda row
asl
asl
asl
jsr HGRCalc
clc
ldx #8
@blockloop
ldy col1
lda ($26),y
@sourcemask1=*+1
and #0 ; SMC
sta tmp
lda ($3c),y
@copymask1=*+1
and #0 ; SMC
ora tmp
sta ($26),y
ldy col2
lda ($26),y
@sourcemask2=*+1
and #0 ; SMC
sta tmp
lda ($3c),y
@copymask2=*+1
and #0 ; SMC
ora tmp
sta ($26),y
lda $27
adc #4
sta $27
eor #$60
sta $3d
dex
bne @blockloop
dec row
bpl @rowloop
lda #1
jsr WaitForKeyWithTimeout
bmi @exit
dec maskindex
bpl @maskloop
inc col1
dec col2
lda col1
cmp #20
bne @colloop
@exit rts
copymasks1
!byte %11111111
!byte %10111111
!byte %10011111
!byte %10001111
!byte %10000111
!byte %10000011
!byte %10000001
copymasks2
!byte %11111111
!byte %11111110
!byte %11111100
!byte %11111000
!byte %11110000
!byte %11100000
!byte %11000000
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"