diff --git a/basic/cube/Makefile b/basic/cube/Makefile new file mode 100644 index 00000000..decf44ad --- /dev/null +++ b/basic/cube/Makefile @@ -0,0 +1,28 @@ +include ../../Makefile.inc + +DOS33 = ../../utils/dos33fs-utils/dos33 +TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft +EMPTY_DISK = ../../empty_disk/empty.dsk + +all: cube.dsk + +cube.dsk: HELLO CUBE.BAS + cp $(EMPTY_DISK) cube.dsk + $(DOS33) -y cube.dsk SAVE A HELLO + $(DOS33) -y cube.dsk SAVE A CUBE.BAS + +#### + +HELLO: hello.bas + $(TOKENIZE) < hello.bas > HELLO + +#### + +CUBE.BAS: cube.bas + $(TOKENIZE) < cube.bas > CUBE.BAS + +#### + +clean: + rm -f *~ *.o *.lst HELLO CUBE.BAS + diff --git a/basic/cube/cheat.bas b/basic/cube/cheat.bas new file mode 100644 index 00000000..709f4a1c --- /dev/null +++ b/basic/cube/cheat.bas @@ -0,0 +1,7 @@ +1HGR:HCOLOR=3:DEFFNP(X)=PEEK(2054+I*5+X)-32 +5HPLOTFNP(0),FNP(1) +6FORI=0TO12:HPLOTTOFNP(I*2),FNP(I*2+1):NEXT + + + + diff --git a/basic/cube/cube.bas b/basic/cube/cube.bas new file mode 100644 index 00000000..06608c14 --- /dev/null +++ b/basic/cube/cube.bas @@ -0,0 +1,26 @@ +10 RX=-0.1 +20 L=80:FS=200:L=L/2 +35 HGR:HCOLOR=3 +40 X(1)=-L:Y(1)=-L:Z(1)=-L +50 X(2)=-L:Y(2)=L:Z(2)=-L +60 X(3)=L:Y(3)=L:Z(3)=-L +70 X(4)=L:Y(4)=-L:Z(4)=-L +80 X(5)=-L:Y(5)=-L:Z(5)=L +90 X(6)=-L:Y(6)=L:Z(6)=L +100 X(7)=L:Y(7)=L:Z(7)=L +110 X(8)=L:Y(8)=-L:Z(8)=L +120 RX=RX+0.1:C=COS(RX):S=SIN(RX) +130 FOR NP=1 TO 8 +140 YT=Y(NP):Y(NP)=C*YT-S*Z(NP):Z(NP)=S*YT+C*Z(NP) +150 XT=X(NP):X(NP)=C*XT+S*Z(NP):Z(NP)=-S*XT+C*Z(NP) +160 XT=X(NP):X(NP)=C*XT-S*Y(NP):Y(NP)=S*XT+C*Y(NP) +170 VX(NP)=160+(X(NP)*FS)/(X(NP)+FS) +180 VY(NP)=100+(Y(NP)*FS)/(Z(NP)+FS) +190 NEXT +200 HPLOT VX(1),VY(1) TO VX(2),VY(2) TO VX(3),VY(3) TO VX(4),VY(4) TO VX(1),VY(1) +210 HPLOT VX(5),VY(5) TO VX(6),VY(6) TO VX(7),VY(7) TO VX(8),VY(8) TO VX(5),VY(5) +220 HPLOT VX(8),VY(8) TO VX(5),VY(5):HPLOT VX(1),VY(1) TO VX(5),VY(5) +230 HPLOT VX(4),VY(4) TO VX(8),VY(8):HPLOT VX(2),VY(2) TO VX(6),VY(6) +240 HPLOT VX(3),VY(3) TO VX(7),VY(7) +245 GET A$:IF A$="Q" THEN END +250 GOTO 35 diff --git a/basic/cube/hello.bas b/basic/cube/hello.bas new file mode 100644 index 00000000..133a44bb --- /dev/null +++ b/basic/cube/hello.bas @@ -0,0 +1,2 @@ +5 HOME +10 PRINT CHR$(4);"CATALOG"