ksp: think we might have the thruster display problem fixed

This commit is contained in:
Vince Weaver 2016-05-27 00:38:05 -04:00
parent 68acc77c2c
commit b42866206a

View File

@ -32,7 +32,7 @@
2000 NEXT I
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
3016 RX=0:RY=KR+10:RA=KR+10:TR=0:T=0
3016 RX=0:RY=KR+10:RA=KR+10:TR=0:T=0:BF=0
3020 HGR:ROT=0:SCALE=2:H=0
3030 REM ** LAUNCHPAD **
3035 PRINT:PRINT CHR$(4);"BLOAD LAUNCHPAD.HGR,A$2000"
@ -51,7 +51,7 @@
4016 IF RR>40000 AND CQ<>1 THEN GOSUB 7700
4018 FL=FM(S)*100/SF(S)
4020 IF TR<>1 THEN GOTO 4050
4025 IF FM(S)<0.1 THEN FM(S)=0:AX=0:AY=0:GOTO 4050
4025 IF FM(S)<0.1 THEN FM(S)=0:BF=1:AX=0:AY=0:GOTO 4050
4030 AX=(TH(S)/TM(S))*SIN(AN):AY=(TH(S)/TM(S))*COS(AN)
4040 FM(S)=FM(S)-FF(S):TM(S)=TM(S)-FF(S)
4047 GOTO 4060
@ -59,33 +59,29 @@
4055 AX=0:AY=0
4060 GA=ATN(RX/RY)
4065 IF RY<0 THEN GA=GA+3.14
4070 GY=COS(GA)*G:GX=SIN(GA)*G
4080 AY=AY+GY:AX=AX+GX
4090 ZX=VX:ZY=VY
5000 VY=ZY+AY:VX=ZX+AX
5010 V=SQR(VX*VX+VY*VY)
5012 RY=RY+0.5*(ZY+VY):RX=RX+0.5*(ZX+VX)
5018 RA=SQR(RX*RX+RY*RY)
4070 GY=COS(GA)*G:GX=SIN(GA)*G:AY=AY+GY:AX=AX+GX
4090 ZX=VX:ZY=VY:VY=ZY+AY:VX=ZX+AX:V=SQR(VX*VX+VY*VY)
5012 RY=RY+0.5*(ZY+VY):RX=RX+0.5*(ZX+VX):RA=SQR(RX*RX+RY*RY)
5020 IF RA<KR THEN GOTO 8000
5030 G=-9.8/((RA/KR)*(RA/KR))
5032 VTAB 21
5040 PRINT "TIME: ";T,"STAGE: ";4-S;" ";AN$
5045 PRINT "ALT: ";INT((RA-KR)/1000);"KM ";AN;" "
5032 VTAB 21:PRINT "TIME: ";T,"STAGE: ";4-S;" ";AN$
5045 PRINT "ALT: ";INT((RA-KR)/1000);"KM","ANGLE=";R*5.625;" "
5060 PRINT "VEL: ";INT(V);"M/S","FUEL: ";INT(FL);"% "
5113 IF OM<>1 THEN XDRAW 1+((S-1)*2)+TR AT 140,80
5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6080
6000 A$=CHR$(Q-128):POKE 49168,0
5100 IF BF=1 THEN BF=0:A$="X":GOTO 5555
5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6095
5222 A$=CHR$(Q-128):POKE 49168,0
5555 IF OM<>1 THEN XDRAW 1+((S-1)*2)+TR AT 140,80
6060 IF A$="Q" THEN END
6061 IF A$="A" 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
6064 IF A$="Z" THEN TH=1
6065 IF A$="V" THEN RA=RA+100
6066 IF A$="X" THEN TH=0
6067 IF A$="M" THEN GOTO 6300
6068 IF A$=" " AND LN=1 THEN S=S-1:XX=PEEK(-16336)
6069 IF A$=" " AND LN=0 THEN GOSUB 7500
6070 IF A$="E" THEN GOSUB 8100
6064 IF A$="Z" THEN TR=1
6066 IF A$="X" THEN TR=0
6067 IF A$="M" AND OM=1 THEN OM=0:CQ=-1:GOTO 4000
6068 IF A$="M" AND OM=0 THEN OM=1:HOME:PRINT:PRINT CHR$(4);"BLOAD GLOBE.HGR,A$2000":GOTO 6095
6070 IF A$=" " AND LN=1 THEN S=S-1:XX=PEEK(-16336)
6071 IF A$=" " AND LN=0 THEN GOSUB 7500
6072 IF A$="E" THEN GOSUB 8100
6073 IF R=64 THEN R=0:AN=0
6074 IF R=-8 THEN R=56
6075 IF S<1 THEN S=1
@ -94,34 +90,6 @@
6095 IF OM=1 THEN HX=INT(RX/25000)+140:HY=INT(-RY/25000)+85:HCOLOR=3:HPLOT HX,HY
6118 T=T+1
6200 GOTO 4000
6300 IF OM=1 THEN OM=0:CQ=-1:GOTO 4000
6310 OM=1:HOME:PRINT:PRINT CHR$(4);"BLOAD GLOBE.HGR,A$2000":GOTO 6095
7200 DATA 6,0,14,0,42,0,77,0,113,0
7201 DATA 156,0,200,0,219,36,36,44,44,44
7202 DATA 53,53,53,54,54,54,54,63,63,45
7203 DATA 46,46,62,63,63,39,37,37,63,36
7204 DATA 36,0,219,36,36,44,44,44,53,53
7205 DATA 53,54,54,54,54,63,63,45,46,46
7206 DATA 62,63,127,73,62,54,62,39,36,39
7207 DATA 39,37,37,63,36,36,0,219,36,36
7208 DATA 36,36,44,44,44,53,53,53,54,54
7209 DATA 54,54,54,54,54,54,63,63,45,46
7210 DATA 46,62,63,63,39,37,37,63,36,36
7211 DATA 36,36,0,219,36,36,36,36,44,44
7212 DATA 44,53,53,53,54,54,54,54,54,54
7213 DATA 54,54,63,63,45,46,46,62,63,127
7214 DATA 73,62,54,62,39,36,39,39,37,37
7215 DATA 63,36,36,36,36,0,219,36,36,36
7216 DATA 36,36,36,44,44,44,53,53,53,54
7217 DATA 54,54,54,54,54,54,54,54,54,54
7218 DATA 54,63,63,45,46,46,62,63,63,39
7219 DATA 37,37,63,36,36,36,36,36,36,0
7220 DATA 219,36,36,36,36,36,36,44,44,44
7221 DATA 53,53,53,54,54,54,54,54,54,54
7222 DATA 54,54,54,54,54,63,63,45,46,46
7223 DATA 62,63,127,73,62,54,62,39,36,39
7224 DATA 39,37,37,63,36,36,36,36,36,36
7225 DATA 0
7500 REM *** LAUNCH ***
7510 HCOLOR=0:HPLOT 110,110 TO 110,60:HPLOT TO 130,60: HPLOT 110,70 TO 130,70
7520 XX=PEEK(-16336)
@ -141,7 +109,7 @@
8000 REM *** CRASH ***
8010 SCALE=3
8015 GOSUB 8200
8020 FOR I=0 TO 64 STEP 8: ROT=I:XDRAW 1+((S-1)*2)+TH AT 140,80: XX=PEEK(-16336):NEXT I
8020 FOR I=0 TO 64 STEP 8: ROT=I:XDRAW 1+((S-1)*2)+TR AT 140,80: XX=PEEK(-16336):NEXT I
8030 FOR I=1 TO 50
8040 X=INT(RND(1)*80)+1:Y=INT(RND(1)*80)+1
8050 C=INT(RND(1)*7)+1:HCOLOR=C
@ -167,3 +135,29 @@
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
8227 RETURN
9200 DATA 6,0,14,0,42,0,77,0,113,0
9201 DATA 156,0,200,0,219,36,36,44,44,44
9202 DATA 53,53,53,54,54,54,54,63,63,45
9203 DATA 46,46,62,63,63,39,37,37,63,36
9204 DATA 36,0,219,36,36,44,44,44,53,53
9205 DATA 53,54,54,54,54,63,63,45,46,46
9206 DATA 62,63,127,73,62,54,62,39,36,39
9207 DATA 39,37,37,63,36,36,0,219,36,36
9208 DATA 36,36,44,44,44,53,53,53,54,54
9209 DATA 54,54,54,54,54,54,63,63,45,46
9210 DATA 46,62,63,63,39,37,37,63,36,36
9211 DATA 36,36,0,219,36,36,36,36,44,44
9212 DATA 44,53,53,53,54,54,54,54,54,54
9213 DATA 54,54,63,63,45,46,46,62,63,127
9214 DATA 73,62,54,62,39,36,39,39,37,37
9215 DATA 63,36,36,36,36,0,219,36,36,36
9216 DATA 36,36,36,44,44,44,53,53,53,54
9217 DATA 54,54,54,54,54,54,54,54,54,54
9218 DATA 54,63,63,45,46,46,62,63,63,39
9219 DATA 37,37,63,36,36,36,36,36,36,0
9220 DATA 219,36,36,36,36,36,36,44,44,44
9221 DATA 53,53,53,54,54,54,54,54,54,54
9222 DATA 54,54,54,54,54,63,63,45,46,46
9223 DATA 62,63,127,73,62,54,62,39,36,39
9224 DATA 39,37,37,63,36,36,36,36,36,36
9225 DATA 0