mirror of
https://github.com/a2-4am/4cade.git
synced 2024-12-28 03:29:59 +00:00
some wipes
This commit is contained in:
parent
735c882680
commit
a6779527d8
@ -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
DIAGONAL4
STAGGER.UD
INTERLOCK.LR
SOFT.UD.IN
BLOCK.MOSAIC
CORNER4.IN
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 (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
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
DIAGONAL4
STAGGER.UD
INTERLOCK.LR
SOFT.UD.IN
BLOCK.MOSAIC
CORNER4.IN
INTERLOCK.UD
BLOCK.FIZZLE
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.
#
|
@ -99,8 +99,7 @@ HGRStaggerToWhite
|
||||
rts
|
||||
|
||||
SetSourceMask
|
||||
; in: A/Y points to 8-byte array of bit masks used by HGRBlockCopyWithMask
|
||||
+STAY SourceMaskAddr
|
||||
; NOOP- to be removed
|
||||
rts
|
||||
|
||||
SetCopyMask
|
||||
@ -109,29 +108,13 @@ SetCopyMask
|
||||
rts
|
||||
|
||||
BuildSourceMaskFromCopyMask
|
||||
; build an 8-byte array of bit masks at (SourceMaskAddr)
|
||||
; that are the inverse (EOR #$FF) of the bit masks at (CopyMaskAddr)
|
||||
;
|
||||
; in: must call SetSourceMask and SetCopyMask first
|
||||
; out: A/Y clobbered
|
||||
; $00/$01/$02/$03 clobbered
|
||||
; X preserved
|
||||
+LDAY CopyMaskAddr
|
||||
+STAY $00
|
||||
+LDAY SourceMaskAddr
|
||||
+STAY $02
|
||||
ldy #$07
|
||||
- lda ($00),y
|
||||
eor #$FF
|
||||
sta ($02),y
|
||||
dey
|
||||
bpl -
|
||||
; NOOP- to be removed
|
||||
rts
|
||||
|
||||
HGRBlockCopyWithMask
|
||||
; in: A = HGR row / 8 (0x00..0x17)
|
||||
; Y = HGR column (0x00..0x27)
|
||||
; must call SetSourceMask and SetCopyMask first
|
||||
; must call SetCopyMask first
|
||||
; out: Y preserved
|
||||
; A/X clobbered
|
||||
; $00 clobbered
|
||||
@ -140,13 +123,10 @@ HGRBlockCopyWithMaskNoRecalc
|
||||
ldx #7
|
||||
HGRBlockCopyWithMasksLoop
|
||||
lda ($26),y
|
||||
SourceMaskAddr=*+1
|
||||
and $FDFD,x ; call SetSourceMask to set
|
||||
sta $00
|
||||
lda ($3c),y
|
||||
eor ($3c),y
|
||||
CopyMaskAddr=*+1
|
||||
and $FDFD,x ; call SetCopyMask to set
|
||||
ora $00
|
||||
eor ($3c),y
|
||||
sta ($26),y
|
||||
clc
|
||||
+HGR_INC_WITHIN_BLOCK
|
||||
|
114
src/fx/fx.hgr.tri.fizzle.a
Normal file
114
src/fx/fx.hgr.tri.fizzle.a
Normal file
@ -0,0 +1,114 @@
|
||||
;license:MIT
|
||||
;(c) 2018 by 4am
|
||||
;
|
||||
!cpu 6502
|
||||
!to "build/FX/TRI.FIZZLE",plain
|
||||
*=$6000
|
||||
|
||||
phase = $FC ; byte, $80 or $00
|
||||
maskindex = $FD ; byte
|
||||
coord = $FE ; word
|
||||
|
||||
lda #$80
|
||||
sta phase
|
||||
lda #4
|
||||
sta maskindex
|
||||
@outerloop
|
||||
lda #<Coordinates
|
||||
sta coord
|
||||
lda #>Coordinates
|
||||
sta coord+1
|
||||
@loop
|
||||
dec maskindex
|
||||
bpl +
|
||||
lda #4
|
||||
sta maskindex
|
||||
+ ldx maskindex
|
||||
lda maskslo,x
|
||||
ldy maskshi,x
|
||||
jsr SetCopyMask
|
||||
ldy #0
|
||||
lda (coord),y
|
||||
bmi @nextPhase
|
||||
tax
|
||||
iny
|
||||
lda (coord),y
|
||||
tay
|
||||
txa
|
||||
bit phase
|
||||
bmi +
|
||||
jsr HGRBlockCopy
|
||||
jmp @wait
|
||||
+ jsr HGRBlockCopyWithMask
|
||||
@wait
|
||||
lda #$0C
|
||||
jsr WaitForKeyWithTimeout
|
||||
bmi @exit
|
||||
inc coord
|
||||
bne +
|
||||
inc coord+1
|
||||
+ inc coord
|
||||
bne +
|
||||
inc coord+1
|
||||
+ bne @loop
|
||||
@nextPhase
|
||||
bit phase
|
||||
bpl @exit
|
||||
asl phase
|
||||
bcs @outerloop ; always branches
|
||||
@exit rts
|
||||
|
||||
maskslo
|
||||
!byte <mask1
|
||||
!byte <mask2
|
||||
!byte <mask3
|
||||
!byte <mask4
|
||||
maskshi
|
||||
!byte >mask1
|
||||
!byte >mask2
|
||||
!byte >mask3
|
||||
!byte >mask4
|
||||
|
||||
mask1
|
||||
!byte %11111111
|
||||
!byte %11111110
|
||||
!byte %11111100
|
||||
!byte %11111000
|
||||
!byte %11110000
|
||||
!byte %11100000
|
||||
!byte %11000000
|
||||
!byte %10000000
|
||||
mask2
|
||||
!byte %11111111
|
||||
!byte %10111111
|
||||
!byte %10011111
|
||||
!byte %10001111
|
||||
!byte %10000111
|
||||
!byte %10000011
|
||||
!byte %10000001
|
||||
!byte %10000000
|
||||
mask3
|
||||
!byte %10000000
|
||||
!byte %10000001
|
||||
!byte %10000011
|
||||
!byte %10000111
|
||||
!byte %10001111
|
||||
!byte %10011111
|
||||
!byte %10111111
|
||||
!byte %11111111
|
||||
mask4
|
||||
!byte %10000000
|
||||
!byte %11000000
|
||||
!byte %11100000
|
||||
!byte %11110000
|
||||
!byte %11111000
|
||||
!byte %11111100
|
||||
!byte %11111110
|
||||
!byte %11111111
|
||||
|
||||
|
||||
Coordinates
|
||||
!source "src/fx/fx.hgr.block.fizzle.data.a"
|
||||
|
||||
!source "src/wait.a"
|
||||
!source "src/fx/fx.hgr.common.a"
|
Loading…
Reference in New Issue
Block a user