From 8f8ae21bffceb7d4f11e2ab625e91e150767e571 Mon Sep 17 00:00:00 2001 From: 4am Date: Wed, 16 Oct 2019 22:15:57 -0400 Subject: [PATCH] some wipes --- res/fx.conf | 2 +- src/fx/fx.hgr.soft.ud.a | 158 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 src/fx/fx.hgr.soft.ud.a diff --git a/res/fx.conf b/res/fx.conf index a89e58247..87b57b4dc 100644 --- a/res/fx.conf +++ b/res/fx.conf @@ -1 +1 @@ -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. # \ No newline at end of file +RIPPLE STARWHITE DIAGONAL STAGGERWHITE.UD RADIAL STAGGER.LR SOFT.UD 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. # \ No newline at end of file diff --git a/src/fx/fx.hgr.soft.ud.a b/src/fx/fx.hgr.soft.ud.a new file mode 100644 index 000000000..d9c7f9dcd --- /dev/null +++ b/src/fx/fx.hgr.soft.ud.a @@ -0,0 +1,158 @@ +;license:MIT +;(c) 2019 by 4am +; +!cpu 6502 +!to "build/FX/SOFT.UD",plain +*=$6000 + +tmp = $fb +maskindex = $fc +row = $fd + + lda #$FA + sta row +@rowloop + lda #6 + sta maskindex +@maskloop + lda row + bmi @skiprow + cmp #24 + bcs @skiprow + asl + asl + asl + jsr HGRCalc + + lda #masks + sta @basemaskaddr+1 + lda maskindex + asl + asl + asl + clc + adc @basemaskaddr + sta @basemaskaddr + bcc + + inc @basemaskaddr+1 ++ + ldx #7 +@blockloop +@basemaskaddr=*+1 + lda $FDFD,x ; SMC + sta @copymask + eor #%11111111 + sta @sourcemask + + ldy #39 +@colloop + lda ($26),y +@sourcemask=*+1 + and #0 ; SMC + sta tmp + lda ($3c),y +@copymask=*+1 + and #0 ; SMC + ora tmp + sta ($26),y + dey + bpl @colloop + + lda $27 + adc #4 + sta $27 + eor #$60 + sta $3d + dex + bpl @blockloop + +@skiprow + inc row + dec maskindex + bpl @maskloop + + lda #40 + jsr WaitForKeyWithTimeout + bmi @exit + + dec row + dec row + dec row + dec row + dec row + dec row + lda row + bmi @rowloop + cmp #24 + bcc @rowloop + +@exit rts + +masks + !byte %10000000 + !byte %10000000 + !byte %10000000 + !byte %10001000 + !byte %10001000 + !byte %10000000 + !byte %10000000 + !byte %10000000 + + !byte %10000000 + !byte %10000000 + !byte %10010100 + !byte %10001000 + !byte %10001000 + !byte %10010100 + !byte %10000000 + !byte %10000000 + + !byte %10000000 + !byte %10000000 + !byte %10011100 + !byte %10011100 + !byte %10011100 + !byte %10011100 + !byte %10000000 + !byte %10000000 + + !byte %10000000 + !byte %10101010 + !byte %10011100 + !byte %10111110 + !byte %10011100 + !byte %10011100 + !byte %10101010 + !byte %10000000 + + !byte %10000000 + !byte %10111110 + !byte %10111110 + !byte %10111110 + !byte %10111110 + !byte %10111110 + !byte %10111110 + !byte %10000000 + + !byte %11010101 + !byte %10111110 + !byte %11111111 + !byte %10111110 + !byte %11111111 + !byte %10111110 + !byte %10111110 + !byte %11010101 + + !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"