ksp: running out of space, loading high now

This commit is contained in:
Vince Weaver 2016-05-27 01:12:16 -04:00
parent b42866206a
commit 80deee7f36
3 changed files with 65 additions and 37 deletions

View File

@ -28,12 +28,19 @@ PHYSICS.BAS: physics.bas
VAB.BAS: vab.bas VAB.BAS: vab.bas
$(TXT2BAS) < vab.bas > VAB.BAS $(TXT2BAS) < vab.bas > VAB.BAS
LOAD_DEMO.BAS: load_demo.bas
$(TXT2BAS) < load_demo.bas > LOAD_DEMO.BAS
ROCKET.SHAPE: ship2.table
../hgr-utils/shape_table -b < ship2.table > ROCKET.SHAPE
ksp.dsk: ACMPLX.BAS \ ksp.dsk: ACMPLX.BAS \
CONTRACT.BAS \ CONTRACT.BAS \
FLIGHT.BAS \ FLIGHT.BAS \
KSP.BAS \ KSP.BAS \
ROCKET.SHAPE \
LOAD_DEMO.BAS \
LAUNCH.BAS GLOBE.HGR LAUNCHPAD.HGR ORBIT_TOP.HGR ORBIT_RIGHT.HGR \ LAUNCH.BAS GLOBE.HGR LAUNCHPAD.HGR ORBIT_TOP.HGR ORBIT_RIGHT.HGR \
LOADING.BAS LOADING.HGR SQUAD.HGR TITLE.HGR \ LOADING.BAS LOADING.HGR SQUAD.HGR TITLE.HGR \
PHYSICS.BAS \ PHYSICS.BAS \
@ -54,6 +61,8 @@ ksp.dsk: ACMPLX.BAS \
$(DOS33) -y ksp.dsk SAVE A FLIGHT.BAS $(DOS33) -y ksp.dsk SAVE A FLIGHT.BAS
$(DOS33) -y ksp.dsk SAVE A CONTRACT.BAS $(DOS33) -y ksp.dsk SAVE A CONTRACT.BAS
$(DOS33) -y ksp.dsk SAVE A KSP.BAS $(DOS33) -y ksp.dsk SAVE A KSP.BAS
$(DOS33) -y ksp.dsk SAVE A LOAD_DEMO.BAS
$(DOS33) -y ksp.dsk SAVE B ROCKET.SHAPE
LAUNCHPAD.HGR: launchpad.pcx LAUNCHPAD.HGR: launchpad.pcx

View File

