starfield: add the basic versions

This commit is contained in:
Vince Weaver 2021-06-11 21:29:04 -04:00
parent 740ac59e48
commit 2babb09b9f
7 changed files with 47 additions and 2 deletions

View File

@ -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

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -0,0 +1,2 @@
5 HOME
10 PRINT CHR$(4);"CATALOG"