lattice wipe

This commit is contained in:
4am 2019-10-26 10:10:42 -04:00
parent a95e4a9c74
commit 49452df156
2 changed files with 222 additions and 1 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 IRIS.IN CORNER.CIRCLE CENTER.BY.PIXEL DIAGONAL2 RIPPLE2 PALETTE.FIZZLE RADIAL2 SPLIT.UD.INTRO R.BY.2 HALF.FIZZLE RADIAL3 DIAGONAL3 CORNER4.OUT BAR.DISSOLVE R.BY.PALETTE FOURSPIRAL SOFT.R IRIS CASCADE AND CHECKERBOARD LR.BY.PIXEL RADIAL4 CHECKER.FIZZLE STAGGERWHITE.LR SOFT.UD.OUT ONESQUARE FIZZLE STAR DIAMOND TWOPASS.LR HALF.MOSAIC RADIAL5 ARROW FOURSQUARE BLOCK.FIZZLE DIAGONAL4 STAGGER.UD INTERLOCK.LR SOFT.UD.IN BLOCK.MOSAIC CORNER4.IN INTERLOCK.UD LITTLE.BOXES SPIRAL ARROW.WHITE TRI.FIZZLE [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 (but preserve the screen holes). $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 IRIS.IN CORNER.CIRCLE CENTER.BY.PIXEL DIAGONAL2 RIPPLE2 PALETTE.FIZZLE RADIAL2 SPLIT.UD.INTRO R.BY.2 HALF.FIZZLE RADIAL3 DIAGONAL3 CORNER4.OUT LATTICE BAR.DISSOLVE R.BY.PALETTE FOURSPIRAL SOFT.R IRIS CASCADE AND CHECKERBOARD LR.BY.PIXEL RADIAL4 CHECKER.FIZZLE STAGGERWHITE.LR SOFT.UD.OUT ONESQUARE FIZZLE STAR DIAMOND TWOPASS.LR HALF.MOSAIC RADIAL5 ARROW FOURSQUARE BLOCK.FIZZLE DIAGONAL4 STAGGER.UD INTERLOCK.LR SOFT.UD.IN BLOCK.MOSAIC CORNER4.IN INTERLOCK.UD LITTLE.BOXES SPIRAL ARROW.WHITE TRI.FIZZLE [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 (but preserve the screen holes). $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. #

221
src/fx/fx.hgr.lattice.a Normal file
View File

@ -0,0 +1,221 @@
;license:MIT
;(c) 2019 by 4am
;
!cpu 6502
!to "build/FX/LATTICE",plain
*=$6000
maskindex = $fc
rowcount = $fd
row = $fe
col = $ff
!source "src/fx/macros.a"
lda #5
sta maskindex
MaskLoop
ldx maskindex
lda even_maskslo,x
sta EvenMask
lda even_maskshi,x
sta EvenMask+1
lda odd_maskslo,x
sta OddMask
lda odd_maskshi,x
sta OddMask+1
lda #0
sta row
lda #23
sta rowcount
jsr WaitForVBL
RowLoop
lda row
+HGR_ROW_CALC
lda #39
sta col
ColLoop
ldy col
tya
eor row
and #1
bne Odd
clc
ldx #7
- lda ($3c),y
eor ($26),y
EvenMask=*+1
and $FDFD,x
eor ($26),y
sta ($26),y
+HGR_INC_WITHIN_BLOCK
dex
bpl -
bmi NextCol
Odd
clc
ldx #7
- lda ($3c),y
eor ($26),y
OddMask=*+1
and $FDFD,x
eor ($26),y
sta ($26),y
+HGR_INC_WITHIN_BLOCK
dex
bpl -
NextCol
+RESET_HGR_CALC
dec col
+LBPL ColLoop
inc row
dec rowcount
+LBPL RowLoop
bit $c000
bmi Exit
dec maskindex
+LBPL MaskLoop
Exit rts
even_maskslo
!byte <copymask_even6
!byte <copymask_even5
!byte <copymask_even4
!byte <copymask_even3
!byte <copymask_even2
!byte <copymask_even1
even_maskshi
!byte >copymask_even6
!byte >copymask_even5
!byte >copymask_even4
!byte >copymask_even3
!byte >copymask_even2
!byte >copymask_even1
odd_maskslo
!byte <copymask_odd6
!byte <copymask_odd5
!byte <copymask_odd4
!byte <copymask_odd3
!byte <copymask_odd2
!byte <copymask_odd1
odd_maskshi
!byte >copymask_odd6
!byte >copymask_odd5
!byte >copymask_odd4
!byte >copymask_odd3
!byte >copymask_odd2
!byte >copymask_odd1
copymask_even1
!byte %11100000
!byte %10110000
!byte %10011000
!byte %10011000
!byte %10001100
!byte %10000110
!byte %10000011
!byte %10000001
copymask_odd1
!byte %10000001
!byte %10000011
!byte %10000110
!byte %10001100
!byte %10011000
!byte %10011000
!byte %10110000
!byte %11100000
copymask_even2
!byte %11110000
!byte %10111000
!byte %10011100
!byte %10011100
!byte %10001110
!byte %10000111
!byte %11000011
!byte %11100001
copymask_odd2
!byte %11100001
!byte %11000011
!byte %10000111
!byte %10001110
!byte %10011100
!byte %10011100
!byte %10111000
!byte %11110000
copymask_even3
!byte %11110001
!byte %11111000
!byte %10111100
!byte %10111100
!byte %10011110
!byte %10001111
!byte %11000111
!byte %11100011
copymask_odd3
!byte %11100011
!byte %11000111
!byte %10001111
!byte %10011110
!byte %10111100
!byte %10111100
!byte %11111000
!byte %11110001
copymask_even4
!byte %11111001
!byte %11111100
!byte %10111110
!byte %10111110
!byte %10011111
!byte %11001111
!byte %11100111
!byte %11110011
copymask_odd4
!byte %11110011
!byte %11100111
!byte %11001111
!byte %10011111
!byte %10111110
!byte %10111110
!byte %11111100
!byte %11111001
copymask_even5
!byte %11111011
!byte %11111101
!byte %11111110
!byte %11111110
!byte %10111111
!byte %11011111
!byte %11101111
!byte %11110111
copymask_odd5
!byte %11110111
!byte %11101111
!byte %11011111
!byte %10111111
!byte %11111110
!byte %11111110
!byte %11111101
!byte %11111011
copymask_even6
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
copymask_odd6
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!byte %11111111
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"
!source "src/fx/hw.vbl.a"