From eca6a5083294e1d1b2fa67146c3173e01001d08f Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 14 May 2023 13:48:17 -0400 Subject: [PATCH] double: facier effect --- vaporlock/doubledouble/Makefile | 1 + vaporlock/doubledouble/double.s | 11 +++++++++++ vaporlock/doubledouble/effect_slide.s | 7 +++++-- vaporlock/doubledouble/table/Makefile | 15 +++++++++++++++ vaporlock/doubledouble/table/table.c | 16 ++++++++++++++++ vaporlock/doubledouble/zp.inc | 9 +-------- 6 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 vaporlock/doubledouble/table/Makefile create mode 100644 vaporlock/doubledouble/table/table.c diff --git a/vaporlock/doubledouble/Makefile b/vaporlock/doubledouble/Makefile index a2c95936..c7ba9d47 100644 --- a/vaporlock/doubledouble/Makefile +++ b/vaporlock/doubledouble/Makefile @@ -32,6 +32,7 @@ double.o: double.s \ wait_a_bit.s wait.s pt3_lib_init.s \ music/fighting.zx02 \ effect_static.s effect_slide.s \ + table/sin.table \ graphics/sworg_hgr.hgr.zx02 \ graphics/sworg_dhgr.aux.zx02 \ graphics/sworg_dhgr.bin.zx02 \ diff --git a/vaporlock/doubledouble/double.s b/vaporlock/doubledouble/double.s index 21c52f38..c8216912 100644 --- a/vaporlock/doubledouble/double.s +++ b/vaporlock/doubledouble/double.s @@ -438,6 +438,15 @@ vblank_smc: .include "effect_slide.s" + inc FRAME + ldx FRAME + lda sin_table,X + sta effect_top_smc+1 + + clc + adc #32 + sta effect_bottom_smc+1 + jmp double_loop ; 3 ;======================================================= @@ -530,6 +539,8 @@ config_string: .include "wait.s" ;.include "load_music.s" +sin_table: +.incbin "table/sin.table" fighting_zx02: .incbin "music/fighting.zx02" diff --git a/vaporlock/doubledouble/effect_slide.s b/vaporlock/doubledouble/effect_slide.s index a07617d3..34489c82 100644 --- a/vaporlock/doubledouble/effect_slide.s +++ b/vaporlock/doubledouble/effect_slide.s @@ -12,6 +12,7 @@ ; 2+ X*(12+2+3) - 1 +effect_top_smc: ldx #100 ; 2 aloop: jsr delay_12 ; 12 @@ -38,6 +39,7 @@ bloop: bit HIRES +effect_bottom_smc: ldx #60 ; 2 cloop: jsr delay_12 ; 12 @@ -45,8 +47,9 @@ cloop: jsr delay_12 ; 12 jsr delay_12 ; 12 jsr delay_12 ; 12 - dex ; 2 - bne cloop ; 2/3 + inx ; 2 + cpx #192 + bcs cloop ; 2/3 diff --git a/vaporlock/doubledouble/table/Makefile b/vaporlock/doubledouble/table/Makefile new file mode 100644 index 00000000..82f8b007 --- /dev/null +++ b/vaporlock/doubledouble/table/Makefile @@ -0,0 +1,15 @@ +LFLAGS = -lm + +all: sin.table + +sin.table: table + ./table > sin.table + +table: table.o + $(CC) -o table table.o $(LFLAGS) + +table.o: table.c + $(CC) -c table.c + +clean: + rm -f *~ *.o table sin.table diff --git a/vaporlock/doubledouble/table/table.c b/vaporlock/doubledouble/table/table.c new file mode 100644 index 00000000..a82074b3 --- /dev/null +++ b/vaporlock/doubledouble/table/table.c @@ -0,0 +1,16 @@ +#include +#include + +int main(int argc, char **argv) { + + int i; + int value; + + for(i=0;i<256;i++) { + value=80.0+(sin(i*(2*3.141592653589)/256.0)*78.0); + //printf("%d %d\n",i,value); + putchar(value); + } + + return 0; +} diff --git a/vaporlock/doubledouble/zp.inc b/vaporlock/doubledouble/zp.inc index 7a9a9519..451c6cdf 100644 --- a/vaporlock/doubledouble/zp.inc +++ b/vaporlock/doubledouble/zp.inc @@ -74,14 +74,7 @@ HGRPAGE = $E6 TEMPY = $F0 XX = $F1 - -; rest of pt3_player -;LOOP = $F4 -;MB_VALUE = $F5 -;MB_ADDR_L = $F6 -;MB_ADDR_H = $F7 -;DONE_PLAYING = $F8 -;DONE_SONG = $F9 +FRAME = $F2 YPOS = $FA