PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PC-SIG Diskette Library (Disk #55)

[PCjs Machine "ibm5170"]

Waiting for machine "ibm5170" to load....

Information about “GAME SERIES NO 9”

SMSPOKER is similar to a Las Vegas poker machine.  It's a solo game
played against the deck/machine.  You are dealt five cards in a
horizontal row.  The better the hands you get, the more $$$$ you can
win.  Between each poker hand, the game asks if you want to bet on
whether a random card drawn from the deck is higher or lower than eight.
Game features include adjustable playing speed, dealer/player
interaction, and real awards to registered winners.

BIO.BAS

1 M=VAL(LEFT$(DATE$,2))
2 D=VAL(MID$(DATE$,4,2))
3 Y=VAL(RIGHT$(DATE$,4))
5 WIDTH "LPT1:",255
10 CLS:DIM A(150)
11 INPUT "WHAT IS YOUR NAME ";NAM$
20 PRINT CHR$(23):PRINT TAB(12)"BIORYTHM FOR ";NAM$:PRINT STRING$(42,"+"):PRINT
25 LPRINT CHR$(23):LPRINT TAB(12)"BIORYTHM FOR ";NAM$:LPRINT STRING$(42,"+"):LPRINT
30 FOR I=1 TO 12:READ A(I):NEXT I
40 FOR I=101 TO 112:READ A(I):NEXT  I
50 DATA 0,31,59,90,120,151,181,212,243,273,304,334
60 DATA 31,28,31,30,31,30,31,31,30,31,30,31
70 A(55)=6.28318
80 GOTO 150
90 X=(V/X-INT(V/X))*A(55)
100 Y=SIN(X)
110 X=X*57.295755#
120 Y=(Y*18)+44
130 Y=INT(Y)
140 RETURN
150 A=VAL(LEFT$(DATE$,2))
151 B=VAL(MID$(DATE$,4,2))
160 C=VAL(RIGHT$(DATE$,4))
170 GOSUB 260
180 Z=T
190 INPUT  "enter birthdate - example: 9,4,1947 ";M,D,Y
200 E=M:F=D:G=Y
210 GOSUB 260
220 V=T-Z
230 V=ABS(V)
240 REM
250 GOTO 440
260 H=Y-1800
270 I=INT(H/4)
280 J=INT(I/25)
290 L=INT((H+200)/400)
300 K=0
310 IF I*4<>H GOTO 350
320 IF J*100<>H GOTO 350
330 IF L*400-200<>H GOTO 350
340 K=1
350 T=365*H+I-J+L-K
360 T=T+A(M)+D-1
370 IF M<3 GOTO 390
380 T=T+K
390 IF INT(H/4)<>H/4 GOTO 420
400 IF M>2 GOTO 420
410 T=T-1
420 N=T-7*INT(T/7)
430 RETURN
440 PRINT :PRINT
450 INPUT "how many days on graph ";O
460 CLS
470 GOTO 1460
480 PRINT "The potential for accidents to occur is greatest when"
485 LPRINT "The potential for accidents to occur is greatest when"
490 PRINT "one or more of your cycles crosses the center line."
495 LPRINT "one or more of your cycles crosses the center line."
500 PRINT "Graph symbols:"
505 LPRINT "Graph symbols:"
510 PRINT "              X - Center line"
515 LPRINT "              X - Center line"
520 PRINT "              P - Physical cycle"
525 LPRINT "              P - Physical cycle"
530 PRINT "              S - Sensitivity cycle (28 days)"
535 LPRINT "              S - Sensitivity cycle (28 days)"
540 PRINT "              C - Cognitive cycle (33 days)"
545 LPRINT "              C - Cognitive cycle (33 days)"
550 PRINT
560 CLS
570 LPRINT "Your birthday is ";:P=E:GOSUB 1070:LPRINT F;G
580 LPRINT "You were born on a ";:Q=N+1:GOSUB 1190
590 LPRINT ", ";V;" days (";INT((V/365)*100)/100;"years) ago."
600 LPRINT
610 LPRINT  "Here are your biorythm cycles"
620 LPRINT  "starting at ";:P=A:GOSUB 1070: LPRINT B;C
630 LPRINT  "and ending at ";
640 S=A:R=B+O-1:T=C
650 IF S<12 GOTO 670
660 S=1:T=T+1:GOTO 700
670 IF S<>2 GOTO 700
680 IF INT(T/4)<>T/4 THEN 700
690 K=1
700 IF R<=A(S+100)+K GOTO  730
710 R=R-(A(S+100)+K):IF S<>1 THEN S=S+1:K=0
720 GOTO 650
730 P=S:GOSUB 1070:LPRINT R;T
740 CLS
750 LPRINT TAB(7);"DATE";TAB(25)"(-)";TAB(43)"(X)";TAB(61)"(+)"
760 LPRINT
770 U=V+N:U=U-7*INT(U/7):B=B-1:U=U-1:V=V-1:K=0
780 FOR I=1 TO O:V=V+1:B=B+1:U=U+1:IF A<>2 THEN 810
790 IF INT(C/4)<>C/4 THEN 810
800 K=1
810 IF B<=A(A+100)+K THEN 830
820 A=A+1:B=1
830 IF U<7 THEN 850
840 U=0
850 IF A<=12 THEN 870
860 A=1:C=C+1
870 IF(A<>E)+(B<>F) THEN 890
880 LPRINT TAB(33);"happy ";ABS(C-G);" birthday"
890 W=U+1:GOSUB 1380
900 LPRINT "  ";:A(25)=A:GOSUB 1260:LPRINT B;C;
910 IF L$="P" OR  L$="A" THEN GOTO 920 ELSE GOTO 930
920 X=23 :GOSUB 90:A(30)=Y
930 IF L$="S" OR  L$="A"  GOTO 940 ELSE GOTO 950
940 X=28: GOSUB 90:A(35)=Y
950 IF L$="C" OR  L$="A" GOTO 960 ELSE GOTO 970
960 X=33:GOSUB 90:A(40)=Y
970 M=0:FOR L=19 TO 66 :LPRINT TAB(L);
980 IF A(30)=L THEN LPRINT "P";:GOTO 1030
990  IF A(35)=L THEN LPRINT "S";:GOTO 1030
1000  IF A(40)=L THEN LPRINT "C";:GOTO 1030
1010 IF 44=L THEN LPRINT "X";
1020 IF 66=L THEN LPRINT
1030 M=M+1:IF M<>4 THEN 1040:L=100
1040 NEXT L
1050 NEXT I
1060 END
1070 IF P=1 THEN LPRINT "JANUARY";:RETURN
1080  IF P=2 THEN LPRINT "FEBRUARY";:RETURN
1090  IF P=3 THEN LPRINT "MARCH";:RETURN
1100  IF P=4 THEN LPRINT "APRIL";:RETURN
1110  IF P=5 THEN LPRINT "MAY";:RETURN
1120  IF P=6 THEN LPRINT "JUNE";:RETURN
1130  IF P=7 THEN LPRINT "JUly";:RETURN
1140  IF P=8 THEN LPRINT "AUGUST";:RETURN
1150  IF P=9 THEN LPRINT "SEPTEMBER";:RETURN
1160  IF P=10 THEN LPRINT "OCTOBER";:RETURN
1170  IF P=11 THEN LPRINT "NOVEMBER";:RETURN
1180  IF P=12 THEN LPRINT "DECEMBER";:RETURN
1190  IF Q=1 THEN LPRINT "WEDNESDAY";:RETURN
1200  IF Q=2 THEN LPRINT "THURSDAY";:RETURN
1210  IF Q=3 THEN LPRINT "FRIDAY";:RETURN
1220  IF Q=4 THEN LPRINT "SATURDAY";:RETURN
1230  IF Q=5 THEN LPRINT "SUNDAY";:RETURN
1240  IF Q=6 THEN LPRINT "MONDAY";:RETURN
1250   LPRINT "TUESDAY";:RETURN
1260  IF A(25)=1 THEN LPRINT "JAN";:RETURN
1270  IF A(25)=2 THEN LPRINT "FEB";:RETURN
1280  IF A(25)=3 THEN LPRINT "MAR";:RETURN
1290 IF A(25)=4 THEN LPRINT "APR";:RETURN
1300  IF A(25)=5 THEN LPRINT "MAY";:RETURN
1310  IF A(25)=6 THEN LPRINT "JUN";:RETURN
1320  IF A(25)=7 THEN LPRINT "JUL";:RETURN
1330  IF A(25)=8 THEN LPRINT "AUG";:RETURN
1340  IF A(25)=9 THEN LPRINT "SEP";:RETURN
1350  IF A(25)=10 THEN LPRINT "OCT";:RETURN
1360  IF A(25)=11 THEN LPRINT "NOV";:RETURN
1370   LPRINT "DEC";:RETURN
1380 IF W=1 THEN LPRINT "WED";:RETURN
1390  IF W=2 THEN LPRINT "THU";:RETURN
1400  IF W=3 THEN LPRINT "FRI";:RETURN
1410  IF W=4 THEN LPRINT "SAT";:RETURN
1420  IF W=5 THEN LPRINT "SUN";:RETURN
1430  IF W=6 THEN LPRINT "MON";:RETURN
1440    LPRINT "TUE";:RETURN
1450 END
1460 PRINT "ENTER YOUR GRAPH CHOICE:"
1470 PRINT "                        P - PHYSICAL CYCLE ONLY"
1480 PRINT "                        C - COGNITAVE CYCLE ONLY"
1490 PRINT "                        S - SENSITIVITY CYCLE ONLY"
1500 PRINT "                        A - ALL CYCLES"
1510 PRINT
1520 INPUT "ENTER YOUR CHOICE (P,C,S, OR A) ";L$
1530 IF L$<>"P" AND  L$<>"S" AND  L$<>"C" AND  L$<>"A" GOTO 1520
1540 CLS:GOTO 480

CRAZY8.BAS

10 REM Author Les Davids
20    DIM SUIT$(4),CARD$(52),DECK$(52)
30 DIM FIG$(5,5)
40  DEFINT A-Z
50  DIM DECK(52),PHAND$(26),CHAND$(26)
60  DIM TEST(52),OLDHAND$(25)
70 SCREEN 0,1:COLOR 0,7,7:CLS
80 KEY OFF
90 LOCATE 2,9
100  PRINT "C R A Z Y   E I G H T S"
110 DIM VALUE$(13),VALUE(13)
120 LOCATE 4,1
130 PRINT"The objective of the game is to get rid"
140 PRINT"of all your cards by placing them on"
150 PRINT"the discard pile."
160 PRINT"You can play a card if you have the "
170 PRINT"same suit, the same number (in which"
180 PRINT"case the suit changes), or at any time"
190 PRINT"you can play an eight. If you play an"
200 PRINT"eight you will be prompted for new suit (h,c,s,d)."
210 PRINT"If you cannot go, hit the space bar."
220 PRINT"You will then be dealt a new card."
230 PRINT
240 PRINT"Game will end at 100 points."
250 PRINT"The winner receives points from the"
260 PRINT"losers hand. Points are equal to "
270 PRINT"face value. Face cards are 10 each,"
280 PRINT"aces are worth 15."
290 LOCATE 22,15:INPUT "NAME ",N$
300 CLS: LOCATE 2,9
310 DATA "A","2","3","4","5","6","7"
320 DATA "8","9","0","J","Q","K"
330 DATA 15,2,3,4,5,6,7,8,9,10,10,10,10
340 FOR I=1 TO 13:READ VALUE$(I):NEXT I
350 FOR I=1 TO 13:READ VALUE(I):NEXT I
360 PRINT "C R A Z Y   E I G H T S"
370 LOCATE 5,2:PRINT"SCORE"
380 LOCATE 6,4:PRINT "COMPUTER";CSCORE
390 LOCATE 7,4:PRINT N$;PSCORE
400 FOR I=1 TO 40
410 LOCATE 9,I: PRINT CHR$(205)
420 NEXT I
430 REM ** shuffle cards
440 GOSUB 1510
450 REM ** deal cards
460 COLOR 7,7
470 FOR I = 1 TO 8
480   J=1+((I-1)*2)
490   PHAND$(I)=DECK$(J)
500   CHAND$(I)=DECK$(J+1)
510   NEXT I
520   NEXTCARD = 18
530 UPCARD$ = DECK$(17)
540   PCARDS=8
550 CCARDS=8
560 REM ** sort player's hand
570 SORTTEST=1
580 WHILE SORTTEST
590   SORTTEST=0
600   FOR I=1 TO PCARDS-1
610     CHAR1$=MID$(PHAND$(I),3)
620     CHAR2$=MID$(PHAND$(I+1),3)
630     IF CHAR1$>CHAR2$ THEN                      SWAP PHAND$(I),PHAND$(I+1)              : SORTTEST = 1
640     NEXT I
650     WEND
660 THE$="   ": GOSUB 2380
670 THE$=UPCARD$: GOSUB 2470
680 ROW=4:COL=19:GOSUB 2390
690 ROW=10
700 FOR I=1 TO 6
710 IF I>(PCARDS+1) THEN 760
720 IF PHAND$(I)=OLDHAND$(I) THEN 780
730 OLDHAND$(I)=PHAND$(I)
740 THE$=PHAND$(I): GOSUB 2470
750 COL=1+(6*(I-1)): GOSUB 2390
760 LOCATE 15,(2+((I-1)*6))
770 IF I<=PCARDS THEN PRINT I                            ELSE PRINT "  "
780 NEXT I
790 ROW=17
800 FOR I=7 TO (PCARDS+1)
810 J=I-6
820 IF PHAND$(I)=OLDHAND$(I) THEN 960
830 OLDHAND$(I)=PHAND$(I)
840 THE$=PHAND$(I): GOSUB 2470
850 COL=1+(6*(J-1)): GOSUB 2390
860 LOCATE 22,(2+((I-7)*6))
870 IF I=(PCARDS+1) THEN                       PRINT "  ": GOTO 960
880 IF I<10 THEN PRINT I
890 IF I = 10 THEN PRINT " A"
900 IF I = 11 THEN PRINT " B"
910 IF I = 12 THEN PRINT " C"
920 IF I = 13 THEN PRINT " D"
930 IF I = 14 THEN PRINT " E"
940 IF I = 15 THEN PRINT " F"
950 IF I = 16 THEN PRINT " G"
960 NEXT I
970 LOCATE 23,20:PRINT"ENTER YOUR PLAY"
980 IN$=INKEY$:IF IN$="" THEN 980
990 LOCATE 7,29:PRINT"           "
1000 LOCATE 23,20:PRINT"THINKING       "
1010 IF IN$<>" " THEN 1090
1020 IF TAKE=1 THEN 1430
1030 PCARDS=PCARDS+1
1040 IF NEXTCARD = 53 THEN 2870
1050 PHAND$(PCARDS)=DECK$(NEXTCARD)
1060 NEXTCARD=NEXTCARD+1
1070 TAKE = 1
1080 GOTO 570
1090 IF IN$>"9" THEN 1120
1100 IN=VAL(IN$)
1110 GOTO 1220
1120 IF IN$="a" THEN IN=10
1130 IF IN$="b" THEN IN=11
1140 IF IN$="c" THEN IN=12
1150 IF IN$="d" THEN IN=13
1160 IF IN$="e" THEN IN=14
1170 IF IN$="e" THEN IN=15
1180 IF IN$<"a" OR IN$>"e" THEN 1190            ELSE 1220
1190 LOCATE 23,20
1200 PLAY "mfo1fd":PRINT "WRONG CARD"
1210 GOTO 970
1220 IN$=PHAND$(IN)
1230 IF MID$(IN$,2,1)="8" THEN 1290
1240 IF MID$(IN$,1,2) = MID$(UPCARD$,1,2) THEN 1380
1250 IF MID$(IN$,3,1) = MID$(UPCARD$,3,1) THEN 1380
1260 LOCATE 23,20
1270 PRINT "WRONG CARD"
1280 GOTO 970
1290 LOCATE 23,20: PRINT"WHAT SUIT?"
1300 S$=INKEY$: IF S$="" THEN 1300
1310 IF S$ = "c" THEN 1360
1320 IF S$ = "d" THEN 1360
1330 IF S$ = "h" THEN 1360
1340 IF S$ = "s" THEN 1360
1350 GOTO 1300
1360 REM ** switch suit
1370 MID$(IN$,3,1)=MID$(S$,1,1)
1380 TAKE = 0
1390 UPCARD$ = IN$
1400 IF IN = PCARDS THEN 1420
1410 PHAND$(IN) = PHAND$(PCARDS)
1420 PCARDS = PCARDS - 1
1430 PHAND$(PCARDS+1) = "   "
1440 IF PCARDS=0 THEN 2750
1450 TAKE=0
1460 GOSUB 1870
1470 IF CCARDS = 0 THEN 2750
1480 TAKE=0
1490 GOTO 560
1500 END
1510 REM ******* shuffle routine ******
1520 LOCATE 6,29: PRINT"NEW GAME"
1530 TIM$=MID$(TIME$,4,2)
1540 TIM$=TIM$+MID$(TIME$,7,2)
1550 SEED=VAL(TIM$)
1560 RANDOMIZE(SEED)
1570 COUNT = 1
1580 WHILE COUNT < 53
1590    NUMBR=100*RND
1600    IF NUMBR > 52 THEN 1590
1610    IF NUMBR = 0 THEN 1590
1620   IF TEST(NUMBR) = 1 THEN 1590
1630   TEST(NUMBR) = 1
1640   DECK(COUNT) = NUMBR
1650   COUNT = COUNT + 1
1660   WEND
1670 IF PSCORE <>0 OR CSCORE<>0                 THEN 1820
1680 DATA "c","d","h","s"
1690 FOR I=1 TO 4
1700 READ SUIT$(I)
1710 NEXT I
1720 DATA " A"," 2"," 3"," 4"," 5"," 6"," 7"
1730 DATA " 8"," 9","10"," J"," Q"," K"
1740 FOR I = 1 TO 4
1750   FOR J = 1 TO 13
1760     N = J+((I-1)*13)
1770     READ CARD$(N)
1780     CARD$(N)=CARD$(N)+SUIT$(I)
1790     NEXT J
1800   RESTORE 1720
1810   NEXT I
1820 FOR I=1 TO 52
1830   DECK$(I) = CARD$(DECK(I))
1840 PLAY "mbl64t255o0aa-p64"
1850   NEXT I
1860 RETURN
1870 REM ** computer section
1880 REM ** sort computer's hand
1890 TAKE=0
1900 SORTTEST=1
1910 WHILE SORTTEST
1920   SORTTEST=0
1930   FOR I=1 TO CCARDS-1
1940     CHAR1$=MID$(CHAND$(I),3)
1950     CHAR2$=MID$(CHAND$(I+1),3)
1960     IF CHAR1$>CHAR2$ THEN                      SWAP CHAND$(I),CHAND$(I+1)              : SORTTEST = 1
1970     NEXT I
1980     WEND
1990 REM ** look for suit
2000 FOR IN=1 TO CCARDS
2010   S$=MID$(UPCARD$,3,1)
2020   T$=MID$(CHAND$(IN),3,1)
2030   IF S$=T$ AND                               MID$(CHAND$(IN),2,1)<>"8"                THEN 2330
2040   NEXT IN
2050 REM ** look for number
2060 FOR IN=1 TO CCARDS
2070   S$=MID$(UPCARD$,1,2)
2080   T$=MID$(CHAND$(IN),1,2)
2090   IF S$=T$ THEN 2330
2100   NEXT IN
2110 REM ** look for eight
2120 FOR IN = 1 TO CCARDS
2130   IF MID$(CHAND$(IN),2,1)="8"                THEN 2250
2140   NEXT IN
2150 REM ** take another card
2160 IF TAKE = 1 THEN TAKE=0: RETURN
2170 TAKE = 1
2180 CCARDS=CCARDS+1
2190 CHAND$(CCARDS)=DECK$(NEXTCARD)
2200 NEXTCARD=NEXTCARD+1
2210 LOCATE 6,29:PRINT "CARDS ";CCARDS
2220 LOCATE 7,29: PRINT"TOOK CARD"
2230 IF NEXTCARD = 53 THEN 2870
2240 GOTO 1900
2250 REM ** space for playing 8
2260 IF IN = 1                                  THEN S$=MID$(CHAND$(2),3,1)             ELSE S$=MID$(CHAND$(1),3,1)
2270 MID$(CHAND$(IN),3,1)=S$
2280 LOCATE 7,29
2290 IF S$="c" THEN PRINT"CLUBS    "
2300 IF S$="d" THEN PRINT"DIAMONDS "
2310 IF S$="h" THEN PRINT"HEARTS   "
2320 IF S$="s" THEN PRINT"SPADES   "
2330 UPCARD$=CHAND$(IN)
2340 IF IN <> CCARDS THEN                       CHAND$(IN)=CHAND$(CCARDS)
2350 CCARDS=CCARDS-1
2360 LOCATE 6,29:PRINT "CARDS ";CCARDS
2370 IF CCARDS=1 THEN LOCATE 7,29:              PRINT"LAST CARD":SOUND 400,5
2380 RETURN
2390 REM ** print a card
2400 FOR SI=1 TO 5
2410 FOR SJ = 1 TO 5
2420 LOCATE (ROW+(SI-1)),(COL+(SJ-1))
2430 PRINT FIG$(SI,SJ)
2440 NEXT SJ,SI
2450 COLOR 2,7
2460 RETURN
2470 REM ** create figure
2480 IF PASS = 1 THEN 2640
2490 PASS=1
2500 FIG$(2,4)=" "
2510 FIG$(3,4)=" "
2520 FIG$(3,2)=" "
2530 FIG$(4,2)=" "
2540 FIG$(1,1)=CHR$(201)
2550 FIG$(1,5)=CHR$(187)
2560 FIG$(5,1)=CHR$(200)
2570 FIG$(5,5)=CHR$(188)
2580 FOR SI=1 TO 3
2590 FIG$(1,SI+1)=CHR$(205)
2600 FIG$(5,SI+1)=CHR$(205)
2610 FIG$(SI+1,1)=CHR$(186)
2620 FIG$(SI+1,5)=CHR$(186)
2630 NEXT SI
2640 IF THE$="   " THEN FOR SI=1 TO 5 :         FOR SJ=1 TO 5:COLOR 7,7:                FIG$(SI,SJ) = " ": NEXT SJ,SI:          PASS=0: RETURN
2650 COLOR 7,2:FIG$(2,3)=" "
2660 FIG$(4,3)=" "
2670 IF MID$(THE$,1,1)=" "                      THEN FIG$(2,2)=MID$(THE$,2,1):               FIG$(4,4)=FIG$(2,2)                ELSE FIG$(2,2)="1":FIG$(2,3)="0":            FIG$(4,3)="1":FIG$(4,4)="0"
2680 S$=MID$(THE$,3,1)
2690 IF S$="d" THEN FIG$(3,3)=CHR$(4):COLOR 4,7
2700 IF S$="c" THEN FIG$(3,3)=CHR$(5):COLOR 0,7
2710 IF S$="h" THEN FIG$(3,3)=CHR$(3):COLOR 4,7
2720 IF S$="s" THEN FIG$(3,3)=CHR$(6):COLOR 0,7
2730 RETURN
2740 END
2750 LOCATE 7,29
2760 IF PCARDS=0                                THEN PRINT"YOU WIN!!"                   ELSE PRINT"I WIN !!"
2770 FOR SI=1 TO PCARDS
2780 SPHAND$=SPHAND$+PHAND$(SI)
2790 FOR SJ=1 TO 13
2800 IF MID$(PHAND$(SI),2,1)=MID$(VALUE$(SJ),1,1)    THEN CSCORE=CSCORE+VALUE(SJ)
2810 NEXT SJ,SI
2820 FOR SI=1 TO CCARDS
2830 SCHAND$=SCHAND$+CHAND$(SI)
2840 FOR SJ=1 TO 13
2850 IF MID$(CHAND$(SI),2,1)=MID$(VALUE$(SJ),1,1)    THEN PSCORE=PSCORE+VALUE(SJ)
2860 NEXT SJ,SI
2870 FOR SI=1 TO 52
2880 TEST(SI)=0
2890 NEXT SI
2900 IF PSCORE<100 AND CSCORE <100              THEN 370
2910 LOCATE 6,4:PRINT "COMPUTER";CSCORE
2920 LOCATE 7,4:PRINT N$;PSCORE
2930 PRINT"thank you"
2940 END
65399 '** DONE - PRESS ENTER TO RETURN TO MENU **

DESERT.BAS

100 CLS
110 A$=STRING$(80,205)
120 PRINT A$
130 PRINT TAB(33)"DESERT  #2004"
140 COLOR 23,0,0
150 PRINT :PRINT :PRINT TAB(39)"IPCO"
160 COLOR 7,0,0
170 PRINT :PRINT :PRINT TAB(25)"PERSONAL COMPUTER OWNERS GROUP"
180 PRINT :PRINT :PRINT TAB(19)"p.o. box 10426, pittsburgh, pennsylvania 15234"
190 PRINT A$
200 PRINT :PRINT :PRINT :PRINT :PRINT
210 PRINT TAB(28)"PRESS ANY KEY TO CONTINUE"
220 A$=INKEY$:IF A$="" THEN 220
230 CLS
240 KEY 1," DRINK "
250 KEY 2," MOD "
260 KEY 3," FAST "
270 KEY 4," STOP "
280 KEY 5," STATUS? "
290 KEY 6," HOPE "
300 KEY 7,""
310 KEY 8,""
320 KEY 9,""
330 KEY 10,""
340 REM  ***  DESERT PROGRAM ***
350 REM TRANSLATED BY IPCO 2/82
360 CLS
370 PRINT TAB(35)"DESERT"
380 PRINT TAB(35)"******"
390 PRINT
400 PRINT TAB(29)"IBM BASICA FOR THE PC"
410 PRINT
420 PRINT
430 Y$=STRING$(80,205)
440 PRINT Y$
450 PRINT
460 PRINT
470 PRINT
480 FOR DELAY=1 TO 1000
490 NEXT DELAY
500 PRINT
510 PRINT "ENTER YOUR LAST NAME.";
520 INPUT L$
530 CLS
540 PRINT "WOULD YOU LIKE INSTRUCTIONS (Y OR N)";
550 INPUT D$
560 IF D$="N" THEN 870
570 CLS
580 PRINT
590 PRINT
600 PRINT  "WELCOME  TO  DESERT.  THE  OBJECT  IS  TO TRAVEL 40 MILES ACROSS THE GREAT GOBI" :PRINT
610 PRINT "DESERT. A TRIBE OF KNOCKED KNEED PIGMIES WILL BE CHASING YOU.  YOU WILL BE ASKED"
620 PRINT "FOR COMMANDS EVERY SO OFTEN..."
630 PRINT
640 PRINT
650 PRINT "   C O M M A N D S :"
660 PRINT "   ==============="
670 PRINT
680 PRINT "   #1 DRINK FROM YOUR CANTEEN"
690 PRINT "   #2 AHEAD MODERATE SPEED"
700 PRINT "   #3 AHEAD FULL SPEED"
710 PRINT "   #4 STOP FOR THE NIGHT"
720 PRINT "   #5 STATUS CHECK"
730 PRINT "   #6 HOPE FOR HELP"
740 PRINT
750 PRINT
760 PRINT "PRESS ANY KEY TO CONTINUE"
770 A$=INKEY$:IF A$="" THEN 770
780 CLS
790 PRINT
800 PRINT "YOU HAVE ONE QUART OF WATER WHICH WILL LAST YOU SIX DRINKS.":PRINT
810 PRINT "YOUR MAY RENEW YOUR WATER SUPPLY COMPLETELY AT AN OASIS.":PRINT
820 PRINT "YOU GET A HALF A QUART IF FOUND BY HELP.":PRINT
830 PRINT "IF HELP DOES NOT FIND YOU AFTER COMMAND SIX, YOU LOSE.":PRINT
840 PRINT "BE WARY OF COMMAND #3 USE IT ONLY WHEN YOUR CAMEL IS FRESH AND RESTED.":PRINT
850 PRINT
860 PRINT
870 PRINT :PRINT "GOOD LUCK AND GOOD CAMELING!":PRINT :PRINT
880 PRINT "PRESS ANY KEY TO CONTINUE"
890 A$=INKEY$:IF A$="" THEN 890
900 PRINT:CLS
910 PRINT "YOU ARE IN THE MIDDLE OF THE DESERT AT AN OASIS."
920 PRINT
930 GOSUB 2610
940 IF C>39 THEN 2030
950 Z=Z-1
960 IF Z=1 THEN 970 ELSE 1040
970 CLS
980 PRINT
990 PRINT "---------WARNING-----------GET A DRINK----------------"
1000 PRINT
1010 FOR DELAY=1 TO 2000
1020 NEXT DELAY
1030 CLS
1040 IF Z<0 THEN 2520
1050 P=P+1
1060 X2=INT(10*RND)+2.5
1070 IF Q>0 THEN 1690
1080 IF P<4 THEN 1210
1090 C1=C1+X2
1100 IF C1<C THEN 1200
1110 CLS
1120 PRINT "===================================="
1130 PRINT "THE PYGMIES HAVE CAPTURED":PRINT
1140 PRINT "YOU--CAMEL AND PEOPLE SOUP":PRINT
1150 PRINT "IS THEIR FAVORITE DISH!!!":PRINT
1160 FOR DELAY=1 TO 3500
1170 NEXT DELAY
1180 CLS
1190 GOTO 2440
1200 PRINT "THE PYGMIES ARE";C-C1;" MILES BEHIND YOU.":PRINT
1210 PRINT :PRINT "YOU HAVE TRAVELLED ";C;" MILES ALL TOGETHER.":PRINT
1220 PRINT :PRINT "WHAT IS YOUR COMMAND, CAMELEER ";L$;"";
1230 PRINT Y$
1240 INPUT Y
1250 ON Y GOTO 1540,1320,1390,1480,1510,1260
1260 T=INT(10*RND)
1270 IF T<>1 THEN 2020
1280 PRINT:PRINT "HELP HAS FOUND YOU IN A STATE OF UNCONSCIOUSNESS."
1290 S=3
1300 Z=4
1310 GOTO 940
1320 F=F+1
1330 IF F=8 THEN 2000
1340 GOSUB 1590
1350 X1=INT(10*RND)
1360 C=C+X1
1370 PRINT:PRINT "YOUR CAMEL LIKES THIS PLACE."
1380 GOTO 940
1390 F=F+3
1400 IF F>7 THEN 2000
1410 GOSUB 1590
1420 X1=2*INT(10*RND)
1430 C=C+X1
1440 PRINT
1450 PRINT:PRINT  "YOUR CAMEL IS BURNING ACROSS THE DESERT SANDS."
1460 PRINT
1470 GOTO 940
1480 PRINT:PRINT "YOUR CAMEL THANKS YOU!"
1490 F=0
1500 GOTO 950
1510 PRINT:PRINT "YOUR CAMEL HAS";7-F;"GOOD DAYS LEFT."
1520 PRINT :PRINT "YOU HAVE ";S;" DRINKS LEFT IN YOUR CANTEEN "
1530 PRINT :PRINT "YOU CAN GO ";Z;" COMMANDS WITHOUT DRINKING."
1540 S=S-1
1550 IF S<0 THEN 2020
1560 PRINT :PRINT "BETTER WATCH FOR AN OASIS !"
1570 Z=4
1580 GOTO 1220
1590 A=INT(100*RND)
1600 IF A>5 THEN 1940
1610 PRINT "WILD BERBERS HIDDEN IN THE SAND HAVE CAPTURED YOU."
1620 PRINT :PRINT "LUCKILY THE LOCAL SHEIK HAS AGREED TO THEIR RANSOME "
1630 PRINT :PRINT "DEMANDS....BUT....WATCH OUT FOR THE PYGMIES!!!!"
1640 PRINT
1650 PRINT "YOU HAVE A NEW CHOICE OF SUB-COMMANDS:"
1660 KEY 7," ESCAPE"
1670 PRINT
1680 KEY 8," WAIT "
1690 PRINT " #7 ATTEMPT TO ESCAPE"
1700 PRINT " #8 WAIT FOR PAYMENT"
1710 PRINT
1720 PRINT "YOUR SUB-COMMAND ";
1730 INPUT X
1740 IF X=8 THEN 1820
1750 X1=INT(10*RND)
1760 IF X1<5 THEN 1800
1770 PRINT :PRINT "CONGRATULATIONS, YOU ESCAPED SUCCESSFULLY !!!!!"
1780 Q=0
1790 GOTO 940
1800 PRINT :PRINT "YOU ARE MORTALLY WOUNDED BY A PIG STABBER WHILE ESCAPING!!!!"
1810 GOTO 2260
1820 X1=INT(100*RND)
1830 REM
1840 IF X1>24 THEN 1900
1850 PRINT :PRINT "YOUR RANSOME HAS BEEN PAID AND YOU ARE FREE TO GO."
1860 FOR DELAY=1 TO 4000
1870 NEXT DELAY
1880 Q=0
1890 GOTO 940
1900 PRINT "THE LOCAL SULTAN IS COLLECTING... JUST WAIT..."
1910 FOR DELAY=1 TO 4000
1920 NEXT DELAY
1930 GOTO 940
1940 A=INT(10*RND)
1950 IF A>2 THEN 2100
1960 PRINT :PRINT "YOU HAVE ARRIVED AT AN OASIS, YOUR CAMEL IS FILLING YOUR CANTEEN AND EATING FIGS"
1970 Z=4
1980 S=6
1990 RETURN
2000 PRINT :PRINT "YOU DIRTY RAPSCALLION !!!"
2010 PRINT :PRINT "YOU RAN YOUR POOR CAMEL TO DEATH !!!!!"
2020 GOTO 2260
2030 CLS
2040 PRINT Y$
2050 X$=STRING$(80,2)
2060 PRINT X$
2070 PRINT "YOU WIN!  A PARTY IS BEING GIVEN IN YOUR HONOR........."
2080 PRINT :PRINT "...THE PYGMIES ARE PLANNING TO ATTEND......."
2090 GOTO 2440
2100 X1=INT(100*RND)
2110 IF X1>5 THEN 2210
2120 PRINT :PRINT "YOU HAVE BEEN CAUGHT IN A SANDSTORM...... GOOD LUCK !!!"
2130 X5=INT(10*RND)
2140 X6=INT(10*RND)
2150 IF X6<5 THEN 2180
2160 C=C+X5
2170 GOTO 2190
2180 C=C-X5
2190 PRINT :PRINT "YOUR NEW POSITION IS ";C;" MILES SO FAR!"
2200 RETURN
2210 X1=INT(100*RND)
2220 IF X1>5 THEN 1250
2230 C1=C1+1
2240 PRINT :PRINT "YOUR CAMEL HAS HURT HIS HUMP LUCKILY THE PYGMIES WERE FOOTWEARY !!!!"
2250 RETURN
2260 U=INT(10*RND)
2270 PRINT :PRINT "YOU DIED IN THE DESERT."
2280 FOR DELAY=1 TO 4000
2290 NEXT DELAY
2300 PRINT
2310 IF U>1 THEN 2340
2320 PRINT "THE NATIONAL CAMEL'S UNION IS NOT ATTENDING YOUR FUNERAL !!!"
2330 GOTO 2440
2340 IF U>3 THEN 2370
2350 PRINT :PRINT "YOUR BODY WAS EATEN BY VULTURES AND IMPORTED CANNIBALS !!!!"
2360 GOTO 2440
2370 IF U>5 THEN 2400
2380 PRINT :PRINT "THE LOCAL SHEIK NOW USES YOUR SKULL FOR A CHANGE PURSE !!!!"
2390 GOTO 2440
2400 IF U>7 THEN 2430
2410 PRINT :PRINT "PEOPLE WITH LITTLE INTELLIGENCE SHOULD STAY OUT OF THE DESERT!!!!"
2420 GOTO 2440
2430 PRINT :PRINT "TURKEYS SHOULD FLY, NOT RIDE CAMELS !!!"
2440 PRINT
2450 FOR DELAY=1 TO 4000
2460 NEXT DELAY
2470 PRINT
2480 PRINT "WANT A NEW CAMEL AND A NEW GAME (Y OR N)";
2490 INPUT D$
2500 IF D$="Y" THEN 850
2510 GOTO 2540
2520 PRINT :PRINT "YOU RAN OUT OF WATER........SORRY CHUM!!!!!"
2530 GOTO 2260
2540 CLS
2550 PRINT Y$
2560 PRINT X$
2570 PRINT TAB(37)"CHICKEN"
2580 PRINT X$
2590 PRINT Y$
2600 END
2610 Z=4
2620 S=6
2630 C=0
2640 C1=0
2650 Q=0
2660 F=0
2670 P=0
2680 RETURN

FILES55.TXT

Disk No:   55
Program Title:  GAMES SERIES #9
PC-SIG version: 1.2

Your Basic Games Package: Games for all ages, IQ's, biorhythms and
genders.  Games of chance, games of skill, games for just about
everyone.  Do for yourself and your friends, play poker against your
computer, race across a desert, or race around the horse track.  And
when you're finished, let your computer serenade you with one of several
tunes.

Usage:  Entertainment/Games.

Special Requirements:  A version of the BASIC language.

How to Start:  Type GO (press enter).

Suggested Registration:  $10.00 for SMSPOKER.

File Descriptions:

BIO      BAS  Biorythms - from today's date.
CRAZY8   BAS  Game - uses character graphics for cards.
DESERT   BAS  Game.
HRSERACE BAS  Game - horse race.
IPCOGOLF BAS  Game - golf.
JETPILOT BAS  Fly from pilots control panel.
JETPILOT DOC  Documentation for JETPILOT.BAS.
LANDER   BAS+ Game - land space vehicle - graphics and sound.
LANDER   BIN  Used by LANDER.BAS.
LANDER   SCR  Used by LANDER.BAS.
NADIA    BAS  Song.
PHOENIX  BAS  Song.
ROULETTE BAS  Game - roulette.
SESAME   BAS  Song.
SMSPOKER EXE+ Game - Buck Mann's poker for one - uses graphics.
SMSPOKER DOC  Manual for SMSPOKER.EXE.
STARWARS BAS  Song.

PC-SIG
1030D E Duane Avenue
Sunnyvale Ca. 94086
(408) 730-9291
(c) Copyright 1987,88,89 PC-SIG, Inc.


GO.TXT

╔═════════════════════════════════════════════════════════════════════════╗
║                    <<<<  Disk No 55  Games #9  >>>>                     ║
╠═════════════════════════════════════════════════════════════════════════╣
║                                                                         ║
║   To start the Buck Mann's poker, type:                                 ║
║                                                                         ║
║             SMSPOKER (press enter)                                      ║
║                                                                         ║
║   To print the documentation on this disk, type:                        ║
║                                                                         ║
║             COPY *.DOC PRN (press enter)                                ║
║                                                                         ║
║   To run the BASIC language programs on this disk, please consult       ║
║   your BASIC language manual for the specifics for your system.         ║
║                                                                         ║
╚═════════════════════════════════════════════════════════════════════════╝

HRSERACE.BAS

10 KEY OFF:CLS
20 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
30 PRINT"░┌───────────────────────────────────┐░"
40 PRINT"░│                                   │░"
50 PRINT"░│            2045-A.BAS             │░"
60 PRINT"░│            HORSE RACES            │░"
70 PRINT"░│                                   │░"
80 PRINT"░│                                   │░"
90 PRINT"░│ BROUGHT TO YOU BY THE MEMBERS OF  │░"
100 PRINT"░│      ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄      │░"
110 PRINT"░│        █   █   █ █     █   █      │░"
120 PRINT"░│        █   █▄▄▄█ █     █   █      │░"
130 PRINT"░│        █   █     █     █   █      │░"
140 PRINT"░│      ▄▄█▄▄ █     █▄▄▄▄ █▄▄▄█      │░"
150 PRINT"░│                                   │░"
160 PRINT"░│      International PC Owners      │░"
170 PRINT"░│                                   │░"
180 PRINT"░│P.O. Box 10426, Pittsburgh PA 15234│░"
190 PRINT"░│                                   │░"
200 PRINT"░└───────────────────────────────────┘░"
210 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
220 PRINT
230 PRINT "       PRESS ANY KEY TO CONTINUE
240 A$=INKEY$: IF A$="" THEN 240
250 CLS
1000 SAMP$="NO":GOTO 1020
1010 SAMP$="YES"
1020 KEY OFF:WIDTH 80:CLS
1030 DEF SEG=64:POKE 23,64'CAPITAL LETTERS
1040 DEF SEG=0:POKE 1050, PEEK(1052):DEF SEG:POKE 106,0
1050 RANDOMIZE VAL(MID$(TIME$,7,2)+MID$(TIME$,4,2))
1060 INPUT "INSTRUCTIONS FOR HORSE RACE GAME";Y$
1070 IF LEFT$(Y$,1)="N" THEN 1210
1080 IF LEFT$(Y$,1)<>"Y" THEN PRINT "?what?":GOTO 1060
1090 PRINT"IN THIS GAME THERE CAN BE FROM 2 TO 10 PLAYERS"
1100 PRINT"THE TOTAL MONEY AVAILABLE TO EACH IS $200.00"
1110 PRINT"YOU CAN HAVE UP TO 10 RACES IN A GAME."
1120 PRINT"WHEN THERE IS ONLY ONE PLAYER WITH MONEY,"
1130 PRINT"THE GAME IS OVER. ANY BET BEYOND THE AMOUNT"
1140 PRINT"IN THE BANK WILL BE IGNORED. ONCE YOU HAVE"
1150 PRINT"LOST IT ALL, YOU ARE DONE FOR THAT GAME."
1160 PRINT"THERE ARE 5 HORSES, #1 TO #5, TO BET ON."
1170 PRINT"THE ODDS ARE: #1 2-1,#2 3-1,#3 5-1,"
1180 PRINT"#4 10-1,#5 20-1, SO BET ACCORDINGLY."
1190 PRINT"GOOD LUCK AT THE RACES."
1200 PRINT
1210 INPUT "HOW MANY PLAYERS";X
1220 INPUT "HOW MANY RACES";Z
1230 FOR J=1 TO X
1240 C(J)=200
1250 NEXT J
1260 G=0
1270 F=0
1280 PRINT
1290 FOR J=1 TO X
1300 IF C(J)=0 THEN 1330
1310 P=J
1320 F=F+1
1330 NEXT J
1340 IF F<2 THEN 1980
1350 PRINT"TYPE THE # OF THE HORSE, THE BET FOR RACE";G+1
1360 FOR J=1 TO X
1370 IF C(J)=0 THEN 1400
1380 PRINT"PLAYER #";J;" ";
1390 INPUT E(J),D(J)
1400 IF D(J)>C(J) THEN D(J)=C(J)
1410 IF E(J)<1 THEN 1460
1420 IF E(J)>5 THEN 1460
1430 NEXT J
1440 PRINT
1450 GOTO 1480
1460 PRINT"BET ON HORSE #1 TO 5 ONLY."
1470 GOTO 1380
1480 FOR J=1 TO 5
1490 A(J)=0
1500 B(J)=1
1510 NEXT J
1520 G=G+1
1530 REM ***** START THE RACES ******
1540 PLAC=5:CLS
1550 COLOR 23:PRINT "   START THE RACES";:COLOR 15:PRINT TAB(74);"END"
1560 GOSUB 2070
1570 DONE=0
1580 FOR J=1 TO 5:LOCATE J+5,1:PRINT J:A(J)=1:NEXT
1590 GOSUB 2070
1600 LOCATE 1,1:PRINT "                      "
1610 FOR I=1 TO 500
1620 FOR J=1 TO 5
1630 OLD=A(J):IF OLD>75 THEN OLD=75
1640 A(J)=A(J)+RND*6-J/4+1.25
1650 NW=A(J):IF NW>75 THEN NW=75:DONE=1
1660 FOR J1=OLD TO NW:LOCATE J+5,J1:PRINT " ";J;:NEXT
1670 NEXT J
1680 IF DONE=1 THEN LOCATE 1,1:PRINT "   COLLECT YOUR WINNINGS":GOTO 1710
1690 NEXT I
1700 REM ***** FIND WINNER *****
1710 FOR J=1 TO 5
1720 FOR K=1 TO 5
1730 IF A(J)>A(K) THEN B(K)=B(K)+1
1740 NEXT K
1750 NEXT J
1760 PRINT
1770 FOR J=1 TO 5
1780 IF B(J)=1 THEN 1800
1790 NEXT J
1800 LOCATE 12,1:PRINT"HORSE #";J;"IS THE WINNER."
1810 FOR J=1 TO X
1820 IF B(E(J))=1 THEN 1870
1830 IF B(E(J)) <> 1 THEN C(J)=C(J)-D(J)
1840 PRINT"PLAYER #";J;"$";C(J)
1850 NEXT J
1860 GOTO 1930
1870 IF E(J)=1 THEN C(J)=C(J)+2*D(J)
1880 IF E(J)=2 THEN C(J)=C(J)+3*D(J)
1890 IF E(J)=3 THEN C(J)=C(J)+5*D(J)
1900 IF E(J)=4 THEN C(J)=C(J)+10*D(J)
1910 IF E(J)=5 THEN C(J)=C(J)+20*D(J)
1920 GOTO 1840
1930 IF G=Z THEN 1950
1940 GOTO 1270
1950 PRINT Z;"RACES HAVE BEEN RUN. THE PLAYER"
1960 PRINT"WITH THE MOST MONEY IS THE WINNER."
1970 GOTO 2020
1980 IF F=0 THEN 2010
1990 PRINT"PLAYER #";P;"IS THE WINNER"
2000 GOTO 2020
2010 PRINT"THERE IS NO WINNER"
2020 INPUT "WANT A NEW GAME";Y$
2030 IF LEFT$(Y$,1)="Y" THEN 1210
2040 IF LEFT$(Y$,1)<>"N" THEN PRINT "?what?":GOTO 2020
2050 PRINT"HOPE YOU HAD FUN AT THE RACES."
2060 IF SAMP$="YES" THEN CHAIN "SAMPLES",1000 ELSE END
2070 REM ******* WAIT ******
2080 FOR IW=1 TO 1000:NEXT
2090 RETURN

IPCOGOLF.BAS

100 CLS
110 A$=STRING$(80,205)
120 PRINT A$
130 PRINT TAB(36)"GOLF 2006"
140 COLOR 23,0,0
150 PRINT :PRINT :PRINT TAB(39)"IPCO"
160 COLOR 7,0,0
170 PRINT :PRINT :PRINT TAB(25)"PERSONAL COMPUTER OWNERS GROUP"
180 PRINT :PRINT :PRINT TAB(19)"p.o. box 10426, pittsburgh, pennsylvania 15234"
190 PRINT A$
200 PRINT :PRINT :PRINT :PRINT :PRINT
210 PRINT TAB(28)"PRESS ANY KEY TO CONTINUE"
220 A$=INKEY$:IF A$="" THEN 220
230 CLS
240 REM CONVERTED BY STEVE ESTLE
250 CLS
260 RANDOMIZE
270 DIM A$(25)
280 A$(1)="1ST TEE"
290 A$(2)="2ND TEE"
300 A$(3)="3RD TEE"
310 A$(4)="4TH TEE"
320 A$(5)="5TH TEE"
330 A$(6)="6TH TEE"
340 A$(7)="7TH TEE"
350 A$(8)="8TH TEE"
360 A$(9)="9TH TEE"
370 A$(10)="10TH TEE"
380 A$(11)="11TH TEE"
390 A$(12)="12TH TEE"
400 A$(13)="13TH TEE"
410 A$(14)="14TH TEE"
420 A$(15)="15TH TEE"
430 A$(16)="16TH TEE"
440 A$(17)="17TH TEE"
450 A$(18)="18TH TEE"
460 PRINT
470 PRINT
480 PRINT
490 INPUT "ARE YOU A NEW MEMBER OF THE CLUB?  ENTER Y OR N";X$
500 CLS
510 IF X$="Y" THEN 550
520 IF X$="N" THEN 790
530 PRINT "I CAN SEE YOU HAVE ALREADY SPENT CONSIDERABLE TIME AT THE 19THHOLE TRY ANSWERING AGAIN."
540 GOTO 490
550 PRINT :PRINT :PRINT :PRINT
560 PRINT "             YOU ARE ABOUT TO PLAY A ROUND OF GOLF                                           AT THE NEW AND EXCITING ESSICK COUNTRY                                          CLUB."
570 PRINT
580 PRINT TAB(18)"********** THESE ARE YOUR CLUBS **********"
590 PRINT
600 PRINT
610 PRINT TAB(26)"  4 WOODS NUMBERED 1 THRU 4"
620 PRINT
630 PRINT TAB(26)"  8 (EIGHT) IRONS  2 THRU 9"
640 PRINT
650 PRINT TAB(26)"  A PUTTER AND A WEDGE"
660 PRINT
670 PRINT
680 INPUT "PRESS ENTER FOR INSTRUCTIONS ";X0$
690 CLS
700 PRINT
710 PRINT
720 PRINT
730 PRINT "A PUTTER CAN BE USED ONLY ON THE GREEN.  YOU PUTT BY INPUTTING A NUMBER FROM 1  TO 10. THE DISTANCE AND ACCURACY OF YOUR PUTT ARE CONTROLLED BY THE MAGNITUDE "
740 PRINT "OF YOUR INPUT.  A 1 WILL TAP THE BALL ACCURATELY, A TEN WILL DRIVE IT APPROX    100 FT WITH QUESTIONABLE ACCURACY."
750 PRINT
760 PRINT TAB(26)"PRESS ENTER TO CONTINUE.."
770 INPUT I9$
780 CLS
790 S=S+1
800 IF S<>19 THEN 830
810 K1=2
820 GOTO 2600
830 IF S<>10 THEN 930
840 K1=1
850 PRINT
860 PRINT
870 PRINT "DO YOU WANT TO PLAY ANOTHER NINE HOLES,  ";
880 INPUT "YES/NO ";X2$
890 IF X2$="Y" THEN 930
900 IF X2$="N" THEN 2600
910 PRINT :PRINT :PRINT "IF YOU PLAY LIKE YOU TYPE YOU WILL NEVER MAKE IT!!!"
920 GOTO 870
930 PRINT
940 PRINT
950 READ Y
960 Y1=Y
970 READ D
980 PRINT "YOU ARE ON THE ";A$(S);"..."
990 PRINT "IT IS ";Y;" YARDS LONG, PAR ";D
1000 C=0
1010 K=0
1020 PRINT
1030 IF INT(Y)=0 THEN 2150
1040 C=C+1
1050 IF S+C<3 THEN 1080
1060 PRINT :PRINT :PRINT "WEDGE, IRON OR WOOD";
1070 GOTO 1090
1080 PRINT "TELL ME WHICH TYPE OF CLUB TO USE, A WEDGE AN IRON OR A WOOD.  FROM NOW ON I    WILL JUST ASK WEDGE, IRON OR WOOD."
1090 INPUT Z$
1100 IF Z$="WOOD" THEN 1380
1110 IF Z$="WEDGE" THEN 1150
1120 IF Z$="IRON" THEN 1210
1130 PRINT "YOU CAN ONLY CHOOSE A WEDGE, IRON OR WOOD."
1140 GOTO 1090
1150 IF Y<(18*RND+73) THEN 1180
1160 PRINT "  HEY... YOU CAN'T USE A WEDGE AT THIS DISTANCE...."
1170 GOTO 1060
1180 IF INT(15*RND)=13 THEN 2530
1190 Y=Y-(INT(75*RND+50))
1200 GOTO 2070
1210 PRINT "WHAT NUMBER IRON ";
1220 INPUT A
1230 IF A<2 THEN 1260
1240 IF A>9 THEN 1260
1250 GOTO 1280
1260 PRINT "YOUR IRONS ARE NUMBERED 2 THRU 9, RETYPE..."
1270 GOTO 1220
1280 IF K=0 THEN 1310
1290 IF INT(5*RND)=3 THEN 2070
1300 GOTO 2020
1310 M=INT(35*RND+200)
1320 X=INT(M-14.4*A-(7*RND+38))
1330 Y=Y-X
1340 IF M/27=INT(M/27) THEN 1950
1350 IF M/8=INT(M/8) THEN 1850
1360 IF M/69=INT(M/69) THEN 2530
1370 GOTO 1700
1380 PRINT "WHAT NUMBER WOOD";
1390 INPUT A
1400 IF A<1 THEN 1430
1410 IF A>4 THEN 1430
1420 GOTO 1450
1430 PRINT "YOUR WOODS ARE NUMBERED 1-4, RETYPE...";
1440 GOTO 1390
1450 IF K=0 THEN 1480
1460 IF INT(7*RND)=3 THEN 2070
1470 GOTO 2020
1480 X=INT(RND*250)
1490 IF A<>1 THEN 1520
1500 IF X<220 THEN 1480
1510 GOTO 1620
1520 IF A<>2 THEN 1560
1530 IF X<210 THEN 1480
1540 IF X>230 THEN 1480
1550 GOTO 1620
1560 IF A<>3 THEN 1600
1570 IF X<200 THEN 1480
1580 IF X>220 THEN 1480
1590 GOTO 1620
1600 IF X<190 THEN 1480
1610 IF X>210 THEN 1480
1620 Y=Y-X
1630 FOR I=1 TO (4-A+C^2)
1640 V=INT(30*RND)
1650 IF X/11=INT(X/11) THEN 1770
1660 IF X/5=INT(X/5) THEN 1900
1670 IF X/28=INT(X/28) THEN 1800
1680 IF X/27=INT(X/27) THEN 1950
1690 NEXT I
1700 IF Y>27 THEN 1750
1710 IF Y<-23 THEN 1990
1720 IF ABS(Y)<5 THEN 1880
1730 IF (3.3*RND)=2 THEN 1840
1740 GOTO 2070
1750 PRINT "YOU HIT IT ";X;" YARDS. YOU ARE ";Y;" YARDS AWAY."
1760 GOTO 1020
1770 IF Y<25 THEN 1850
1780 PRINT "YOU ARE IN THE LEFT ROUGH ";Y;" YARDS AWAY."
1790 GOTO 1020
1800 PRINT "YOU SLICED THE BALL INTO A POND.  LOSE TWO STROKES AND REPLAY.."
1810 C=C+1
1820 Y=Y1
1830 GOTO 1020
1840 Y=ABS(Y)
1850 Y=30*RND+15
1860 PRINT "YOU'RE IN A TRAP NEAR THE GREEN."
1870 GOTO 1020
1880 PRINT "YOU S U N K THE SHOT......."
1890 GOTO 2540
1900 IF V/6=A THEN 1950
1910 IF Y-20<X-(A*V) THEN 1700
1920 PRINT "YOU`RE IN THE RIGHT ROUGH ";Y+25;" YARDS AWAY..."
1930 Y=Y-25
1940 GOTO 1020
1950 PRINT "THE BALL IS LOST IN THE WOODS.  REPLAY....TWO STROKE PENALTY.."
1960 C=C+1
1970 Y=Y1
1980 GOTO 1020
1990 Y=ABS(Y)
2000 PRINT "YOU OVERSHOT THE GREEN BY ";Y;" YARDS..."
2010 GOTO 1020
2020 IF INT(2*RND)=1 THEN 2050
2030 PRINT "THE IDEA IS TO HIT THE BALL NOT THE SAND.."
2040 GOTO 1020
2050 PRINT "YOU TOPPED IT NO GAIN.."
2060 GOTO 1020
2070 IF INT(4*RND)<>3 THEN 2100
2080 F=INT(10*RND)
2090 GOTO 2140
2100 IF INT(7*RND)<>7 THEN 2130
2110 F=INT(50*RND+50)
2120 GOTO 2140
2130 F=INT(50*RND+10)
2140 IF INT(F)=0 THEN 2540
2150 IF F<>1 THEN 2180
2160 PRINT "YOU ARE ON THE GREEN 1 FT FROM THE PIN.. LUCK SHOT...."
2170 GOTO 2200
2180 PRINT "YOU ARE ON THE GREEN,";F;"FEET FROM THE PIN..."
2190 PRINT
2200 PRINT
2210 C=C+1
2220 PRINT "WHAT IS YOUR PUTT";
2230 INPUT A
2240 IF A>10 THEN 2270
2250 IF A<1 THEN 2270
2260 GOTO 2290
2270 PRINT "CAN'T USE THAT...RETYPE."
2280 GOTO 2230
2290 K=F
2300 F=INT(F=(A^2+A-((.5*A^2-A+1)*RND)))
2310 IF ABS(F)>(RND+1.5) THEN 2390
2320 IF K>5 THEN 2480
2330 IF INT(10*RND)=7 THEN 2360
2340 PRINT "THE TAP IS GOOD.."
2350 GOTO 2540
2360 PRINT "OH BOY, YOU JABBED THE PUTT";INT(9*RND+2);"INCHES FROM THE CUP.."
2370 F=1
2380 GOTO 2200
2390 IF F=0 THEN 2480
2400 IF F>0 THEN 2430
2410 F=ABS(F)
2420 PRINT "YOU OVERSHOT THE BLOOMING CUP!!!"
2430 IF F<>1 THEN 2460
2440 PRINT "YOU ARE ONE FOOT FROM THE PIN..."
2450 GOTO 2390
2460 PRINT "YOU ARE NOW ";F;" FEET FROM THE PIN..."
2470 GOTO 2200
2480 IF K<>1 THEN 2510
2490 PRINT "YOU SUNK IT FROM ONE FOOT."
2500 GOTO 2540
2510 PRINT "YOU SUNK IT FROM ";K;" FEET.."
2520 GOTO 2540
2530 PRINT "YOU    S U N K    IT!!!!!!"
2540 PRINT
2550 IF C<>1 THEN 2570
2560 PRINT "************HOLE   IN   ONE**************"
2570 E=E+C
2580 PRINT "YOU HAVE HAD ";C;" STROKES ON HOLE NUMBER ";S;"."
2590 GOTO 790
2600 PRINT "AFTER";(K1*9);"HOLES YOU HAVE HAD";E;" STROKES..."
2610 IF K1*36-E<0 THEN 2700
2620 IF (K1*36-E)<>0 THEN 2650
2630 PRINT "NICE GAME....... YOU SHOT PAR!!!!"
2640 GOTO 2730
2650 PRINT "THE PAR IS";(K1*36);".  YOU ARE";(K1*36-E);"UNDER PAR."
2660 PRINT
2670 PRINT TAB(28)"CONGRATULATIONS!!!!!!"
2680 PRINT :PRINT :PRINT TAB(12)"YOU PLAYED A GREAT GAME AT THE ESSICK COUNTRY CLUB !!!!"
2690 GOTO 2730
2700 PRINT "THE PAR IS";(K1*36);".  YOU ARE";(E-K1*36);"OVER PAR."
2710 DATA 374,4,434,4,210,3,376,4,205,3,440,4,422,4,510,5,595,5
2720 DATA 510,5,434,4,210,3,312,4,428,4,440,4,205,3,515,5,318,4
2730 END

JETPILOT.BAS

1 ' JET PILOT -- Flight Simulation Program
2 '
10 P$="###.##":GOSUB 5000:GOSUB 8020
20 DEFSTR O:DIM O(10):O(1)="THROTTLE":O(2)="CONTROL":O(3)="FLAP":O(4)="SPD BRAKE":O(5)="LND GEAR":O(6)="SPOILER":O(7)="TAIL HOOK":O(8)="WEAPONS":O(9)="FUEL SYSTEM":O(10)="F I R E  W A R N I N G"
30 O1(1)="VERY POOR":O1(2)="POOR":O1(3)="AVERAGE":O1(4)="GOOD":O1(5)="EXCELLENT":O2(1)="FOXFIRE":O2(2)="HUNTER":O2(3)="AVENGER":O2(4)="SWIFT-SWORD":O2(5)="GAUNTLET"
35 O3(1)="F-18":O3(2)="F-14":O3(3)="F-4":O3(4)="A-6":O3(5)="A-6"
40 CLS:LD=1:TF=0:K1=10:K2=2:K3=0.5:K4=1.1:K5=7.5:K7=0.000009999999:K8=0.00005:K9=5:KA=0.01:KB=2.5:RA=57.29578:W=350000!:KE=0.2:KF=1:AS=0:VH=0:VV=0:T=0:TR=0:Z4=3.5/RA:Z5=0.02:WL=0:X9=0:Y9=0:DY=0:R1=0:R9=0
42 T7=30+(INT(30*RND(1))):TS=INT(10*RND(1))
60 DT=1:FL=2750*100
70 WZ=1:IF FL<82500! THEN PRINT "INSUFFICIENT FUEL":GOTO 60 ELSE IF FL>(200000!+75000!*DT) THEN PRINT "EXCESSIVE FUEL":GOTO 60
80 XT=INT(50*RND(1))-INT(50*RND(1)):YT=INT(50*RND(1))-INT(50*RND(1)):W1=INT(360*RND(1)):WS=INT(400*RND(1))+250:AT=10000+INT(30000*RND(1))-INT(20000*RND(1)):IF AT<0 THEN GOTO 80
82 LOCATE 10,10:PRINT"J E T   P I L O T -- A Flight Simulation Game":FOR DELAY=1 TO 1000:NEXT
84 LOCATE 15,10:INPUT"Do you need instructions";A$:IF LEFT$(A$,1)="Y" THEN GOSUB 1860
90 LOCATE 17,10:INPUT "CARRIER LAUNCH (Y/N)";A$:IF LEFT$(A$,1)="N" OR A$="" THEN 100 ELSE D(0)=650:Z4=1.5/RA:Z5=0:AE=1:TF=0:CV=1:V1=(INT(36*RND(1))-1)*10:V2=((INT(25*RND(1))+10)*6080)/3600:HD=V1:H(TF)=V1:GOTO 120
100 O(7)="DRAG CHUTE":AE=20:CX=1:FOR I=0 TO 7:D(I)=3500+(INT(40*RND(1))*100):H(I)=(INT(36*RND(1))*10):NEXT I:DX=D(0):HD=H(0)+INT(10*RND(1))-INT(10*RND(1)):FOR I=1 TO 7:X(I)=INT(120*RND(1))-INT(120*RND(1)):Y(I)=INT(120*RND(1))-INT(120*RND(1)):NEXT I
105 X(0)=0:XP=0:Y(0)=0:YP=0:IF HD>=360 THEN HD=HD-360:IF H(0)=360 THEN H(0)=0
110 LOCATE 18,10:INPUT "DISPLAY AIRPORTS (Y/N)";B$:IF LEFT$(B$,1)="N" THEN 120 ELSE CLS:GOSUB 1840:TF=0:LO=0:PRINT:INPUT "NEW AIRPORTS (Y/N)";B$:IF LEFT$(B$,1)="N" THEN 120 ELSE GOSUB 5000:GOTO 100
120 DR=1:CLS:MT=5:LOCATE 6,11:PRINT  USING "AIRCRAFT ASSIGNED IS AN \  \ NO. #####.";O3(INT(4*RND(1)));INT(32000*RND(1)):LOCATE 7,9:PRINT "  IT HAS HAD ";O1(MT);" MAINTENANCE.";
125 PRINT:PRINT:GOSUB 10100:CLS
130 GOSUB 510
140 IF (ES=0 AND LD=0) OR (TR<10 AND TR>=0 AND T1=0 AND LD=0) OR FL=0 THEN LOCATE 11,21:PRINT "F L A M E O U T";:RT=0:FU=0:ES=0:ST=0
150 TR=(TR+T1)*ES:IF T1>0 AND TR>TH THEN TR=TH:T1=0 ELSE IF T1<0 AND TR<TH THEN TR=TH:T1=0
160 IF TR>100 THEN K6=20000:KC=7.5 ELSE K6=12500:KC=2.5
170 T=K6*TR*ES:FL=FL-ABS(KC*TR):IF FL<=0 THEN FL=0:T=0:TR=0
180 WT=W+FL+DT*5000+1000*WL:SP=SP+S5:IF SP>S6 THEN SP=S6:S5=0
190 AN=AN+A2:IF A2>0 AND AN>AD THEN AN=AD:A2=0 ELSE IF A2<0 AND AN<AD THEN AN=AD:A2=0
200 IF LD=1 THEN 210 ELSE 230
210 IF AS<120 OR AN<0 THEN AN=0: ELSE IF AN>0 THEN NS=0
220 BK=BK+B1:IF BK>BS THEN BK=BS:B1=0:GOTO 240 ELSE 240
230 NS=0:BN=BN+B9:IF B9>0 AND BN>BD THEN BN=BD:B2=0 ELSE IF B9<0 AND BN<BD THEN BN=BD:B2=0
240 A3=AN/RA:A1=(6*AN+1.5)/RA:FA=FA+F1:IF FA>FS THEN FA=FS:F1=0
250 SB=SB+S1:IF SB>S2 THEN SB=S2:S1=0
260 CL=K1*(SIN(A1)-KB*(VV/(AS+1))):L=CL*(AS^2)+10*FA*AS:L=L-L*(SP/100):SS=1300-(AL/100):IF SX=1 THEN 280 ELSE IF AS>0.95*SS THEN SS=0.9*AS:SX=1:GOTO 270 ELSE 280
270 IF AS<SS THEN SX=0:GOTO 260: ELSE SD=SQR((AS^2/SS^2)-1):GOTO 290
280 SD=(1/SQR(1-(AS^2/SS^2)))-0.5
290 D=((K2*WT)/((AS/2)^2+10))+AS*(K3*(AS/2)+(75*(1-LG))+2*FA+2*SB +1000*CE+50*DT+0.01*WL+0.001*J)+2500*BK:D=D*SD:IF AL>15000 THEN Z1=15000/AL:L=L*Z1:D=D*Z1:IF AL>22500 THEN T=T*22500/AL
300 HC=K7*(COS(A3)*T-K9*SIN(A3)*ABS(L)-K5*COS(A3)*D-SIN(A3)*KF*WT):IF CX=0 THEN HC=0
310 VC=K8*(COS(A3)*L+KE*SIN(A3)*T-ABS(SIN(BN/RA)*L)-ABS(SIN(A3)*D)-COS(A3)*K4*WT):IF (LD=1 AND VC<0) OR CX=0 THEN VC=0:AL=0 ELSE AL=AL+VV
320 VH=VH+HC:IF LD=1 AND VH<0 THEN VH=0
330 VV=VV+VC:GF=((HC+VC)/32)+(1/COS(BN/RA)):AS=SQR(VH^2+VV^2):HD=HD+(BN/22)*3+NS*(AS/80):IF CV=1 AND CX=0 THEN AS=V2:VH=V2:HD=V1: ELSE IF HD<0 THEN HD=HD+360 ELSE IF HD>=360 THEN HD=HD-360
340 IF INT((20*2^MT)*RND(1))=MT*10 THEN GOSUB 1300 ELSE IF INT(100*RND(1))=50 THEN W1=INT(360*RND(1)):WS=INT(500*RND(1))+250:AT=AT-INT(5000*RND(1))+INT(5000*RND(1)):IF AT<=0 THEN GOSUB 1560
350 IF WZ=0 THEN TD=0:LT=0:W1=0:WS=0:AT=0:GOTO 360 ELSE XT=XT+COS((W1-90)/RA)*(WS/6080):YT=YT+SIN((W1-90)/RA)*(WS/6080)
360 IF RK<>0 THEN FOR R2=1 TO R1:IF R(R2)=10 THEN LOCATE 11,21:PRINT "F I R E  W A R N I N G";:R9=R9+1:IF R9=15 THEN 1510 ELSE IF FU=0 THEN R9=0:R(R2)=0:R1=R1-1: ELSE 370 ELSE LOCATE 11,21:PRINT O(R(R2));" MALFUNCTION";:NEXT R2
370 Z2=(HD-90)/RA:Z3=AS/6080:XP=XP+COS(Z2)*Z3:YP=YP+SIN(Z2)*Z3
374 DL=SQR((X(TF)-XP)^2+(Y(TF)-YP)^2):GOSUB 1570:IF CV=1 THEN X(TF)=X(TF)+V2*COS((V1-90)/RA)/6080:Y(TF)=Y(TF)+V2*SIN((V1-90)/RA)/6080:DY=SQR((X(TF)-X9)^2+(Y(TF)-Y9)^2):X9=X(TF):Y9=Y(TF) ELSE DY=0
380 IF LD=0 THEN 400 ELSE IF AL>0 THEN LD=0:DR=0:GOTO 400 ELSE IF H(TE)=360 AND HD<350 THEN H(0)=0 ELSE IF H(TE)=0 AND HD>350 THEN H(0)=360
390 IF CX=1 AND (DX<0 OR (AS>100 AND ABS(HD-H(TE))>2)) THEN 1500 ELSE 470
400 IF TF<>TE THEN DX=D(TF):TE=TF
410 IF DL<=0.02 AND AL>0 THEN DR=1
420 IF AS<215 THEN 1550 ELSE IF AL<=0 THEN 1480 ELSE Z0=1.2*SIN(6*A3)-(VV/(AS+1))+SIN(ABS(BN/RA)):IF Z0>1.1 AND SP=0 THEN 1470
430 IF GF>10 OR GF<-5 THEN 1520
440 IF DR=1 THEN 470 ELSE GS=AL-ABS(SIN(Z4)*(DL+Z5)*6080):LC=SIN((H(TE)-(LO+180))/RA)*DL*6080:IF WA=0 OR WZ=0 THEN 470 ELSE TD=SQR((XT-XP)^2+(YT-YP)^2+((AT/6080)-(AL/6080))^2):GOSUB 1650:IF LT<0 THEN LT=LT+360 ELSE IF LT>=360 THEN LT=LT-360
450 IF TD*6080<300 THEN 1480 ELSE IF WL=0 THEN WA=0:GOTO 470
460 IF WF=1 THEN WL=WL-1:WF=0:IF TD<5+INT(2*RND(1))-INT(2*RND(1)) AND (HD<LT+1.5 AND HD>LT-1.5) THEN GOSUB 1530:WA=0:WZ=0 ELSE W1=INT(360*RND(1)):WS=250+INT(400*RND(1)):AT=AT+INT(5000*RND(1))-INT(5000*RND(1)):IF AT<=0 THEN GOSUB 1560 ELSE GOSUB 1540
470 IF CX=0 THEN IF DX=0 THEN DX=150:GOTO 500 ELSE 500
480 IF CV=1 THEN SF=1 ELSE SF=2
490 IF DR=1 THEN DX=DX+DY*6080-SF*VH: ELSE IF (TE<>TF) OR (CV=1 AND CX=1) THEN DX=D(TF)
500 LOCATE 11,1:GOSUB 5100:A$=INKEY$:IF A$="" THEN 130 ELSE 810
510 POSW=0:GOSUB 45000:LOCATE POSX,POSY:PRINT  USING "AIRSPEED #### KTS.";AS*3600/6080;:IF AN>0 THEN Z$=CHR$(24) ELSE IF AN<0 THEN Z$=CHR$(25) ELSE Z$=" "
520 LOCATE 1,21:PRINT  USING "ATTITUDE   ##.## !";ABS(AN);Z$;:IF BN<0 THEN Z$="L" ELSE IF BN>0 THEN Z$="R" ELSE Z$=" "
530 LOCATE 1,43:PRINT "ALTITUDE ";:IF AL>18000 THEN PRINT USING "F/L ###";AL/100;:PRINT SPACE$(79-POS(0)); ELSE PRINT USING "#####.# FEET";AL;
540 IF VV>0 THEN Z1$=CHR$(24) ELSE IF VV<0 THEN Z1$=CHR$(25) ELSE Z1$=" "
550 LOCATE 2,1:PRINT  USING "HEADING ###.#       BANK ##.# !           CLIMB ! #####.# FT/MN";HD;ABS(BN);Z$;Z1$;ABS(VV*60);
560 IF DT=1 THEN D$="ON " ELSE D$="OFF"
570 LOCATE 3,1:PRINT  USING "THRUST ###%         SPOILERS ###%         G. LOAD +##.#";TR;SP;GF;
580 LOCATE 4,1:PRINT "LNDG. GEAR ";:IF LG=0 THEN PRINT CHR$(25);: ELSE PRINT CHR$(24);
590 LOCATE 4,17:PRINT  USING "FUEL ###%    D.T. \ \";FL/2750;D$;
600 LOCATE 5,1:PRINT "FLAP POS. ";:IF FA>0 THEN PRINT CHR$(25); USING " ###%";FA;: ELSE PRINT CHR$(24);"      ";
610 TS=TS+3:IF TS>=60 THEN TS=TS-60:TM=TM+1:IF TM=60 THEN T9=T9+1
620 LOCATE 5,21:PRINT  USING "E.T. ##:##:##";T9;TM;TS;
630 LOCATE 4,43:PRINT "SPEED BRAKES";:IF SB>0 THEN PRINT CHR$(32);CHR$(26);CHR$(27);INT(SB);SPACE$(79-POS(0)); ELSE PRINT CHR$(32);CHR$(27);CHR$(26);SPACE$(79-POS(0));
640 IF CV=1 THEN LOCATE 5,43:PRINT "TAIL HOOK ";:IF J=1 THEN PRINT CHR$(25);:GOTO 660 ELSE PRINT CHR$(24);:GOTO 660
650 LOCATE 5,43:PRINT "DRAG CHUTE ";:IF CE=0 AND CF=0 THEN PRINT "STOWED"; ELSE IF CF=0 THEN PRINT "DEPLOYED"; ELSE PRINT "RELEASED";
660 LOCATE 6,1:PRINT  USING "MISSLES: #";WL;:IF WA=1 THEN LOCATE 6,14:PRINT  USING "ARMED  TARGET BEARING ###.#: TARGET RANGE ###.#";LT;TD;:IF AT-AL>0 THEN PRINT CHR$(24); ELSE PRINT CHR$(25);
670 IF WA=1 THEN LOCATE 7,1:PRINT  USING "T.C. ###    T.S. ###";W1;WS;
680 IF LD=0 THEN IF WA=0 THEN LOCATE 6,14:PRINT SPACE$(79-POS(0)); ELSE GOTO 700 ELSE LOCATE 6,43:PRINT "BRAKES";:IF BK<>0 THEN PRINT USING " ON ###%";BK; ELSE PRINT " OFF";SPACE$(79-POS(0));
690 IF CX=0 THEN LOCATE 6,21:PRINT "CAT. READY";
700 IF WA=1 THEN 710 ELSE IF LD=1 OR DL<6.5 THEN LOCATE 7,1:PRINT  USING "FIELD REMAINING ####";DX;: ELSE LOCATE 7,1:PRINT "                     ";
710 LOCATE 7,30:PRINT  USING "RWY HDG ###  RWY LNG ####";H(TE);D(TF);
720 IF NV=0 THEN GOSUB 5100:RETURN
730 LOCATE 8,1:PRINT  USING "AIRPORT #:  BEARING ###.#:   RANGE ###.##";TF;LO;DL;
740 IF LD=0 AND DL<18 AND ABS(LC)<999.99 THEN LOCATE 9,1 ELSE GOSUB 5100:RETURN
750 IF CV=1 THEN L1=7.5:G1=3:G2=0.01: ELSE L1=15:G1=10:G2=-10
760 IF LC<-L1 THEN PRINT "RIGHT OF";: ELSE IF LC>L1 THEN PRINT "LEFT OF";: ELSE PRINT "ON LOCAL                      ";:GOTO 780
770 PRINT " LOCAL ";:PRINT USING P$;ABS(LC);
780 LOCATE 9,34:PRINT ;:IF GS>G1 THEN PRINT "ABOVE";: ELSE IF GS<G2 THEN PRINT "BELOW";: ELSE PRINT "ON G/S";SPACE$(79-POS(0));:GOTO 800
790 PRINT USING " G/S ####.#";ABS(GS);:PRINT SPACE$(79-POS(0));
800 RETURN
810 LOCATE 11,21:PRINT ;:IF A$="T" THEN 830 ELSE IF A$="A" THEN 880 ELSE IF A$="D" THEN 910 ELSE IF A$="F" THEN 930 ELSE IF A$="L" THEN 980 ELSE IF A$="J" THEN 1020
815 IF A$="H" THEN 1040 ELSE IF A$="X" THEN 970 ELSE IF A$="C" THEN 1090 ELSE IF A$="W" THEN 1070 ELSE IF A$="S" THEN 1130 ELSE IF A$="Z" THEN 1110
820 IF A$="B" THEN 1180 ELSE IF A$="N" THEN 1160 ELSE IF A$="P" THEN 1220 ELSE IF A$="E" THEN 1430 ELSE IF A$="K" THEN 860 ELSE 130
830 IF R3=1 OR ES=0 THEN 130 ELSE INPUT "THROTTLE SETTING (-10 TO 120)";TH
840 IF TH<-10 OR TH>120 THEN PRINT "UNABLE":GOTO 130
850 T1=(TH-TR)/5:GOTO 130
860 IF RK=1 THEN RK=0 ELSE IF RK=0 AND R1<>0 THEN RK=1
870 GOTO 130
880 IF R4=1 THEN 130 ELSE AH=0:INPUT "ATTITUDE (-180 TO 180)";AD
890 IF AD<-180 OR AD>180 THEN PRINT "UNABLE":GOTO 130
900 A2=(AD-AN)/3:GOTO 130
910 IF R=9 THEN 130 ELSE IF DT=1 THEN DT=0:IF FL>192500! THEN FL=192500!
920 GOTO 130
930 IF R5=1 THEN 130 ELSE INPUT "FLAP SETTING (0 TO 100)";FS
940 IF FS>100 OR FS<0 THEN PRINT "UNABLE":GOTO 130
950 IF AS>464 THEN LOCATE 12,21:PRINT "AIRSPEED EXCESSIVE":GOTO 130
960 F1=(FS-FA)/4:GOTO 130
970 IF CX=0 THEN CX=1:HC=VH+220:GF=6.1:AS=HC:VH=HC:DR=0:LD=0:AL=40+INT(10*RND(1))-INT(10*RND(1)):AN=10:GOTO 130 ELSE 130
980 IF R7=1 THEN 130 ELSE IF LD=1 THEN PRINT "ON GROUND --- LANDING GEAR OVERRIDDEN":GOTO 130
990 IF AS>385 THEN PRINT "AIRSPEED EXCESSIVE":GOTO 130
1000 IF LG=0 THEN LG=1 ELSE LG=0
1010 GOTO 130
1020 IF CV=0 OR R9=1 THEN 130 ELSE IF J=0 THEN IF AS<385 THEN J=1 ELSE LOCATE 11,21:PRINT "AIRSPEED EXCESSIVE";: ELSE J=0
1030 GOTO 130
1040 IF LD=1 OR R4=1 THEN 130
1050 INPUT "BANK";BD:IF BD<-90 OR BD>90 THEN 1050
1060 B9=(BD-BN)/2:GOTO 130
1070 IF R0=1 THEN 130 ELSE INPUT "ARM/DISARM/FIRE/JET";A$:IF LEFT$(A$,1)="A" THEN WA=1 ELSE IF LEFT$(A$,1)="J" THEN WL=0:WA=0: ELSE IF LEFT$(A$,1)="D" THEN WA=0 ELSE IF LEFT$(A$,1)="F" AND WZ=1 AND WL>0 THEN WF=1 ELSE WF=0
1080 GOTO 130
1090 IF R9=1 THEN 130 ELSE IF CF=1 THEN 130 ELSE IF CE=0 THEN CE=1:CF=0: ELSE CE=0:CF=1
1100 GOTO 130
1110 IF R8=1 THEN 130 ELSE INPUT "SPOILERS";S6:IF S6<0 OR S6>100 THEN 1110
1120 S5=(S6-SP)/4:GOTO 130
1130 IF R6=1 THEN 130 ELSE INPUT "SPEED BRAKE (0 TO 100)";S2
1140 IF S2>100 OR S2<0 THEN PRINT "UNABLE":GOTO 130
1150 S1=(S2-SB)/4:GOTO 130
1160 INPUT "NOSEWHEEL (-30 TO 30)";NS:IF NS>30 OR NS<-30 THEN NS=0
1170 GOTO 130
1180 IF LD=0 THEN 130
1190 INPUT "BRAKE SETTING";BS
1200 IF BS>100 OR BS<0 THEN 1190
1210 B1=(BS-BK)/3:GOTO 130
1220 INPUT "NAV-SYSTEM (ON, OFF, DISPLAY, 0-7)";B$
1230 IF LEFT$(B$,1)="D" AND CV=0 THEN CLS:L9=LO:TJ=TF:GOSUB 1840:TF=TJ:LO=L9:INPUT "READY";A$:CLS:GOTO 130
1240 IF B$="ON" THEN NV=1:GOTO 1270
1250 IF B$="OFF" THEN NV=0:GOTO 130
1260 IF VAL(B$)<0 OR VAL(B$)>7 THEN 1220 ELSE TF=VAL(B$):GOTO 1280
1270 LOCATE 12,21:PRINT ;:INPUT "ENTER AIRPORT (0-7)";TF
1280 IF TF<>0 AND CV=1 THEN TF=0:GOTO 130
1290 IF TF<0 OR TF>7 THEN 1270 ELSE 130
1300 R=INT(10*RND(1)):RK=1:R1=R1+1:R(R1)=R:ON R GOTO 1310,1320,1330,1340,1350,1360,1370,1380,1390,1400
1310 R3=1:TR=120:GOTO 1410
1320 R4=1:AN=INT(50*RND(1))-INT(50*RND(1)):AD=AN:BN=INT(30*RND(1))-INT(30*RND(1)):BD=BN:GOTO 1410
1330 R5=1:FA=INT(100*RND(1)):FS=FA:GOTO 1410
1340 R6=1:SB=INT(100*RND(1)):S2=SB:GOTO 1410
1350 R7=1:LG=(INT(2*RND(1)))-1:GOTO 1410
1360 R8=1:SP=INT(100*RND(1)):S6=SP:GOTO 1410
1370 R9=1:IF CV=1 THEN J=(INT(2*RND(1)))-1:GOTO 1410 ELSE CF=INT(RND(1)+0.5):GOTO 1410
1380 R0=1:WA=0:GOTO 1410
1390 FL=0:GOTO 1410
1400 RC=0
1410 IF R1>1 THEN FOR I=1 TO R1-1:IF R=R(I) THEN R(R1)=0:R1=R1-1:R=0 ELSE NEXT I
1420 RETURN
1430 LOCATE 11,21:PRINT "TURBINE OR EJECT";:INPUT A$
1440 IF A$="T" THEN CLS:X9=1:IF ES=0 THEN X9=0:GOTO 1710 ELSE 1710
1450 IF A$="E" THEN IF AL>AE AND ABS(AN)<45 AND ABS(BN)<25 AND AS<850 THEN CLS:LOCATE 7,17:PRINT  "SAFELY EJECTED":PRINT:PRINT:STOP: ELSE LOCATE 12,21:PRINT "CANNOT EJECT":GOTO 130
1460 GOTO 130
1470 LOCATE 11,21:PRINT "S T A L L";FOR DELAY=1 TO 700:NEXT DELAY:L=0:AN=-AN:IF VV>0 THEN VV=-VV:GOTO 440: ELSE VV=2*VV:GOTO 440
1480 IF CV=1 THEN 1490 ELSE IF WT<500000! AND DR=1 AND ABS(LC)<75 AND AS<380 AND VV>-25 AND AN>0 AND LG=0 THEN LD=1:GOTO 440: ELSE 1500
1490 IF WT<500000! AND DR=1 AND ABS(LC)<30 AND AS<380 AND VV>-25 AND AN>0 AND LG=0 AND J=1 THEN LD=1:AS=V2:VH=V2:VV=0:LD=1:CX=0:GOTO 440 ELSE 1500
1500 CLS:LOCATE 10,35:COLOR 23,0:PRINT  "C R A S H ";:COLOR 7,0:GOSUB 7000:IF LEFT$(ANS$,1)="Y" OR LEFT$(ANS$,1)="y" THEN GOTO 10 ELSE CLS:END
1510 CLS:LOCATE 10,31:COLOR 23,0:PRINT  "E X P L O S I O N";:COLOR 7,0:GOSUB 7000:IF LEFT$(ANS$,1)="Y" OR LEFT$(ANS$,1)="y" THEN GOTO 10 ELSE CLS:END
1520 CLS:LOCATE 10,35:COLOR 23,0:PRINT  "AIRCRAFT BROKE UP!";:COLOR 7,0:GOSUB 7000:IF LEFT$(ANS$,1)="Y" OR LEFT$(ANS$,1)="y" THEN GOTO 10 ELSE CLS:END
1530 LOCATE 11,21:PRINT "TARGET DESTROYED":MA=0:MZ=0:FOR Z9=1 TO 300:NEXT:RETURN
1540 LOCATE 11,21:PRINT "MISSLE MISSED TARGET":FOR Z9=1 TO 300:NEXT:RETURN
1550 LOCATE 12,21:PRINT "S P I N  -  F L A M E O U T";:TR=0:T=0:L=0:TH=0:AN=-(INT(30*RND(1))):HD=HD-INT(50*RND(1)):IF AL<=0 THEN 1480 ELSE 440
1560 LOCATE 11,21:PRINT "TARGET CRASHED":WA=0:WZ=0:FOR Z9=1 TO 300:NEXT:RETURN
1570 XS=SGN(X(TF)-XP):YS=SGN(Y(TF)-YP)
1580 IF XS=0 AND YS=1 THEN LO=0:GOTO 1640
1590 IF XS=0 AND YS=-1 THEN LO=180:GOTO 1640
1600 IF TF=0 AND XP=0 AND YP=0 THEN 1640
1610 LA=ATN((Y(TF)-YP)/(X(TF)-XP))*RA
1620 IF XS=1 THEN LO=LA+90:GOTO 1640
1630 IF XS=-1 THEN LO=270+LA
1640 RETURN
1650 X8=SGN(XT-XP):Y8=SGN(YT-YP)
1660 IF X8=0 AND Y8=1 THEN LT=0:RETURN
1670 IF X8=0 AND Y8=-1 THEN LT=180:RETURN
1680 LB=ATN((YT-YP)/(XT-XP))*RA
1690 IF X8=1 THEN LT=LB+90:RETURN
1700 IF X8=-1 THEN LT=270+LB:RETURN
1710 IF FL=0 THEN 130 ELSE LOCATE 6,5:PRINT  "ENGINE ";:IF ES=0 THEN PRINT "OFF";:IF X8=1 THEN TR=0:X8=0:CLS:GOTO 130 ELSE 1720: ELSE PRINT "ON ";:IF X9=1 THEN 1720 ELSE TR=10:CLS:GOTO 130
1720 LOCATE 7,5:PRINT  USING "TURB ROT. ##### RPM";RT;:LOCATE 8,5:PRINT "FUEL CONTROL ";:IF FU=0 THEN PRINT "OFF";: ELSE PRINT "ON ";
1730 IF ES=1 THEN RT=9000 ELSE IF FL=0 THEN FU=0
1740 RT=RT+ST*100+750*FU:IF RT>12000 AND FU=0 THEN 1510 ELSE IF RT>9000 AND FU=1 THEN ES=1 ELSE IF RT<4500 AND FU=1 THEN 1830 ELSE IF RT<0 THEN ST=0:RT=0:X9=0:X8=1
1750 T5=T7+RT/40+380*FU:IF T5>600 THEN T5=600
1760 T6=RT/73:IF T6>65 THEN T6=65
1770 TS=TS+INT(3*RND(1)):LOCATE 9,5:PRINT  USING "T5 ### C.    OIL PRESS ## PSI";T5;T6;
1780 	A$= INKEY$:IF A$<>"" THEN 1790 ELSE 1710
1790 LOCATE 10,21:PRINT ;:IF A$="F" AND FU=0 THEN PRINT "FUEL ON      ":FU=1: ELSE IF A$="F" THEN PRINT "FUEL OFF     ":FU=0:T7=50+INT(50*RND(1))
1800 IF A$="S" AND ES=0 THEN PRINT "ENGINE SPIN     ":ST=3:GOTO 1710
1810 IF A$="S" AND ES=1 AND FU=0 THEN PRINT "ENGINE SHUTDOWN":ST=-4:ES=0:GOTO 1710
1820 GOTO 1720
1830 CLS:LOCATE 7,1:PRINT  "E N G I N E  F I R E":STOP
1840 PRINT "AIRPORT"; TAB(12);" RNWY LEN  ";"HDG","  DIRECT","   DIST":FOR TF=0 TO 7:PRINT  TAB(2);TF; TAB(14);D(TF); TAB(22);H(TF); TAB(33);:GOSUB 1570:PRINT USING "###";LO;:PRINT TAB(47); USING "###.##";SQR((X(TF)-XP)^2+(Y(TF)-YP)^2):NEXT TF:RETURN
1850 END
1860 CLS:PRINT CHR$(34);"JET PILOT";CHR$(34);" simulates the flying characteristics of a modern high-performance":PRINT"Jet Aircraft.  Before attempting to take off, you must be familiar with the"
1870 PRINT "instructions in the accompanying .DOCumentation file.  Your controls are:":PRINT
1880 PRINT"Engine Start Sequence:  Select engine turbine (E), enter engine startmode (T)"
1890 PRINT"spin turbine (S), start fuel flow (F) at 4500 rpm."
1900 PRINT:PRINT"Your Aircraft Controls:
1910 PRINT"[A] Attitude (+-180)         [B] Wheel Brakes (0-100%)"
1920 PRINT"[C] Drag Chute               [E] Ejection Seat"
1930 PRINT"[F] Flaps (0-100%)           [H] Angle of Bank (+-90 deg)"
1940 PRINT"[J] Tail Hook                [K] Cancel Malfunction Warnings"
1950 PRINT"[L] Landing Gear             [N] Nosewheel Steering (+-30 deg)"
1960 PRINT"[P] Nav Computer             [S] Speed Brakes (0-100%)"
1970 PRINT"[T] Throttle (0-120%)        [X] Fire Catapult"
1980 PRINT"[Z] SPOILERS (0-100)"
1990 PRINT:GOSUB 10100
2000 CLS:RETURN
5000 RANDOMIZE VAL(RIGHT$(TIME$,2)):RETURN
5100 POSY=CSRLIN:POSX=POS(0):PRINT SPACE$(79-POSX):FOR CLR=POSY+1 TO 16:PRINT SPACE$(80);:NEXT:LOCATE POSY,POSX:RETURN
7000 LOCATE 24,30:INPUT"Want to try again";ANS$:RETURN
8020 DEF SEG=0:X=PEEK(&H417) AND &H40:IF X=0 THEN POKE &H417,PEEK(&H417) OR &H40
8030 RETURN
10100 PRINT TAB(20) "Hit [ENTER] to Continue ";
10110 IN$=INKEY$:IF IN$="" THEN 10110 ELSE RETURN
45000 '  ***  EVALUATE EXPRESSION FOR LOCATE  ***
45010 POSX=INT(POSW/64):POSY=POSW-(64*POSX)
45020 POSX=POSX+1:POSY=POSY+1:RETURN
45030 '

JETPILOT.DOC


                        J E T   P I L O T

              Program Documentation & Instructions

JET PILOT simulates the flying characteristics of a modern, high performance
jet aircraft.  Your aircraft can take off and land from either an aircraft
carrier or runway, and comes complete with computerized navigation and
instrument landing.

The program first asks you to select carrier or runway takeoff.  You then
have a choice of airports to fly to.  After a suitable one is selected,
the aircraft's navigational computer can constantly display it's heading and
distance.

Note:  In this documentation, the key necessary to activate a function will
be surrounded by brackets [ ].  This means that the indicated character
must be momentarily pressed.  (for example, [S] means momentarily press S key.


AIRCRAFT ACCESSORIES:

Drag Chute & Reverse Engine Thrust -- The drag chute [C] is available on land-
based aircraft, and is deployed by the pilot immediately after landing, to
decelerate the aircraft's speed.  It is used in conjunction with Reverse
Engine Thrust (-10%), and the Wheel Brakes to avoid rolling off the end of
the runway.

Tail Hook -- Available for carrier-based aircraft.  This device is lowered
just before landing and, within a predetermined area on the runway, will
bring the aircraft to a stop.  Press [J].

Landing Gear -- Cannot be lowered at airspeeds greater than 230 knots.
Raised and lowered by pressing [L].

Nosewheel -- Allows steering while on the runway. Pressing [N], followed by
a number from -30 to +30, does the steering.  Note that the aircraft must be
lined up within 2 degrees of centerline to avoid running off the runway.

Speed Brakes -- Slow the aircraft in flight.  Activate by pressing [S],
followed by a percent between 0 & 100.

Spoilers -- Used to increase descent rate, usually during approach.  Press
[Z], followed by a number from 0 to 100.  The rate of descent at touchdown
must not exceed 1500 ft/min.

Flaps -- Activated with [F], followed by a number from 0 to 100.  They must
not be used at airspeeds above 270 knots.

Navigation Computer -- Activated by pressing [P].  Gives the heading and
distance to the selected airport.  For carrier-based aircraft, only Air-
port 0 is enabled.  For runway aircraft, Airports 0 through 7 are available.
When prompted, enter [D] to see all the airports.  Glide-slope/localizer
information is available within 18 miles of the airport.


ENGINE START PROCEDURE:

1.  Press [E] to select engine turbine.
2.  ENTER [T] to enter turbine start mode.
3.  Press [S] to spin turbine. (Also for shutdown)
4.  When turbine reaches 4500 RPM, press [F] to start fuel flow.

NORMAL LAND-BASED TAKEOFF PROCEDURE:

1.  Start Engine		[E]
2.  Set Brakes			[B]
3.  Set Flaps			[F]
4.  Apply 120% Throttle		[T]
5.  Release Brakes		[B]
6.  Steer Aircraft		[N]
7.  Rotate 10 deg. @ 150 knots	[A]
8.  Gear Up			[L]
9.  Retract Flaps		[F]

NORMAL LANDING PROCEDURE:

1.  Enable Navigation System	[P]
2.  Intercept Localizer/GS	[H] [A]
3.  Slow Airspeed		[S]
4.  Extend Flaps		[F]
5.  Extend Gear			[L]
6.  Set up Approach		[A] [Z] [T]
7.  After Touchdown
	Deploy Chute		[C]
	Reverse Thrust (-10)	[T]
	Wheel Brakes		[B]
8.  Shut down Engine		[E]

Enjoy your flight!



LANDER.BAS

10 CLEAR,,2000:A$="VERSION   1.0"  ' Program : LANDER.BAS
20 DEF SEG=&H40: EQUIP=PEEK(&H10)
30 IF (EQUIP AND &H30) = &H30 THEN I1 = 0 ELSE I1 = 1
40 DEF SEG: WIDE = 40: JOY = 0: PRT = 0
50 COLR = 1: ADJUST = 1
60 PROGNAME$ = "     LUNAR LANDER"
70 SCREEN 0,1: KEY OFF: GOSUB 3190
80 GOSUB 1390    'Get lander pictures from disk.
90 GOSUB 160     'Setup initial conditions
100 GOSUB 480     'Display Moving ship
110 GOSUB 900     'Test for Crash or Landing
120 GOSUB 770     'Revise control parameters
130 GOSUB 620     'See if any keys pressed.
140 GOTO 100       'CYCLE.
150 REM $S2
160 REM##########  SETUP  INITIAL  CONDITIONS  ##########
170 REM X,Y=POSITION, F=FUEL, T=THRUST, SX,SY=SPEED, TILT=MODULE TILT,
180 REM GRAV=GRAVITY, S=SCORE
190 REM $S1
200 Z=FRE(A$):F=4000*(1-S/1000):F0=F:T=10:SX=30:SY=0:GRAV=10+S/100:X=0:Y=0:ANG=1:TILT=1:C=1:IF F<1500 THEN F=1500
210 XOLD=X:YOLD=Y:TILTOLD=TILT:TOLD=T
220 CLS:SCREEN 1:COLOR 0,0:LAND=1:KEY OFF:A=RND(100*-VAL(RIGHT$(TIME$,2))):FOR I=1 TO 5:A$=INKEY$:NEXT:IF GRAV>15 THEN GRAV=15
230 IF ADJUST = 1 THEN OUT 980,2: OUT 981,43
240 IF GAUGE=0 GOTO 270
250 LOCATE 1,28:PRINT " SCORE=" S:LOCATE 2,29:PRINT " FALL=" SY
260 LOCATE 3,28:PRINT "THRUST=" T:LOCATE 4,30:PRINT "FUEL=" F:GOTO 340
270 LOCATE 4,30:PRINT"L   L   E":LOCATE 5,30:PRINT"        R"
280 LOCATE 1,30:PRINT"F   F   P":LOCATE 2,30:PRINT"U   A   O":LOCATE 3,30:PRINT"E   L   W"
290 LINE(241,0)-(257,35),1,BF:LINE(241,36)-(257,40),2,BF 'Fuel Gauge
300 LINE(273,5)-(289,10),1,BF:LINE(273,11)-(289,40),2,BF:LINE(273,0)-(289,4),2,BF 'Fall Gauge
310 LINE(304,15)-(319,25),1,BF:LINE(304,26)-(319,40),2,BF:LINE(304,0)-(319,14),2,BF 'Power Gauge
320 G1=0:LINE (241,G1)-(257,G1),0:G2=10:LINE(273,G2)-(289,G2),3:G3=20:LINE(304,G3)-(319,G3),3
330 REM $S2
340 REM########### lander picture  ###########################
350 REM $S1
360 LX(1)=0:LY(1)=40:LINE(LX(1),LY(1))-(LX(1)+1,LY(1)),1
370 BOT=30+260*RND  ' X-VALUE OF FIELD.
380 FOR I=2 TO LP
390 LY(I)=LY(1)+(194-LY(1))*ABS(COS(3.14*(1+S/600)*(LX(I)-BOT-15)/400))
400 LY(I)=LY(I)+SQR(LY(I))*(0.5-RND)  'add noise to land contour.
410 IF((LX(I)>BOT)AND(LX(I)<(BOT+30)))THEN LY(I)=198  ' landing field
420 IF(LY(I)>198)THEN LY(I)=198 'prevent overflow of screen
430 LINE -(LX(I),LY(I)),3:NEXT
440 PAINT(0,199),1,3:LINE (BOT+5,193)-(BOT+25,199),2,BF
450 IF S>ADLAND THEN FOR I=0 TO 6:PSET(BOT+I*5,180),2:NEXT 'Window for Advan.Lndr.
460 PUT(X,Y),R1:ADVAN=0:BEEP:RETURN 'ADVAN=1 FOR ADVANCED LANDER GAME.
470 REM $pa
480 '############  Display moving Ship   and Gauges ####################
490 REM $S1
500 GOSUB 2330:IF MUSIC=1 GOTO 520 ELSE IF F=0 GOTO 520 '  Display picture.
510 PLAY "mb":SOUND TUNE(C,0),TUNE(C,1):SOUND TUNE(C+1,0),TUNE(C+1,1):C=C+2:IF C>149 THEN C=1  'Play "Blue DAnube Waltz"
520 IF GAUGE=0 GOTO 550 ELSE LOCATE 2,35:PRINT INT(-SY):LOCATE 3,35:PRINT INT(T)
530 LOCATE 4,35:PRINT INT(F): IF F=0 THEN SOUND 99,0:BEEP
540 RETURN
550 GG1=INT(40-40*F/F0):IF GG1=G1 THEN GOTO 560 ELSE LINE(241,GG1)-(257,GG1),0
560 G1=GG1:GG2=INT(5+SY/(2.8+(S>ADLAND))):IF GG2<0 THEN GG2=0 ELSE IF GG2>40 THEN GG2=40
570 IF GG2=G2 THEN GOTO 580 ELSE LINE(273,GG2)-(289,GG2),3:IF G2<11 AND G2>4 THEN LINE(273,G2)-(289,G2),1 ELSE LINE(273,G2)-(289,G2),2
580 G2=GG2:GG3=INT(40-40*T/19):IF GG3=G3 THEN GOTO 590 ELSE LINE(304,GG3)-(319,GG3),3:IF G3<26 AND G3>14 THEN LINE(304,G3)-(319,G3),1 ELSE LINE(304,G3)-(319,G3),2
590 G3=GG3:IF F=0 THEN SOUND 99,0:BEEP
600 RETURN
610 REM $S1
620 '########  Check KEYBOARD for commands  ############################
630 REM $S1
640 K$=RIGHT$(INKEY$,1):IF (K$="")THEN RETURN:IF (F=0)THEN RETURN
650 A$=INKEY$:  ' IF A$><"" GOTO 500
660 J=INSTR("HPMK"+CHR$(27),K$):ON J GOTO 680,700,720,740,1060
670 RETURN
680 T=T+1:IF T>19 THEN T=19
690 RETURN
700 T=T-1:IF(T<0)THEN T=0
710 RETURN
720 TILT=TILT+1:IF (TILT>NANG)THEN TILT=1
730 RETURN
740 TILT=TILT-1:IF (TILT<1)THEN TILT=NANG
750 RETURN
760 REM $S1
770 '################ Revise CONTROL parameters  ####################
780 REM $S1
790 SY=SY+GRAV-T*COS(3.14*ANG(TILT)/180):SX=0.9*SX+T*SIN(3.14*ANG(TILT)/180) ' SX has air drag.
800 IF (SY<-10)THEN SY=-10
810 X=X+SX*0.05:Y=Y+SY*0.05:IF (Y<0) THEN Y=0
820 IF (Y+MY>199)THEN Y=199-MY
830 IF (X<0)THEN X=0
840 IF(X+MX>319)THEN X=319-MX
850 IF(F=0) THEN T=0:RETURN
860 F=F-T:IF(F<0)THEN F=0:T=0:LOCATE 6,9:PRINT"OUT OF FUEL":GOSUB 880
870 RETURN
880 FOR J=1 TO 5:FOR K=1000 TO 2000 STEP 20:SOUND K,0.182:NEXT:NEXT:RETURN'alarm
890 REM $s1
900 '######## TEST FOR CRASH OR LANDING.  ##############################
910 REM $s1
920 IF Y>198-MY AND BOT<(5+X) AND (BOT+30)>(X+MX-5) GOTO 1120
930 IF Y>198-MY GOTO 1020
940 FOR I=(1+X/4) TO ((X+MX)/4-1):IF (Y+MY-6)>LY(I) GOTO 1020:NEXT'Each LX=4 unit
950 IF S<ADLAND OR ADVAN=1 THEN RETURN
960 IF Y>185-MY AND BOT<(5+X) AND (BOT+30)>(X+MX-5) AND SY<10 GOTO 2820 ELSE RETURN
970 REM $pa
980 '################# END OF PROGRAM  ########################
990 REM $S1
1000 FOR I=0 TO 8 STEP 2:COLOR I,0:FOR J=1 TO 200:NEXT J:NEXT I:COLOR 0,2
1010 LOCATE 5,1:PRINT STRING$(40,22);:PRINT STRING$(240,0);:PRINT STRING$(240,0);:PRINT STRING$(40,22);:RETURN
1020 GOSUB 1210:GOSUB 1220:GOSUB 1230:GOSUB 1000:CLS:LOCATE 6,1 :FOR I=1 TO 5:PRINT "     CRASH !!!  CRASH !!!  CRASH !!!":NEXT
1030 LOCATE 12,8:PRINT"YOU NEED MORE PRACTISE !!"
1040 A$=INKEY$:IF A$<>"" GOTO 1040 ELSE LOCATE 15,1:PRINT"PRESS ANY OTHER KEY TO CONTINUE":PRINT"PRESS `Q'= QUIT;`S'=SILENCE;`M'=MUSIC":PRINT"         GAUGES `A'=ANALOG, `D'=DIGITAL"
1050 A$=INKEY$:IF A$="" GOTO 1050
1060 IF 0<>INSTR("Qq",A$) THEN SCREEN 0,1: GOSUB 3510
1070 IF 0<>INSTR("Ss",A$) THEN MUSIC=1: GOTO 1050
1080 IF 0<>INSTR("Mm",A$) THEN MUSIC=0: GOTO 1050
1090 IF 0<>INSTR("Aa",A$) THEN GAUGE=0: GOTO 1050
1100 IF 0<>INSTR("Dd",A$) THEN GAUGE=1: GOTO 1050
1110 IF S<ADLAND OR ADVAN=1 THEN GOTO 90 ELSE GOTO 1320
1120  IF SY>15-6*ADVAN  GOTO 1190
1130 SOUND 99,0:IF (TILT<>1) GOTO 1200 'Turn off "Blue Danube"
1140 GOSUB 1210:C=1:D=30:GOSUB 1290:GOSUB 1000:C=31:D=50:GOSUB 1290:CLS:LOCATE 9,10:PRINT "PERFECT  LANDING !!":S=S+INT(F/30):FOR I=0 TO 3500:NEXT:C=51:D=82:GOSUB 1290
1150 IF S>SCOREMAX THEN SCOREMAX=S:GOSUB 1170
1160 LOCATE 11,1:PRINT"YOUR EXTRA FUEL MAKES YOUR SCORE = " S CHR$(13) CHR$(13) " (MAX. SCORE TO DATE IS " SCOREMAX " BY " INIT$ ")":GOTO 1040
1170 LOCATE 11,1:PRINT"YOUR SCORE IS NOW " S " !!!!!!" CHR$(13) "THIS IS THE HIGHEST SCORE UP TO NOW !!" CHR$(13) "TYPE IN 3 INITIALS FOR POSTERITY :"
1180 DEF SEG:POKE 106,0:INPUT "INITIALS: ",A$:INIT$=LEFT$(A$,3):OPEN "lander.scr" FOR OUTPUT AS #3:PRINT#3,SCOREMAX,INIT$:CLOSE:GOSUB 1000:RETURN
1190 GOSUB 1210:GOSUB 1220:GOSUB 1000:CLS:LOCATE 8,1:PRINT"ALMOST A GOOD LANDING BUT MUCH TOO FAST":LOCATE 10,2:PRINT"YOUR FALL RATE MUST BE LESS THAN "15-5*ADVAN:GOTO 1030
1200 GOSUB 1210:GOSUB 1220:GOSUB 1000:LOCATE 8,1:PRINT"GOOD LANDING, BUT PLEASE LAND ON 2 FEET!":GOTO 1030
1210 T=0:GOSUB 480:RETURN ' Show ship with no rocket blast.
1220 SOUND 99,0:FOR J=1 TO 3:FOR K=1000 TO 2000 STEP 20:SOUND K,0.182:NEXT:NEXT:S=INT(S*0.7):RETURN ' Crash sound
1230  EX=10+X-(X<11)*10:EX=EX+(EX>309)*10:EY=Y+10-(Y<11)*10:EY=EY+(EY>189)*5 '***explosion***
1240  FOR I=0 TO NE:LINE(EX-EXPL(I,0),EY-EXPL(I,1))-(EX+EXPL(I,0),EY+EXPL(I,1)/2),2
1250  LINE(EX+EXPL(I,0),EY-EXPL(I,1))-(EX-EXPL(I,0),EY+EXPL(I,1)/2),2:NEXT:RETURN
1260 REM $S2
1270 '############### Play MUSIC ##########################################
1280 REM $S1
1290 SOUND 99,0:PLAY"MB":FOR J=C TO D:SOUND TUNE1(J,0),TUNE1(J,1)/2:IF TUNE1(J,0)><0 AND TUNE1(J,1)><1 THEN SOUND 32767,1
1300 NEXT
1310 RETURN'Above is "Stars and Stripes"
1320 SCREEN 0,1: IF ADJUST = 1 THEN OUT 980,2: OUT 981,43
1330 COLOR 0,2,2:CLS:LOCATE 5,9:PRINT"YOUR SCORE IS NOW : " S:COLOR 7,2
1340 LOCATE 7,5:PRINT"YOU WILL NOW BE IN ADVANCED LANDER ! !":LOCATE 12,1:COLOR 0:   PRINT"IF YOU MANOUVER THE LANDER THROUGH THE  RED DOTS ABOVE THE LANDING FIELD WITH A"
1350 PRINT"FALL RATE LESS THAN 10, YOU WILL END    THE LANDING IN ADVANCED-LANDER. THE LANDWILL BE ENLARGED TO ALLOW YOU TO MAKE A PRECISION LANDING. YOUR FINAL FALL RATE MUST BE LESS THAN ";
1360 COLOR 0:PRINT"-- 10 --",:COLOR 0:PRINT"FOR THE LANDING TO BE OK.":LOCATE 24,7,0:COLOR 7:PRINT"PRESS ANY KEY TO CONTINUE.";
1370 A$=INKEY$:IF A$="" GOTO 1370 ELSE GOTO 90
1380 REM $pa
1390 '######################  START  PROGRAM  #########################
1400 REM $S1
1410 DEF SEG=0:IF (109=PEEK (&H410))GOTO 1430' go to color screen if on Bw
1420 POKE &H410,(PEEK(&H410) AND &HCF) OR &H20:SCREEN 0
1430 KEY OFF:SCREEN 0,1:COLOR 0,2,2:WIDTH 40:CLS:LOCATE 4,12,0:PRINT "IBM    IBM    IBM"
1440 IF ADJUST = 1 THEN OUT 980,2: OUT 981,43
1450 COLOR 7,2:LOCATE 6,12,0:PRINT "Personal Computer"
1460 COLOR 4,0:LOCATE 9,9,0:PRINT CHR$(201)+STRING$(21,205)+CHR$(187)
1470 LOCATE 10,9,0:PRINT CHR$(186)+STRING$(21,32)+CHR$(186)
1480 LOCATE 11,9,0:PRINT CHR$(186)+"    ROCKET LANDER    "+CHR$(186)
1490 LOCATE 12,9,0:PRINT CHR$(186)+STRING$(21,32)+CHR$(186)
1500 LOCATE 13,9,0:PRINT CHR$(186)+"    " A$ "    "+CHR$(186)
1510 LOCATE 14,9,0:PRINT CHR$(186)+STRING$(21,32)+CHR$(186)
1520 LOCATE 15,9,0:PRINT CHR$(200)+STRING$(21,205)+CHR$(188)
1530 COLOR 7,1:LOCATE 19,6,0:PRINT"PRESS ANY KEY FOR INSTRUCTIONS"
1540 A$=INKEY$:IF A$="" GOTO 1540
1550 REM $S2
1560 '################  INSTRUCTIONS   ################################
1570 REM $S1
1580 COLOR 0,2:CLS:PRINT CHR$(13) "The object is to successfully land the  space-craft on the landing pad. This is done by changing the rocket thrust and  direction using the four position keys."
1590 LOCATE 7,1:COLOR 20:PRINT "    " CHR$(24);:COLOR 7:PRINT"  Increases the rocket thrust." CHR$(13)
1600 COLOR 20:PRINT "    " CHR$(25);:COLOR 7:PRINT "  Decreases rocket thrust." CHR$(13)
1610 COLOR 20:PRINT "    " CHR$(26);:COLOR 7:PRINT "  Tilts the rocket to the right." CHR$(13)
1620 COLOR 20:PRINT "    " CHR$(27);:COLOR 7:PRINT "  Tilts the rocket to the left." CHR$(13)
1630 COLOR 16:LOCATE 18,2:PRINT"LOADING DISKETTE IMAGES               ":
1640 REM $S2
1650 '###########  Get Ship pictures from disk #######################
1660 '####### M = Module; R = Small rocket; RR = Large rocket ########
1670 REM $S1
1680 DEFINT M,R,P,X,T,L,B: S=66: DIM PDATA(20)
1690 DIM M1(S),M2(S),M3(S),M4(S),M5(S),M6(S),M7(S),M8(S),M9(S),M10(S),M11(S),M12(S),M13(S)
1700 DIM R1(S),R2(S),R3(S),R4(S),R5(S),R6(S),R7(S),R8(S),R9(S),R10(S),R11(S),R12(S),R13(S)
1710 DIM RR1(S),RR2(S),RR3(S),RR4(S),RR5(S),RR6(S),RR7(S),RR8(S),RR9(S),RR10(S),RR11(S),RR12(S),RR13(S)
1720 DEF SEG=0:A=VARPTR(PDATA(0))
1730 DEF SEG:BLOAD"LANDER.BIN",A
1740 NANG=PDATA(0):SIZE=PDATA(1):MX=PDATA(2):MY=PDATA(3)
1750 DIM ANG(NANG):FOR I=1 TO NANG:ANG(I)=PDATA(3+I):NEXT
1760 OPEN "lander.scr" FOR INPUT AS #2 'Get maximum score to date.
1770 INPUT#2,SCOREMAX,INIT$:CLOSE
1780 DEFINT L: LP=80:DIM LX(LP),LY(LP),LAX(LP),LAY(LP) '  LAND pictures.
1790 LX(1)=0:LY(1)=40:LAY(1)=0:BOT=224:FOR I=2 TO LP :LAX(I)=I*319/LP:LX(I)=LAX(I)'Adv-Lander Field
1800 LAY(I)=LAY(1)+(194-LAY(1))*ABS(COS(3.14*(LAX(I)-BOT-15)/400))
1810 LAY(I)=LAY(I)+SQR(LAY(I))*(0.5-RND)  'add noise to land contour.
1820 IF((LAX(I)>BOT)AND(LAX(I)<(BOT+30)))THEN LAY(I)=198  ' landing field
1830 IF(LAY(I)>198)THEN LAY(I)=198
1840 NEXT
1850 NE=10:DIM EXPL(NE,1):FOR I=0 TO NE:READ EXPL(I,0),EXPL(I,1):NEXT'Explosion
1860 DATA 0,10,1,7,2,8,3,3,4,2,5,8,6,7,7,1,8,6,9,2,10,0
1870 DIM IBMX(75),IBMY(75) ' Get IBM Logo.
1880 FOR I=0 TO 75:READ IBMX(I):NEXT
1890 FOR I=0 TO 75 STEP 2:READ IBMY(I):IBMY(I+1)=IBMY(I):NEXT
1900 DATA 0,4,7,13.5,18,21.5,27,30,0,4,7,14.5,18,22.5,26,30,1,3,8,10,12.5,15,19,23,25.5,29,1,3,8,14.5,19,24,25,29,1,3,8,14.5,19,21,21.6,26.4,27,29,1,3,8,10,12.5,15,19,21,22.3,25.7,27,29,0,4,7,14.5,18,21,23,25,27,30,0,4,7,13.5,18,21,23.5,24.5,27,30
1910 DATA 0,0,0,0,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7
1920 DIM MM(88),TUNE(150,1):FOR I=0 TO 6:MM(I)=32767:NEXT ' Get success tune.
1930 FOR I=7 TO 88: MM(I)=INT(36.8*(2^(1/12))^(I-6)):NEXT
1940 FOR I=1 TO 150:READ A,TUNE(I,1):TUNE(I,0)=MM(A):NEXT
1950 REM $s2
1960 'Blue Danube Waltz by J.S.Strauss
1970 REM $s1
1980 DATA 42,4,46,4,49,4,49,4,0,4,61,2,0,2,61,2,0,6,58,2,0,2,58,2,0,6,42,4,42,4
1990 DATA 46,4,49,4
2000 DATA 49,4,0,4,61,2,0,2,61,2,0,6,59,2,0,2,59,2,0,6,41,4,41,4,44,4,51,4,51,4
2010 DATA 0,4,63,2,0,2,63,2,0,6,59,2,0,2
2020 DATA 59,2,0,6,41,4,41,4,44,4,51,4,51,4,0,4,63,2,0,2,63,2,0,6,58,2,0,2,58,2
2030 DATA 0,6,42,4
2040 DATA 42,4,46,4,49,4,54,4,0,4,66,2,0,2,66,2,0,6,61,2,0,2,61,2,0,6,42,4
2050 DATA 42,4,46,4,49,4,54,4,0,4,66,2,0,2
2060 DATA 66,2,0,6,63,2,0,2,63,2,0,6,44,4,44,4,47,4,51,2,0,2,51,14,0,2,48,4
2070 DATA 49,4,58,16
2080 DATA 54,4,46,4,46,8,44,4,51,8,49,4,42,4,0,2,42,2,42,4,0,8,49,2,0,2,47,2
2090 DATA 0,6,49,2,0,2
2100 DATA 47,2,0,6,49,4,58,16,56,4,49,2,0,2,46,2,0,6,49,2,0,2,46,2,0,6,49,4
2110 DATA 56,16,54,4,49,2,0,2,47,2,0,6,49,2,0,2,47,2,0,6,49,4,58,16
2120 DATA 56,4,49,4,54,4,56,4,58,4,61,8,59,4,58,2,58,2,58,4,56,2,0,2,54,4,0,8
2130 DIM TUNE1(82,1):FOR I=1 TO 82:READ A,TUNE1(I,1):TUNE1(I,0)=MM(A):NEXT
2140 REM $s2
2150 '"STARS AND STRIPES FOREVER - SOUSA "
2160 REM $s1
2170 DATA 54,6,54,6,52,3,51,3,51,6,50,3,51,3,51,16,0,2,50,3
2180 DATA 51,3,51,6,50,3,51,3
2190 DATA 54,6,51,3,54,3,52,12,49,6,0,3,49,3,49,6,48,3,49,3
2200 DATA 49,6,48,3,49,3
2210 DATA 52,16,0,2,51,3,49,3,51,3,54,9,56,9,56,3,49,16,0,2,54,6
2220 DATA 54,6,52,3,51,3,51,6,50,3,51,3,51,16,0,2,50,3,51,3,51,6,50,3 ,51,3
2230 DATA 52,3,51,3,49,5,46,1,49,12,47,6,0,3,47,3,47,6,46,3,47,3,50,6,49,3,47,3
2240 DATA 59,15,0,3,47,3,49,3,51,3,54,1,0,2,47,3,49,3,51,3,54,1,0,2,42,3,44,5
2250 DATA 51,1,49,12,47,1
2260 ADVAN=0:GAUGE=1
2270 COLOR 0: LOCATE 18,2
2280 PRINT"Gravity = Vertical thrust of about 10.":COLOR 7,1:LOCATE 24,3:PRINT "  Press any key to start the game.";
2290 COLOR 0,2:LOCATE 20,2:ADLAND=100:PRINT"Advanced-Lander starts above 100 points.";
2300 A$=INKEY$:IF A$="" GOTO 2300
2310 S=0:RETURN
2320 REM $S2
2330 '##############  Get New SHIP picture  #########################
2340 REM $S1
2350 ON INT(1.8+TOLD/10) GOSUB 2390,2530,2670 'Erase old picture.
2360 XOLD=X:YOLD=Y:TILTOLD=TILT:TOLD=T
2370 ON INT(1.8+T/10) GOSUB 2390,2530,2670 'Draw new picture.
2380 TOLD=T:NEWPIC=0:RETURN
2390 ON TILTOLD GOTO 2400,2410,2420,2430,2440,2450,2460,2470,2480,2490,2500,2510,2520
2400 PUT(XOLD,YOLD),M1:RETURN
2410 PUT(XOLD,YOLD),M2:RETURN
2420 PUT(XOLD,YOLD),M3:RETURN
2430 PUT(XOLD,YOLD),M4:RETURN
2440 PUT(XOLD,YOLD),M5:RETURN
2450 PUT(XOLD,YOLD),M6:RETURN
2460 PUT(XOLD,YOLD),M7:RETURN
2470 PUT(XOLD,YOLD),M8:RETURN
2480 PUT(XOLD,YOLD),M9:RETURN
2490 PUT(XOLD,YOLD),M10:RETURN
2500 PUT(XOLD,YOLD),M11:RETURN
2510 PUT(XOLD,YOLD),M12:RETURN
2520 PUT(XOLD,YOLD),M13:RETURN
2530 ON TILTOLD GOTO 2540,2550,2560,2570,2580,2590,2600,2610,2620,2630,2640,2650,2660
2540 PUT(XOLD,YOLD),R1:RETURN
2550 PUT(XOLD,YOLD),R2:RETURN
2560 PUT(XOLD,YOLD),R3:RETURN
2570 PUT(XOLD,YOLD),R4:RETURN
2580 PUT(XOLD,YOLD),R5:RETURN
2590 PUT(XOLD,YOLD),R6:RETURN
2600 PUT(XOLD,YOLD),R7:RETURN
2610 PUT(XOLD,YOLD),R8:RETURN
2620 PUT(XOLD,YOLD),R9:RETURN
2630 PUT(XOLD,YOLD),R10:RETURN
2640 PUT(XOLD,YOLD),R11:RETURN
2650 PUT(XOLD,YOLD),R12:RETURN
2660 PUT(XOLD,YOLD),R13:RETURN
2670 ON TILTOLD GOTO 2680,2690,2700,2710,2720,2730,2740,2750,2760,2770,2780,2790,2800
2680 PUT(XOLD,YOLD),RR1:RETURN
2690 PUT(XOLD,YOLD),RR2:RETURN
2700 PUT(XOLD,YOLD),RR3:RETURN
2710 PUT(XOLD,YOLD),RR4:RETURN
2720 PUT(XOLD,YOLD),RR5:RETURN
2730 PUT(XOLD,YOLD),RR6:RETURN
2740 PUT(XOLD,YOLD),RR7:RETURN
2750 PUT(XOLD,YOLD),RR8:RETURN
2760 PUT(XOLD,YOLD),RR9:RETURN
2770 PUT(XOLD,YOLD),RR10:RETURN
2780 PUT(XOLD,YOLD),RR11:RETURN
2790 PUT(XOLD,YOLD),RR12:RETURN
2800 PUT(XOLD,YOLD),RR13:RETURN
2810 REM $s2
2820 '################ Advanced-Lander Landing Field ##########################
2830 REM $S1
2840 SCREEN 1:COLOR 0,0:CLS:LY(1)=0
2850 IF ADJUST = 1 THEN OUT 980,2: OUT 981,43
2860 BEEP:LOCATE 1,1:PRINT"ADVANCED LANDER":PRINT"LANDING FALL":PRINT"LESS THAN -10-"
2870 LINE(LAX(1),LAY(1))-(LAX(1)+1,LAY(1)),1
2880 BOT=224:FOR I=2 TO LP :LY(I)=LAY(I)
2890 LINE -(LAX(I),LAY(I)),3:NEXT
2900 PAINT(0,199),1,3:LINE (BOT+5,193)-(BOT+25,199),2,BF
2910 LINE(120,160)-(145,199),2,BF
2920 FOR I=0 TO 2:LINE(125,165+10*I)-(140,169+10*I),3,BF:NEXT
2930 LINE (20,130)-(120,199),3,BF 'bldg
2940 LINE (35,110)-(105,130),0,BF
2950 FOR I=0 TO 5:FOR J=0 TO 2:LINE(30+14*I,140+J*14)-(40+14*I,150+J*14),0,BF:NEXT:NEXT
2960 LINE(65,185)-(75,199),0,BF
2970 LINE(146,175)-(205,199),3,BF
2980 FOR I=0 TO 4:LINE(150+10*I,178)-(158+10*I,191),0,BF:NEXT
2990 X=40:Y=113 ' Draw IBM LOGo on Bldg
3000 FOR I=0 TO 75 STEP 2:LINE (X+2*IBMX(I),Y+2*IBMY(I))-(X+2*IBMX(I+1),Y+2*IBMY(I+1)):NEXT I
3010 X=90:Y=30:XOLD=X:YOLD=Y:F=F+1000:F0=F:T=11:TOLD=T:TILT=0:TILTOLD=TILT:SY=13:ADVAN=1
3020 IF GAUGE=0 GOTO 3050
3030 LOCATE 1,28:PRINT " SCORE=" S:LOCATE 2,29:PRINT " FALL=" SY
3040 LOCATE 3,28:PRINT "THRUST=" T:LOCATE 4,30:PRINT "FUEL=" F:GOTO 3110
3050 LOCATE 1,30:PRINT"F   F   P":LOCATE 2,30:PRINT"U   A   O":LOCATE 3,30:PRINT"E   L   W"
3060 LOCATE 4,30:PRINT"L   L   E":LOCATE 5,30:PRINT"        R"
3070 LINE(241,0)-(257,35),1,BF:LINE(241,36)-(257,40),2,BF 'Fuel Gauge
3080 LINE(273,5)-(289,10),1,BF:LINE(273,11)-(289,40),2,BF:LINE(273,0)-(289,4),2,BF 'Fall Gauge
3090 LINE(304,15)-(319,25),1,BF:LINE(304,26)-(319,40),2,BF:LINE(304,0)-(319,14),2,BF 'Power Gauge
3100 G1=0:LINE (241,G1)-(257,G1),0:G2=10:LINE(273,G2)-(289,G2),3:G3=20:LINE(304,G3)-(319,G3),3
3110 PUT(X,Y),R1:BEEP:GOTO 100
3120 REM $pa
3130 REM Subroutine to Provide a requirements list to
3140 REM execute this program
3150 REM
3160 REM Switch I1 = 1 if on the COLOR monitor
3170 REM Switch I1 = 0 if on the MONO  monitor
3180 REM $s2
3190 WIDTH 40: IF I1 = 0 THEN COLOR 7,0 ELSE COLOR 0,2,2
3200 IF I1 = 1 THEN SCREEN 0,1  'text mode and color enabled
3210 CLS
3220 IF ADJUST = 1 THEN OUT 980,2: OUT 981,43
3230 LOCATE 2,5: PRINT "WELCOME TO THE PROGRAM"
3240 IF I1 = 0 THEN COLOR 30,0 ELSE COLOR 16,2,2
3250 LOCATE 3,5: PRINT PROGNAME$
3260 IF I1 = 0 THEN COLOR 7,0 ELSE COLOR 0,2,2
3270 LOCATE 5,5: PRINT "THIS PROGRAM REQUIRES:"
3280 PRINT: PRINT
3290 IF WIDE = 80 THEN PRINT "    80 CHARACTER RESOLUTION"
3300 IF WIDE = 40 THEN PRINT "    40 CHARACTER RESOLUTION"
3310 IF COLR = 1 OR BOTH = 1 THEN PRINT  "    COLOR/GRAPHICS SCREEN  "
3320 IF BOTH = 1 THEN PRINT  "         OR THE            "
3330 IF COLR = 0 OR BOTH = 1 THEN PRINT  "    MONOCHROME DISPLAY -IBM"
3340 IF PRT = 1 THEN PRINT    "    A PRINTER              "
3350 IF JOY = 1    THEN PRINT "    JOYSTICKS              "
3360 IF BOTH = 1 THEN GOTO 3440
3370 IF (COLR = 1 AND I1 = 1) OR (COLR = 0 AND I1 = 0) THEN GOTO 3440
3380 IF I1 = 0 THEN COLOR 30,0 ELSE COLOR 16,2,2
3390 SWIT = 1  'signal need to switch monitors
3400 PRINT: PRINT: PRINT "    YOU MUST SWITCH SCREENS"
3410 PRINT "    ENTER s TO SWITCH      "
3420 PRINT "    ANY OTHER WILL END RUN "
3430 IF I1 = 0 THEN COLOR 7,0 ELSE COLOR 0,2,2
3440 LOCATE 20,5: PRINT "PRESS ANY KEY TO GO   ": BEEP
3450 REP$ = INKEY$: IF REP$ = "" THEN GOTO 3450
3460 IF SWIT=1 AND (REP$="s" OR REP$="S") THEN GOSUB 3710
3470 RETURN
3480 REM $s2
3490 REM Subroutine to provide exit options from this program
3500 REM $s1
3510 WIDTH 40: IF I1 = 0 THEN COLOR 7,0 ELSE COLOR 0,2,2
3520 IF I1 = 1 THEN SCREEN 0,1  'text mode and color enabled
3530 CLS     'allow use on either monitor
3540 IF ADJUST = 1 THEN OUT 980,2: OUT 981,43
3550 LOCATE 3,5: PRINT "PLEASE CHOOSE FROM FOLLOWING"
3560 LOCATE 5,5: PRINT "1 = RUN PROGRAM AGAIN       "
3570 LOCATE 7,5: PRINT "2 = EXIT BACK TO THE MENU   "
3580 LOCATE 9,5: PRINT "3 = RETURN TO BASIC PROGRAM "
3590 LOCATE 11,5: PRINT "4 = RETURN TO DOS           "
3600 LOCATE 20,5: PRINT "ENTER YOUR SELECTION NOW    ": BEEP
3610 REP$ = INKEY$: IF REP$ = "" THEN GOTO 3610
3620 IF REP$ = "1" THEN GOTO 10  'RUN (PROGNAME$)
3630 IF REP$ = "2" THEN CHAIN "MENU"
3640 IF REP$ = "3" THEN WIDTH 80: CLS: END
3650 IF REP$ = "4" THEN CLS: SYSTEM
3660 LOCATE 20,5: PRINT "INVALID SELECTION - TRY AGAIN"
3670 FOR I = 1 TO 800: NEXT I: CLS: GOTO 3550
3680 REM $s2
3690 REM Now switch between the monitors as required
3700 REM $s1
3710 IF I1=0 THEN GOTO 3750: ELSE GOTO 3890
3720 REM $s1
3730 REM Switch to the COLOR monitor
3740 REM $s1
3750 CLS: LOCATE ,,0  'clear screen/turn off mono cursor
3760 CLS
3770 DEF SEG=0        'switch to BIOS communications area
3780 REM set equipment determination flags for color 40 characters
3790 POKE &H410,(PEEK(&H410) AND &HCF) OR &H10
3800 DEF SEG          'switch back to BASIC program segment
3810 SCREEN 0,1: COLOR 0,2,2
3820 WIDTH 40         'init color adapter to 40 characters, clear screen
3830 LOCATE ,,1,6,7   'set cursor size for color mode
3840 IF ADJUST = 1 THEN OUT 980,2: OUT 981,43
3850 I1 = 1: GOTO 3990
3860 REM $s2
3870 REM Switch to the Black and White monitor
3880 REM $s1
3890 CLS: LOCATE ,,0  'remove cursor from color screen
3900 DEF SEG=0        'switch to BIOS communications area
3910 REM set equipment determination flags for monochrome display 80 chars
3920 POKE &H410,PEEK(&H410) OR &H30
3930 DEF SEG          'revert to basic program segment
3940 SCREEN 1         'be sure next line is a change 02/23/82
3950 SCREEN 0         'put into text mode for sure
3960 COLOR 7,0: I1 = 0
3970 WIDTH 40         'init 40 character mode and clear display
3980 LOCATE ,,1,12,13 'turn on monochrome cursor position
3990 RETURN

NADIA.BAS

10 REM  `Nadia's Theme'
11 '
12 'COURTESY OF FRED REED
13 'TELE # 946-4085
14 '
15 '
20 A$="O3D1DO2DGO3DC1.O2CFO3CO2B-2.O3CD2.O2B-A..O3D1.O2DGO3DC1.O2CFO3CO2B-2.O3CD2.O2B-A1.AO3CO2FG1.GO3CO2GA1.O3CFCD8C8C8O2B-8B-O3E8D8D8C8C2D8C8C8O2B-8B-8A8A8F8D1O3D1.O2DGO3DC1.O2CFO3CO2B-2.O3CD2.O2B-A1"
30 PLAY "T140 L4;XA$;"

PHOENIX.BAS

10 REM  `By The Time I Get To Phoenix"
11 '
12 'courtesy of Fred Reed
13 'tele # 946-4085
14 '
20 A$="O2E8F8"
30 B$="O2G8....G8G8G8GG2F8O3C8CO2A2.P4E8F8G8G8G2G8G8GG2F8O3C8O2A1P4O3C8C8D2D8D8D8D8D2O2B-O3C8D8CC2.P4O2G8A8"
40 BA$="O2B-8B-8B-2B-A8A8G2FG1.P4E8F8"
50 BB$="O2B-B-B-3..B-B-8A8B-8O3C8O2A1P4FFG8A8G....G8F8E8B-8A1.."
60 PLAY "T140 L4;XA$;XB$;XBA$;XB$;XBB$;"

ROULETTE.BAS

10 KEY OFF
20 CLS
30 PRINT TAB(30);"ROULETTE"
40 PRINT
50 PRINT "CHOOSE A NUMBER FROM THE FOLLOWING:":RANDOMIZE
60 PRINT
70 INPUT "NUMBER OF PLAYERS";N
80 PRINT
90 DIM A(5),B(5),C(5):'AT MOST 5 PLAYERS
100 REM   30-60 ALLOW PLAYERS TO BUY CHIPS
110 FOR J=1 TO N:'FOR EACH OF THE PLAYERS
120 PRINT "PLAYER";J
130 PRINT
140 INPUT "HOW MANY CHIPS";A(J)
150 PRINT
160 NEXT J
170 PRINT
180 PRINT "LADIES AND GENTLEMEN! PLACE YOUR BETS PLEASE!"
190 FOR J=1 TO N:'FOR EACH OF THE PLAYERS
200 PRINT
210 PRINT "PLAYER";J
220 PRINT
230 PRINT "BET TYPE: 1=NUMBER BET (1 TO 34), 2=EVEN, 3=ODD"
240 PRINT
250 INPUT "BET TYPE (1,2,OR 3)";D(J)
260 IF D(J)=1 THEN 310 ELSE 270
270 PRINT
280 INPUT "AMOUNT";C(J)
290 PRINT
300 GOTO 330
310 PRINT
320 INPUT "NUMBER, AMOUNT";B(J),C(J):'INPUT BET
330 NEXT J
340 X=INT(34*RND+1):'SPIN THE WHEEL
350 REM    210-300 DISPLAY THE WINNING NUMBER
360 CLS
370 LOCATE  5,10:PRINT "THE WINNING NUMBER IS";X
380 PRINT
390 REM    310-330:'DETERMINE WINNINGS AND LOSSES
400 FOR J=1 TO N:'FOR EACH PLAYER
410 IF D(J)=1 THEN GOSUB 600
420 IF D(J)=2 THEN GOSUB 690
430 IF D(J)=3 THEN GOSUB 800
440 NEXT J
450 PRINT
451 PRINT
460 PRINT "PLAYERS' CURRENT BANKROLLS:"
470 PRINT
480 PRINT "PLAYER","CHIPS LEFT"
490 PRINT
500 FOR J=1 TO N
510 PRINT J,A(J)
520 NEXT J
530 PRINT
540 INPUT "DO YOU WISH TO PLAY ANOTHER ROLL(Y/N)";R$
550 CLS
560 IF R$="Y" OR R$="y" THEN 180
570 PRINT
580 PRINT "THE CASINO IS CLOSED. SORRY!"
590 END
600 IF B(J)=X THEN 650 ELSE 610
610 PRINT
620 PRINT "PLAYER";J;"LOSES"
630 A(J)=A(J)-C(J)
640 RETURN
650 PRINT
660 PRINT "PLAYER";J;"WINS";32*C(J);"DOLLARS"
670 A(J)=A(J)+32*C(J)
680 RETURN
690 K=0
700 IF X=2*K THEN 760 ELSE 710
710 K=K+1:IF K>16 THEN 720 ELSE 700
720 PRINT
730 PRINT "PLAYER";J;"LOSES"
740 A(J)=A(J)-C(J)
750 RETURN
760 PRINT
770 PRINT "PLAYER";J;"WINS";C(J);"DOLLARS"
780 A(J)=A(J)+C(J)
790 RETURN
800 K=0
810 IF X=2*K+1 THEN 870 ELSE 820
820 K=K+1:IF K>=16 THEN 830 ELSE 810
830 PRINT
840 PRINT "PLAYER";J;"LOSES"
850 A(J)=A(J)-C(J)
860 RETURN
870 PRINT
880 PRINT "PLAYER";J;"WINS";C(J);"DOLLARS"
890 A(J)=A(J)+C(J)
900 RETURN
999 END

SESAME.BAS

10 KEY OFF:CLS
20 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
30 PRINT"░┌───────────────────────────────────┐░"
40 PRINT"░│                                   │░"
50 PRINT"░│            5008-A.BAS             │░"
60 PRINT"░│              SESAME               │░"
70 PRINT"░│                                   │░"
80 PRINT"░│                                   │░"
90 PRINT"░│ BROUGHT TO YOU BY THE MEMBERS OF  │░"
100 PRINT"░│      ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄      │░"
110 PRINT"░│        █   █   █ █     █   █      │░"
120 PRINT"░│        █   █▄▄▄█ █     █   █      │░"
130 PRINT"░│        █   █     █     █   █      │░"
140 PRINT"░│      ▄▄█▄▄ █     █▄▄▄▄ █▄▄▄█      │░"
150 PRINT"░│                                   │░"
160 PRINT"░│      International PC Owners      │░"
170 PRINT"░│                                   │░"
180 PRINT"░│P.O. Box 10426, Pittsburgh PA 15234│░"
190 PRINT"░│                                   │░"
200 PRINT"░└───────────────────────────────────┘░"
210 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
220 PRINT
230 PRINT "       PRESS ANY KEY TO CONTINUE
240 A$=INKEY$: IF A$="" THEN 240
250 CLS
1000 KEY OFF
1010 CLS:WIDTH 40:LOCATE 10,19:PRINT "The":LOCATE 12,14:PRINT "Sesame Street":LOCATE 14,18:PRINT "Song"
1020 LOCATE 25,11,0:PRINT "Hit any key to begin"
1030 P$=INKEY$:IF P$="" GOTO 1030
1040 A$="c4"
1050 B$="C8"
1060 CLS:PRINT "Sun";
1070 PLAY "P4O4XA$+B$;"
1080 PRINT "ny ";
1090 PLAY "O3a4"
1100 PRINT "day ";
1110 PLAY "F2"
1120 PRINT "sweep";
1130 PLAY "L8F"
1140 PRINT "in' ";
1150 PLAY "G16"
1160 PRINT "the ";
1170 PLAY "A4P4"
1180 PRINT "clouds ";
1190 PLAY "O4XA$+B$;"
1200 PRINT "a";
1210 PLAY "O3A4"
1220 PRINT "way"
1230 PLAY "F1"
1240 PRINT:PRINT:PRINT
1250 PRINT "on ";
1260 PLAY "P4O4XA$+B$;"
1270 PRINT "my ";
1280 PLAY "O3a4"
1290 PRINT "way ";
1300 PLAY "F4"
1310 PRINT "to ";
1320 PLAY "f8"
1330 PRINT "where ";
1340 PLAY "g4"
1350 PRINT "the ";
1360 PLAY "a4"
1370 PRINT "air ";
1380 PLAY "b4"
1390 PRINT "is ";
1400 PLAY "O4xa$+b$;"
1410 PRINT "sweet."
1420 C$="d2"
1430 D$="d2"
1440 PLAY "XC$+D$;"
1450 PRINT:PRINT:PRINT
1460 PRINT "Can ";
1470 PLAY "c8"
1480 PRINT "you ";
1490 PLAY "d16"
1500 PRINT "tell ";
1510 PLAY "l4e-"
1520 PRINT "me ";
1530 PLAY "d4"
1540 PRINT "how ";
1550 PLAY "c4"
1560 PRINT "to ";
1570 PLAY "o3a8"
1580 PRINT "get,"
1590 PLAY "g16p4"
1600 PRINT:PRINT:PRINT
1610 PRINT "how ";
1620 PLAY "g8"
1630 PRINT "to ";
1640 PLAY "a16"
1650 PRINT "get ";
1660 PLAY "O3b4"
1670 PRINT "to ";
1680 PLAY "a4"
1690 PRINT "Ses";
1700 PLAY "g8"
1710 PRINT "a";
1720 PLAY "c8"
1730 PRINT "me ";
1740 PLAY "c8"
1750 PRINT "Street? "
1760 PLAY "c1"
1770 CLS
1780 CLS:PRINT "Come ";
1790 PLAY "P4O4XA$+B$;"
1800 PRINT "and ";
1810 PLAY "O3a4"
1820 PRINT "play! ";
1830 PLAY "F2"
1840 PRINT "Ev' ";
1850 PLAY "L8F"
1860 PRINT "ry ";
1870 PLAY "G16"
1880 PRINT "thing's ";
1890 PLAY "A4P4"
1900 PRINT "A-";
1910 PLAY "O4XA$+B$;"
1920 PRINT "O-";
1930 PLAY "O3A4"
1940 PRINT "kay."
1950 PLAY "F1"
1960 PRINT:PRINT:PRINT
1970 PRINT "Friend";
1980 PLAY "P4O4XA$+B$;"
1990 PRINT "ly ";
2000 PLAY "O3a4"
2010 PRINT "neigh";
2020 PLAY "F4"
2030 PRINT "bors ";
2040 PLAY "f8"
2050 PRINT "there, ";
2060 PLAY "g4"
2070 PRINT "that's ";
2080 PLAY "a4"
2090 PRINT "where ";
2100 PLAY "b4"
2110 PRINT "we ";
2120 PLAY "O4xa$+b$;"
2130 PRINT "meet."
2140 C$="d2"
2150 D$="d2"
2160 PLAY "XC$+D$;"
2170 PRINT:PRINT:PRINT
2180 PRINT "Can ";
2190 PLAY "c8"
2200 PRINT "you ";
2210 PLAY "d16"
2220 PRINT "tell ";
2230 PLAY "l4e-"
2240 PRINT "me ";
2250 PLAY "d4"
2260 PRINT "how ";
2270 PLAY "c4"
2280 PRINT "to ";
2290 PLAY "o3a8"
2300 PRINT "get,"
2310 PLAY "g16p4"
2320 PRINT:PRINT:PRINT
2330 PRINT "how ";
2340 PLAY "g8"
2350 PRINT "to ";
2360 PLAY "a16"
2370 PRINT "get ";
2380 PLAY "O3b4"
2390 PRINT "to ";
2400 PLAY "a4"
2410 PRINT "Ses";
2420 PLAY "g8"
2430 PRINT "a";
2440 PLAY "c8"
2450 PRINT "me ";
2460 PLAY "c8"
2470 PRINT "Street? "
2480 PLAY "c1"
2490 CLS

SMSPOKER.DOC

Submission/Update Information Form
Program Title: SMSPOKER, aka The Original Buck Mann's Poker-for-One
Detailed Program Description: This program allows the user to play
5 card draw poker against the computer.  The user plays to make the
highest ranking hand possible with higher payouts for better hands.
There is also a double-or-nothing option on drawing the next card.
Note: The attraction in the game is the interaction with the user in
the form of comments, etc. made by the computer dealer as the game
goes on.  It is also possible to break the bank.  In the full version
a player may save an account balance as well as borrow money from the
house as required.  The house tracks repayments and charges interest
on the loan.  A feature not seen until the game is played many times
is it's response to holidays, etc.
Who is the intended user? Adults
If this is an update, improvements over old version:  Bugs have been
removed that were reported since 1982.  The game handles a higher
betting limit now and makes a much wider range of comments as the game
progresses.  The ability to speed the game up as you learn to play has
been added as well as the ability to turn off the sound.

Unique features of the program (why is your program better?): see the
detailed program description.

Program's capacity or limitations (i.e. how many records it will hold or
conditions where the program won't work, features described or implied
above that only come with registration): The version as provided above
will not allow the user to borrow money or to save an account.  It is
otherwise a full version except for the story of Buck Mann.  Users who
register and who break the bank will receive acknowledgement of having
broken the bank in the form of a T-shirt or autographed photo of Buck
Mann, etc. (no great value just an acknowledgement).

Does your program require any special systems requirements other than
256K memory, one floppy disk drive, and a monochrome monitor.  If yes,
please list them: None

How to start the program: Type SMSPOKER at the DOS prompt

What is the registration fee for your program? $10.00 for 5.25 disk or
$15.00 for 3.50 disk.

List of program files and one-line description of each file:
 SMSPOKER.EXE     The game program itself

MEL 02/21/89


STARWARS.BAS

3 'Theme from `Starwars'
4 '
5 'courtesy of Fred Reed
6 'tele # 946-4085
7 '
10 A$="O2G8G8G8"
20 B$="O3C2G2F8E8D8O4C2O3GF8E8D8O4C2O3GF8E8F8D2O2G8G8"
30 C$="O2A.A8O3F8E8D8C8C8D8E8D8.O2A16BG8G8A.A8O3F8E8D8C8G8.D16D2O2G8G8A.A8O3F8E8D8C8C8D8E8D8.O2A16BO3G8G8O4C8.O3B-16A-8.G16F8.E-16D8.C16G2.O2G8G8G8"
40 D$="O3C2G2F8E8D8O4C2O3GF8E8D8O4C2O3G"
50 E$="O3F8E8F8D2G8G8"
60 F$="O3F8E8F8D2GO4C..C8C8C8C8P4P4"
70 PLAY "T140 L4;XA$;XB$;XB$;XC$;XD$;XE$;XB$;XC$;XD$;XF$;XB$;"

Directory of PC-SIG Library Disk #0055

 Volume in drive A has no label
 Directory of A:\

BIO      BAS      4352   1-01-80
CRAZY8   BAS      9195   2-27-83  12:18a
DESERT   BAS      7424   2-22-82
FILES55  TXT      1376   3-13-89   3:40p
GO       BAT        38  10-19-87   3:56p
GO       TXT      1233   3-03-89   9:48a
HRSERACE BAS      4608   2-12-83   5:17p
IPCOGOLF BAS      7808   3-04-82
JETPILOT BAS     14080   1-01-80
JETPILOT DOC      3456   1-01-80
LANDER   BAS     17920   9-20-82   8:23p
LANDER   BIN      5760   3-08-82
LANDER   SCR       128   4-17-82
NADIA    BAS       384   3-08-83   4:37p
PHOENIX  BAS       384   3-08-83   4:48p
ROULETTE BAS      1792   1-01-80
SESAME   BAS      4096   2-19-83   9:09a
SMSPOKER DOC      2323   2-21-89   2:00p
SMSPOKER EXE    145584   2-29-88   4:40a
STARWARS BAS       512   3-08-83   4:41p
       20 file(s)     232453 bytes
                       78848 bytes free