home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug121.arc / NORAD.ARK / NORAD.BAS next >
BASIC Source File  |  1988-08-07  |  12KB  |  207 lines

  1. 1 REM  This is NORAD.BAS, a MBASIC program for use on Kaypros and other CP/M
  2. 2 REM  computers.  It was kludged from SHOAX.BAS, found in HOAX.ARC (which 
  3. 3 REM  was written for the TI-PC and IBM computers).   m8711.30
  4. 4 REM RUEL T. Hernandez, P.O. Box 5813, Chula Vista, California 92012
  5. 5 REM CIS: 71450,3341  GEnie: R.HERNANDEZ  Internet: ruel@cup.portal.com
  6. 6 REM Australian version and add-ons G.C.Reibelt VIATEL 709914670
  7. 7 DIM A$(100)
  8. 8 PRINT CHR$(26):PRINT "A0>^C":PRINT "Warm Boot":PRINT:PRINT "A0>DIR;PAUSE;MEX CALL NORAD #"
  9. 9 PRINT:PRINT "            Drive A0:  files: 14  space used: 166k  (690k free) ":PRINT "A0: CAL     .COM  2k : MBASIC  .COM 24k : PCPIMP  .COM 32k : WP      .COM 18k"
  10. 10 PRINT "A0: CMDRUN  .COM  2k : MEX     .COM 26k : SPZ     .COM  8k : WS      .COM 18k":PRINT "A0: GO      .COM  0k : NSWEEP  .COM 12k : TYPER   .COM  4k : ":PRINT "A0: HP      .COM  2k : NULU    .COM 16k : WC      .COM  2k : "
  11. 11 PRINT:BA$ = CHR$(7):PRINT BA$:PRINT "PAUSE version 13":INPUT "Press RETURN Key to Continue";Q$
  12. 12 PRINT CHR$(26)
  13. 13 PRINT "MEX (Modem EXecutor) v5.21 - Clone Level 13":PRINT "(type '?' for command list, 'CTRL-C' to return to DOS)":PRINT "Copyrite 1987 by NightHoot Hardware Corp.":PRINT "AMODEM Overlay -- Version 4.3":PRINT:PRINT "[MEX] A0>>CALL NORAD #"
  14. 20 PRINT:PRINT "Waiting for dialtone":FOR X=1 TO 1000:NEXT X
  15. 25 PRINT "Dialing: 0011-1-203-456-7685"
  16. 30 SPEED = 300: BA$="0011 1 203 456 7685": GOSUB 1650
  17. 40 RANDOMIZE VAL(MID$(TIME$,7,2))
  18. 50 PRINT:PRINT "Waiting for Connection  ";: FOR X=1 TO 3000: NEXT X
  19. 60 LNE = INT(RND*5):FOR X = 1 TO 1000:NEXT X
  20. 70 IF LNE = 0 GOTO 120  ' CONNECTED
  21. 80 IF LNE = 1 THEN PRINT "BUSY":  GOTO 20
  22. 90 LNE = INT(RND*5)
  23. 100 IF LNE <4  THEN PRINT "RINGING"; : ELSE GOTO 120
  24. 110 FOR X = 1 TO 3000: NEXT X : GOTO 90
  25. 120 BA$ = CHR$(7):PRINT BA$:PRINT:PRINT "Connected @1200 bps":PRINT:PRINT "[MEX] [Term: CTL-[ + `?` for help]":PRINT:PRINT: FOR X = 1 TO 500: NEXT X
  26. 130 SPEED = 65
  27. 140 REM
  28. 150 PRINT: PRINT: BA$="NORTH AMERICAN AIR DEFENSE COMMAND CONTROL SYSTEM":GOSUB 1650: PRINT: PRINT
  29. 160 BA$= "N O R A D   S Y S T E M   C O M C O N 4......."+CHR$(7)+"CONNECTED"
  30. 170 GOSUB 1650
  31. 180 PRINT: BA$ = DATE$+"    "+TIME$: GOSUB 1650 :PRINT
  32. 190 PRINT: BA$ = "AUTHORITY CODE": GOSUB 1650 : GOSUB 630
  33. 200 PRINT:PRINT: BA$ = "PROCESSING.................................................................................................................": GOSUB 1650
  34. 210 GOSUB 670
  35. 220 PRINT: PRINT: BA$ ="N O R A D   P R I M E   A C C E S S": GOSUB 1650
  36. 230 PRINT:PRINT: BA$= "PLEASE STANDBY " : GOSUB 1650
  37. 240 GOSUB 640
  38. 250 PRINT: PRINT
  39. 260 BA$ = CHR$(7)+CHR$(7)+CHR$(7)+CHR$(7)+"WARNING!!!!!"+CHR$(7):GOSUB 1650: PRINT
  40. 270 PRINT: BA$ = "INCOMING CALLERS SUBJECT TO UNITED STATES MILITARY": GOSUB 1650
  41. 280 PRINT: BA$ = "JUSTICE SYSTEM.  FOREIGN ACCESS STRICTLY PROHIBITED.": GOSUB 1650
  42. 290 PRINT: BA$ = "ACCESS IS ON A NEED TO KNOW, EYES-ONLY BASIS FOR ALL":GOSUB 1650
  43. 300 PRINT: BA$="BUT COMMAND AUTHORITY. IMPROPER IDENTIFICATION WILL":GOSUB 1650
  44. 310 PRINT: BA$ = "RESULT IN AUTOMATIC SURVEILLANCE OF THE CONNECTING": GOSUB 1650
  45. 320 PRINT: BA$ = "TELEPHONE LINE.  INFORMATION SO GATHERED WILL BE GIVEN": GOSUB 1650
  46. 330 PRINT: BA$ = "TO THE PROPER LOCAL, STATE AND FEDERAL GOVERNMENT AND": GOSUB 1650
  47. 340 PRINT: BA$ = "LAW ENFORCEMENT AUTHORITIES.": GOSUB 1650
  48. 350 PRINT:PRINT: BA$ = "ACKNOWLEDGED (Y/N)": GOSUB 1650 : INPUT D$:FOR X=1 TO 5000: NEXT X
  49. 360 IF D$="Y" GOTO 380
  50. 370 IF D$="N" GOTO 1540
  51. 380 PRINT CHR$(26)
  52. 390 PRINT: PRINT: BA$="N O R A D   P R I M E   A C C E S S" : GOSUB 1650
  53. 400 PRINT: PRINT
  54. 410 PRINT: BA$="PLEASE ENTER YOUR EYES-ONLY CODE": GOSUB 1650: GOSUB 630
  55. 420 PRINT:PRINT: BA$= "PROCESSING..................................................................................................................................": GOSUB 1650
  56. 430 PRINT: PRINT
  57. 440 GOSUB 660
  58. 450 PRINT: BA$="CODE ENTERED IMPLIES COMMAND AUTHORITY": GOSUB 1650
  59. 460 PRINT:BA$="ENTER YOUR VERIFICATION AS GIVEN IN..........................................................": GOSUB 1650
  60. 470 FOR X=1 TO 2000: NEXT X
  61. 480 PRINT:PRINT: BA$=">>>>> BOOK 12RY-OLIVE <<<<<": GOSUB 1650
  62. 490 PRINT: PRINT: BA$= "ENTER": GOSUB 1650: GOSUB 630
  63. 500 GOSUB 660
  64. 510 PRINT: PRINT
  65. 520 PRINT: BA$ = "SIR, COMCON4 REPORTS UPTIME VERIFIED FOR NEXT ONE HOUR.": GOSUB 1650
  66. 530 PRINT: BA$ = "NORAD COMMAND CENTER CAN BE REACHED AT ANY TIME WITH": GOSUB 1650
  67. 540 PRINT: BA$ = "PASSWORDS AS PROVIDED IN THE LANGLEY PROTOCOLS.": GOSUB 1650
  68. 550 PRINT: PRINT: PRINT: BA$="ENTERING DIRECT COMMAND MODE..........................................................................." : GOSUB 1650
  69. 560 PRINT: PRINT : BA$= "INTERNAL AUTHORIZATION CODE " : GOSUB 1650
  70. 570 GOSUB 680
  71. 580 PRINT CHR$(26)
  72. 590 PRINT: PRINT: PRINT: BA$ ="N O R A D   C O M M A N D   L E V E L": GOSUB 1650
  73. 600 PRINT: PRINT : BA$ ="REPEAT AUTHORIZATION CODE": GOSUB 1650
  74. 610 GOTO 570
  75. 620 END
  76. 630 BA$ =" ===> ": GOSUB 1650: INPUT A$: RETURN
  77. 640 FOR X=1 TO 2000:NEXT X:RETURN
  78. 650 FOR X=1 TO 4000:NEXT X:RETURN
  79. 660 FOR X=1 TO 6000: NEXT X: RETURN
  80. 670 FOR X=1 TO 6000: NEXT X: PRINT CHR$(26): RETURN
  81. 680 PRINT: PRINT: BA$ =" ===> ": GOSUB 1650:INPUT A$
  82. 690 IF LEFT$(A$,7)= "LANGLEY" THEN GOSUB 750
  83. 700 PRINT: BA$ ="SEARCHING FOR SUBPROGRAM...............................................................................":GOSUB 1650:FOR X=1 TO 2000: NEXT X: PRINT:PRINT:BA$=" RUNNING "+A$+" ON CPU"+STR$(INT(RND(1)*20+1)): GOSUB 1650
  84. 710 GOSUB 670
  85. 720 A=INT(RND(1)*4 +1)
  86. 730 ON A GOSUB 910,1140,1280,1430
  87. 740 RETURN
  88. 750 GOSUB 670
  89. 760 PRINT CHR$(26):FOR X=1 TO 4:PRINT: BA$= CHR$(7):GOSUB 1650:NEXT X: PRINT:BA$="COMCON4....REQUEST RECORDED": GOSUB 1650
  90. 770 PRINT: BA$="PROCESSING, STANDBY ": GOSUB 1650
  91. 780 FOR X=1 TO 4000: NEXT X: GOSUB 670
  92. 790 PRINT: BA$="N O R A D   C E N T R A L   C O M M A N D": GOSUB 1650
  93. 800 PRINT: BA$="-----------------------------------------"  : GOSUB 1650
  94. 810 PRINT: PRINT: PRINT: BA$="THIS IS LANGLEY CENTER" : GOSUB 1650
  95. 820 PRINT: BA$="PRIMARY INTELLIGENCE VERIFICATION CODE, PLEASE":GOSUB 1650:GOSUB 630
  96. 830 PRINT
  97. 840 GOSUB 660
  98. 850 FOR X=1 TO 4:PRINT CHR$(7);:NEXT X:PRINT:BA$="EXECUTIVE POWER CLAIM ENTERED................................................................................................" : GOSUB 1650
  99. 860 PRINT: PRINT: PRINT:BA$=">>>>> AIR FORCE ONE FALLBACK ALERT <<<<<": GOSUB 1650
  100. 870 PRINT: PRINT: PRINT:BA$="MR. PRESIDENT, PLEASE ENTER YOUR TOTAL COMMAND AUTHORIZATION": GOSUB 1650: GOSUB 630
  101. 880 PRINT
  102. 890 GOSUB 660
  103. 900 GOTO 1520
  104. 910 REM
  105. 920 GOSUB 640
  106. 930 PRINT: PRINT: PRINT:BA$="N O R A D   C O M M A N D   L E V E L": GOSUB 1650
  107. 940 PRINT
  108. 950 PRINT :BA$="COMCON4 RUNNING "+A$: GOSUB 1650 : GOSUB 640
  109. 960 PRINT: PRINT:BA$= A$+" IMPLIES COMMAND AUTHORITY": GOSUB 1650
  110. 970 GOSUB 1070
  111. 980 PRINT : BA$ = "PLEASE DECODE THE FOLLOWING:":GOSUB 1650 :PRINT
  112. 990 FOR X=1 TO INT(RND(1)*5)+1
  113. 1000 FOR Y=1 TO 20
  114. 1010 BA$=STR$(INT(RND(1)+521114007#))+" "
  115. 1020 NEXT Y: NEXT X
  116. 1030 GOSUB 1650: PRINT: PRINT
  117. 1040 BA$ = "MAKE DECODED ENTRY AND PRESS RETURN":GOSUB 1650: INPUT C$:FOR X=1 TO 5000: NEXT X
  118. 1050 RESTORE
  119. 1060 RETURN
  120. 1070 REM COMMAND SUBROUTINE
  121. 1080 PRINT: FOR X=1 TO 5: READ B$(X): NEXT X
  122. 1090 DATA "GREEN","GOLD", "CRIMSON", "VIOLET", "GREY"
  123. 1100 PRINT: BA$= "USING BOOK"+STR$(INT(RND(1)+1))+B$(INT(RND(1)+5)): GOSUB 1650
  124. 1110 PRINT
  125. 1120 RESTORE
  126. 1130 RETURN
  127. 1140 REM SECOND FAKE OUTPUT
  128. 1150 PRINT: PRINT: PRINT: BA$="N O R A D   C O M M A N D   L E V E L":GOSUB 1650
  129. 1160 PRINT: PRINT: BA$="COMCON4 RUNNING...................................................................................................................."+A$:GOSUB 1650: PRINT: PRINT :BA$="PLEASE DECODE THE FOLLOWING:": GOSUB 1650
  130. 1170 GOSUB 1070
  131. 1180 GOSUB 640
  132. 1190 BA$=""
  133. 1200 FOR X=1 TO INT(RND(1)*10 + 1)
  134. 1210 FOR Y=1 TO INT(RND(1)*1 + 1)
  135. 1220 Z=INT(RND(1)*26 + 65)
  136. 1230 BA$=BA$+CHR$(Z)+" "
  137. 1240 NEXT Y
  138. 1250 NEXT X: GOSUB 1650
  139. 1260 PRINT: PRINT: PRINT: BA$= "MAKE DECODED ENTRY AND PRESS RETURN":GOSUB 1650:INPUT A$
  140. 1270 RETURN
  141. 1280 REM THIRD FAKE OUTPUT
  142. 1290 CK=CK+1
  143. 1300 GOSUB 1070
  144. 1310 PRINT CHR$(26)
  145. 1320 PRINT: PRINT: PRINT:BA$ ="N O R A D   C O M M A N D   L E V E L": GOSUB 1650
  146. 1330 PRINT: PRINT: PRINT: PRINT: PRINT: FOR X=1 TO 4: PRINT CHR$(7);: NEXT X: PRINT:BA$="SIR--YOUR PROGRAM, "+A$+" IS NOT IN CPU CATALOG": GOSUB 1650
  147. 1340 PRINT:BA$="PLEASE RE-ENTER YOUR COMMAND AUTHORITY CODE": GOSUB 1650: GOSUB 630
  148. 1350 IF CK >4 THEN GOTO 1520
  149. 1360 PRINT: PRINT:PRINT:BA$="PROCESS A":GOSUB 1650:FOR X=1 TO 2000:NEXT X: BA$="....COMPARING....":GOSUB 1650: FOR X=1 TO 2000: NEXT X: BA$="ACCEPTED" : GOSUB 1650
  150. 1370 GOSUB 640
  151. 1380 PRINT: PRINT:BA$="SIR, PLEASE CHECK YOUR PROGRAM CODES.  COMCON4 IS PROGRAMMED": GOSUB 1650
  152. 1390 PRINT:BA$= "TO TERMINATE CALL ON FIFTH ILLEGAL PROGRAM CODE FOR": GOSUB 1650
  153. 1400 PRINT: BA$="REASONS OF NATIONAL SECURITY UNDER EXECUTIVE ORDER STAR5.": GOSUB 1650
  154. 1410 FOR X=1 TO 5000: NEXT X
  155. 1420 RETURN
  156. 1430 REM FOURTH FAKE OUTPUT
  157. 1440 GOSUB 1070
  158. 1450 PRINT CHR$(26)
  159. 1460 PRINT: BA$="N O R A D   C O M M A N D   L E V E L" : GOSUB 1650
  160. 1470 PRINT: PRINT: PRINT: FOR X=1 TO 4: PRINT CHR$(7);:NEXT:BA$= "CONNECTION TERMINATED WITH PREJUDICE": GOSUB 1650
  161. 1480 PRINT: PRINT:BA$="PAGE "+STR$(INT(RND(1)*1000))+" IN CODE BOOK "+B$+" IS": GOSUB 1650
  162. 1490 PRINT:BA$="STILL OPERATIVE AS IN PRIMARY DIRECTIVES.": GOSUB 1650
  163. 1500 FOR X=1 TO 5000: NEXT X
  164. 1510 GOTO 1610
  165. 1520 REM DESTRUCT
  166. 1525 IF A$="STAR4" THEN GOTO 1800
  167. 1530 PRINT CHR$(26)
  168. 1540 PRINT: BA$="N O R A D      **AUTO-LOGOFF**" : GOSUB 1650
  169. 1550 PRINT: PRINT: PRINT:BA$="AUTHORIZATION CODE"+CHR$(7)
  170. 1560 GOSUB 1650
  171. 1570 BA$=CHR$(7)+" FAILURE": GOSUB 1650
  172. 1580 PRINT: PRINT: PRINT: FOR X=1 TO 4: NEXT X: PRINT:BA$= CHR$(7)+"CONNECTION TERMINATED WITH PREJUDICE":PRINT: GOSUB 1650
  173. 1590 PRINT:PRINT:BA$="JOINT CHIEFS OF STAFF HAVE BEEN NOTIFIED.  LOCAL, STATE AND": GOSUB 1650
  174. 1600 PRINT:BA$="FEDERAL AUTHORITIES INFORMED OF CIVILIAN OVERRIDE ATTEMPT.": GOSUB 1650
  175. 1610 PRINT
  176. 1620 PRINT: PRINT: PRINT :BA$="COMCON4......"+CHR$(7)+"DISCONNECTING AT: ": GOSUB 1650
  177. 1630 BA$= DATE$+"    "+TIME$: GOSUB 1650:PRINT:BA$="~`\~~@@ss./":GOSUB 1650
  178. 1635 GOTO 8
  179. 1640 END
  180. 1650 REM THIS SLOWS DOWN THE SCREEN PROCESSING
  181. 1660 FOR A = 1 TO LEN(BA$)
  182. 1670 PRINT MID$(BA$,A,1);
  183. 1680 FOR PUS = 1 TO SPEED: NEXT PUS
  184. 1690 NEXT A
  185. 1700 RETURN
  186. 1800 REM NUKE-EM
  187. 1803 PRINT CHR$(26):PRINT:PRINT:BA$="N O R A D  EXECUTIVE CONTROL COMCON4...":GOSUB 1650
  188. 1805 PRINT:PRINT:BA$="MR PRESIDENT, SIR, ENTER FINAL GO CODE FOR NUCLEAR STRIKE..=>":GOSUB 1650
  189. 1810 INPUT A$:BA$=A$:PRINT:GOSUB 1650
  190. 1815 PRINT:PRINT:BA$="ACKNOWLEDGED, SIR, INFORMING ALL UNITS NOW, WAIT PLEASE":GOSUB 1650
  191. 1818 FOR X=1 TO 2000:NEXT X
  192. 1820 PRINT:PRINT:PRINT CHR$(26):PRINT CHR$(7)
  193. 1825 PRINT:PRINT:BA$="N O R A D  EXECUTIVE CONTROL COMCON4...":GOSUB 1650
  194. 1830 PRINT:PRINT:BA$="EXECUTIVE COMMAND:- ALL FFG7 COMS - SEND CRM DISCRIMINATOR GO CODE...":GOSUB 1650
  195. 1835 PRINT:PRINT:FOR X=1 TO 1000:NEXT X:BA$="                    >>>>> OPE <<<<<                   ":GOSUB 1650
  196. 1840 PRINT:PRINT:PRINT CHR$(7):BA$="MR PRESIDENT, PLEASE STANDBY FOR STRIKE PERFORMANCE REPORT...":GOSUB 1650
  197. 1843 FOR X=1 TO 10000:NEXT X
  198. 1845 PRINT:PRINT:PRINT CHR$(7):BA$="SIR, FFG7 COMS REPORT 100% SUCCESS ON THIS NUCLEAR STRIKE ACTION.":GOSUB 1650
  199. 1850 PRINT:PRINT:BA$="LOSSES AT 15% ACCEPTABLE. 55% OF RESOURCES AVAILABLE FOR IMMEDIATE ACTION.":GOSUB 1650
  200. 1852 FOR X=1 TO 2000:NEXT X:PRINT:PRINT CHR$(7)
  201. 1855 PRINT:BA$="THANK YOU FOR THIS CALL MR PRESIDENT, ITS GOOD DOING BUSINESS WITH YOU":GOSUB 1650
  202. 1858 FOR X=1 TO 200:NEXT X:PRINT:PRINT:FOR X=1 TO 200:NEXT X
  203. 1860 PRINT:PRINT:PRINT:BA$="          >> HAVE A NICE DAY <<          ":GOSUB 1650
  204. 1870 PRINT:PRINT:FOR X=1 TO 500:NEXT X:PRINT CHR$(7)
  205. 1890 GOTO 1610
  206. ="          >> HAVE A NICE DAY <<          ":GOSUB 1650
  207. 1870 PRINT:PRINT:FOR X