mirror of
https://github.com/a2-4am/4cade.git
synced 2024-12-28 19:31:55 +00:00
some wipes
This commit is contained in:
parent
b39e9264d8
commit
1b78361fd5
@ -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
DIAGONAL2
RIPPLE2
RADIAL2
SPLIT.UD.INTRO
HALF.FIZZLE
RADIAL3
DIAGONAL3
BAR.DISSOLVE
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
RADIAL2
SPLIT.UD.INTRO
HALF.FIZZLE
RADIAL3
DIAGONAL3
BAR.DISSOLVE
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.
#
|
136
src/fx/fx.hgr.center.by.pixel.a
Normal file
136
src/fx/fx.hgr.center.by.pixel.a
Normal file
@ -0,0 +1,136 @@
|
||||
;license:MIT
|
||||
;(c) 2019 by 4am
|
||||
;
|
||||
!cpu 6502
|
||||
!to "build/FX/CENTER.BY.PIXEL",plain
|
||||
*=$6000
|
||||
|
||||
sourcemask1 = $f0
|
||||
sourcemask2 = $f1
|
||||
copymask1 = $f2
|
||||
copymask2 = $f3
|
||||
skipcounter = $f7
|
||||
counter = $f8
|
||||
top = $f9
|
||||
bottom = $fa
|
||||
tmp = $fb
|
||||
maskindex = $fc
|
||||
row = $fd
|
||||
col1 = $fe
|
||||
col2 = $ff
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
lda #44
|
||||
sta skipcounter
|
||||
lda #$5F
|
||||
sta counter
|
||||
lda #0
|
||||
sta top
|
||||
lda #$BF
|
||||
sta bottom
|
||||
lda #0
|
||||
sta col1
|
||||
lda #39
|
||||
sta col2
|
||||
ColLoop
|
||||
lda #6
|
||||
sta maskindex
|
||||
jsr WaitForVBL
|
||||
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
|
||||
+HGR_ROW_CALC
|
||||
ldx #8
|
||||
BlockLoop
|
||||
ldy col1
|
||||
lda ($26),y
|
||||
and sourcemask1
|
||||
sta tmp
|
||||
lda ($3c),y
|
||||
and copymask1
|
||||
ora tmp
|
||||
sta ($26),y
|
||||
|
||||
ldy col2
|
||||
lda ($26),y
|
||||
and sourcemask2
|
||||
sta tmp
|
||||
lda ($3c),y
|
||||
and copymask2
|
||||
ora tmp
|
||||
sta ($26),y
|
||||
|
||||
clc
|
||||
+HGR_INC_WITHIN_BLOCK
|
||||
dex
|
||||
bne BlockLoop
|
||||
|
||||
dec row
|
||||
bpl RowLoop
|
||||
|
||||
dec skipcounter
|
||||
+LBPL SkipTopAndBottom
|
||||
|
||||
lda top
|
||||
+HGR_CALC
|
||||
ldy #39
|
||||
- lda ($3c),y
|
||||
sta ($26),y
|
||||
dey
|
||||
bpl -
|
||||
inc top
|
||||
|
||||
lda bottom
|
||||
+HGR_CALC
|
||||
ldy #39
|
||||
- lda ($3c),y
|
||||
sta ($26),y
|
||||
dey
|
||||
bpl -
|
||||
dec bottom
|
||||
|
||||
dec counter
|
||||
bmi Exit
|
||||
SkipTopAndBottom
|
||||
lda $c000
|
||||
bmi Exit
|
||||
dec maskindex
|
||||
+LBPL MaskLoop
|
||||
inc col1
|
||||
dec col2
|
||||
+LBNE 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"
|
||||
!source "src/fx/hw.vbl.a"
|
@ -23,10 +23,7 @@ HGRBlockCopy
|
||||
; Z set
|
||||
; C clear
|
||||
; all other flags and registers clobbered
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
+HGR_CALC
|
||||
+HGR_ROW_CALC
|
||||
HGRBlockCopyNoRecalc
|
||||
clc
|
||||
ldx #$08
|
||||
@ -46,10 +43,7 @@ HGRBlockToWhite
|
||||
; Z set
|
||||
; C clear
|
||||
; all other flags and registers clobbered
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
+HGR_CALC
|
||||
+HGR_ROW_CALC
|
||||
clc
|
||||
ldx #$08
|
||||
@loop
|
||||
@ -141,10 +135,7 @@ HGRBlockCopyWithMask
|
||||
; out: Y preserved
|
||||
; A/X clobbered
|
||||
; $00 clobbered
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
+HGR_CALC
|
||||
+HGR_ROW_CALC
|
||||
HGRBlockCopyWithMaskNoRecalc
|
||||
ldx #7
|
||||
HGRBlockCopyWithMasksLoop
|
||||
|
@ -55,6 +55,13 @@
|
||||
sta $3c
|
||||
}
|
||||
|
||||
!macro HGR_ROW_CALC {
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
+HGR_CALC
|
||||
}
|
||||
|
||||
; /!\ C must be clear before using this macro
|
||||
!macro HGR_INC_WITHIN_BLOCK {
|
||||
lda $27
|
||||
|
Loading…
Reference in New Issue
Block a user