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