diff --git a/graphics/gr/starfield/Makefile b/graphics/gr/starfield/Makefile index 29918449..0a25a07f 100644 --- a/graphics/gr/starfield/Makefile +++ b/graphics/gr/starfield/Makefile @@ -5,17 +5,20 @@ 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: starfield.dsk $(DOS33): cd ../../../utils/dos33fs-utils && make -starfield.dsk: $(DOS33) HELLO STARFIELD_DEMO STARFIELD_1K - cp empty.dsk starfield.dsk +starfield.dsk: $(DOS33) HELLO STARFIELD_DEMO STARFIELD_1K STARFIELD.BAS STARSMALL + cp $(EMPTY_DISK)/empty.dsk starfield.dsk $(DOS33) -y starfield.dsk SAVE A HELLO + $(DOS33) -y starfield.dsk SAVE A STARFIELD.BAS $(DOS33) -y starfield.dsk BSAVE -a 0x1000 STARFIELD_DEMO $(DOS33) -y starfield.dsk BSAVE -a 0x1000 STARFIELD_1K + $(DOS33) -y starfield.dsk BSAVE -a 0xc00 STARSMALL ### @@ -24,6 +27,12 @@ HELLO: hello.bas ### +STARFIELD.BAS: starfield.bas + $(TOKENIZE) < starfield.bas > STARFIELD.BAS + + +### + STARFIELD_DEMO: starfield_demo.o ld65 -o STARFIELD_DEMO starfield_demo.o -C $(LINKERSCRIPTS)/apple2_1000.inc @@ -48,6 +57,15 @@ starfield_1k.o: starfield_1k.s \ ### +STARSMALL: starsmall.o + ld65 -o STARSMALL starsmall.o -C $(LINKERSCRIPTS)/apple2_c00.inc + +starsmall.o: starsmall.s + ca65 -o starsmall.o starsmall.s -l starsmall.lst + + +### + clean: rm -f *~ *.o STARFIELD_DEMO STARFIELD_1K *.lst diff --git a/graphics/gr/starfield/empty.dsk b/graphics/gr/starfield/empty.dsk deleted file mode 100644 index b34eb519..00000000 Binary files a/graphics/gr/starfield/empty.dsk and /dev/null differ diff --git a/graphics/gr/starfield/starfield.bas b/graphics/gr/starfield/starfield.bas new file mode 100644 index 00000000..a56f19a9 --- /dev/null +++ b/graphics/gr/starfield/starfield.bas @@ -0,0 +1,5 @@ +0GR:DIMV(64,48):FORZ=1TO48:FORX=0TO64:V(X,Z)=(X*4-128)/Z+20:NEXTX,Z +2FORP=0TO5:X=V(A(P),Z(P)):Y=V(B(P),Z(P)):Z(P)=Z(P)-1:IFX<0ORX>39ORY<0ORY>39ORZ(P)<1THENA(P)=RND(1)*64:B(P)=RND(1)*64:Z(P)=RND(1)*48+1:GOTO7 +4COLOR=0:PLOTO(P),Q(P):COLOR=15:PLOTX,Y:O(P)=X:Q(P)=Y +7NEXT:GOTO2 + diff --git a/graphics/gr/starfield/stargood.bas b/graphics/gr/starfield/stargood.bas new file mode 100644 index 00000000..70b06a45 --- /dev/null +++ b/graphics/gr/starfield/stargood.bas @@ -0,0 +1,5 @@ +0GR:FORP=0TO9:GOTO8 +2FORP=0TO9:X=A(P)/Z(P)+20:Y=B(P)/Z(P)+20:IFX<0ORX>39ORY<0ORY>39THEN8 +4COLOR=0:PLOTO(P),Q(P):COLOR=15:PLOTX,Y:O(P)=X:Q(P)=Y:Z(P)=Z(P)-1:IFZ(P)<=0THEN8 +7NEXT:GOTO2 +8A(P)=RND(1)*256-128:B(P)=RND(1)*256-128:Z(P)=RND(1)*48+1:GOTO7 diff --git a/graphics/gr/starfield/stargood2.bas b/graphics/gr/starfield/stargood2.bas new file mode 100644 index 00000000..15c80212 --- /dev/null +++ b/graphics/gr/starfield/stargood2.bas @@ -0,0 +1,5 @@ +0GR:DIMV%(255,48):FORZ=1TO48:FORX=0TO255:V%(X,Z)=(X-128)/Z+20:NEXTX,Z +2FORP=0TO9:X=V%(A(P),Z(P)):Y=V%(B(P),Z(P)):Z(P)=Z(P)-1:IFX<0ORX>39ORY<0ORY>39ORZ(P)<1THENA(P)=RND(1)*256:B(P)=RND(1)*256:Z(P)=RND(1)*48+1:GOTO7 +4COLOR=0:PLOTO(P),Q(P):COLOR=15:PLOTX,Y:O(P)=X:Q(P)=Y +7NEXT:GOTO2 +{B99} diff --git a/graphics/gr/starfield/starorig.bas b/graphics/gr/starfield/starorig.bas new file mode 100644 index 00000000..67028b77 --- /dev/null +++ b/graphics/gr/starfield/starorig.bas @@ -0,0 +1,10 @@ +10 GR:DEFFNR(S)=INT(RND(1)*S)+1 +20 FOR P=0 TO 9:GOSUB 100:NEXT +30 FOR P=0 TO 9:COLOR=0 +40 X=A(P)/Z(P)+20:Y=B(P)/Z(P)+20 +50 IF X<0 OR X>39 OR Y<0 OR Y>39 THEN 95 +70 PLOT O(P),Q(P):COLOR=15-5*(Z(P)>10):PLOT X,Y:O(P)=X:Q(P)=Y +80 Z(P)=Z(P)-1:IF Z(P)<=0 THEN 95 +90 NEXT:GOTO 30 +95 GOSUB 100:GOTO 90 +100 A(P)=FNR(256)-127:B(P)=FNR(256)-127:Z(P)=FNR(48):RETURN diff --git a/graphics/gr/tunnel/hello.bas b/graphics/gr/tunnel/hello.bas new file mode 100644 index 00000000..133a44bb --- /dev/null +++ b/graphics/gr/tunnel/hello.bas @@ -0,0 +1,2 @@ +5 HOME +10 PRINT CHR$(4);"CATALOG"