From a49ae0411818f2845287c8a7d13018f121825dfb Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 6 Dec 2023 23:31:08 -0500 Subject: [PATCH] gr: twister: working on some twister code --- graphics/gr/twister/Makefile | 32 ++++++++++++++++++++++++++++++++ graphics/gr/twister/hello.bas | 2 ++ graphics/gr/twister/twister.bas | 22 ++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 graphics/gr/twister/Makefile create mode 100644 graphics/gr/twister/hello.bas create mode 100644 graphics/gr/twister/twister.bas diff --git a/graphics/gr/twister/Makefile b/graphics/gr/twister/Makefile new file mode 100644 index 00000000..8c65a871 --- /dev/null +++ b/graphics/gr/twister/Makefile @@ -0,0 +1,32 @@ +include ../../../Makefile.inc + +DOS33 = ../../../utils/dos33fs-utils/dos33 +PNG2GR = ../../../utils/gr-utils/png2gr +PNG2RLE = ../../../utils/gr-utils/png2rle +TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft +LINKERSCRIPTS = ../../../linker_scripts +EMPTY_DISK = ../../../empty_disk + +all: twister.dsk + +twister.dsk: $(DOS33) HELLO TWISTER.BAS + cp $(EMPTY_DISK)/empty.dsk twister.dsk + $(DOS33) -y twister.dsk SAVE A HELLO + $(DOS33) -y twister.dsk SAVE A TWISTER.BAS + +### + +HELLO: hello.bas + $(TOKENIZE) < hello.bas > HELLO + +### + +TWISTER.BAS: twister.bas + $(TOKENIZE) < twister.bas > TWISTER.BAS + + +### + +clean: + rm -f *~ *.o HELLO TWISTER.BAS *.lst + diff --git a/graphics/gr/twister/hello.bas b/graphics/gr/twister/hello.bas new file mode 100644 index 00000000..133a44bb --- /dev/null +++ b/graphics/gr/twister/hello.bas @@ -0,0 +1,2 @@ +5 HOME +10 PRINT CHR$(4);"CATALOG" diff --git a/graphics/gr/twister/twister.bas b/graphics/gr/twister/twister.bas new file mode 100644 index 00000000..5695cb25 --- /dev/null +++ b/graphics/gr/twister/twister.bas @@ -0,0 +1,22 @@ +10 REM TWISTER-DEMO +15 REM https://8bitshack.org/post/twister/ +20 HGR +30 FOR A2 = 1 TO 360 STEP 3 +40 AM = 120+COS(A2*0.0174533)*100 +50 AN = -3.141593+SIN(A2*0.0174533)*3.141593 +60 FOR Y = 1 TO 159 STEP 2 +65 FV = Y/AM+AN +70 X1 = 35*SIN(FV) +80 X2 = 35*SIN(FV+1.570796) +90 REM X3 = 140+35*SIN(FV+3.141593) +95 X3 = -X1 +100 REM X4 = 140+35*SIN(FV+4.712389) +105 X4 = -X2 +108 HCOLOR = 0: HPLOT 105,Y TO 175,Y +110 IF X1 < X2 THEN HCOLOR = 1: HPLOT 140+X1,Y TO 140+X2,Y: GOTO 130 +120 IF X3 < X4 THEN HCOLOR = 1: HPLOT 140+X3,Y TO 140+X4,Y +130 IF X2 < X3 THEN HCOLOR = 2: HPLOT 140+X2,Y TO 140+X3,Y: GOTO 150 +140 IF X4 < X1 THEN HCOLOR = 2: HPLOT 140+X4,Y TO 140+X1,Y +150 NEXT Y +160 NEXT A2 +170 GOTO 30