new

20 A$="                                     ":P=14337:K=14350
50 GOSUB1000:GOSUB900:F=300:D=12488:E=2:G=10:H=1080:B=0
60 POKEK,0:L=PEEK(K):E=E+.1:IFF<1THENL=0:SOUND(3,1)
70 IFL<>0THENF=F-1:SOUND(1,1):IFL=40THENE=E-.3
80 H=H-E:IFL=12THENG=G-.3
90 IFL=6THENG=G+.3
95 B=B+G:IFB>2400THENB=B-2400
100 IFB<0THENB=B+2400
105 POKED,32:D=12488+(INT((1080-H)/60)*40)+INT(B/60)
110 POKEP,81:?A$:POKEP,81:?FTAB(6)GTAB(16)ETAB(25)H
115 IFD<12448THEND=12448:GOTO130
120 IFPEEK(D)<>32THEN300
125 POKED,25:IFH<.5THEN400
130 GOTO60
300 ?:?:FORX=1TO5:?TAB(2*X)"CRASHED !":NEXT
310 FORX=1TO6:FORY=30TO150STEP10:POKED,209
311 SOUND(2,Y):POKED,208:NEXT:NEXT
320 GOSUB1100:GOTO50
400 ?:?:FORX=1TO3:?TAB(2*X)"TOUCHDOWN !":NEXT:?
410 IFE>.5THEN?"You fell too fast ! Another Crater !":GOTO310
420 IFG<-.5ORG>.5THEN?"Horizontal speed too high ! WRECKED !":GOTO310
430 ?"Well done Captain ! You have a bonus  of $";F;" for fuel ";
440 ?"economy !":FORX=500TO50STEP-25:SOUND(10,X):NEXT:GOTO320
900 ?CHR$(11):FORX=13312TO13351:POKEX,2:NEXT:FORX=13352TO13471:POKEX,116
910 NEXT:FORX=13472TO14311:POKEX,128:NEXT:POKE13433,68:FORX=13208TO13247
920 A=INT(3*RND(1)+192):IFA=194THENA=143
925 POKEX,A:NEXT:FORX=13248TO13287:POKEX,127:NEXT:X=13225:POKEX,248
930 POKEX+1,193:POKEX+2,32:POKEX+3,32:POKEX+4,192:POKEX+5,244:POKEP,1
935 ?"FUEL";SPC(6);"HV";SPC(7);"VV";SPC(6);"HEIGHT":?:?:RETURN
1000 ?CHR$(11):FORX=1TO6:?:NEXT
1001 ?"  MOONLANDER   ";CHR$(5);" Digital Output 1984"
1010 ?:?TAB(4)"See packaging for instructions":?
1011 ?TAB(7)"Press z for upward thrust"
1012 ?TAB(6)"Press , and . for horizontal"
1100 ?:?:INPUT"RTN ";X:RETURN

rem noisy transfer
rem attempted fix
rem uses peek(14350) to read keyboard
rem for unexpanded Aquarius
