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 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 3016 RX=0:RY=KR+10:RA=KR+10:TR=0:T=0:BF=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"
@ -51,7 +51,7 @@
4016 IF RR>40000 AND CQ<>1 THEN GOSUB 7700 4016 IF RR>40000 AND CQ<>1 THEN GOSUB 7700
4018 FL=FM(S)*100/SF(S) 4018 FL=FM(S)*100/SF(S)
4020 IF TR<>1 THEN GOTO 4050 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) 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) 4040 FM(S)=FM(S)-FF(S):TM(S)=TM(S)-FF(S)
4047 GOTO 4060 4047 GOTO 4060
@ -59,33 +59,29 @@
4055 AX=0:AY=0 4055 AX=0:AY=0
4060 GA=ATN(RX/RY) 4060 GA=ATN(RX/RY)
4065 IF RY<0 THEN GA=GA+3.14 4065 IF RY<0 THEN GA=GA+3.14
4070 GY=COS(GA)*G:GX=SIN(GA)*G 4070 GY=COS(GA)*G:GX=SIN(GA)*G:AY=AY+GY:AX=AX+GX
4080 AY=AY+GY:AX=AX+GX 4090 ZX=VX:ZY=VY:VY=ZY+AY:VX=ZX+AX:V=SQR(VX*VX+VY*VY)
4090 ZX=VX:ZY=VY 5012 RY=RY+0.5*(ZY+VY):RX=RX+0.5*(ZX+VX):RA=SQR(RX*RX+RY*RY)
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)
5020 IF RA<KR THEN GOTO 8000 5020 IF RA<KR THEN GOTO 8000
5030 G=-9.8/((RA/KR)*(RA/KR)) 5030 G=-9.8/((RA/KR)*(RA/KR))
5032 VTAB 21 5032 VTAB 21:PRINT "TIME: ";T,"STAGE: ";4-S;" ";AN$
5040 PRINT "TIME: ";T,"STAGE: ";4-S;" ";AN$ 5045 PRINT "ALT: ";INT((RA-KR)/1000);"KM","ANGLE=";R*5.625;" "
5045 PRINT "ALT: ";INT((RA-KR)/1000);"KM ";AN;" "
5060 PRINT "VEL: ";INT(V);"M/S","FUEL: ";INT(FL);"% " 5060 PRINT "VEL: ";INT(V);"M/S","FUEL: ";INT(FL);"% "
5113 IF OM<>1 THEN XDRAW 1+((S-1)*2)+TR AT 140,80 5100 IF BF=1 THEN BF=0:A$="X":GOTO 5555
5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6080 5115 Q=PEEK(-16384):IF Q<128 THEN GOTO 6095
6000 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
6060 IF A$="Q" THEN END 6060 IF A$="Q" THEN END
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
6064 IF A$="Z" THEN TH=1 6064 IF A$="Z" THEN TR=1
6065 IF A$="V" THEN RA=RA+100 6066 IF A$="X" THEN TR=0
6066 IF A$="X" THEN TH=0 6067 IF A$="M" AND OM=1 THEN OM=0:CQ=-1:GOTO 4000
6067 IF A$="M" THEN GOTO 6300 6068 IF A$="M" AND OM=0 THEN OM=1:HOME:PRINT:PRINT CHR$(4);"BLOAD GLOBE.HGR,A$2000":GOTO 6095
6068 IF A$=" " AND LN=1 THEN S=S-1:XX=PEEK(-16336) 6070 IF A$=" " AND LN=1 THEN S=S-1:XX=PEEK(-16336)
6069 IF A$=" " AND LN=0 THEN GOSUB 7500 6071 IF A$=" " AND LN=0 THEN GOSUB 7500
6070 IF A$="E" THEN GOSUB 8100 6072 IF A$="E" THEN GOSUB 8100
6073 IF R=64 THEN R=0:AN=0 6073 IF R=64 THEN R=0:AN=0
6074 IF R=-8 THEN R=56 6074 IF R=-8 THEN R=56
6075 IF S<1 THEN S=1 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 6095 IF OM=1 THEN HX=INT(RX/25000)+140:HY=INT(-RY/25000)+85:HCOLOR=3:HPLOT HX,HY
6118 T=T+1 6118 T=T+1
6200 GOTO 4000 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 *** 7500 REM *** LAUNCH ***
7510 HCOLOR=0:HPLOT 110,110 TO 110,60:HPLOT TO 130,60: HPLOT 110,70 TO 130,70 7510 HCOLOR=0:HPLOT 110,110 TO 110,60:HPLOT TO 130,60: HPLOT 110,70 TO 130,70
7520 XX=PEEK(-16336) 7520 XX=PEEK(-16336)
@ -141,7 +109,7 @@
8000 REM *** CRASH *** 8000 REM *** CRASH ***
8010 SCALE=3 8010 SCALE=3
8015 GOSUB 8200 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 8030 FOR I=1 TO 50
8040 X=INT(RND(1)*80)+1:Y=INT(RND(1)*80)+1 8040 X=INT(RND(1)*80)+1:Y=INT(RND(1)*80)+1
8050 C=INT(RND(1)*7)+1:HCOLOR=C 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 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
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