@ -1,15 +1,13 @@
7 TEXT:HOME 7 TEXT:HOME
10 REM PRINT CHR$(4);"BLOAD GLOBE.HGR,A$2000" 20 AN$="ZURGTROYD":SS=3
20 AN$="ZURGTROYD":S=3
95 G=-9.8
100 EN(1)=1:ST(1)=1:FT(1)=1 100 EN(1)=1:ST(1)=1:FT(1)=1
101 EN(2)=2:ST(2)=2:FT(2)=1 101 EN(2)=2:ST(2)=2:FT(2)=1
102 EN(3)=3:ST(3)=3:FT(3)=1 102 EN(3)=3:ST(3)=3:FT(3)=1
103 LN=0:CQ=0:OM=0 125 POKE 232,0:POKE 233,16
110 HIMEM:7925 127 PRINT CHR$(4);"BLOAD ROCKET.SHAPE,A$1000"
120 POKE 232,245:POKE 233,30 130 REM FOR L=7925 TO 8175: READ B:POKE L,B:NEXT L
130 FOR L=7925 TO 8175: READ B:POKE L,B:NEXT L
1000 PRINT "ROCKET SUMMARY:":PRINT 1000 PRINT "ROCKET SUMMARY:":PRINT
1002 G=-9.8:LN=0:CQ=0:OM=0:S=SS
1005 FOR I=1 TO S 1005 FOR I=1 TO S
1010 EM(I)=EN(I)*1.5+ST(I)*FT(I)*0.5 1010 EM(I)=EN(I)*1.5+ST(I)*FT(I)*0.5
1012 IF I=1 THEN EM(I)=EM(I)+1.0 1012 IF I=1 THEN EM(I)=EM(I)+1.0
@ -32,7 +30,7 @@
2000 NEXT I 2000 NEXT I
2999 GET A$ 2999 GET A$
3000 AN=0:GX=0:GY=-9.8:GA=0:V=0:VX=0:VY=0:AX=0:AY=0:KR=600000 3000 AN=0:GX=0:GY=-9.8:GA=0:V=0:VX=0:VY=0:AX=0:AY=0:KR=600000
3016 RX=0:RY=KR+10:RA=KR+10:TR=0:T=0:BF=0 3016 RX=0:RY=KR+10:RA=KR+10:TR=0:T=0:BF=0:MX=0
3020 HGR:ROT=0:SCALE=2:H=0 3020 HGR:ROT=0:SCALE=2:H=0
3030 REM ** LAUNCHPAD ** 3030 REM ** LAUNCHPAD **
3035 PRINT:PRINT CHR$(4);"BLOAD LAUNCHPAD.HGR,A$2000" 3035 PRINT:PRINT CHR$(4);"BLOAD LAUNCHPAD.HGR,A$2000"
@ -41,7 +39,7 @@
3040 XDRAW 1+((S-1)*2)+TR AT 140,80 3040 XDRAW 1+((S-1)*2)+TR AT 140,80
4000 REM ** LOOP ** 4000 REM ** LOOP **
4002 IF LN=0 GOTO 5032 4002 IF LN=0 GOTO 5032
4003 RR=RA-KR 4003 RR=RA-KR:IF RR>MX THEN MX=RR
4004 IF OM=1 GOTO 4018 4004 IF OM=1 GOTO 4018
4005 IF RR>1800 OR OM=1 THEN GOTO 4012 4005 IF RR>1800 OR OM=1 THEN GOTO 4012
4007 HCOLOR=0:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H 4007 HCOLOR=0:HPLOT 1,80+H TO 132,80+H:HPLOT 148,80+H TO 247,80+H
@ -71,7 +69,7 @@
5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6095 5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6095
5222 A$=CHR$(Q-128):POKE 49168,0 5222 A$=CHR$(Q-128):POKE 49168,0
5555 IF OM<>1 THEN XDRAW 1+((S-1)*2)+TR AT 140,80 5555 IF OM<>1 THEN XDRAW 1+((S-1)*2)+TR AT 140,80
6060 IF A$="Q" THEN END 6060 IF A$="Q" THEN GOTO 9000
6061 IF A$="A" THEN R=R-8:AN=AN-0.7853 6061 IF A$="A" THEN R=R-8:AN=AN-0.7853
6062 IF A$="D" THEN R=R+8:AN=AN+0.7853 6062 IF A$="D" THEN R=R+8:AN=AN+0.7853
6063 IF A$="C" THEN GOTO 8000 6063 IF A$="C" THEN GOTO 8000
@ -116,7 +114,8 @@
8060 HPLOT 140,80 TO 100+X,40+Y 8060 HPLOT 140,80 TO 100+X,40+Y
8070 XX=PEEK(-16336) 8070 XX=PEEK(-16336)
8080 NEXT I 8080 NEXT I
8090 END 8085 AD(W)=1
8090 GOTO 9000
8100 REM *** KERBAL EYES *** 8100 REM *** KERBAL EYES ***
8105 HCOLOR=3:HPLOT 258,150 TO 263,150:HPLOT 265,150 TO 270,150 8105 HCOLOR=3:HPLOT 258,150 TO 263,150:HPLOT 265,150 TO 270,150
8110 KE=INT(RND(1)*3) 8110 KE=INT(RND(1)*3)
@ -135,29 +134,44 @@
8225 HCOLOR=1:HPLOT 259,155 TO 271,155:HPLOT 259,156 TO 271,156 8225 HCOLOR=1:HPLOT 259,155 TO 271,155:HPLOT 259,156 TO 271,156
8226 HCOLOR=0:HPLOT 259,155 TO 271,155:HPLOT 261,156 TO 269,156 8226 HCOLOR=0:HPLOT 259,155 TO 271,155:HPLOT 261,156 TO 269,156
8227 RETURN 8227 RETURN
9200 DATA 6,0,14,0,42,0,77,0,113,0 9000 REM *** CONTRACT COMPLETE ***
9201 DATA 156,0,200,0,219,36,36,44,44,44 9005 IF MX<40000 THEN C$="CRASH SHIP":F$="0.30":E$="-1":GOTO 9010
9202 DATA 53,53,53,54,54,54,54,63,63,45 9007 C$="REACH SPACE":F$="200":E$="20"
9203 DATA 46,46,62,63,63,39,37,37,63,36 9010 TEXT:HOME
9204 DATA 36,0,219,36,36,44,44,44,53,53 9020 HTAB 10:VTAB 9
9205 DATA 53,54,54,54,54,63,63,45,46,46 9021 FOR I=1 TO 20: PRINT "*";: NEXT I: PRINT "*"
9206 DATA 62,63,127,73,62,54,62,39,36,39 9023 HTAB 10: PRINT "* ";:INVERSE: PRINT "CONTRACT COMPLETE";:NORMAL: PRINT " *"
9207 DATA 39,37,37,63,36,36,0,219,36,36 9024 HTAB 10: PRINT "* ";
9208 DATA 36,36,44,44,44,53,53,53,54,54 9026 L=10-(LEN(C$))/2
9209 DATA 54,54,54,54,54,54,63,63,45,46 9027 HTAB 10+L:PRINT C$;:HTAB 30: PRINT "*"
9210 DATA 46,62,63,63,39,37,37,63,36,36 9030 HTAB 10:PRINT "* FUNDS ";F$;:HTAB 30: PRINT "*"
9211 DATA 36,36,0,219,36,36,36,36,44,44 9030 HTAB 10:PRINT "* EXPERIENCE ";E$;:HTAB 30: PRINT "*"
9212 DATA 44,53,53,53,54,54,54,54,54,54 9040 HTAB 10
9213 DATA 54,54,63,63,45,46,46,62,63,127 9042 FOR I=1 TO 20: PRINT "*";: NEXT I:PRINT "*"
9214 DATA 73,62,54,62,39,36,39,39,37,37 9100 VTAB 16
9215 DATA 63,36,36,36,36,0,219,36,36,36 9110 PRINT "NOW WHAT?"
9216 DATA 36,36,36,44,44,44,53,53,53,54 9120 PRINT " 1. RETURN TO THE VAB"
9217 DATA 54,54,54,54,54,54,54,54,54,54 9130 PRINT " 2. RETURN TO ASTRO COMPLEX"
9218 DATA 54,63,63,45,46,46,62,63,63,39 9140 PRINT " 3. RETURN TO LAUNCH"
9219 DATA 37,37,63,36,36,36,36,36,36,0 9145 PRINT " 4. HELP"
9220 DATA 219,36,36,36,36,36,36,44,44,44 9150 PRINT " 5. QUIT GAME"
9221 DATA 53,53,53,54,54,54,54,54,54,54 9160 PRINT "---> ";
9222 DATA 54,54,54,54,54,63,63,45,46,46 9170 GET A$
9223 DATA 62,63,127,73,62,54,62,39,36,39 9171 IF A$="1" GOTO 1
9224 DATA 39,37,37,63,36,36,36,36,36,36 9172 IF A$="2" GOTO 2
9225 DATA 0 9173 IF A$="3" GOTO 1000
9174 IF A$="4" OR A$="H" GOTO 9200
9175 IF A$="5" OR A$="Q" THEN TEXT:HOME:END
9176 GOTO 9160
9200 REM *** HELP ***
9210 HOME
9220 PRINT "KSP-APPLE-II BY VINCE WEAVER"
9230 PRINT " APPLE II FOREVER"
9240 PRINT " A,D - STEER SHIP LEFT/RIGHT"
9250 PRINT " Z - START ENGINES"
9260 PRINT " X - CUT ENGINES"
9270 PRINT " SPACE - LAUNCH,STAGE"
9275 PRINT " M - SWITCH TO ORBITAL VIEW"
9280 PRINT " ESC - QUIT"
9300 GET A$
9320 GOTO 9010

5
ksp/load_demo.bas Normal file
View File

@ -0,0 +1,5 @@
10 REM LOAD BASIC PROGRAM INTO HGR2 AREA
15 PRINT "LOADING PRESENTER DEMO TO A$4000"
20 POKE 104,64
30 POKE 16384,0
40 PRINT CHR$(4);"LOAD KSP.BAS"