diff --git a/Makefile b/Makefile index c0ac4cd8a..5fe9c190d 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,7 @@ asm: md $(ACME) -r build/4cade.lst src/4cade.a 2>build/relbase.log $(ACME) -r build/4cade.lst -DRELBASE=`cat build/relbase.log | grep "RELBASE =" | cut -d"=" -f2 | cut -d"(" -f2 | cut -d")" -f1` src/4cade.a $(ACME) src/fx/fx.cover.fade.a + $(ACME) src/fx/fx.dhgr.fizzle.a $(ACME) src/fx/fx.dhgr.ripple.a $(ACME) src/fx/fx.dhgr.iris.a $(ACME) src/fx/fx.dhgr.radial.a diff --git a/res/dfx.conf b/res/dfx.conf index e3cec46b0..5d255d89d 100644 --- a/res/dfx.conf +++ b/res/dfx.conf @@ -1 +1 @@ -# # transition effects for DHGR slideshows # # Each Mega-Attract Module that is a DHGR 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 DHGR # page 1 showing and the next DHGR graphic already loaded at $4000/main and # $4000/aux. A transition effect has full use of main and auxiliary memory, # including zero pages and text pages 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. # DHGR.RIPPLE DHGR.RADIAL DHGR.STAR DHGR.RADIAL3 DHGR.IRIS DHGR.RADIAL2 DHGR.RADIAL4 DHGR.RADIAL5 #TODO port this to a separate file like the others #DHGR.FIZZLE [eof] \ No newline at end of file +# # transition effects for DHGR slideshows # # Each Mega-Attract Module that is a DHGR 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 DHGR # page 1 showing and the next DHGR graphic already loaded at $4000/main and # $4000/aux. A transition effect has full use of main and auxiliary memory, # including zero pages and text pages 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. # DHGR.FIZZLE DHGR.RIPPLE DHGR.RADIAL DHGR.STAR DHGR.RADIAL3 DHGR.IRIS DHGR.RADIAL2 DHGR.RADIAL4 DHGR.RADIAL5 [eof] \ No newline at end of file diff --git a/res/fx/_FileInformation.txt b/res/fx/_FileInformation.txt index ebadbd0ba..545fb9621 100644 --- a/res/fx/_FileInformation.txt +++ b/res/fx/_FileInformation.txt @@ -33,6 +33,7 @@ IRIS=Type(06),AuxType(6000),Access(C3) STAR=Type(06),AuxType(6000),Access(C3) RIPPLE=Type(06),AuxType(6000),Access(C3) RIPPLE2=Type(06),AuxType(6000),Access(C3) +DHGR.FIZZLE=Type(06),AuxType(6000),Access(C3) DHGR.IRIS=Type(06),AuxType(6000),Access(C3) DHGR.RIPPLE=Type(06),AuxType(6000),Access(C3) DHGR.RADIAL=Type(06),AuxType(6000),Access(C3) diff --git a/src/fx/fx.dhgr.common.a b/src/fx/fx.dhgr.common.a new file mode 100644 index 000000000..fd3d46eae --- /dev/null +++ b/src/fx/fx.dhgr.common.a @@ -0,0 +1,17 @@ +CopySelfToAuxmem + lda #$00 + sta $FE + tay + lda #$60 + sta $FF + tax + sta $c005 +- lda ($FE),y + sta ($FE),y + iny + bne - + inc $FF + dex + bne - + sta $c004 + rts diff --git a/src/fx/fx.dhgr.fizzle.a b/src/fx/fx.dhgr.fizzle.a index 2b4dd2261..6976132a9 100644 --- a/src/fx/fx.dhgr.fizzle.a +++ b/src/fx/fx.dhgr.fizzle.a @@ -1,10 +1,12 @@ ;license:MIT ;(c) 2017-2018 by qkumba ; -; NOTE: must be run from language card, or caller must ensure that -; this code is in an identical location in auxmem -; -FizzleDHGR +!cpu 6502 +!to "build/FX/DHGR.FIZZLE",plain +*=$6000 + + jsr CopySelfToAuxmem + ;init RNG ldx #1 @@ -73,3 +75,5 @@ FizzleDHGR bne @loop @exit rts + + !source "src/fx/fx.dhgr.common.a" diff --git a/src/fx/fx.dhgr.precomputed.a b/src/fx/fx.dhgr.precomputed.a index b84c31388..98ffdccab 100644 --- a/src/fx/fx.dhgr.precomputed.a +++ b/src/fx/fx.dhgr.precomputed.a @@ -1,29 +1,16 @@ ;license:MIT -;(c) 2018 by 4am +;(c) 2018-9 by 4am ; coord = $FE - lda #$00 - sta $FE - tay - lda #$60 - sta $FF - tax - sta $c005 -- lda ($FE),y - sta ($FE),y - iny - bne - - inc $FF - dex - bne - - sta $c004 jmp Start !source "src/wait.a" !source "src/fx/fx.hgr.common.a" + !source "src/fx/fx.dhgr.common.a" Start + jsr CopySelfToAuxmem !macro FX_PRECOMPUTED_DHGR .wait { lda #<@coords