From ee0632583059691e4aa388d0c45a6a434f1d1331 Mon Sep 17 00:00:00 2001 From: 4am Date: Mon, 23 Nov 2020 19:05:51 -0500 Subject: [PATCH] new and upgraded DHGR effects --- res/DFX.CONF | 19 + src/fx/fx.dhgr.butterfly.a | 16 + src/fx/fx.dhgr.butterfly.in.a | 17 + src/fx/fx.dhgr.butterfly.ripple.a | 17 + src/fx/fx.dhgr.heart.a | 16 + src/fx/fx.dhgr.heart.in.a | 17 + src/fx/fx.dhgr.heart.ripple.a | 17 + src/fx/fx.dhgr.maple.a | 16 + src/fx/fx.dhgr.maple.in.a | 17 + src/fx/fx.dhgr.maple.ripple.a | 17 + src/fx/fx.dhgr.precomputed.2bit.a | 135 + src/fx/fx.dhgr.soft.iris.a | 16 + src/fx/fx.dhgr.soft.iris.in.a | 17 + src/fx/fx.dhgr.star.a | 20 +- src/fx/fx.dhgr.star.data.a | 3843 --------------------------- src/fx/fx.dhgr.star.in.a | 17 + src/fx/fx.dhgr.star.ripple.a | 17 + src/fx/fx.dhgr.wavy.iris.a | 16 + src/fx/fx.dhgr.wavy.iris.bloom.a | 16 + src/fx/fx.dhgr.wavy.iris.bloom.in.a | 17 + src/fx/fx.dhgr.wavy.iris.in.a | 17 + src/fx/fx.dhgr.wavy.ripple.a | 17 + src/fx/fx.dhgr.wavy.ripple.bloom.a | 17 + src/fx/fx.hgr.precomputed.2bit.a | 3 +- 24 files changed, 479 insertions(+), 3858 deletions(-) create mode 100644 src/fx/fx.dhgr.butterfly.a create mode 100644 src/fx/fx.dhgr.butterfly.in.a create mode 100644 src/fx/fx.dhgr.butterfly.ripple.a create mode 100644 src/fx/fx.dhgr.heart.a create mode 100644 src/fx/fx.dhgr.heart.in.a create mode 100644 src/fx/fx.dhgr.heart.ripple.a create mode 100644 src/fx/fx.dhgr.maple.a create mode 100644 src/fx/fx.dhgr.maple.in.a create mode 100644 src/fx/fx.dhgr.maple.ripple.a create mode 100644 src/fx/fx.dhgr.precomputed.2bit.a create mode 100644 src/fx/fx.dhgr.soft.iris.a create mode 100644 src/fx/fx.dhgr.soft.iris.in.a delete mode 100644 src/fx/fx.dhgr.star.data.a create mode 100644 src/fx/fx.dhgr.star.in.a create mode 100644 src/fx/fx.dhgr.star.ripple.a create mode 100644 src/fx/fx.dhgr.wavy.iris.a create mode 100644 src/fx/fx.dhgr.wavy.iris.bloom.a create mode 100644 src/fx/fx.dhgr.wavy.iris.bloom.in.a create mode 100644 src/fx/fx.dhgr.wavy.iris.in.a create mode 100644 src/fx/fx.dhgr.wavy.ripple.a create mode 100644 src/fx/fx.dhgr.wavy.ripple.bloom.a diff --git a/res/DFX.CONF b/res/DFX.CONF index 7bdd4606f..779d99d54 100644 --- a/res/DFX.CONF +++ b/res/DFX.CONF @@ -3,30 +3,49 @@ DHGR.RIPPLE DHGR.SOFT.DIAG DHGR.BUBBLES DHGR.RADIAL +DHGR.SOFT.IRIS +DHGR.WAVY.RIP DHGR.SNOWFL.IN +DHGR.MAPLE DHGR.SLOW.STAR +DHGR.HEART.RIP DHGR.CORNER4 +DHGR.STAR.IN DHGR.REDLINES +DHGR.BUTTERFLY +DHGR.BLOOM.IN DHGR.RADIAL4 DHGR.TWOPASS.LR +DHGR.WAVY.IN DHGR.CORNER4RIP DHGR.STAR +DHGR.MAPLE.IN DHGR.BAR.DISSLV +DHGR.BLOOM DHGR.SLOW.STARI +DHGR.HEART DHGR.RADIAL3 +DHGR.STAR.RIP +DHGR.BFLY.IN DHGR.DIAGONAL DHGR.SNOWFLAKE +DHGR.SOFTIRISIN DHGR.RADIAL2 DHGR.IRIS DHGR.BUBBLES.IN DHGR.SLOWST.RIP DHGR.RADIAL5 DHGR.FIZZLE +DHGR.BFLY.RIP DHGR.IRIS.IN DHGR.SWIRL +DHGR.MAPLE.RIP DHGR.R.BY.PIXEL +DHGR.HEART.IN DHGR.SNOWFL.RIP DHGR.CORNER4.IN +DHGR.WAVY.IRIS +DHGR.BLOOM.RIP DHGR.FLICK [eof] diff --git a/src/fx/fx.dhgr.butterfly.a b/src/fx/fx.dhgr.butterfly.a new file mode 100644 index 000000000..1098314f4 --- /dev/null +++ b/src/fx/fx.dhgr.butterfly.a @@ -0,0 +1,16 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.BUTTERFLY",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 17 + !text "FX/BUTTERFLY.DATA" diff --git a/src/fx/fx.dhgr.butterfly.in.a b/src/fx/fx.dhgr.butterfly.in.a new file mode 100644 index 000000000..3c81dbfce --- /dev/null +++ b/src/fx/fx.dhgr.butterfly.in.a @@ -0,0 +1,17 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.BFLY.IN",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start + +FX_REVERSE_2BIT +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 17 + !text "FX/BUTTERFLY.DATA" diff --git a/src/fx/fx.dhgr.butterfly.ripple.a b/src/fx/fx.dhgr.butterfly.ripple.a new file mode 100644 index 000000000..5bfc2f950 --- /dev/null +++ b/src/fx/fx.dhgr.butterfly.ripple.a @@ -0,0 +1,17 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.BFLY.RIP",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start + +FX_RIPPLE_2BIT +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 17 + !text "FX/BUTTERFLY.DATA" diff --git a/src/fx/fx.dhgr.heart.a b/src/fx/fx.dhgr.heart.a new file mode 100644 index 000000000..5ed86ccdd --- /dev/null +++ b/src/fx/fx.dhgr.heart.a @@ -0,0 +1,16 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.HEART",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 13 + !text "FX/HEART.DATA" diff --git a/src/fx/fx.dhgr.heart.in.a b/src/fx/fx.dhgr.heart.in.a new file mode 100644 index 000000000..cead478b8 --- /dev/null +++ b/src/fx/fx.dhgr.heart.in.a @@ -0,0 +1,17 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.HEART.IN",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start + +FX_REVERSE_2BIT +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 13 + !text "FX/HEART.DATA" diff --git a/src/fx/fx.dhgr.heart.ripple.a b/src/fx/fx.dhgr.heart.ripple.a new file mode 100644 index 000000000..e1644b22d --- /dev/null +++ b/src/fx/fx.dhgr.heart.ripple.a @@ -0,0 +1,17 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.HEART.RIP",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start + +FX_RIPPLE_2BIT +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 13 + !text "FX/HEART.DATA" diff --git a/src/fx/fx.dhgr.maple.a b/src/fx/fx.dhgr.maple.a new file mode 100644 index 000000000..ab9b74a32 --- /dev/null +++ b/src/fx/fx.dhgr.maple.a @@ -0,0 +1,16 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.MAPLE",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 13 + !text "FX/MAPLE.DATA" diff --git a/src/fx/fx.dhgr.maple.in.a b/src/fx/fx.dhgr.maple.in.a new file mode 100644 index 000000000..c859ed5b2 --- /dev/null +++ b/src/fx/fx.dhgr.maple.in.a @@ -0,0 +1,17 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.MAPLE.IN",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start + +FX_REVERSE_2BIT +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 13 + !text "FX/MAPLE.DATA" diff --git a/src/fx/fx.dhgr.maple.ripple.a b/src/fx/fx.dhgr.maple.ripple.a new file mode 100644 index 000000000..11101a0d8 --- /dev/null +++ b/src/fx/fx.dhgr.maple.ripple.a @@ -0,0 +1,17 @@ +;license:MIT +;(c) 2019-2020 by 4am/qkumba +; +!cpu 6502 +!to "build/FX/DHGR.MAPLE.RIP",plain +*=$6000 + + !source "src/fx/fx.dhgr.precomputed.2bit.a" + + +FX_INITONCE_2BIT CoordinatesFile, Start + +FX_RIPPLE_2BIT +Start + +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit + +CoordinatesFile + !byte 13 + !text "FX/MAPLE.DATA" diff --git a/src/fx/fx.dhgr.precomputed.2bit.a b/src/fx/fx.dhgr.precomputed.2bit.a new file mode 100644 index 000000000..ca45f02c2 --- /dev/null +++ b/src/fx/fx.dhgr.precomputed.2bit.a @@ -0,0 +1,135 @@ +;license:MIT +;(c) 2019-2020 by 4am +; + !source "src/fx/fx.hgr.precomputed.2bit.a" + !source "src/fx/fx.dhgr.common.a" + +!macro BUILD_SPARSE_BITMASKS_2BIT_DHGR .copymasks, .mirror_copymasks { + ; build sparse lookup tables for bitmasks + ldx #$00 + txa +- sta .copymasks, x + sta $C005 + sta .copymasks, x + sta $C004 + inx + bne - + + lda #%10011111 + sta .copymasks+$40 + sta .mirror_copymasks+$A0 + + lda #%11100000 + sta .copymasks+$60 + sta .mirror_copymasks+$80 + + lda #%10000111 + sta .copymasks+$C0 + sta .mirror_copymasks+$20 + + lda #%11111000 + sta .copymasks+$E0 + sta .mirror_copymasks + + sta $C005 + + lda #%10001111 + sta .copymasks + sta .mirror_copymasks+$E0 + + lda #%11110000 + sta .copymasks+$20 + sta .mirror_copymasks+$C0 + + lda #%10000011 + sta .copymasks+$80 + sta .mirror_copymasks+$60 + + lda #%11111100 + sta .copymasks+$A0 + sta .mirror_copymasks+$40 + + sta $C004 +} + +!macro FX_PRECOMPUTED_2BIT_DHGR .coords { + +BUILD_SPARSE_BITMASKS_2BIT_DHGR copymasks, mirror_copymasks + +BUILD_HGR_LOOKUP_TABLES_X_IS_ALREADY_0 hgrlo, hgr1hi + +BUILD_MIRROR_COLS mirror_cols + +COPY_SELF_TO_AUXMEM + ldx #(end-start) ; copy InputLoop code to zero page +- lda start-1, x + sta $FF, x + dex + bne - + jmp InputLoop + +start +!pseudopc 0 { +Exit2Bit rts +InputLoop + ldy #0 +input=*+1 + ldx .coords, y ; first value: HGR row + 1 + beq Exit2Bit ; if 0 then we're done + +ROW_X_TO_2BIT_BASE_ADDRESSES + + inc