X7$ ?BOOT-U-No boot on volume ߋtv ϣ-SRT11A DECRT11A XbR˄a T(IɄvJ< kRD+7ϴS-'YsaVa(+;s)X?9FQ;Oھ!wyOB5n?Sk5P&Sz@DY *l!6EJG@(8C_B*w~9wa?=& ^]e.q:|XoXOywփrZKe\!k;76-7iQ"ce is#yS %$Q8HOBۍ[w=NzbHcg;A%/w[oPf\j {UEѥ<U$< V]b7{0P7sjo:[XwLnu -,?Phc; EIOS2u?[2DI Y}Y1>~wSƧ|d{wE0n,2> K-U?WsOxGs}NҫL}< 6HhM},i h}8.8\ȥهȋ˵?ۨ[EOBD ּCp'i>Tq*<}}w0LGęԺ`:MUѼ_Ԝ$-mbǵ~Tnv5wY{_b6։~сDXRqΦHܞ82SvJYHAdJʴSD3$Filn_{ @FْpwAF]&GI:T ŀ[%@$~ȗ-HL!^]xM  V32ڷ|^C^h"6^- HrZ  ]j^tyP8!&m] OV6a cIl N4\L71S<̜'wUG\j4*xPi|1n{@c0R &oN^cs2<clrrDr 6~ چ8PYʶ7@&DMU(*d8u2eUUI˥_ j{T\V"6V@;f b8@9Vlhv28Oc-1Ue˯aZ֖qh#dLa#n|V>#@؂osjkٶX!Ͻu"Hb%Cze$=x$y8e2|tڀVQLK x`91'FҵOɤ~;GE|<'dEs_k,n*]ޞ{?Dk  51Y[9[$;َeW)^R:kޝ]Cb;id22HP  ?$B]Uy{?2 {ӄȡЂ}89փ}%uL[$W.ֿ$qS`y ?2>n?H Hѿ-ܽPlmL)7RN"Xj}J:=; N8>e=[Ts;U"ZRy7o[\_tיȷm^Q *jsgKmnz:eS* @p߂-JkOϊ J݈ŽL yq"0u@Zl`푊 4ҹ-8uuΕ[;IrAuL%4ųkҲqV`t0{0|$onRgE.Qx6 O6Iڛ;UZq1a~ )bF i~Ӵcm+G @:V!#s)eґ 8#K#)V8WL~ 1 .AE֣Blw9!۪XؗLeHXv*-eHX[-yv8 E~ +fff g,K += +VN + | +: g,f + i  i y g,{Q} g,[g g,e(`; g,6F+ +YzR +I k kMU ky s:2 K[q4 > : KZZ k62, k62- kyWF s:6 sS< s:7    8 t 8 t\MWlBHZ&:Bsї8˓Z::DޓubEb֭TN@>9u=V> lIw?b&W;#f7HY f2GxzuWp(Gd—>ȔX9}nxFXG$A(WrC*j >Th\t?(py% 1 p:Mu⾋T" #Pbh):Ȱ)q,)wIL|\|gV)px6.J& ÷\KiR&!:PoWP|(ǽ]%8+mAvNNeȌH\0;`"\s"lR^?׼z?dsQSK%Bc,jl6cu#8nrNx'eQyjM4b-S 쎻hj5;N ԧ5fp_NhL&ϦW+L[;@^'z_HC$C8lsh(W,A3:ZJϼ"ooVMCNcw WH;MQ%Wo2x ,_VPEtQea*_P5ǶX. 1cxML]"hݏ JN:@CP ob,e JN*AHo?E.&t̬چE 6IE\eO<5tP*no_*#I7=D%"4_'ީ=]] 5k!\PADdvG_d_-}$1ZZ-=Jw^ʳW@RgXkIa%Au`bDh/vUk>wL`JEd @ST$. SM-$}-dphyځBz\%*=3?$/pWU& L۬w`n;m`KwVh,"*;n=0}Ul@6˜q-j7|O0g  ϣ-ELN024 ELN01 KITBUILD DECFILE11B L $ELN024.ApeELN024.ABACKUP/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY SYS$SYSDEVICE:[KITBUILD.INSTALL]*.*; DUA1:[0,0]ELN024.A/LABEL=(ELN01,ELN02,ELN03,ELN04,ELN05,ELN06,ELN07,ELN08,ELN09,ELN10)/SAVE/INIT/BLOCK=9000/GROUP=25VAX/VMN "*S @e@A& &ewLOe* @Oe*  @%  @ %   `&\\Ne* Ne*6 6 &  f 6A  v  6N\&f$&  h % % U@     < .`D A @ 耎     e T    e &f   ”E   CPQCQBm     v   &   5@%PeE T  <5eN N (E D A @  eb" b"    D A @ &f&f eD A @ eA @ e@ e&f&f   <%PeE D A @ E@E ED &f& @ &   6&C  8   h   6c6#m    (   # 6 ඌ cmd ` ҕ- 9 |E@ e0Ґ (   ) eC Hҕ ( %% ҕ0ҕ. ҕ0 Ґ+-  Ґʕ/ e:rC e e ҕ*  @e@A& & Je*Je*e&f . 1fABAD5 a C%!e e B V  B\E CP   D a@ C`B `%ֆ C ӆBEІ  %C ‹Á  C B ‹ B     @A & &LIe*f Qf KN @@?=e  ! C D DDC D@ C @ % ` ` D@ B \  @A & &zHe*CBf @ E   E `   @5e  &  @  @ CaB a@ CaB a   C B 5CA aC`B \&    C 5UA B C C  \ &    \B`  Ghuj(  "&:(f &  F 55& F   J  & !z7zFnFE&hFm&E &P&!_e" stsuvxF3l3 l# s !5 F 5 #E"e!#ePe"Pj3h3|3z dn U $ u!\ +?Err 59 USR not locked?Err 62 FORTRAN start fail< Lf&AE$E@ lB`)  rrw6ʊ@ҋ ^ R X΋ x+ b+D  w@F bDz|   :D? DW=W? A @ @)鈇& e:   낃 (  W 3 E`E& N U%@">w"?Err 60 stack overflowed ABCDEFGHIJKLMNOPQRSTUVWXYZ$. 0123456789fromin routine "" line ?Err (PC=D& &&@ D& && 6  A B8,B8,LR88 z      @  e\ \S\ e& @ je\f& \:יc&>X4%]@A@EAU\N E\N MEP\ ' ' \\%&&Af&  e\@A3 TAe*&@A& & @A& & @A& & C P \ f B % % e@ ( B`  ` A@^   A ^”E eBCIE `-    D E A@D D e0bb %- ҕ* V r@E :dt6?3 Dt~ ?t~3 r3 p3 X 3\&&\\ \  \ \f&\J\\  `\ `\e\e\e\e\e\e\g\g\g\\%\%\%\%\%\'\'\'\4  U Eȋ R`5w4  f U   U Bd`5 &\\&\\\\&\\\&\\\& \ \ \\\\ \ \& \ \ \& \ \ \& \D&& V&e\ b\b\b\b\&%\ "\"\"\"\&\ \&\\\ \\&\ \\\\ <\\?<\\<& & e:  STMT \\&\\\\ \\\\\ \fffD <   "wH "w8 "w, \W% BC @ bb@ be K @     h; %tw  %D;t&& fAP  t\ % ;t \\ \ \ \ :& eN t RD \RD ^D C %     @  f&\||| 1164 122316 131 10514157553=6120212223?63242526-4527312829$36,44 32!33"34%37&38'39(40)41#3530*42.46+43149/47048@64A65B66C673512500f&8 35nȋ~ "5*4& 54- ptp&朢d   5@a3 s 5@ @ 3@3 r3 p3!  >#p   3 3 %c s ыs e    ;3  ,FF3 F V {` `3 V3 Tl ,FFBFF R w  3oAsk T g  N  Z[ `X DTB ";  J  @ B   D \$w V- D  ׬RDD H63 V3  863 F  `P B3 \ p@  dExf H3I \sJ 8sL% *sN DL׬I( R%RNN @ 3`"  ,    >5 JœH @ & %NR W w    D >& & EF   !4w 􆉶f ,!4w DR%% $J J N ꇁ   Е `CBД  SD @` ^pH3e3d & 35 5 "$ Xf&̋TT 5 Eť1 ť+ť$ 3 Tť0 H̋  <̋s  Ş@{s @ s ツ̋m 54 w&4 4-45@E4   &vC j5EUe  & 4-2 . l& &v    E5@ߋ*3 pr 5U3 rpwf&$  J"Kv v&f& h1 D\    +.1 f3! ,f$ f nH5$ 舘 STOP -- 5@5#E 5m5 ҕ   mU "(D @ @H@ ` 0 B,    .f&&@@ e @@@ A<  & 65 2&C   `@ `  B  Ag@ @&%7 dDQQF$D, F@F,FhDR R<"x>??FE,FE,FEQFE,AFV!FF!z@PQQFN!zQF#zQF#x>??D; FFFF!!~QQ<#$Q <#&FE,Ax>??<,FFFF!!~QQ#0Q #2FE,Ax>??T08GQXFQHQHQXFQXFQQQ8AQHQHQXFQHQ8zEQQXFQ8BQ8BQ8CQHQHQMQF24D,RRzQ,QQQQ @,QQQQQ2A,QXQQQQFQ @QFQ: ,QHQ\Cj%UQVHQC%XQYQ%[ AQ HCQ]Q2A,RQRz,QHQCb&`Qb&bZ:QZ QQQL@FE,FFFF!QQL@FF,FFFF!|&kFFFF!lZ:QZQQQL@QQQ!~QQ'sQA&uQ&w@Q|&yQB'{Q  '} @Q|&QD<'QL' @Q|&QCh'Qx'@Q|&Q1'Q$7|&Q2'Qx9|&Q3|&QN8|&Q(Q>(HQ ^+zQF,zQF,Q(HQC@+HQHQQHQBh(8BQ @QHQpB+Q( @Q(QQ(Q @AQZQZ QQQL@FE,QZQZ QQQL@FE,QQ>)HQQQQ,QZ7QZQQQL@FE,QHQC)8CQQ)HQQQz2XQQQQ2XQQQQ,5XQQQQp4XQRQRRzTC4*XQQQQ3XQ RQ R RzFr*XQQQ*QQzQF*8@QQ*8DQZQZQQQL@FE,QzQQ+QQ @,QQ.zQF-zQQv,$@AQQ8BQ$x>??ZQZ QQQL@FFFF!FF,FFFF!x>??FFFF!/x>??FFFF!Z QZ QQQL@FF,+ DQZ.QZQQQL@zQF.zQF.zQF/zQF.zQFD/zQF/zQF$ QF,QQHCQn-#QHCQ-%HQAp/'FrD,Q$*@Q$,XQQQQFE,Q$/XQQQQF%E,Q$2zQQ$4 DQzQF-7HQCT.9^+:XFRQRRQZ.QZQQQL@F~E,Q$@Z.QZQQQL@FBE,$EZ.QZQQQL@F`E,$JFD,$LFD,$NFD,$PFD,$R8CQQQQQQ:$U8BQQQQQQ:$XHQ8 BQQQQQQ:$rx>??FcF,v!~QQ/yQ!z/{QN0}Qn0#7 FKF,AK@G,AKG,AKG,AK#H,AKgH,AKH,AKH,AK3I,AKaI,AKI,AKI,AKJ,AK:J,AKJ,AKJ,AKJ,AKK,AK^K,AKcK,A?7 K(R2AVR(R2AVRRV2RRRRR27 K(RRV&R( R RV$R"R"R$R&R27 pKJ(RG2VG(R(R2|(R @(R*R3 @(R*R23 ,R(RL@?3p(R0R*R0RJ*RGX3VG(R*Rl3|*R,R*RL@.RKK,.R0R37 Kn2R8R 4R8R8RzKd4(4RB2@V6R6R46R 6RKKKK6(2RB2@V6R6RF4 6R6RKKKK57 KnRBRBRzTC 5(>R2DV@R@R4@R @RKKKK6(>Q!~RR>  @Q!~RR>R:Q!z>R>7 BQRd?LQ!~RR&?NQ!~RRB?  PQ!~RRd?RJQ!z?R?7 RQR@\Q!~RR?^Q!~RR?  `Q!~RR@RZQ!z$@R$@7 bQPR  RPR  RR@lQ!z@ nQ!z@ R!z@R!z@pQ!z@RjQ!z@R@R!z ARjQ!z>AR>AR!z`AR jQ!z~A"R~A7 rQ~QzQ,RARQ!zA RAf&f&  e `e& e eBD N"Q$B(< U& 0 u @ 3 PAjC&eW!lC C'& f@! ! & etBw Λw Μw Ν# B   ` ׮PU ׮PU, U1 0 555U U& &3 @&&5¥.  , &@ #& 5ff@ & 5 EE 爄 Mxdxd z :Q@ AIRPLANE LANDING GAME - BY BILL GREENE, DIGITAL EQUIPMENT CORP. NO N+YOU ARE ON GLIDEPATH + YOU ARE IN RADAR CONTACT + DESCEND TO 1500 FEET + SLOW AIRCRAFT TO 90 MPH + BEGIN 10 FPS DESCENT +YOU ARE  FEET LOW +YOU ARE  FEET HIGH +MISSED APPROACH-GO AROUND + NICE LANDING + FEET OF RUNWAY LEFT * AIRCRAFT INSTRUMENT FLIGHT SIMULATION GAME DO YOU WANT INSTRUCTIONS ?  + +* + +NOW YOU DID IT !+HOW DID WE GET IN THIS CORNFIELD?  ENTER 0 FOR VT05, 1 FOR VT52 :  DO YOU WANT TO FLY AGAIN ?  $A>?@̴D>33NO N G`DFF@E@GxGGGG@GG;6d !RH+ ALTITUDE CLIMB + + + + + + + + ------COMMUNICATIONS------ H+! 5000 ! ! 25 ! + HEADING + + +H+! 4500 ! ! 20 ! + 281 + + +G+! 4000 ! ! 15 ! + + + + + + + + --------------------------@+! 3500 ! ! 10 ! +++++ * * * * * * *@+! 3000 ! ! 5 ! + + * FUEL *@+! 2500 ! ! 0 ! + + * *@+! 2000 ! ! -5 ! + + * * * * * * **+! 1500 ! !-10 ! +---- _____ ----+)+! 1000 ! !-15 ! + +<+! 0500 ! !-20 ! + + STALL WARNING [ ]2+! 0000 ! !-25 ! + + 2+ [ 2500 ] [ 6 ] +++++ G+---------------------------AIRSPEED------------------------------------:+40 60 80 100 120 140 160 180 200+ G+----------------------------POWER--------------------------------------G+0 10 20 30 40 50 60 70 80 90 100+ G+-----------------------------------------------------------------------  EyRof"R (R+> Q2R@!4; TYPE 0 FOR VT05, TYPE 1 FOR VT52, VT55, VT61, VT100 OR VT105. RSTS/E: USE SUPPLIED "PLANE.SAV" FILE. UPDATES WILL OCCUR SLIGHTLY FASTER OR SLOWER THAN 1 PER SECOND DEPENDING ON SYSTEM LOADING. VT05 TERMINALS WILL NOT FUNCTION CORRECTLY WITH THIS PROGRAM ON RSTS/E.  !"nWe* We*6 6  We*&\\&&& r \&pf\ \VWhuj r "&W=f&  6'5   5& V  ^ &!u+7VVE&zV&E" &P!ۃe" stsuvxF3l3 # s ! 65 #U"e!ePe"Pj3h3|3z x U $  & X fW N u"\$n?Err 59 USR not locked?Err 62 FORTRAN start fail,L6E@ p Ep f&AET@ lB`)  rrwʊ@ҋSR ^6 R X΋ + r+2T 1 w~F> Sz|  I S? DW=W?[ A @ @);鈇& e:   낃 (    3 E`E& N U%@"wT?Err 60 stack overflowed ABCDEFGHIJKLMNOPQRSTUVWXYZ$. 0123456789fromin routine "" line ?Err (PC= \U\N E\N MEP\ ' ' \\%&&Af&  e\ f B % % e@ ( B`  ` A@^   A ^”E eBCIE `-    D E A@D D e0bb %- ҕ* V \\PH\PP @ 3@œ w@E d t"6P3 Dt~  bPt~3 r3 p3 X 3\rwpw\  `\ `\e\e\e\e\e\e\g\g\g\\%\%\%\%\%\'\'\'\$ U Eȋ <`5w$j U   U | `5 X&\\&\\\\&\\\&\\\& \ \ \\\\ \ \& \ \ \& \ \ \& \&e\ b\b\b\b\&%\ "\"\"\"\&\ \&\\\ \\&\ \\\\ N\  \? N\  \M & & e:  STMT \\\\\\\\\&\\\&\\\\ \\\\\ \& \\֋\܋\\ȋ\fffD Hf H`"wH`"w%\A  "wl "w\ "wP \tL %tw %PLt&& fAP  t\ %Lt \\ \ \ \ K& eN t RD \RD ^& ew* e&\& gw g&\& e .5,4( 54- &ptp&朢d 3 &   5@a3 s 5@55& &e& w  @ 3@3 r3 p3!  #p   3 3||| 11 Floating underflow6 Output conversion error4 Computed goto out of range 12 Floating zero divide2 Integer zero divide3 Compiler generated error16 Wrong number of arguments 13 Sqrt of negative number1 Integer overflow 10 Floating overflow5 Input conversion error14 Undefined exponentiation operation15 Log of zero or negative number7 Incompatible object modules553 List directed I/O syntax error=61 Illegal memory reference20 Invalid logical unit number21 Out of available logical unitS22 Input record too long23 Hardware I/O error?63 Illegal instruction trap24 Attempt to read/write past end of file25 Attempt to read after write26 Recursive I/O not allowed-45 Incompatible variable and format types27 Attempt to use device not in system31 No available I/O channel28 Open failed for file29 No room for device handler$36 Bad file specification string,44 2nd record request in ENCODE/DECODE 32 Fmtd-unfmtd-random I/O to same file!33 Attempt to read past end of record"34 Unfmtd I/O to TT or LP%37 Random access read/write before define file&38 Random I/O not allowed to TT or LP'39 Record larger than record size in define file(40 Request for block larger than 65535)41 Define file attempted on open unit#35 Attempt to output to read only file30 No room for buffers*42 Memory overflow compiling object time format.46 Infinite format loop+43 Syntax error in object time format149 Endfile on random file/47 Attempt to store outside partition048 Unit already open@64 Virtual array initialization failureA65 Virtual array mapping errorB66 Unsupported OPEN/CLOSE keyword or optionC67 Unsupported OPEN/CLOSE keyword or option351 Inconsistent OPEN/CLOSE statement specifications452 Attempt to delete a protected file250 Keyword value error in OPEN statementD68 Direct access record size error0 Non-FORTRAN error call %c m~A@ ы@ e"    ;3  ,FF3 F V  {` `3 V3 Tl ,FFBFF R w  3oAsk R g  L  X[ `X DTB ;  J  @ B   D \$w rﮉV- D  ׬RDD @3 V3  ?3 F  `P B3 \ n@  bEx H3I \sJ 6sL% (sN DL׬I( R%RNN @ 3`"  ,    > JœH @ & %NR W w  %D C& & EF   p>w 톉¥Ef P>w 텉DR%% $J J N ꇁ   Е `CBД w SD @` ~>P&("$ X"2&("$ &s55 T3 T   4 m E% w% C ˇɕ w %4 swf&̋TT 5 Eť1 ť+ť$ 3 Tť0 H̋  <̋s  Ş@{s @ s ツ̋m 54 w&4 4-45@E4   &vC j5EUe  & 4-2 . \& &v    E5@ߋ*3 pr 5U3 rpwnf&$  J"Kv v&f& : D\ +: f3! ,f$ f nH5$ 興STOP -- PP Ft 5O z^ ^ 9%  e 0, m99 z_ > z n % z z5@5#E 5w4m5 ҕ   mU wwRX7 |pS X xSD L  X VD L  X .W gL  g"!  g"! & k Y Y X 1WD L  X .W gL d .; g# " YD( Y Yz0 Y" & Yx# ( fW? |W? & , Y Y Y Y Y Y Y6 Y" / Y^" 1 -Y h" 3 :Y 5 YN? d @:N Y d 0:N Y YN? d @:N Y d 0:N Y ; Y Y > X Y Y Y< W? Y0# B Y? Y`# E W? `# G YH# W? I Y`# W? K Y# M Y# O W? & Q Y# S W? W? & V W? W X W? Yn@  YEX& \F YS$& ^ YRE4& ` YO->$ b Y F YO6$ Y eT% g Y V Y6. @ Y Y# k Y# mV Y6. 0 Z Z# p Z# rV Y6. @ Z Z# u Z# wV Y6. 0 Z Z# z Z# | ZZ ZZ ~ g$%  Z Z  Z Z `Z Y Y `Z Z Y Y Y Z Y Z Y Yh8 Y% X? Y% X? Z% X? # Zb&%% ,X? # :X? # X Y Y Y< ! .; # g  Z& ZX? &  gF|& pX? # X? # X? Yn@ F YYb! k zl  Z 7 X  X "d .Zn X e [n X re ^[n X 2e >[n X e ~[n X Re Z]n X e [n X e \n X f [n X ng ~\n X bg r\n X g Zn r]g t]g v]g x]g z]g f]^e l]e j]be h]`e p]e n]e Z 7 .X |] L |] b:+b(z( jg dg lg  gB)  ] ]0e ~] r ~]] ]Pe ] ~]]^e( ]g )  ] ]e ] r ]] ]e ] ]]e( g ] B)  g bg dg jg lg  ]e ]pe ] L ]|) !r ]] ) # ] ]]e^) $]e c ] & ] ) (6 ] )] ) * ] + ]  ] :+ . ]]B ]] ]:* 1 ] 2 ] d ] ] 3]e]lg ] * 4 ]] ]]  ] * 7 ] 8 ] d ] ] 9]e]lg ] ^* : ]]B ]] ]* = ] > ] d ] ] ?]e]lg ] * @ ]] ]]  ] ) C ] D ] d ] ] E]e]lg ] + ) G d *A ] J X ] ] ] ] ] ] ] ] ] ] ] F ]/ L d d*` ] d` ] da ] db ] ]0e ] dJc]`g]f]f" ]e ]e" f ]  ]- U ]N- V ]8, W ]$v, X ] de de n n, ] [. \ ].b.,. ] ]7, ^ ]#, _ ] de de n , ] b. c ]-. d ] . f ] - g ]'"- h ] . j ]#>- k ]$. l ] . ndJc n- o ] x- q ] r] d \e- 6 ] t]4d \e- 6 ] v. wL |] . y ]  ]*  ]1 nr - ] { ]- fd\e r . ] } ]. hd\e r 8. ]  ]  ] r \. ]  ]  ] r . ] v/ L |] v/ ] X ] ] ] ] ] ] ] ] ] ] ] F ]. ] .  ], dd\e r / ]  ]/ jd\e r 8/ ] gv/  ]v/ ] ]: ] v/ ] dJcdJc ] P+ ]Jc ] g] ] ]]]Jc ] R ]]/ ]] r ]] ]]d/ ]X ] ] ]]*` ] ]*` ] ]]*` ]*` ] ]]0 ]Jcx ] ]]d/ Z 7 X ~ ] ] ] Ze] e] g] ] ] ]  ] ] ] ] ] ] ] ]B ]h6  g] ]  X ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] &J ^b55H1  ^]l1  ^ ]] 1  ]^ ^  X &^ $^ "^ ^ ^ ^ ^ ^ ^ ^ ^ F &^b85J51  ^]1  &^ ^] |1 ](^ *^ g(^2 # g(^ $ (^^5 & X >^ <^ :^ 8^ 6^ 4^ 2^ 0^ .^ ,^ *^ &J >^b 55d2 ( 2^]2 ) g(^ (^ 4 + ^@^ B^ g@^2 . g@^ / @^(^4 1 X V^ T^ R^ P^ N^ L^ J^ H^ F^ D^ B^ F V^b443 3 g,3 4 g@^4 5 g@^ 4 7 J^]J3 8 g@^ 4 : (^X^ Z^ gX^p3 = gX^ > X^@^4 @ X n^ l^ j^ h^ f^ d^ b^ `^ ^^ \^ Z^ &J n^b443 B b^]3 C gX^ X^ 4 E @^p^ r^ gp^4 H gp^ I p^X^4 K X ^ ^ ^ ^ ~^ |^ z^ x^ v^ t^ r^ F ^b44d4 M gp^|4 N gp^ O p^X^4 ^ Q4 R p^X^ S X^@^4 n^ U~3 V X^@^ W @^(^4 V^ Y2 Z @^(^ [ (^^5 >^ ]2 ^ (^^ ^] ` ^]05 &^ b|1 c ^] ]] e]e ^ ]0e ^ g ]5 i ]^ ^ ]e^e ]0e^0e ^] d5 n ^e ^2e ]]5 ^ r1 s ]] d ]] u]pe ^ ]e ^ w ]P6 y ]^ ^ ]pe^pe ]e^e ^] 6 ~ ^re ^e 0 g  ]6 ] ]g6 X ] Z 7 X  X ^ ^ ^ ^ ^ ^ ^B ~ ^ ~ ^ ^  X ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ F ^D7 ^e<7 ^ 6 ^d7  `e be ^8 L ^x7 `e L ^7 be L ^7  `e be  ^^8 L ^\7 e L ^c7 e  ^ ^ ^pe ^e ^ ^ B ^^&8 " ^ @8 $^pex ^ ^ex ^ & ^ ^^e8 e (Z 7 X ~ ^ X ^ ~ ^ ^8  ^ ^M ^"; e e 9 ^  X ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ &J ^b2999 : ^^ : ^^ r @9 8  ^ ";  ^  X ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ F ^b989  ^e9 ^ H9 ~ ^ ";  ^  X ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ &J ^": ^Ze: ^ "9 # ^"; $L ^\B: e &L ^cV: e (L ^`r: ) e e + ^"; ,L ^: `e .L ^: be 0 ^ ^e ^0e ^ 2 ^ B ^^: 4 ^ ; 6^ex ^ ^0ex ^ 8 ^ ^^^e: ^e :Z 7 DX 2_  gP; 2_  2_Xi 4_ 6_ 8_  6_4_ :_  g;  8_ : :_ <_ ;  8_<_ :_<_ <_ d >_ >_<  @_Pe ._e 0_ : >_._&< : >_0_B< " ._ 0_@_; < $ B_  gb< 'T< ( B_ gb< + D_ j< - D_ . D_ B_ :_ 4_ @_g /:_; 0 8_ dr; Z 7 Y J_= F_N? d d\P H_N? d d\P hH_ d n_ n_=  b_e f_Pe h_  L_J= : n_f_= X= : n_h_v=  f_ h_b_(= =  p_  g= != " p_ g= % r_ = ' r_ ) r_ p_ d d b_g 0? + "Y YD n_L -Z / t_ L L_> t_ 2 n_ J_0> n_ 5 v_\_ j_ 6n_Y v_L_Z j_ 7 j_v_B> v_\_ l_ 9 g>  l_ l_ ; l_v_z> x_ L L_> x_ ? r_ : gL_> r_ B ^_ t_\P b_ t_\P r_ x_ `_ t_ Yg r_ x_ d_ t_ $Yg F &Y dm Z 7 $(Y r z_|_6 |_ |_F d |_ dd " d d dd dd  g?  d d g?  d d Z 7 0Y  d? 8Y dP  d @ :Y dP  <d d dm ~_6l d  dR@ d  d dm Z 7 C D  TeLd Pd Rd ZeTd _e _ L _C X _ L _C X _  __^eC D  _e _ B __&D " __^eD # _ZD $ g: Re \e g d \e_ _0e  '_ex _ \_ dx _ \_ dx _ & _g + _ R _dD -X _ F /~ _ ~ _ h_*`Z _ _bLEDE 3 _ Td TeVd ZeXd Zd _e _ 9L _E X _ ;L _4E X _ = __^eE F ?X _ Ld ZePd TeRd Td _e _ EL _E X _ GL _E X _ I __^eE F Kh_`Z _ h_aZ _ h_bZ _ _e _ OB __F Q __^eE R_0e hF SL _ZhF T g Re: \e g d Re_ _0e _ X_ex _ \_ d \_ dx _ _g \Z 7 rY  _F ~ _ _ BG _F g: Re \e g d \e_ \_0e  ~ _ \_ex _ \_ dx _ \_ dx _ & _g _ J  _bJHHH  _ R _^efG X _  J h_eZ _ h_ dZ _ h_0e _ _PeF _BG  _ GGGZHrHH ~ _ X _ G !X _ X _ G $~ _ X _ &X _ ' _ B __BG *h_gZ _ ` __ , __ h_ dZ _ _bIIG / _bG&HG 0X _ X _ H 3~ _ X _ 5~ _ 6 _ B __BG 9h_g _Z _ h_ dZ _ _bIIH < _ ~ _ > _ L _BG AL _bHFI~I B` __ _ h_ dZ _ _6I EL _ZbIII FX _ H HL _(H I` __ _ h_ dZ _ _bHIH Lh_g _Z _ h_ dZ _ _H OL _ZbIII P _bII2G Q g Re: \e g d Re_ \_0e _ U\_ex _ \_ d \_ dx _ _g YZ 7 LzY  _LJ ~ _ _ J _J g: e e g d e_ \_e  ~ _ \_pex _ \_ dx _ \_ dx _ & _g _M  _bK(LL  _ R _eJ X _ M h_peZ _ h_ dZ _ h_e _ _eF _J  _ @KVKnKKLzL ~ _ X _ ~K !X _ X _ ~K $~ _ X _ &X _ ' _ B __J *h_gZ _ ` __ , __ h_ dZ _ _bKxMK /L _bMKK 0 _bKKK 1X _ X _  L 4~ _ X _ 6~ _ 7 _ B __J :h_g _Z _ h_ dZ _ _b(LxMhL =L _bM(L(L > _ ~ _ @ _ L _J CL _bLL.M D` __ _ h_ dZ _ _L GL _bMMxM HX _ L JL _PL K` __ _ h_ dZ _ _bLxML Nl _h_g" Z _ h_ dZ _ _L QL _L RL _bMMM S _bMMJ T g e: e g d e_ \_e _ X\_pex _ \_ d \_ dx _ _g \Z 7 Y  _bMTP$O  eLP  ]`] d _  _LP  _`_N ` Y ` ` ` ` ` ` ` ` ` ` ` F `bNLPN  `^  `` r N ` @N  d ed ed d `pe ` L ``N X ^` L `\ O X _`  ``eN TP  eLP  a`a d `  `LP  ``bDO `  Y ` ` ` ` ` ` ` ` ` ` ` F `bOLPO ! ``  `b r O ` #hO $ d ed ed d `pe ` )L ``P X b` +L `c4P X a` - ``eP TP / _ 0Z 7 Y r `"`& `"` Y "` P  ` `j Z  ` `j Z 7 Y r $`(` (`*`  Y *`m Y6l  *`&`P Z 7 lY  Y4m Z 7 RY  Y4m Z f&f&  e `e& e eB>S N"Q$B(< U& 8 u @ 3 & @  PAR&eW!R :S'& f@! ! & et$Rw ʶw Ķw # B   ` ׮PU wU, U1 0 555U U& @&&5¥.  , &@ #& 5ff@ & 5 EE 爄 Mxdxd z׮PU׮P!w@wY WELCOME TO CHESS MK 1.1. YOU SHALL SOON BE ASKED FOR A GAME LEVEL VALUE4 AND TO SELECT THE SIDE YOU WANT THE COMPUTER TO PLAY9 AFTER THAT A CHESSBOARD WILL APPEAR ON THE SCREEN, WITH A2 REGION ON THE RIGHT RESERVED FOR MOVE DESCRIPTION.) YOUR PIECES WILL APPEAR IN FLASHING MODE.5 ALL MOVES ARE DESCRIBED USING A FIVE CHARACTER STRING> OF THE FORM LM-RN WHERE L OR R REPRESENT COLUMN LETTER CODES< M OR N REPRESENT ROW NUMERIC CODES< WHEN THE COMPUTER WILL DISPLAY HIS MOVE DESIGNATION, IT WILL* USE THE : DELIMITER TO INDICATE A CAPTURE.: IN ADDITION TO USUAL MOVES, YOU MAY (OR MUST) ALSO USE THE FOLLOWING CODES:( O-O CASTLE ON THE KING'S SIDE) O-OO CASTLE ON THE QUEEN'S SIDE, S TO REFRESH THE SCREEN DISPLAY, REMIS TO PROPOSE COMPUTER'S ABANDON% EXIT TO GET OUT OF THE GAME, LEVEL 0 (SMALL COMPUTER) OR 1 (BIGGER ONE)? 0 DOES THE COMPUTER PLAY WHITE (0) OR BLACK (1) ?  @##*@~!!! CHEKMATE WELL DONE -: MY MOVE: THE PAWN QUEENS O-OO O-O PAT CHECKMATE --- MANY THANKS ! CHECK YOUR MOVE ? EX SRE O- O THE PAWN QUEENS CHECK INVALID CASTLE ILLEGAL MOVE ILLEGAL MOVE WHILE UNDER CHECK YES - I UNDERSTAND NO - I DECLINE YOU'RE JOCKING!!! ANOTHER GAME? (Y/N) YIZ 2p|]d,@]/U]^?;]^I^IF_ ERREUR JJ <Iz_I~_ I_"  +U8 _d,'H_d,בH _H _;;8 _I`I$` <N,`_,`   WWWWWWWWWWWWWWWWWWWWW2!#Z#!2WW WWWWWWWWWWWW|WWWWWWWWWWWWWWWWWWWWW$#"%!& 'VU]bTW^a_\cSXRY`| Z2#! B'0u  wwwww l    WpwxWpw`WphB``Zh P XLeBW@ ɋ w. & ~ Ri hhxxxQQQppptnux_xmqj`````````/`>/\/``\nOOOppp@`@ w p7 7  \k & 7dk pk   7pk dk xx p~h~ R @:rj X 1^ hV~8L VD~ 2 "H( ,e~A  e~Pk >Zk e 7 AwC Wp w p Pk  pk hdk ^ rb~ @-T" N NH@Am6D.Wp w4,Pk Zk VkXkE7 n wfm Z+m5N ԕ1̕;5< ԕ4̕;5* ԕ5̕;5 ԕ7ԕm m [;;; AC  nr e0e0Tԕ; rd e0 r e0e0ԐԕH n 8 @AB~10 REM PROGRAM TO UPDATE THE R.P.LIBRARY FILES BY DIRECT CURSOR ADDRESSING 15 DIM N(26),K$(120),Q$(7),P$(14) 16 X=120 17 X$="ABCDEFGHIJKLMNOPQRSTUVWXYZ" 20 OPEN "DX1:LIBNO.BAS" FOR INPUT AS FILE #1 30 INPUT #1:N$,Z$ 40 FOR I=1 TO 26 45 INPUT #1:N(I) 46 NEXT I 47 CLOSE #1 48 Y$="DX1:"&Z$&".BAS" 50 Z=ASC(Z$)-64 51 Y=N(Z) 52 IF Y=0 GO TO 55 53 GOSUB 2500 55 FOR I=1 TO 14 60 READ P$(I) 65 NEXT I 70 DATA "ARTISTE..................." 75 DATA "TITLE....................." 80 DATA "CHART ENTRY DATE.........." 85 DATA "HIGHEST POSITION.........." 90 DATA "NO OF WEEKS..............." 95 DATA "RECORD TYPE..............." 100 DATA "RE-RELEASED..............." 105 DATA "ARTISTE CORRECT" 110 DATA "TITLE CORRECT" 115 DATA "CHART ENTRY DATE CORRECT" 120 DATA "HIGHEST POSITION CORRECT" 125 DATA "NO OF WEEKS CORRECT" 130 DATA "RECORD TYPE CORRECT" 135 DATA "RE-RELEASED VALUE CORRECT" 140 PRINT CHR$(27);CHR$(72);CHR$(27);CHR$(74); 145 GOSUB 2000 150 B=LEN(N$) 155 FOR I=1 TO 4-B 160 N$=N$&" " 165 NEXT I 170 O$="...." 175 PRINT CHR$(7); 180 FOR I=1 TO 7 185 GOSUB 2100 190 NEXT I 195 GOSUB 2400 200 PRINT "IS THE ABOVE INFORMATION CORRECT "; 205 INPUT M$ 210 IF SEG$(M$,1,1)="S" GO TO 1470 215 IF SEG$(M$,1,1)="Y" GO TO 240 220 FOR I=1 TO 7 225 GOSUB 2300 230 NEXT I 235 GO TO 195 240 FOR I=1 TO 7 245 B=LEN(Q$(I)) 250 FOR J=1 TO 24-B 255 Q$(I)=Q$(I)&" " 260 NEXT J 265 NEXT I 270 A$=SEG$(Q$(1),1,20) 275 B$=SEG$(Q$(2),1,24) 280 C$=SEG$(Q$(3),1,2) 285 D$=SEG$(Q$(3),4,5) 290 E$=SEG$(Q$(3),7,8) 295 F$=SEG$(Q$(4),1,2) 300 G$=SEG$(Q$(5),1,2) 305 H$=SEG$(Q$(6),1,1) 310 I$=SEG$(Q$(7),1,1) 315 J$=O$&A$&B$&C$&D$&E$&F$&H$&N$&G$&I$ 325 GOSUB 2400 330 PRINT TAB(36);"WORKING..........."; 332 REM START OF VALIDATION ROUTINE 335 IF ASC(SEG$(A$,1,1))<65 GO TO 345 340 IF ASC(SEG$(A$,1,1))<91 GO TO 365 345 GOSUB 2400 350 PRINT "GIVE ME ARTISTE CORRECTLY....."; 355 I=1 356 GOSUB 2110 360 GO TO 240 365 IF SEG$(Q$(3),3,3)<>"-" GO TO 375 370 IF SEG$(Q$(3),6,6)="-" GO TO 390 375 GOSUB 2400 377 PRINT "GIVE ME THE CHART DATE CORRECTLY"; 380 I=3 381 GOSUB 2110 385 GO TO 240 390 J=LEN(X$) 395 FOR I=1 TO J 400 IF SEG$(Q$(6),1,1)=SEG$(X$,I,I) GO TO 430 405 NEXT I 410 GOSUB 2400 415 PRINT "GIVE ME THE RECORD TYPE CORRECTLY....."; 420 I=6 421 GOSUB 2110 425 GO TO 240 430 IF SEG$(Q$(7),1,1)="Y" GO TO 1365 435 IF SEG$(Q$(7),1,1)="N" GO TO 1365 440 GOSUB 2400 445 PRINT "GIVE ME THE RE-RELEASED VALUE CORRECTLY...."; 450 I=7 451 GOSUB 2110 455 GO TO 195 1362 REM END OF VALIDATION ROUTINE 1365 IF SEG$(A$,1,1)=Z$ GO TO 1385 1370 GOSUB 2700 1385 Y=Y+1 1390 IF Y132 GO TO 1430 1420 A$="A" 1425 GO TO 1435 1430 A$=CHR$(1+ASC(Z$)) 1435 K$(Y)=J$ 1437 GOSUB 2700 1439 GO TO 1445 1440 K$(Y)=J$ 1445 N$=STR$(1+VAL(N$)) 1450 FOR I=1 TO 14 1455 PRINT CHR$(27);CHR$(89);CHR$(33+I);CHR$(70);CHR$(27);CHR$(75); 1460 NEXT I 1465 GO TO 150 1470 OPEN "DX1:LIBNO.BAS" FOR OUTPUT AS FILE #1 1471 N(Z)=Y 1475 PRINT #1:N$ 1476 PRINT #1:Z$ 1477 FOR I=1 TO 26 1478 PRINT #1:N(I) 1479 NEXT I 1480 CLOSE #1 1490 GOSUB 2400 1495 PRINT CHR$(7);"NEXT LIBRARY NUMBER = ";N$ 1505 GOSUB 2600 1513 PRINT CHR$(27);CHR$(72);CHR$(27);CHR$(27);CHR$(74); 1515 PRINT "BYE BYE FOR NOW" 1520 GO TO 9999 2000 PRINT TAB(25);"RADIO PROSPECT LIBRARY UPDATE PROGRAM" 2005 PRINT TAB(23);"-------------------------------------" 2010 PRINT 2015 FOR I=1 TO 7 2020 PRINT TAB(10);P$(I) 2025 PRINT 2030 NEXT I 2035 RETURN 2100 GOSUB 2400 2105 PRINT P$(I); 2110 INPUT Q$(I) 2115 PRINT CHR$(27);CHR$(89);CHR$(33+2*I);CHR$(70);CHR$(27);CHR$(75);Q$(I) 2120 RETURN 2300 GOSUB 2400 2305 PRINT P$(I+7); 2310 INPUT M$ 2315 IF SEG$(M$,1,1)<>"N" GO TO 2325 2320 GOSUB 2100 2325 RETURN 2400 PRINT CHR$(27);CHR$(89);CHR$(53);CHR$(40);CHR$(27);CHR$(74); 2410 RETURN 2500 OPEN Y$ FOR INPUT AS FILE #1 2505 FOR I=1 TO Y 2510 INPUT #1:K$(I) 2515 NEXT I 2520 CLOSE #1 2525 RETURN 2600 OPEN Y$ FOR OUTPUT AS FILE #1 2605 FOR I=1 TO Y 2610 PRINT #1:K$(I) 2615 NEXT I 2620 CLOSE #1 2625 RETURN 2700 GOSUB 2600 2701 N(Z)=Y 2705 Z$=SEG$(A$,1,1) 2710 Y$="DX1:"&Z$&".BAS" 2711 Z=ASC(Z$)-64 2712 Y=N(Z) 2713 IF Y=0 GO TO 2720 2715 GOSUB 2500 2720 RETURN 9999 END 10 DIMP(52),X(7) 20 T1=0 30 T2=0 40 RANDOMIZE 50 PRINT "SHUFFLING PACK......" 60 FOR A=52 TO 1 STEP -1 70 R=INT((RND(R)*13)+1) 80 C=0 90 FOR B=A TO 52 100 IF P(B)<>R THEN GO TO 120 110 C=C+1 120 NEXT B 130 IF C=4 THEN GO TO 70 140 P(A)=R 150 NEXT A 160 FOR B=1 TO 7 170 X(B)=0 180 NEXT B 190 GOSUB 790 200 GOSUB 790 210 IF X(3)=0 THEN GO TO 290 220 IF X(1)<>12 THEN GO TO 290 230 PRINT "DO YOU WISH TO (1):- SPLIT; (2):- TWIST "; 240 INPUT M 250 IF M<>1 THEN GO TO 320 260 X(7)=X(7)+1 270 X(1)=11 280 X(5)=1 290 PRINT "DO YOU WISH TO (1):- PASS; (2):- TWIST "; 300 INPUT M 310 IF M<>2 THEN GO TO 410 320 GOSUB 790 330 IF X(1)<22 THEN GO TO 290 340 PRINT "YOU BUST!!" 350 IF X(7)<>1 THEN GO TO 390 360 X(3)=1 370 X(7)=0 380 GO TO 270 390 IF X(7)=0 THEN GO TO 670 400 X(1)=0 410 IF X(7)<>1 THEN GO TO 460 420 F=X(1) 430 G=X(5) 440 X(3)=1 450 GO TO 260 460 GOSUB 820 470 IF X(6)=5 THEN GO TO 550 480 IF X(2)<16 THEN GO TO 460 490 E=0 500 FOR D=A TO 52 510 IF P(D)>21-X(2) THEN GO TO 530 520 E=E+1 530 NEXT D 540 IF RND(R)<((E*(X(4)*2+1))/(53-A)-.2) THEN GO TO 460 550 IF X(7)<>2 THEN GO TO 590 560 IF X(1)>F THEN GO TO 590 570 X(1)=F 580 X(5)=G 590 IF X(2)<>21 THEN GO TO 610 600 IF X(6)=2 THEN GO TO 680 610 IF X(1)<>21 THEN GO TO 630 620 IF X(5)=2 THEN GO TO 720 630 IF X(2)>21 THEN GO TO 710 640 IF X(6)=5 THEN GO TO 670 650 IF X(5)=5 THEN GO TO 710 660 IF X(1)>X(2) THEN GO TO 710 670 B=1 680 PRINT "SORRY, HOUSE WON." 690 T2=T2+1 700 GO TO 740 710 B=1 720 PRINT "YOU WON!!!" 730 T1=T1+1 740 PRINT "YOU GOT";X(1),,," HOUSE GOT";X(2) 750 PRINT "YOUR WINS =";T1,," HOUSE WINS =";T2 760 PRINT 770 IF B=1 THEN GO TO 160 780 GO TO 40 790 C=1 800 PRINT "YOUR CARD IS A"; 810 GO TO 840 820 C=2 830 PRINT ,,," HOUSE CARD IS A"; 840 IF P(A)<11 THEN GO TO 930 850 IF P(A)<>13 THEN GO TO 870 860 PRINT " KING." 870 IF P(A)<>12 THEN GO TO 890 880 PRINT " QUEEN." 890 IF P(A)<>11 THEN GO TO 910 900 PRINT " JACK." 910 X(C)=X(C)+10 920 GO TO 1000 930 IF P(A)<>1 THEN GO TO 980 940 X(C)=X(C)+11 950 X(C+2)=X(C+2)+1 960 PRINT "N ACE." 970 GO TO 1000 980 PRINT P(A);"." 990 X(C)=X(C)+P(A) 1000 A=A+1 1010 X(C+4)=X(C+4)+1 1020 IF A<>53 THEN GO TO 1040 1030 A=1 1040 IF X(C)<22 THEN GO TO 1090 1050 IF X(C+2)=0 THEN GO TO 1090 1060 X(C)=X(C)-10 1070 X(C+2)=X(C+2)-1 1080 GO TO 1040 1090 RETURN 10 REM -- PROGRAM TO PRINT OUT BIORHYTHMS FOR ONE MONTH 20 REM GIVEN A BIRTHDATE AND A MONTH 30 REM 40 DIM M9(12),L(3),V(4),C$(4),M$(12) 45 OPEN "CYCLES.DAT" FOR OUTPUT AS FILE VF1$(3813)=1 50 REM 60 REM -- CALCULATE JULIAN DAY BASED ON DATE 70 REM 80 DEF FNJ(D0,M0,Y0)=M9(M0)+D0+SGN(INT(M0/3))*(1+SGN(4*INT(Y0/4)-Y0)) 110 REM 120 REM -- CALCULATE DAYS BETWEEN TWO JULIAN DATES 130 REM 140 DEF FND(J1,Y1,J2,Y2)=INT(Y2/4-1-INT(Y1/)+J2-J1+365*(Y2-Y1) 180REM 190 REM -- INITIALIZE THE ARRAYS 200 REM 210 READ D$\FOR I=1 TO 3\READ L(I)\NEXT I 220 FOR I=1 TO 4\READ C$(I)\NEXT I 230 FOR I=1 TO 12\READ M9(I)\NEXT I 240 FOR I=1 TO 12\READ M$(I)\NEXTI 250 DATA"-" 252 DATA 23,28,33 254 DATA "P","E","I","*" 260 DATA 0,31,59,90,120,151,181,212,243,273,304,334 270 DATA "JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY" 280 DATA "AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER" 290 PRINT "OUTPUT DEV:FILNAM.EXT--"\INPUT #0:F$\IF F$="" THEN F$="KB:" 300 OPEN F$ FOR OUTPUT AS FILE #1 310 REM 320 REM -- RESET ARRAY P$ 325 REM 330 FOR J=1 TO 41 340 FOR I=1 TO 93\VF1(93*(J-1)+I)=" "\NEXT I 350 NEXT J 360 FOR I=1 TO 93 380 VF1(1860+I)="-" 390 NEXT I 400 REM 410 PRINT "INPUT BIRTHDATE IN FORMAT MMDDYY -- ";\INPUT #0:N$ 415 B2=VAL(SEG$(N$,1,2))\B1=VAL(SEG$(N$,3,4))\B3=VAL(SEG$(N$,5,6)) 420 PRINT "INPUT DESIRED MONTH IN FORMAT MMYY -- ";\INPUT #0:N$ 425 C2=VAL(SEG$(N$,1,2))\C3=VA&(SEG$(N$,3,4)) 430 REM 440 T0=FND(FNJ(B1,B2,B3),B3,FNJ(1,C2,C3),C3) 450 T=T0 460 REM 462 PRINT "NAME, PLEASE -- ";\INPUT #0:N$ 463 (RINT "INPUT ANY MISCELLANEOUS COMMENT HERE. "\INPUT L$ 464 PRINT \PRIN* 465 (RINT #1:TAB(50);N$ 466 PRINT #1:,,L$\PRINT #1: 467 PRINT #1:,,"BIORHYTHM CHART FOR ";M$(C2);" ";C3+1900 468 PRINT #1: 469 PRINT #1:,,"CHARTING THE PHYSICAL - P (23 DAY CYCLE)" 470 PRINT #1:,," EMOTIONAL - E (28 DAY CYCLE)" 480 PRINT #1:,," INTELLECTUAL - I (33 DAY CYCLE)" 49 PRINT 1:,," AND OVERALL - " 491 PRINT #1:,"THESE CYCLES ARE BELIEVED TO OCCUR IN "; 492 PRINT #1:"EVERYONE, BEGINNI'G ON THE DAY OF THEIR BIRTH." 493 PRINT #1:\PRINT #1:,"NUMBER OF CYCLES SINCE BIRTH: "; 500 FOR I=1 TO 3\PRINT #:C$(I);" ";T/L(I),\NEXT I 510 PRINT #1: 520 REM 530 REM -- COMPUTE THE CYCLES AND SET ARRAY P$ 540 REM 550 FOR I=1 TO 93 560 FOR K=1 TO 3\V(K)=-20*SIN(T/L(K)*2*3.1416)\NEXT K 570 V(4)=(V(1)+V(2)+V(3))/3 580 FOR K=1 TO 4 590 K0=INT(ABS(V(K)+.5)*SGN(V(K)))+21 600 VF1(93*(K0-1)+I)=C$(K) 610 NEXT K 620 T=T+1/3 630 NEXT I 640 RE& 650 REM -- PRINT ARRAY P$ 660 REM 670 PRINT #1:\PRINT #1: 680 FOR J=1 TO 41 690 PRINT #1:,"I ; 700 FOR I=1 TO 93\PRINT #1:VF193*(J-1)+I);\NEXT I 710 PRINT #1: 720 NEXT J 730 PRINT #1:,"I--+-----------+--------------+--------------+------"; 740 PRINT #1:"--------+--------------+--------------+---" 750 PRINT #1:," 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17"; 760 PRINT #1:" 18 19 20 21 22 23 24 25 26 27 28 29 30 31" 770PRINT #1:\PRINT #1:\PRINT #1:\PRINT #1:TAB(48);M$(C2);" ";C3+1900 780 PRINT #1:CHR$(12)\CLOSE #1 790 END 5 REM *** WRITTEN BY TOM KARZES, CURTIS JR HS, SUDBURY, MA 6 REM *** MODI#IED BY DAVE AHL, DIGITAL 10 PRINT "YOU ARE IN A LARGE, NEW GOVERNMENT BUILDING WITH 1,000,000" 20 PRINT "ROOMS IN IT. THE BUILDING IS 100 ROOMS LONG (0-99), 100" 30 PRINT "ROOMS WIDE (0-99), AND 100 FLOORS HIGH (0-99)."\PRINT 40 PRINT "A MAD BOMBER HAS HIDDEN A BOMB IN ONE OF THE ROOMS AND" 50 PRINT "HAS JUST PHONED A THREAT THAT THE BOMB IS SET TO GO" 60 PRINT "OFF IN 200 SECONDS. FORTUNATELY, YOU HAPPEN TO HAVE A BOMB-" 70 PRINT "TRACKER THAT SENDS OUT SIGNALS THAT GET STRONGER AS YOU" 80 PRINT GET CLOSER TO THE BOMB. YOU ARE STARTING IN ROOM 0,0,0" 90 PRINT "AND IT TAKES 10 SECONDS TO MOVE TO ANY OT$ER ROOM."\PRINT 100 RANDOMIZE\A=INT(100*RND)\B=INT(100*RND)\C=INT(100*RND) 110 IF A<>0 THEN 120 \IF B<>0 THEN 120 \IF C<>0 THEN 120 \GO TO 100 120 P1=A/100+B+C*100 121 D=0\E=0\F=0\G=0\P=0 125 PRINT "SIGNAL","CURRENT ROOM","S"C. INTO","COORDINATES FOR" 130 PRINT "STRENGTH","L , W , H","MISSION","SEARCH (L,W,H)" 135 PRINT 10000-INT(10000*SQR(((A-D)^2+(B-E)^2+(C-F)^2)/3))/100,D;E;F,G, 140 INPUT D,E,F\G=G+10\P=D/100+E+F*100\IF P=P1 THEN 170 145 $F G<200THEN 180 150 PRINT "BOO'OOOOMMM!!"\PRINT "YOU BLEW IT. *HE BUILDING BLEW UP." 155 PRINT \PRINT "WANT TO PLAY AGAIN (YES OR NO)";\INPUT A$ 160 IF A$="NO" THEN 999 \PRINT \PRINT \GO TO 100 170 PRINT "BOMB DEACTIVATED AT"G"SECONDS!!!"\PRI'T \GO TO 155 180 IF D>99 THEN 200 \IF D<0 THEN 200 \IF E>99 THEN 00 \IF E<0 THEN 200 190 IF F>99 THEN 220 \IF F<0 THEN 230 \GO TO 135 200 PRINT "YOU WALKED OUT A WINDOW ON THE";\IF F<4 THEN 240 20 (RINT F"TH FLOOR!!!" 202 PRINT "YOU WERE KILLED AND"200-G"SECONDS L TER THE BUILDING" 203 PRINT "BLEW UP!!!"\PRINT \GO TO 155 220 PRINT "YOU ARE NOW"F*9"FEET IN THE AIR!!!"\GO TO 202 230 PRINT "YOU ARE NOW -"F*9"FEET UNDERGROUND!!!"\GO TO 202 240 IF F=3 THEN 270 \IF F=2 THEN 260 250 PRINT " 1ST FLOOR!!!"\GO TO 202 260 PRINT " 2ND FLOOR!!!"\GO TO 202 270 PRINT " RD FLOO)!!!"\GO TO 202 999 END 110 FOR I=1 TO 10\PRINT CHR$(7);\NEXT I 120 PRINT "EARTH CONTROL CALLING LUNAR LANDER. OUR IBM COMPUTER" 130 PRINT "HAS LOST YOUR DESCENT PROG)AM. YOU ARE NOW UNDER MANUAL" 140 PRINT "CONTROL. USE ANY TIME INTERVAL YOU FEEL IS NECESSARY FOR" 150 PRINT "RETRO-ROCKET BURSTS. USE 0 OR ANY VALUE BETWEEN" 160 PRINT "8 AND 200 LBS./SEC. AS YOUR RETRO-ROCKET BURN RATE FOR" 170 PRINT "EACH BURN INTERVAL." 180 PRINT 190 PRINT "W"')E WITH YOU, FELLA!" 200 PRINT 10 PRINT 220 PRINT "  TIM" ALTITUDE SPEED FUEL WT MOMENTUM "; 230 PRINT "INTERVAL RATE" 240 PRINT " SEC MILES FEET FPS LBS RELATIVE"; 250 PRINT " SEC LBS/SEC" 260 PRINT 270 I1=0 280 L=0 290 A=120 300 V=1 310 M=32500 320 N=16500 330 G=1.00000E-03 340 Z=1.8 350 Q1=5 360 Q2=L 370 GOSUB 1050 380 Q1=13 390 Q2=SGN(A)*INT(ABS(A)) 400 GOSUB 1050 40 Q1=19 420 Q2=INT(5280*(A-SGN(A)*INT(ABS(A)))) 430 GOSUB 1050 440 Q1=26 450 Q2=INT(5280*V) 460 GOSUB 1050 470 Q1=35 480 Q2=INT(M-N) 490 GOSUB 1050 500 Q1=43 510 Q2=INT(M*V/32.5) 520 GOSUB 1050 530 IF I1=0 THEN 580 540 K=0 550 T=20 560 PRINT 570 GO TO 600 580 PRINT TAB(51); 590 INPUT T,K 600 IF K<0 THEN 640 610 IF K=0 THEN 700 620 IF K<8 THEN 640 630 IF K<=20 THEN 700 640 PRINT "NOT POSSIBLE"; 650 FOR X=1 TO 44 660 PRINT "."; 670 NEXT X 680 INPUT K 690 GO TO 00 700 IF ABS(M-N)<1.00000E-03 THEN 1110  710 IF T<1.00000E-03 THEN 350 720 S=T 730 IF (N+S*K)-M<=0 THEN 760 740 IF K=0 THEN 760 750 S=(M-N)/K 760 GOSUB 1010 770 IF I<=0 THEN 880 780 IF V<=0 THEN 800 790 IF J<0 THEN 930 800 GOSUB 820 810 GO TO 700 820 L=L+S 830 T=T-S 840 &=&-S*K 850 A=I 860 V=J 870 RETURN 880 IF S<5.00000E-03 TH"N1160 890 S=2*A/(V+SQR(V*V+2*A*(G-Z*K/M))) 900 GOSUB 1010 910 GOSUB 820 920 GO TO 880 930 W=(1-M*G/(Z*K))/2 940 S=M*V/(Z*K*(W+SQR(W*W+V/Z)))+.05 950 GOSUB 1010 960 IF I<=0 THEN 880 970 GOSUB 820 980 IF J>=0 THEN 700 990 IF V<=0 THEN 700 1000 GO TO 930 1010 Q=S*K/M 1015 IF Q<1.00000E-07GO TO 1420 1020 J=V+G*S+Z*(-Q-Q^2/2-Q^3/3-Q^4/4-Q^5/5) 1030 I=A-G*S*S/2-V*S+Z*S*(Q/2+Q^2/6+Q^3/12+Q^4/20+(^5/30) 1040 RETURN 1050 IF Q2=0 THEN 1080 1060 PRINT TAB(Q1-INT(LOG(.5+ABS(Q2))/LOG(10))); 1070 GO TO 1090 1080 PRINT TAB(Q1); 1090 PRINT Q2; 1100 RETURN 1110 IF I1<>0 THEN 710 1120 I1=1 1130 PRINT "OUT OF FUEL AT"L"SECS" 1140 K=0 1150 GO TO 710 1160 PRINT "ON THE MOON AT"L"SECS" 1170 W=3600*V 1180 PRINT "IMPACT VELOCITY OF"W"M.P.H. ("V*5280"F.P.S.)" 1190 IF ABS(M-N)>.01 THEN 1210 1200 N=M 1210 PRINT "FUEL LEFT"M-N"LBS." 1220 IF W>1 THEN 1250 130 PRINT "PERFECT LANDING ! - (LUCKY)" 1240 GO TO 1370 1250 IF W>10 THEN 1280 1260 PRINT "GOOD LANDING - (COULD BE BETTER)" 1270 GO TO 1370 1280 IF W>25 THEN 1310 1290 PRINT "CONGRATULATIONS ON A POOR LANDING" 1300 GO TO 1370 1310 IF W>60 THEN 1340 1320 PRINT "CRAFT DAMAGE. GOOD LUCK!" 1330 GO TO 1370 1340 PRINT "SORRY, BUT THERE WERE NO SURVIVORS-YOU BLEW IT!" 1350 PRI'T "IN FACT YOU BLASTED A NEW &UNAR CRATER"W*.277777; 1360 PRINT "FEET DEEP" 1370 PRINT 1380 GO TO 210 1400 STOP 1420 LET Q=0\GO TO 1020 9999 END 1 PRINT "ONE ARM BANDIT" 2 PRINT 3 GO TO 20 4 PRINT "WHAT IS YOUR LUCKY NUMBER TODAY, BETWEEN 1 AND 711"; 5 INPUT Q 6 IF Q<1 THEN 2 7 IF Q>711 THEN 2 8 PRINT 9 DATA 43 10 READ Q9 11 LET U=INT(Q+Q9) 12 FOR I=1 TO U 13 LET V=RND(I) 14 NEXT I 15 LET S=INT(30+15*V) 16 PRINT "GOOD. YOUR STARTING !ALANCE IS $";S 17 PRINT 18 GO TO 30 19 P)INT 20 PRINT "EACH PLAY YOU CAN PUT ANY AMOUNT OF SILVER DOLLARS INTO" 21 PRINT "T$E MACHI'E, UP TO THE BALANCE YOU HAVE, BY TYPING IN" 22 PRINT "THE QUANTITY OF DOLLARS." 23 PRINT 24 PRINT "YOU 'PULL DOWN THE HANDLE' BY DEPRESSING THE 'RETURN' KEY." 25 PRINT 26 PRINT "WHEN YOUR BALANCE REACHES ZERO, THE GAME IS OVER....." 27 PRINT "OR TYPE A ZERO ('') TO QUIT AT ANY TIME. GOOD LUCK..." 28 PRINT 29 GO TO 4 30 PRINT "HOW MANY DOLLARS DO YOU WANT TO PUT IN ON YOUR FIRST PLAY"; 31 INPUT Z 32 IF Z=INT(Z) THEN 36 33 PRINT 34 PRINT "NO FRACTIONAL DOLLARS ALLOWED AT THIS CASINO!" 35 GO TO 39 36 IF Z=0 THEN 41 37 IF Z0 THEN 123 121 PRINT "...YOU HAVE RUN OUT OF MONEY..." 122 GO TO 139 123 IF "=0 THEN126 124 IF E4=1 THEN 126 125 PRINT "YOU WIN: $";D;" "; 126 PRINT "BALANCE: $";S;"NEXT WAGER"; 127 INPUT - 128 IF Z=INT(Z) THEN 132 129 PRINT 130 PRINT "NO FRACTIONAL DOLLARS ALLOWED AT THIS CASINO!" 131 GO TO 135 132 IF Z=0 THEN145 133 IF Z3 THEN 2880 2640 IF U>20 THEN 2960 2660 IF V=1 THEN 2780 2680 IF V=2 THEN 2740 2700 IF V=3 THEN 2760 2720 LET Y=V*U \ GO TO 2780 2740 PRINT " DOUBLE"U \ GO TO 2780 2760 PRINT "TREBLE"U 2780 LET Y=V*U \ LET X=V*U 2800 RETURN 2820 IF M=V*U THEN 2280 \ GO TO 2600 2840 IF P=V*U THEN 2360 2860 RETURN 2880 PRINT "YOU CAN'T HAVE MORE THAN A TREBLE, FOR TRYING TO BE CLEVER" 2900 PRINT "YOUR DART HIT THE WIRE & FELL ON THE FLOOR." 2920 L3=1 \ RETURN 2940 GO TO 2660 2960 IF U=25 THEN 3060 2980 IF U=50 THEN 3060 3000 PRINT " NOT AVAILABLE ON THE DARTS BOARD" 3020 L3=1 \ RETURN 3040 GO TO 2620 3060 IF V>1 THEN 3000 3080 PRINT "GOOD LUCK WITH YOUR TRY" 3100 GO TO 2660 3120 IF M<=40 THEN 3200 3140 RETURN 3160 IF P<=40 THEN 3200 3180 RETURN 3200 IF V<>2 THEN 2260 3220 RETURN 1 PRINT "CRAP GAME" 2 PRINT "WITH THE COMPUTER AS YOUR OP(ONE'T. THE RULES ARE SIMPLE:" 3 PRINT " *A 7 OR 11 ON THE FIRST ROLLWINS" 4 PRINT " *A 2 , OR 12 ON THE FIRS* )OLLLOS"S" 5 PRINT 6 PRINT "ANY OTHER NUMBER ROLLED BECOMES YOUR 'POINT' . YOU CONTINUE" 7 PRINT "TO ROLL...IF YOU GET YOUR POINT, YOU WIN. IF YOU ROLL A 7," 8 PRINT "YOU LOSE. THE DICE CHANGE HANDS WHEN THIS HAPPENS." 9 PRINT 10 PRINT 11 PRINT "WHAT NUMBER BETWEEN 1 AND 711 IS LUCKY FOR YOU TODAY"; 12 INPUT N 13 #OR I=1 TO N 14 LET X=RND(I) 15 NEXT I 16 LET Z=5*INT(10+11*RND(I)) 17 PRINT "SPLENDID.....YOU ARE GIVEN ";Z;"DOLLARS TO PLAY WITH." 18PRINT 19 PRINT 20 REM IF N IS EVEN 'YOU' ROLL FIRST, IF N IS ODD 'I' ROLL FIRST. 21 IF N-2*INT(N2)=0 THEN 27 22 LET W=-1 23 PRINT "I'LL ROLL FIRST....." 24 PRINT 25 PRINT 26 GO TO 31 27 LET W=1 28 PRINT "YOU ROLL FIRST....." 29 PRINT 30 PRINT 31 LET Q=0 32 PRINT "HOW MUCH DO YOU BET ($$) "; 33 INPUT ! 34 PRINT "OK....." 35 PRIN* 6 IF B=INT(B) THEN 40 37 PRINT 8 P)INT "NO COINS PERMITTED..JUST BILLS, PLEASE!" 39 GO TO 32 40 IF B=0 THEN 108 41 IF B0 THEN 51 49 PRINT " I ROLL";D1;"AND";D2; 50 GO TO 52 51 PRINT "YOU ROLL";D1;"AND";D2; 52 IF Q<>1 THEN 84 53 IF (S-2*(S-3)*(S-12)=0 THEN 62 54 IF (S-7)*(S-11)=O THEN 69 55 IF W>0 THEN 58 56 PRINT "SO MY POINT IS";S; 57 GO TO 59 58 PRINT "SO YOUR POINT IS";S; 59 PRINT ".....LET'S ROLL 'EM AGAIN....." 60 LET P=S 61 GO TO 44 62 PRINT "AND CRAP OUT..." 63 LET C=1 64 IF W>0 THEN 67 65 LET Z=Z+B 66 GO TO 75 67 LET Z=Z-B 68 GO TO 75 69 PRINT "AND PASS....." 70 LET C=1 71 IF W>0 THEN 74 72 LET Z=Z-B 73 GO TO 75 74 LET Z=Z+B 75 PRINT 76 IF Z<1 THEN 104 77 PRINT "YOU NOW HAVE ";Z;"DOLLARS LEFT....." 78 IF C>0 THEN 81 79 PRINT "CHANGE DICE NOW....." 80 PRINT 81 LET W=W*C 82 LE* Q=0 83 GO TO 32 84 IF S<>7 THEN 92 85 PRINT "AND LOSE....." 86 LET C=-1 87 IF W>0 THEN 90 88 LET Z=Z+B 89 GO TO 75 90 LET Z=Z-B 91 GO TO 75 92 IF S=P THEN 95 93 PRINT ...ROLL AGAIN....." 94 GO TO 44 95 IF W>0 THEN 100 96 PRINT "AND MAKE MY POINT....." 97 LET C=1 98 LET Z=Z-B 99 GO TO 75 100 PRINT "AND MAKE YOURPOINT....." 101 LET C=1 102 LET Z=ZB 103 GO TO 75 104 PRINT 105 PRINT "YOU HAVE RUN OUT OF MONEY....SORRY ABOUT THAT....." 106 PRINT "THANKS FOR THE GAME.....BETTER LUCK NEXT TIME, PARDNER!" 107 GO TO 110 108 PRINT "THANKS FOR *HE GAME.....AND CONGRATULATIONS" 109 PRINT "FOR BEING ABLE TO QUIT WHILE YOU WERE AHEAD." 110 STOP 120 END 5 REM *** WRITTEN BY TOM KARZES, CURTIS JR HS, SUDBURY, MA 6 REM *** MODI#IED BY DAVE AHL, DIGITAL 10 PRINT "YOU ARE IN A LARGE, NEW GOVERNMENT BUILDING WITH 1,000,000" 20 PRINT "FORTH FLOOR!!!" 30 PRINT "ROOMS WIDE (0-99), AND 100 FLOORS HIGH (0-99)."\PRINT 40 PRINT "A MAD BOMBER HAS HIDDEN A BOMB IN ONE OF THE ROOMS AND" 50 PRINT "HAS JUST PHONED A THREAT THAT THE BOMB IS SET TO GO" 60 PRINT "OFF IN 200 SECONDS. FORTUNATELY, YOU HAPPEN TO HAVE A BOMB-" 70 PRINT "TRACKER THAT SENDS OUT SIGNALS THAT GET STRONGER AS YOU" 80 PRINT "GET CLOSER TO THE BOMB.YOU ARE STARTING IN ROOM 0,0,0" 90 PRINT "AND IT TAKES 10 SECONDS TO MOVE TO ANY OTHER ROOM."\PRINT 100 RANDOMIZE\A=INT(100*RND)\B=INT(100*RND)\C=INT(100*RND) 110 IF A<>0 THEN 120 \IF B<>0 THEN 120 \IF C<>0 THEN 120 \GO TO 100 120 P1=A/100+B+C*100 121 D=0\E=0\F=0\G=0\P=0 125 PRINT "SIGNAL","CURRENT ROOM","SECS INTO","COORDINATES FOR" 130 PRINT "STRENGTH","L , W , H","MISSION","SEARCH (L,W,H)" 135 PRINT 10000-INT(10000*SQR(((A-D)^2+(B-E)^2+(C-F)^2)/3))/100,D;E;F,G, 140 INPUT D,E,F\G=G+10\P=D/100+E+F*100\IF P=P1 THEN 170 145 IF G<200 THEN 180 150 PRINT "BOO'OOOOMMM!!"\PRINT "YOU BLEW IT. *HE BUILDING BLEW UP." 155 PRINT \PRINT "WANT TO PLAY AGAIN (YES OR NO)";\INPUT A$ 160 IF A$="NO" THEN 999 \PRINT \PRINT \GO TO 100 170 PRINT "BOMB DEACTIVATED AT"G"SECONDS!!!"\PRI'T \GO TO 155 180 IF D>99 THEN 200 \IF D<0 THEN 200 \IF E>99 THEN 0 \IF E<0 THEN 200 190 IF F>99 THEN 220 \IF F<0 THEN 230 \GO TO 135 200 PRINT "YOU WALKED OUT A WINDOW ON THE";\IF F<4 THEN 240 202 PRINT "YOU WERE KILLED AND"200-G"SECONDS L TER THE BUILDING" 203 PRINT "BLEW UP!!!"\PRINT \GO TO 155 220 PRINT "YOU ARE NOW"F*9"FEET IN THE AIR!!!"\GO TO 202 230 PRINT "YOU ARE NOW -"F*9"FEET UNDERGROUND!!!"\GO TO 202 240 IF F=3 THEN 270 \IF F=2 THEN 260 250 PRINT " 1ST FLOOR!!!"\GO TO 202 260 PRINT " 2ND FLOOR!!!"\GO TO 202 270 PRINT " RD FLOO)!!!"\GO TO 202 999 END 5 REM *** WRITTEN BY TOM KARZES, CURTIS JR HS, SUDBURY, MA 6 REM *** MODI#IED BY DAVE AHL, DIGITAL 7 REM ***MODIFIED BY CHRIS SLUMAN, CAP. 11-FEB-81 10 PRINT "YOU ARE IN A LARGE, NEW GOVERNMENT BUILDING WITH 1,000,000" 20 PRINT "ROOMS. IT IS 100 ROOMS LONG (0-99), 100" 30 PRINT "ROOMS WIDE (0-99), AND 100 FLOORS HIGH (0-99)."\PRINT 40 PRINT "A MAD BOMBER HAS HIDDEN A BOMB IN ONE OF THE ROOMS AND" 50 PRINT "HAS JUST PHONED A THREAT THAT THE BOMB IS SET TO GO" 60 PRINT "OFF IN 200 SECONDS. FORTUNATELY, YOU HAPPEN TO HAVE A BOMB-" 70 PRINT "TRACKER THAT SENDS OUT SIGNALS THAT GET STRONGER AS YOU" 80 PRINT "GET CLOSER TO THE BOMB.YOU ARE STARTING IN ROOM 0,0,0" 90 PRINT "AND IT TAKES 10 SECONDS TO MOVE TO ANY OTHER ROOM."\PRINT 100 RANDOMIZE\A=INT(100*RND)\B=INT(100*RND)\C=INT(100*RND) 110 IF A<>0 THEN 120 \IF B<>0 THEN 120 \IF C<>0 THEN 120 \GO TO 100 120 P1=A/100+B+C*100 121 D=0\E=0\F=0\G=0\P=0 125 PRINT "SIGNAL","CURRENT ROOM","SECS INTO","COORDINATES FOR" 130 PRINT "STRENGTH","L , W , H","MISSION","SEARCH (L,W,H)" 135 PRINT 10000-INT(10000*SQR(((A-D)^2+(B-E)^2+(C-F)^2)/3))/100,D;E;F,G, 140 INPUT D,E,F\G=G+10\P=D/100+E+F*100\IF P=P1 THEN 170 145 IF G<200 THEN 180 150 PRINT " BOOOOOOOOOOOMMMMMMMMMMMM " 151 PRINT " YOU BLEW IT - THE BUILDING BLEW UP!." 153 PRINT "THE BOMB WAS AT "A;B;C 155 PRINT \PRINT "WANT TO PLAY AGAIN (YES OR NO)";\INPUT A$ 160 IF A$="NO" THEN 999 \PRINT \PRINT \GO TO 100 170 PRINT "BOMB DEACTIVATED YOU CLEVER CHAP. AFTER ONLY "G" SECONDS TOO!!!" 171 GO TO 155 180 IF D>99 THEN 200 \IF D<0 THEN 200 \IF E>99 THEN 200 \IF E<0 THEN 200 190 IF F>99 THEN 220 \IF F<0 THEN 230 \GO TO 135 200 PRINT "YOU WALKED OUT A WINDOW ON THE";\IF F<4 THEN 240 \GO TO 280 202 PRINT "YOU WERE KILLED AND "200-G" SECONDS LATER THE BUILDING" 203 PRINT "BLEW UP!!!"\PRINT \GO TO 153 220 PRINT "YOU ENDED UP"F*9"FEET IN THE AIR!!!"\GO TO 202 230 PRINT "YOU ENDED UP "F*9"FEET UNDERGROUND!!!"\GO TO 202 240 IF F=3 THEN 270 \IF F=2 THEN 260 250 PRINT " 1ST FLOOR!!!"\GO TO 202 260 PRINT " 2ND FLOOR!!!"\GO TO 202 270 PRINT " 3RD FLOOR!!!"\GO TO 202 280 PRINT F"TH FLOOR!!!"\GO TO 202 999 END 100 REM: STARTREK BY R.D.GEERE 120 DIMQ$(3),X$(2),Y$(6),Z$(6),M$(10),H$(6) 140 DIMA(64,9),B(9,9),C(63),D(63),E(63) 160 RANDOMIZE 180 Q$(0)=" *" 200 Q$(1)=">1<" 220 Q$(2)="+++" 240 Q$(3)="<*>" 260 X$(0)="GREEN" 280 X$(1)="RED" 300 X$(2)="DOCKED" 320 Z$(0)="STARDATE" 340 Z$(1)="CONDITION " 360 Z$(2)="QUADRANT" 380 Z$(3)="SECTOR" 400 Z$(4)="ENERGY" 420 Z$(5)="PHOTON TORPEDOES" 440 Z$(6)="SHIELDS" 460 M$(0)="WHO MADE YOU CAPTAIN ?" 480 M$(1)="YOU LEFT YOUR BRAIN IN THE LAST QUADRANT" 500 M$(2)="I THOUGHT COMPUTERS WERE SUPPOSED TO BE THICK..." 520 M$(3)="REALLY...??" 540 M$(4)="DON'T CRACK UP..." 560 M$(5)="I BEG YOUR PARDON ?" 580 M$(6)="MEAT HEAD" 600 M$(7)="DON'T PANIC, TRY AGAIN..." 620 M$(8)="SHALL WE PLAY ANOTHER GAME ?" 640 M$(9)="THINK AGAIN, MASTERMIND. " 660 M$(10)="BRILLIANT!!" 680 E1=3000 \ S1=3000 \ S3=10 700 M1=10*RND 710 PRINT "DON'T GO AWAY..." 720 REM: ASSIGN STARS 740 K1=1 760 FOR X2=1 TO 8 780 FOR Y2=1 TO 8 800 R1=INT(9*RND) 820 GOSUB 9100 840 B(X2,Y2)=R1+1 \ REM: QUADRANT ENTRY 860 NEXT Y2 880 NEXT X2 900 REM: ASSIGN STARBASES 920 K1=2 \ R1=0 \ R4=1.1 940 FOR X2=1 TO 8 960 FOR Y2=1 TO 8 980 IF INT(R4*RND)=1 THEN B(X2,Y2)=B(X2,Y2)+10 \ K3=K3+1 \ GOSUB 9100 1000 NEXT Y2 1020 NEXT X2 1040 REM: ASSIGN KLINGONS 1060 K1=3 \ R4=1.25 1080 FOR X2=1 TO 8 1100 FOR Y2=1 TO 8 1120 IF INT(R4*RND)=1 THEN B(X2,Y2)=B(X2,Y2)+100 \ K2=K2+1 \ GOSUB 9100 1140 NEXT Y2 1160 NEXT X2 1180 REM: ASSIGN ENTERPRISE 1200 K1=4 1220 X2=INT(8*RND)+1 \ Y2=INT(8*RND)+1 1240 GOSUB 9100 1260 Q1$="NUMBER OF " 1280 Q2$=" LEFT = " 1300 PRINT " AS CAPTAIN OF THE 'ENTERPRISE', YOUR MISSION" 1320 PRINT "IS TO FIND AND DESTROY ALL UNITS OF THE KLINGON" 1340 PRINT "INVASION FORCE WITHIN 30 STARDATES. IF YOU FAIL," 1360 PRINT "THE FEDERATION WILL BE CONQUERED." 1380 PRINT 1400 PRINT "DO YOU WANT INSTRUCTIONS ?:"; 1420 INPUT U$ 1440 IF SEG$(U$,1,1)="Y" THEN F1=1 1460 IF F1=0 THEN 1740 1480 PRINT TAB(10)"HERE ARE YOUR CONTROL COMMANDS" 1500 PRINT 1520 H$(0)="COMMAND 0 = WARP ENGINE CONTROL" 1540 H$(1)="COMMAND 1 = SHORT RANGE SENSOR SCAN" 1560 H$(2)="COMMAND 2 = LONG RANGE SENSOR SCAN" 1580 H$(3)="COMMAND 3 = PHASER CONTROL" 1600 H$(4)="COMMAND 4 = PHOTON TORPEDO CONTROL" 1620 H$(5)="COMMAND 5 = SHIELD CONTROL" 1640 H$(6)="COMMAND 6 = STATUS REPORT" 1660 FOR I=0 TO 6 1680 PRINT TAB(10)H$(I) 1700 NEXT I 1720 PRINT 1740 IF B(X2,Y2)>=100 THEN S2=1 \ S5=200 1760 REM: HEADING 1780 PRINT "YOU MUST DESTROY";K2;"KLINGONS IN 30 STARDATES WITH";K3;"STARBASES" 1800 PRINT 1820 REM: COMMAND 1 1840 IF F1=0 THEN 2000 1860 PRINT 1880 PRINT "SHORT RANGE SENSORS"; 1900 PRINT TAB(25)Q$(3)&" = ENTERPRISE" 1920 PRINT TAB(25)Q$(2)&" = KLINGON" 1940 PRINT "SHOW THESE SYMBOLS"; 1960 PRINT TAB(25)Q$(1)&" = STARBASES" 1980 PRINT TAB(25)Q$(0)&" = STAR" 2000 REM: SECTOR PRINTOUT 2020 F2=0 \ IF X2>0 THEN IF X2<9 THEN IF Y2>0 THEN IF Y2<9 THEN F2=1 2040 Y$(0)=STR$(S1) 2060 Y$(1)=X$(S2) 2080 Y$(2)=STR$(X2)&","&STR$(Y2) 2100 Y$(3)=STR$(X1)&","&STR$(Y1) 2120 Y$(4)=STR$(E1) 2140 Y$(5)=STR$(S3) 2160 Y$(6)=STR$(S4) 2180 IF S4<30 THEN IF S2=1 THEN PRINT "COMBAT AREA "&Z$(1);X$(1) 2200 IF S4<30 THEN IF S2=1 THEN PRINT " SHIELDS DANGEROUSLY LOW" 2220 PRINT RPT(33,45) 2240 P=8*(Y2-1)+X2-1 \ IF F2=1 THEN E(P)=1 2260 FOR I=8 TO 1 STEP -1 2280 FOR J=1 TO 8 2300 IF D(P)=8*I+J THEN X3=J \ Y3=I \ GO TO 2380 2320 NEXT J 2340 NEXT I 2360 X3=0 \ Y3=0 2380 FOR I=8 TO 1 STEP -1 2400 PRINT TAB(1); 2420 FOR J=1 TO 8 2440 Q=8*I+J 2460 IF F2=0 THEN 2580 2480 FOR U=0 TO 9 2500 IF A(P,U)=Q THEN PRINT Q$(0); 2520 NEXT U 2540 IF C(P)=Q THEN PRINT Q$(1); 2560 IF D(P)=Q THEN PRINT Q$(2); 2580 IF Q=8*Y1+X1 THEN PRINT Q$(3); 2600 PRINT TAB(4*J+1); 2620 NEXT J 2640 IF I=8 THEN PRINT 2660 IF I<8 THEN PRINT TAB(40)Z$(7-I);TAB(57)Y$(7-I) 2680 NEXT I 2700 PRINT RPT(33,45) 2720 PRINT FMT("A")"COMMAND ?:"; 2740 INPUT U 2760 ON U+1 GO TO 3700,1820,2820,4640,5440,3400,6040 2780 GOSUB 9000 2800 GO TO 2720 2820 REM: COMMAND 2 2840 IF F1=0 THEN 3020 2860 PRINT 2880 PRINT H$(2) 2900 PRINT " SHOWS CONDITIONS IN SPACE FOR ONE QUADRANT ON EACH SIDE" 2920 PRINT " OF THE ENTERPRISE IN MIDDLE OF THE SCAN" 2940 PRINT " IS CODED IN THE FORM XXX, WHERE THE UNITS DIGIT IS THE" 2960 PRINT " NUMBER OF STARS, THE TENS DIGIT IS THE NUMBER OF STAR-" 2980 PRINT " BASES, THE HUNDREDS DIGIT IS THE NUMBER OF KLINGONS." 3000 PRINT 3020 REM: QUADRANT PRINT-OUT 3040 PRINT "LONG RANGE SENSOR SCAN FOR QUADRANT "; 3060 F2=0 \ IF X2>0 THEN IF X2<9 THEN IF Y2>0 THEN IF Y2<9 THEN F2=1 3080 IF F2=1 THEN PRINT STR$(X2)&","&STR$(Y2) \ GO TO 3120 3100 IF F2=0 THEN PRINT "?,?" \ GO TO 3340 3120 PRINT RPT(17,45) 3140 FOR I=1 TO -1 STEP -1 3160 PRINT ": "; 3180 FOR J=-1 TO 1 3200 PRINT FMT("*I",4)B(X2+J,Y2+I);":"; 3220 IF X2+J>0 THEN IF X2+J<9 THEN IF Y2+I>0 THEN IF Y2+I<9 THEN E(8*(Y2+I)+X2+J-9)=1 3240 NEXT J 3260 PRINT 3280 NEXT I 3300 PRINT RPT(17,45) 3320 GO TO 2720 3340 PRINT "NO USE LOOKING, YOU'VE LEFT THE KNOWN GALAXY - HAPPY HUNTING !" 3360 PRINT 3380 GO TO 2720 3400 REM: COMMAND 5 3420 IF F1=0 THEN 3540 3440 PRINT 3460 PRINT H$(5) 3480 PRINT " DEFINES NUMBER OF ENERGY UNITS TO BE ASSIGNED TO SHIELDS" 3500 PRINT " ENERGY IS TAKEN FROM TOTAL SHIPS ENERGY." 3520 PRINT 3540 PRINT "ENERGY AVAILABLE =";E1; 3560 PRINT TAB(30)"NUMBER OF UNITS TO SHIELDS ?:"; 3580 INPUT U 3600 IF U<0 THEN GOSUB 9000 \ GO TO 3560 3620 IF U>E1 THEN GOSUB 9000 \ GO TO 3540 3640 IF U=E1 THEN PRINT "YOU ARE NOW STRANDED IN SPACE, SHALL WE TRY AGAIN ?" \ GO TO 2720 3660 S4=S4+INT(U) \ E1=E1-INT(U) 3680 GO TO 2720 3700 REM: COMMAND 0 3720 IF F1=0 THEN 4040 3740 PRINT H$(0) 3760 PRINT " 'COURSE' IS IN A CIRCULAR NUMERICAL 3 2 1" 3780 PRINT " VECTOR ARRANGEMENT AS SHOWN. \ 1 /" 3800 PRINT " INTEGER AND REAL VALUES MAY BE \1/" 3820 PRINT " USED. THEREFORE COURSE 1.5 IS 4 ------- 0" 3840 PRINT " HALFWAY BETWEEN 1 AND 2."; 3860 PRINT TAB(49)"/1\" 3880 PRINT TAB(48)"/ 1 \" 3900 PRINT " A VECTOR OF 8 IS UNDEFINED, BUT 5 6 7" 3920 PRINT " VALUES MAY APPROACH 8." 3940 PRINT 3960 PRINT " ONE 'WARP FACTOR' IS THE SIZE OF" 3980 PRINT " ONE QUADRANT. THEREFORE TO GET" 4000 PRINT " FROM QUADRANT 6,5 TO 5,5 YOU WOULD" 4020 PRINT " USE COURSE 4, WARP FACTOR 1." 4040 PRINT 4060 PRINT " COURSE (0-8) ?:"; 4080 INPUT U 4100 IF U<0 THEN GOSUB 9000 \ GO TO 4060 4120 IF U>8 THEN GOSUB 9000 \ GO TO 4060 4140 B=U 4160 PRINT " WARP FACTOR (0-8) ?:"; 4180 INPUT U 4200 IF U<0 THEN GOSUB 9000 \ GO TO 4160 4220 IF U>8 THEN GOSUB 9000 \ GO TO 4160 4240 IF U<1 THEN W=8*U \ GO TO 4280 4260 W=U 4280 P1=INT(.5+(W*COS(B*PI/4))) 4300 Q1=INT(.5+(W*SIN(B*PI/4))) 4320 IF U<1 THEN P1=P1+X1 \ Q1=Q1+Y1 4340 IF U<1 THEN IF P1>0 THEN IF P1<9 THEN IF Q1>0 THEN IF Q1<9 THEN X1=P1 \ Y1=Q1 \ GO TO 4380 4360 IF U<1 THEN PRINT "YOU CANNOT LEAVE THE SECTOR WITH WARP LESS THAN 1" \ GO TO 2720 4380 IF U>=1 THEN X2=X2+P1 \ Y2=Y2+Q1 4400 F2=0 \ IF X2>0 THEN IF X2<9 THEN IF Y2>0 THEN IF Y2<9 THEN F2=1 4420 IF F2=0 THEN 4560 4440 P=8*(Y2-1)+X2-1 \ E(P)=1 4460 IF C(P)=8*Y1+X1 THEN S2=2 \ C(P)=0 4480 IF S2=2 THEN B(X2,Y2)=B(X2,Y2)-10 \ K3=K3-1 4500 IF S2=2 THEN E1=3000 \ S3=10 \ S4=0 4520 IF S2=2 THEN PRINT "SHIELDS DROPPED FOR DOCKING PURPOSES" 4540 S2=0 \ IF B(X2,Y2)>=100 THEN S2=1 \ S5=200 4560 IF F2=0 THEN S2=0 4580 S1=S1+INT(U) \ IF S1>3030 THEN 6460 4600 E1=E1-3*INT(U) \ IF E1<0 THEN E1=0 \ GO TO 6460 4620 GO TO 2000 4640 REM: COMMAND 3 4660 IF F1=0 THEN 4800 4680 PRINT \ PRINT H$(3) 4700 PRINT " ALLOWS YOU TO DESTROY THE KLINGONS BY HITTING HIM WITH" 4720 PRINT " SUITABLY LARGE NUMBERS OF ENERGY UNITS TO DEPLETE HIS" 4740 PRINT " SHIELD POWER. KEEP IN MIND THAT WHEN YOU SHOOT AT" 4760 PRINT " HIM, HE GONNA DO IT TO YOU TOO." 4780 PRINT 4800 IF F2=0 THEN GOSUB 9000 \ GO TO 2720 4820 IF B(X2,Y2)<100 THEN PRINT "NO TARGET WITHIN FIRING RANGE" \ GO TO 2720 4840 PRINT "PHASERS LOCKED ON TARGET. ENERGY AVAILABLE ="; 4860 PRINT E1 4880 PRINT "NUMBER OF UNITS TO FIRE ?:"; 4900 INPUT U 4920 IF U>E1 THEN GOSUB 9000 \ GO TO 4880 4940 IF U=E1 THEN PRINT "SAVE SOME POWER FOR MOTION !" \ GO TO 4880 4960 E2=INT(U) \ E1=E1-E2 4980 U=INT(50*RND)+30 5000 PRINT U; 5020 PRINT "UNIT HIT ON ENTERPRISE AT SECTOR "; 5040 PRINT STR$(X3)&","&STR$(Y3); 5060 IF U>S4 THEN U=S4 5080 S4=S4-U 5100 PRINT " (";S4;"LEFT)" 5120 IF S4=0 THEN PRINT "AAARGH....!" \ GO TO 6460 5140 U=INT(E2/2*(1+RND)) 5160 IF U>=S5 THEN U=S5 \ GO TO 5300 5180 PRINT U; 5200 PRINT "UNIT HIT ON KLINGON AT SECTOR "; 5220 PRINT STR$(X3)&","&STR$(Y3); 5240 S5=S5-U 5260 PRINT " (";S5;"LEFT)" 5280 GO TO 2720 5300 PRINT CHR$(7) 5320 PRINT "KLINGON AT SECTOR ";STR$(X3)&","&STR$(Y3);" DESTROYED ####" 5340 B(X2,Y2)=B(X2,Y2)-100 \ D(P)=0 \ S2=0 5360 K2=K2-1 5380 IF K2=0 THEN PRINT "MISSION COMPLETED, ALL KLINGONS DESTROYED" \ GO TO 6520 5400 PRINT 5420 GO TO 2720 5440 REM: COMMAND 4 5460 IF F1=0 THEN 5580 5480 PRINT H$(4) 5500 PRINT " COURSE IS THE SAME AS USED IN WARP ENGINE CONTROL" 5520 PRINT " IF YOU HIT THE KLINGON, HE IS DESTROYED AND CANNOT FIRE" 5540 PRINT " BACK AT YOU. IF YOU MISS, HE WILL SHOOT HIS PHASERS AT" 5560 PRINT " YOU." 5580 IF S3=0 THEN PRINT "TORPEDO SUPPLY EXHAUSTED" \ GO TO 2720 5600 IF B(X2,Y2)<100 THEN PRINT "NO TARGET WITHIN FIRING RANGE" \ GO TO 2720 5620 PRINT "TORPEDO COURSE (0-8) ?:"; 5640 INPUT U 5660 IF U<0 THEN IF U>8 THEN GOSUB 9000 \ GO TO 5620 5680 B=U \ S3=S3-1 5700 PRINT "TORPEDO TRACK:" 5720 FOR W=1 TO 10 5740 P1=X1+INT(.5+(W*COS(B*PI/4))) 5760 Q1=Y1+INT(.5+(W*SIN(B*PI/4))) 5780 IF P1>0 THEN IF P1<9 THEN IF Q1>0 THEN IF Q1<9 THEN 5820 5800 GO TO 5880 5820 PRINT TAB(20)FMT("*I",1)P1;",";Q1;FMT("A") 5840 IF P1=X3 THEN IF Q1=Y3 THEN 5300 5860 NEXT W 5880 PRINT "MISSED..." 5900 U=INT(100*RND) \ PRINT U; 5920 PRINT "UNIT HIT ON ENTERPRISE AT SECTOR "; 5940 PRINT STR$(X3)&","&STR$(Y3); 5960 IF U>S4 THEN U=S4 5980 S4=S4-U \ PRINT " (";S4;"LEFT)" 6000 IF S4=0 THEN PRINT "ZAP!!" \ GO TO 6460 6020 PRINT \ GO TO 2720 6040 REM: COMMAND 6 6060 PRINT H$(6) 6080 PRINT \ PRINT Q1$;"KLINGONS";Q2$;K2 6100 PRINT Q1$;"STARDATES";Q2$;3030-S1 6120 PRINT Q1$;"STARBASES";Q2$;K3 6140 PRINT 6160 FOR I=1 TO 8 6180 PRINT TAB(6*I+2)I; 6200 NEXT I \ PRINT 6220 FOR I=7 TO 0 STEP -1 6240 FOR J=0 TO 7 6260 PRINT TAB(6*J+7)RPT(5,45);" "; 6280 NEXT J \ PRINT 6300 PRINT TAB(3)FMT("*I",1)I+1; \ FOR J=0 TO 7 6320 IF E(8*I+J)=1 THEN PRINT TAB(6*J+8)FMT("*I",3)B(J+1,I+1); 6340 IF X2=J+1 THEN IF Y2=I+1 THEN PRINT "*"; 6360 NEXT J \ PRINT \ NEXT I 6380 FOR J=0 TO 7 6400 PRINT TAB(6*J+7)RPT(5,45);" "; 6420 NEXT J 6440 PRINT \ GO TO 2720 6460 REM: FIN 6480 PRINT 6500 PRINT "YOU HAVE FAILED IN YOUR MISSION..." 6520 PRINT Z$(0),S1,Z$(4),E1 6540 PRINT "KLINGONS REMAINING",K2 6560 END 9000 REM: MESSAGE RTN 9020 PRINT M$(M1) 9040 M1=M1+1 9060 IF M1>10 THEN M1=0 9080 RETURN 9100 REM:RANDOM SUBRTN 9120 FOR U=0 TO R1 9140 X1=INT(8*RND)+1 9160 Y1=INT(8*RND)+1 9170 P=8*(Y2-1)+X2-1 9172 Q=8*Y1+X1 9174 FOR I=0 TO 9 \ IF A(P,I)=Q THEN 9140 9176 NEXT I 9178 IF K1=1 THEN A(P,U)=Q 9180 IF K1=2 THEN C(P)=Q 9182 IF K1>2 THEN IF C(P)=Q THEN 9140 9184 IF K1=3 THEN D(P)=Q 9186 IF K1>3 THEN IF D(P)=Q THEN 9140 9220 NEXT U 9240 RETURN 10 DIMB(6),Y(6),Z(6),X$(6),Y$(6) 20 RANDOMIZE 30 PRINT 40 FOR N=0 TO 3 50 READ A$ 60 NEXT N 70 PRINT "HELLO AND WELCOME TO THE MASTER-MIND STUDIO." 80 PRINT "HERE IN THIS BOX IS HIDDEN A SIX-LETTER WORD" 90 PRINT "AND YOU MUST GUESS WHAT IT IS. I WILL GIVE YOU CLUES" 100 PRINT "BY ALLOTTING MARKS TO EACH LETTER AS FOLLOWS" 110 PRINT "0: WRONG. 1: CORRECT, BUT WRONG PLACE. 2: CORRECT." 120 FOR N=1 TO 6 130 B(N-1)=(ASC(SEG$(A$,N,N))-65)/2 140 NEXT N 150 PRINT \ PRINT "NOW MAKE YOUR "; 180 PRINT "FIRST GUESS "; 190 RESTORE 200 G=1 210 X=INT(20*RND(0)) 220 FOR N=0 TO X 230 READ A$ 240 READ B$ 250 READ C$ 260 NEXT N 270 A$=A$&B$&C$ 280 Y=1+INT(26*RND(0)) 290 FOR N=0 TO 5 295 P=26*N+Y 300 X$(B(N))=SEG$(A$,P,P) 310 NEXT N 380 GO TO 400 390 PRINT "SIX LETTERS, PLEASE" 400 PRINT "? "; \ INPUT A$ 410 IF LEN(A$)<>6 GO TO 390 420 FOR N=0 TO 5 430 Y(N)=0 \ Z(N)=0 440 Y$(N)=SEG$(A$,N+1,N+1) 450 IF X$(N)<>Y$(N) GO TO 470 460 Z(N)=2 470 NEXT N 500 FOR N=0 TO 5 510 IF Z(N)=2 GO TO 570 520 FOR X=0 TO 5 530 IF Y$(N)<>X$(X) GO TO 560 540 IF Y(X)=1 GO TO 560 545 IF Z(X)=2 GO TO 560 550 Y(X)=1 \ Z(N)=1 560 NEXT X 570 NEXT N 600 FOR N=0 TO 5 610 PRINT Y$(N);":";Z(N);" "; 620 NEXT N 630 PRINT " "; \ Z=0 640 FOR N=0 TO 5 650 IF Z(N)=2 GO TO 670 660 PRINT "*"; \ GO TO 680 670 PRINT Y$(N); 680 Z=Z+Z(N) 690 NEXT N 700 IF Z=12 GO TO 800 710 G=G+1 715 PRINT 720 PRINT "GUESS";G;" "; 730 GO TO 400 800 PRINT 805 IF G>5 GO TO 820 810 PRINT "A SUPERB MASTER-MIND" \ GO TO 900 820 IF G>10 GO TO 840 830 PRINT "PRETTY GOOD" \ GO TO 900 840 IF G>15 GO TO 860 850 PRINT "QUITE GOOD" \ GO TO 900 860 IF G>20 GO TO 880 870 PRINT "BETTER LUCK NEXT TIME" \ GO TO 900 880 PRINT "DONE AT LAST!!" 900 PRINT \ PRINT "TRY ANOTHER WORD" 910 GO TO 180 2000 DATA"SIRRFRALCPTTROFRMLLMKRTTOYGLSNEDDRENKRDDEDYDRDGDERDE" 2001 DATA"IMCDUNVKAPAHVWOAILOPIOITUORAFGRTHWDHARCSBAFPCJMANBAA" 2002 DATA"INOAEUEAEATAAHEFAUOUABOERNNAEESEEEDECEEERILEUENACENN" 2003 DATA"EKGACIARHRMUSUBDREIATNIOBUETENTHNRLRRDDTTDDSSDRRDEYH" 2004 DATA"ALIMKNGNORBPHGBDGECYTIEPORCAESLPDCSTMSWCRNFCVPLJFPNC" 2005 DATA"RNNTOLROCEETIAAOOHOLEUREOHTENEETOEOOEIEHIEEKEEEONLDC" 2006 DATA"MOOARNRNREOOTOEIBZNMIMYUHWDSHDDSEDRRDSENDSNGRGSGDYDS" 2007 DATA"PUUMIIITMKKRTZMNBIGINIORIABCTBBGSWFSLCLFSPRDFCTFBFBA" 2008 DATA"ULHEUEHAAEOHIREOIOIOHUELELEDGEEUNEEEEULEETONENGNNRNY" 2009 DATA"DTDCANUDELRCREOYEARRRTDMVADNTTYWENEGWTRNHGYDEGEREEEE" 2010 DATA"GUEKDDADTIRKMVOIERAOCHUBIMWREJDWSSBPNPMESTCSGTCMNRDG" 2011 DATA"EELAEIQUEIAOULMRRTAHIOOUIRERSELORELNOEUETNPEGNLELLDM" 2012 DATA"UGRDANRORBAERRUCMTBJASIEGSEERNYLNRECYERDHTRDEYASTHEM" 2013 DATA"NADKMSTPBRNDMGNUBEAUSERTGTLEMBSCCPMFCDFGHLLIDIMOTWGC" 2014 DATA"ONUOWOARAARROOAOINENIBHROUGGEIPUOELINGEECSENTRMSSCLO" 2015 DATA"ECESLCDISINNRLDLLEDVROUOIDESETEDNRSARRTPNTMHEEXEYYTC" 2016 DATA"DEEKARIXCNDDNLDLINUIYUNRGISESMPSIEDGPRHDSPHTEALSMSWZ" 2017 DATA"LXLUAANLIUOEOOOEERNDAPAPROGSVETEAIUEEEEOEEUCRSNSDTHA" 2018 DATA"LRRNLUOURBSAACUINBCAAEMORWLEWRNONONRESAPMELRTNNERNYR" 2019 DATA"FIRDLCLDGBTCUCINNBUVGBPMIYFTNWSSKSMLHFTHSPKROLFFTYVS" 2020 DATA"UHAAUTATAUURRIQREUCELEEEEAICOEECIIIELAMURCEELEOLEAFE" 2021 DATA"GAEESLLHRETRVNRRRPOUWRLARREYSHETSRNOYREENNEREEETRYDW" 2022 DATA"GRSTTLEASSIDIUKMIANIDELSARJHTWHPRMPPMLDDFGMRSCDFFGHN" 2023 DATA"UEHRUAUOERUAIEIEAECRAOUREALTICLERIOTNEDDIANICSLSESLO" 2024 DATA"TMILPTDCRNPPMOTCRRONORMSLERERSRSEELEDDSEREXRRRETTLEH" 2025 DATA"HPTRHHAUVTESADHKYGPNOOOUATRRSWGPSSMGELNPTHLMPRSTUVRS" 2026 DATA"AUUAOAEEAEXAOOEAAERUTHTIEKELOUEOTRELNEDLELNEEEGASATC" 2027 DATA"RSEFLRMOLNINLLTDRPANNCLCYDLEYIWERRERYLTYHEREEEYRDEET" 2028 DATA"NTAALAOKADNTEAADEIBAAHLOTIKPQSWPRSUSSLMGACAEASCLBASA" 2029 DATA"EEUAAAUTLUKEOATURXREAEALCDELSRODUEGENISXCLARLTREAVHC" 2030 DATA"SDCCASSLUCDORONFANMSRSAOABDEETSETERNRREHRETNELCNAYTD" 2031 DATA"CUAOTSEALHGKAUDULIITDIESURVAVAHTADOLLBACCICBDPNLHGFH" 2032 DATA"IDACIUSICIERERONHEEAOEYLLYICTSULNTAEEETCOSEGSEIONSNI" 2033 DATA"CENRMRHLJRESUVEMENRMSJALLOEHLTEDFRTDYTENHTYUEDENEGWE" 2034 DATA"OTNKBCATEATSNENENDIACOIOLLBSRMHFBHIMPRLGFLFLMRMRPOME" 2035 DATA"EKUAUOEANARUOORARAAEUERBEVMCEELELECUTEGRCNZANNLISNOV" 2036 DATA"MTLNRYELRTUEEMAAGIORNRRGRPREEERROYLTTTTRTEEEEDRDTYEN" 2037 DATA"BTIDKSSOMAGLLPINGBLSNVGAQKLKFKMGFFNMNOOPQPHFECDCFLMN" 2038 DATA"UEEIAEREOUOCMAURAOVUIUOEAAELNLEECNANHOEENCLLVEEEECUI" 2039 DATA"IOIMRBTIUNOSSTFRTCQPOCTXOIYEYRRATYLYYMMEMDDYSRDTYYHY" 2040 DATA"ALSBTUEDGDTELTOARIUPTHEUKZFEFLMNIFFMFMMNIHPPMKQSLLHF" 2041 DATA"RVRIAENRRORUOENEUAAIUAAUORRVKEYLNAAAHUELRLIFIEEELRAZ" 2042 DATA"MURDMLAODMOIRRLRARSOSRISSBNHLTTEEDRTDEEEWTDEBRTDEDLT" 2043 DATA"MRMUEANADLUBADLURAOWEBTUSLCFFAFAGAFGAFAGFAGFAGAFGAFG" 2044 DATA"OOOBOBLBOIBOBIOBLOBLBOOBOOOTACNZCREENLDLOPEGRENIRRIE" 2045 DATA"CARBCGDCODMCFTCFTCFSCROSSOTAYETTHENSLSARTETTRMDNTMNY" 2046 DATA"KCTBENIELIBEFLEFLETTOAMTIPRACRACRAVRCARCARCARCASPSDF" 2047 DATA"ACUACYACIAYCAUCAUCAUCTRYELEISLNESDIUASIENLEPEORIPEGP" 2048 DATA"QGARIETIAARCESDESHECRECRICTDTSDHLDEOYEELEHLERLTCDTEN" 2049 DATA"UGROLNUSUGEUACUNCEVOIROOCKARCARCARCARACRACRACRACRACR" 2050 DATA"CALCALCALDACLADLADLEDLEDLEIEESECAESIFSVACCAREIFIRIHO" 2051 DATA"VICVICRIFVIFRIFFOFFOGFOHFABTPTXREHEECELEDRDETTDMRHDE" 2052 DATA"EEOEMTANIINUIQUASUESAIVAORACRACRACRACRACRACRACRACRAC" 2053 DATA"DLEDLEELEDLEELEFLEFLEFLEFORNURAOTCNCIGAUNIETCERRESRS" 2054 DATA"GRDMRCLSBNSDPSLSTSSTTSYTVDTTGEDTETTYRTRCRSXRLEYLMNTY" 2055 DATA"EKIPAKUCUGTEPTLCRTPUATHTELDMRDMRDMRDMRDMRDMRDMRDMRDM" 2056 DATA"IAIIAOIAOIAOIAOIAOIAOIAOIESENLUETOSHENEIEUIEERRIEERE" 2057 DATA"LNOCIMOEINNIPIETITPREIONLNSHNEERRHARRHRYHEHRELTYDRLH" 2058 DATA"OIMKTPKAGDDTANNATHURLSLDFIAZYTWTSWSRWSRSWESWRSOWSWWF" 2059 DATA"LEEARATRTEOTETRSTIEOMHTAIIWTALHEETMEECIGCTCETEEKIEUS" 100 REM: 120 DIMA(20) 140 RANDOMIZE 160 PRINT "HUNT THE WUMPUS" 180 PRINT NLN(2) 200 A=0 \ C=5 220 FOR R=1 TO 20 240 A(R)=0 260 NEXT R 280 GOSUB 2000 300 Y=R \ REM: YOUR LCN 320 FOR I=1 TO 5 340 GOSUB 2000 360 IF A=6 THEN W=R 380 NEXT I 400 REM: FIND ADJACENTS 420 RESTORE 440 FOR I=1 TO Y 460 READ N1,N2,N3 480 NEXT I 500 ON A(N1)-1 GOSUB 2140,2140,2160,2160,2180 520 ON A(N2)-1 GOSUB 2140,2140,2160,2160,2180 540 ON A(N3)-1 GOSUB 2140,2140,2160,2160,2180 560 PRINT "YOU ARE IN ROOM";Y 580 PRINT "TUNNELS LEAD TO ";N1,N2,N3 600 PRINT 620 PRINT "SHOOT OR MOVE (S-M) ? "; 640 INPUT Z$ 660 IF Z$<>"S" THEN IF Z$<>"M" THEN PRINT "DECISIONS, DECISIONS..." \ GO TO 620 680 IF Z$<>"M" THEN 800 700 PRINT "WHERE TO ? "; 720 INPUT X 740 IF X<>N1 THEN IF X<>N2 THEN IF X<>N3 THEN PRINT "BOY, HAVE YOU GOT PROBLEMS !" \ GO TO 700 760 A(Y)=0 \ Y=X 780 ON A(Y)-1 GO TO 2200,2200,2400,2400,2500 790 A(Y)=1 \ GO TO 400 800 REM: SHOOT RTN 820 IF C=0 THEN PRINT "YOU HAVE NO ARROWS LEFT..." \ GO TO 700 840 C=C-1 860 PRINT "N0.OF ROOMS (1-5) ? "; 880 INPUT X 900 IF X=INT(X) THEN IF X>0 THEN IF X<6 THEN 960 920 PRINT "DON'T CRACK UP..." 940 GO TO 860 960 FOR J=1 TO X 980 PRINT "ROOM NO.? "; 1000 INPUT Z 1020 IF Z<>N1 THEN IF Z<>N2 THEN IF Z<>N3 THEN 1140 1040 IF A(Z)=6 THEN 1280 1060 IF A(Z)=1 THEN 1340 1080 RESTORE 1090 FOR I=1 TO Z 1100 READ N1,N2,N3 1110 NEXT I 1120 NEXT J 1140 PRINT "MISSED..." \ REM WUMPUS MOVES 1160 RESTORE 1170 FOR I=1 TO W 1180 READ N1,N2,N3 1190 NEXT I 1200 A(W)=0 \ W=N2 \ A(W)=6 1220 IF W=Y THEN 2500 1240 PRINT 1260 GO TO 400 1280 PRINT "AHA - YOU GOT THE WUMPUS !" 1300 PRINT "HEE HEE HEE - THE WUMPUS'LL GETCHA NEXT TIME !!" 1320 GO TO 2240 1340 PRINT "FOOL ! YOU'VE JUST SHOT YOURSELF !!" 1360 GO TO 2220 2000 REM: RANDOM INTEGER 2020 R=INT(20*RND)+1 2040 IF A(R)>0 THEN 2020 2060 A=A+1 2080 A(R)=A 2100 RETURN 2140 PRINT "I FEEL A DRAFT..." \ RETURN 2160 PRINT "BATS NEARBY" \ RETURN 2180 PRINT "I SMELL A WUMPUS" \ RETURN 2200 PRINT RPT(3,89);RPT(4,73);RPT(4,69);RPT(6,46);"FELL IN PIT" 2220 PRINT "HA HA - YOU LOSE !" 2240 PRINT "SAME SET-UP (Y-N) ? "; 2260 INPUT Z$ 2280 IF Z$="Y" THEN 140 2300 PRINT "DON'T TAKE IT SO BAD, 'BYE!" 2320 STOP 2400 PRINT NLN(2)"ZAP -- SUPERBAT SNATCH ! ELSEWHEREVILLE FOR YOU !" 2420 GOSUB 2000 2440 A(Y)=0 2460 Y=R \ A(Y)=1 2480 GO TO 400 2500 PRINT "CHOMP ! TOO BAD THE WUMPUS HAS GOT YOU !" 2520 GO TO 2240 2600 DATA2,5,8,1,3,10,2,4,12,3,5,14 2620 DATA1,4,6,5,7,15,6,8,17,1,7,9 2640 DATA8,10,18,2,9,11,10,12,19,3,11,13 2660 DATA12,14,20,4,13,15,6,14,16,15,17,20 2680 DATA7,16,18,9,17,19,11,18,20,13,16,19 2700 END 5 PRINT "TO STOP, TYPE '0' & ." \ PRINT 7 REM L=FLOAT 10 PRINT "IN ***HOLD***, TYPE 1 TO HOLD THAT WINDOW, & 0 TO RUN THE OTHERS" 15 PRINT "I.E. 0,1,0 = RUN,HOLD,RUN THE WINDOWS IN THAT ORDER" 30 DIMA(50) 50 Y=0 60 L=1000 90 PRINT \ PRINT "HOW MUCH MONEY YOU PUT IN" \ INPUT P 120 L=L+P \ K=2*INT(P/5) \ IF P<5 THEN 1200 150 PRINT "TYPE TO START" \ INPUT A$ 180 Z=1 210 D=0 \ GOSUB 1290 240 IF A(1)=A(2) THEN 390 \ IF A(1)=A(3) THEN 570 270 IF A(1)=5 THEN 660 \ IF A(1)=11 THEN 600 300 IF Z=K THEN 360 330 M=K-Z \ PRINT \ PRINT " "M" TRIES LEFT "; \ INPUT A$ \ IF A$="0" THEN 1230 360 Z=Z+1 \ IF Z=K+1 THEN 90 \ GO TO 210 390 IF A(2)=A(3) THEN 450 \ IF A(1)=8 THEN 1110 420 IF A(1)=5 THEN 690 \ GO TO 300 450 IF A(2)=32 THEN 930 \ IF A(2)=29 THEN 900 \ IF A(2)=26 THEN 870 480 IF A(2)=23 THEN 840 \ IF A(2)=20 THEN 810 \ IF A(2)=17 THEN 780 510 IF A(2)=14 THEN 750 \ IF A(2)=11 THEN 720 \ IF A(2)=5 THEN 690 540 GO TO 300 570 IF A(2)=11 THEN 1140 \ IF A(1)=5 THEN 660 \ GO TO 300 600 IF A(2)=A(3) THEN 630 \ GO TO 300 630 IF A(2)=8 THEN 780 \ GO TO 300 660 D=2 \ GO TO 1050 690 D=4 \ GO TO 1050 720 D=6 \ GO TO 1050 750 D=8 \ GO TO 1050 780 D=10 \ GO TO 1050 810 D=12 \ GO TO 1050 840 D=14 \ GO TO 1050 870 D=16 \ GO TO 1050 900 D=18 \ GO TO 1050 930 D=20 \ GO TO 1050 960 D=40 \ GO TO 1050 990 D=100 \ GO TO 1050 1020 D=200 \ GO TO 1050 1050 PRINT \ PRINT "YOU HAVE WON "2.5*D" PENCE.." 1080 K=K+D \ GO TO 300 1110 IF A(3)=11 THEN 780 \ GO TO 300 1140 IF A(1)=38 THEN 990 \ IF A(1)=35 THEN 960 \ IF A(1)=8 THEN 780 1170 IF A(1)=5 THEN 660 \ GO TO 300 1200 STOP 1230 PRINT "YOU HAVE WON "M*2.5" PENCE.." 1260 L=L-M*2.5 \ GO TO 90 1290 REM RANDOMIZE 1320 RANDOMIZE \ R1=0 \ FOR X=0 TO 10 1350 R1=INT(10*RND(0)) \ NEXT X 1380 IF R1>7 THEN IF Y=1 THEN 2190 \ U=0 \ V=0 \ W=0 1390 U=0 \ V=0 \ W=0 1400 Y=1 1410 PRINT TAB(25); \ IF U=0 THEN 1500 \ N=1 \ R=A(N) \ GO TO 1650 1440 IF V=0 THEN 1530 \ N=2 \ R=A(N) \ GO TO 1650 1470 IF W=0 THEN 1560 \ N=3 \ R=A(N) \ GO TO 1650 1500 N=1 \ GO TO 1590 1530 N=2 \ GO TO 1590 1560 N=3 1590 RANDOMIZE \ R=0 \ FOR X=0 TO 25 1620 R=INT((40-1)*RND(0)+1) \ NEXT X 1650 IF R<6 THEN 2100 \ IF R<10 THEN 2070 \ IF R<13 THEN 2040 1680 IF R<16 THEN 2010 \ IF R<19 THEN 1980 \ IF R<22 THEN 1950 1710 IF R<25 THEN 1920 \ IF R<28 THEN 1890 \ IF R<31 THEN 1860 1740 IF R<34 THEN 1830 \ IF R<37 THEN 1800 1770 R=38 \ PRINT " MELON "; \ GO TO 2130 1800 R=35 \ PRINT " BANANA "; \ GO TO 2130 1830 R=32 \ PRINT " APPLE "; \ GO TO 2130 1860 R=29 \ PRINT " BELL "; \ GO TO 2130 1890 R=26 \ PRINT " PINEAPPLE"; \ GO TO 2130 1920 R=23 \ PRINT " GRAPE "; \ GO TO 2130 1950 R=20 \ PRINT " PLUM "; \ GO TO 2130 1980 R=17 \ PRINT " LEMON "; \ GO TO 2130 2010 R=14 \ PRINT " ORANGE "; \ GO TO 2130 2040 R=11 \ PRINT " PEAR "; \ GO TO 2130 2070 R=8 \ PRINT " BAR "; \ GO TO 2130 2100 R=5 \ PRINT " CHERRY "; \ GO TO 2130 2110 U=0 \ V=0 \ W=0 2130 A(N)=R \ IF N=1 THEN 1440 \ IF N=2 THEN 1470 2160 PRINT \ RETURN 2190 PRINT "HOLD***" \ INPUT U,V,W 2220 GO TO 1410 2250 END 1 REM *** WRITTEN BY JIM STORER, LEXINGTON HS -- MODIFIED BY DAVE AHL, DEC 2 PRINT "HOW MANY TIMES HAVE YOU PLAYED"; 3 INPUT Z 5 LET N5=8 6 RANDOMIZE 10 REM PROGRAM STARTS 12 IF Z=500 THEN 47 14 IF Z=1000 THEN 1960 17 FOR Y1=1 TO 10 18 PRINT 19 NEXT Y1 20 PRINT "CONGRATULATIONS!YOU'VE BEEN ELECTED PREMIER OF SETATS DETIN" 22 PRINT "A SMALL COMMUNIST ISLAND 30 BY 70 MILES LONG. YOUR JOB IS TO" 24 PRINT "DECIDE UPON THE COUNTRY'S BUDGET AND DISTRIBUTE MONEY TO YOUR" 26 PRINT "COUNTRYMEN FROM THE COMMUNAL TREASURY."; 27 IF Z<>0 THEN 47 28 PRINT " THE MONEY SYSTEM IS RALLODS," 30 PRINT "AND EACH PERSON NEEDS 100 RALLODS PER YEAR TO SURVIVE." 32 PRINT "YOUR COUNTRY'S INCOME COMES FROM FARM PRODUCE AND TOURISTS" 34 PRINT "VISITING YOUR MAGNIFICIENT FORESTS, HUNTING, FISHING, ETC. HALF" 36 PRINT "YOUR LAND IS FARM LAND WHICH ALSO HAS AN EXCELLENT MINERAL" 38 PRINT "CONTENT AND MA, BE SOLD TO FOREIGN INDUSTRY (STRIP MINING)" 39 PRINT "WHO IMPORT AND SUPPORT THEIR OWN WORKERS.CROPS COST BETWEEN" 40 PRINT "10 AND 15 RALLODS PER SQ. MILE TO PLANT." 42 PRINT "YOUR GOAL IS TO COMPLETE YOUR";N5;"YEAR TERM OF OFFICE."; 44 PRINT " GOOD LUCK!" 47 FOR Y1=1 TO 4 48 PRINT 49 NEXT Y1 50 LET A=INT(60000+(RND(1)*1000)-(RND(1)*1000)) 65 LET D=2000 100 LET W=INT(RND(1)*10+95) 101 FOR Y1=1 TO 8 102 PRINT 103 NEXT Y1 105 PRINT "YOU NOW HAVE";A;"RALLODS IN THE TREASURY" 110 PRINT INT(B);"COUNTRYMEN,"; 115 LET V9=INT(((RND(1)/2)*10+10)) 120 IF C=0 THEN 140 130 PRINT INT(C);"FOREIGN WORKERS,"; 140 PRINT " AND";INT(D);"SQ. MILES OF LAND." 142 IF V1-V2>=V3 THEN 1450 150 PRINT " (DUE TO "; 155 PRINT "LAND CURRENTLY COSTS";V9;"RALLODS PER SQ. MILE TO PLANT." 160 FOR Y1=1 TO 3 162 PRINT 164 NEXT Y1 170 NEXT Y 194 IF D>1000 THEN 100 200 PRINT "HOW MANY SQ. MILES DO YOU WISH TO SELL TO INDUSTRY"; 210 INPUT H 215 IF H<0 THEN 200 220 IF H<=D-1000 THEN 300 230 PRINT " THINK AGAIN, YOU'VE ONLY";D-1000;"SQ. MILES OF FARM LAND" 240 IF X<>0 THEN 200 250 PRINT "(FOREIGN INDUSTRY WILL ONLY BUY FARM LAND BECAUSE FOREST" 260 PRINT "LAND IS UNECONOMICAL TO STRIP MINE DUE TO TREES," 270 PRINT "THICKER TOP SOIL, ETC.)" 280 LET X=1 299 GO TO 200 300 LET D=INT(D-H) 310 LET A=INT(A+(H*W)) 320 PRINT "HOW MANY RALLODS DO YOU WISH TO DISTRIBUTE TO YOUR COUNTRYMEN"; 340 INPUT I 342 IF I<0 THEN 320 350 IF I0 THEN 1002 602 IF I<>0 THEN 1002 604 IF J<>0 THEN 1002 606 IF K<>0 THEN 1002 608 FOR Y1=1 TO 5 609 PRINT 610 NEXT Y1 612 PRINT "GOODBYE." 614 PRINT "(IF YOU WISH TO CONTINUE THIS GAME AT A LATER DATE, ANSWER " 616 PRINT "1000 FOR HOW MANY TIMES YOU'VE PLAYED, AT BEGINNING OF NEXT "; 617 PRINT "GAME.)" 618 GO TO 1590 1000 GO TO 600 1002 FOR Y1=1 TO 3 1003 PRINT 1004 NEXT Y1 1010 LET A=INT(A-K) 1020 LET A4=A 1100 IF INT(I/100-B)>=0 THEN 1120 1105 IF I/100<50 THEN 1700 1110 PRINT INT(B-(I/100));"COUNTRYMEN DIED OF STARVATION" 1120 LET F1=INT(RND(1)*(2000-D)) 1122 IF K<25 THEN 1130 1125 LET F1=INT(F1/(K/25)) 1130 IF F1<=0 THEN 1150 1140 PRINT F1"COUNTRYMEN DIED OF CARBON-MONOXIDE AND DUST INHALATION" 1150 IF INT((I/100)-B)<0 THEN 1170 1160 IF F1>0 THEN 1180 1165 GO TO 1200 1170 PRINT " YOU WERE FORCED TO SPEND";INT((F1+(B-(I/100)))*9); 1172 PRINT "RALLO"SON FUNERAL EXPENSES." 1174 LET B5=INT(F1+(B-(I/100))) 1175 LET A=INT(A-((F1+(B-(I/100)))*9)) 1176 GO TO 1185 1180 PRINT " YOU WERE FORCED TO SPEND";INT(F1*9);"RALLODS ON "; 1181 PRINT "FUNERAL EXPENSES." 1182 LET B5=F1 1183 LET A=INT(A-(F1*)) 1185 IF A>=0 THEN 1194 1187 PRINT " INSUFFICIENT RESERVES TO CO+ER COST -LAND WAS SOLD" 1189 LET D=INT(D+(A/W)) 1190 LET A=0 1194 LET B=INT(B-B5) 1200 IF H=0 THEN 250 1220 LET C1=INT(H+(RND(1)*10)-(RND(1)*20)) 1224 IF C>0 THEN 1230 1226 LET C1=C1+20 1230 PRINT C1;"WORKERS CAME TO THE COUNTRY AND"; 1250 LET P1=INT(((I/100-B)/10)+(K/25)-((2000-D)/50)-(F1/2)) 1255 PRINT ABS(P1);"COUNTRYMEN "; 1260 IF P1<0 THEN 1275 1265 PRINT "CAME TO"; 1270 GO TO 1280 1275 PRINT "LEFT"; 1280 PRINT " THE ISLAND." 1290 LET B=$NT(B+P1) 1292 LET C=INT(C+C1) 1305 LET U2=INT(((200-D)*((RND(1)+1.5)/2))) 1310 IF C=0 THEN 1324 1320 PRINT " OF";INT(J);"SQ. MILES PLANTED,"; 1324 IF J>U2 THEN 1330 1326 LET U2=J 1330 PRINT " YOU HARVESTED";I'T(J-U2);"SQ. MILES OF C)OPS." 1340 IF U2=0 THEN 1370 1344 IF T1>=2 THEN 1370 1355 IF T1=0 THEN 1365 1360 PRINT "INCREASED"; 1365 PRINT "AIR AND WATER POLLUTION FROM FOREIGN INDUSTRY" 1367 LET T1=T1+1 1370 LET Q=INT((J-U2)*(W/2) 1380 PRINT " MAKING";INT(Q);"RALLODS." 1390 LET A=INT(A+Q) 1400 LET V1=INT(((B-P1)*22)+(RND(1)*500)) 1405 LET V2=INT((2000-D)*15) 1410 PRINT " YOU MADE";ABS(INT(V1-V2));"RALLODS FROM TOURIST TRADE." 1420 IF V2=0 THEN 1450 1430 PRINT " DECREASE BECAUSE "; 1435 LET G1=RND(1)*10 1440 IF G1<=2 THEN 1460 1442 IF G1<=4 THEN 1465 1444 IF G1<=6 THEN 1470 1446 IF G1<=8 THEN 1475 1448 IF G1<=10 THEN 1480 1450 LET V3=INT(V1-+2) 1451 LET A=INT(A+V3) 1452 GO TO 1500 1460 PRINT "FISH POPULATION HAS DWINDLED DUE TO WATER POLLUTION." 1462 GO TO 1450 1465 PRINT "AIR POLLUTION IS KILLING GAME BIRD POPULATION." 1467 GO TO 1450 1470 PRINT "MINERAL BATHS ARE BEING RUINED BY WATER POLLUTION." 1472 GO TO 1450 1475 PRINT "UNPLEASAN* SMOG IS DISCOURAGING SUN BATHERS." 1477 GO TO 1450 1480 PRINT "HOTELS ARE LOOKING SHABBY DUE TO SMOG GRIT." 1482 GO TO 1450 1500 IF B5>200 THEN 1600 1505 IF B<343 THEN 1700 1510 IF (A4100)>5 THEN 1800 1515 IF C>BTHE' 1550 1520 $FN5-1=X5 THEN 1900 1545 GO TO 2000 1550 FOR Y1=1 TO 8 1552 PRINT 1555 NEXT Y1 1560 PRINT "THE NUMBER OF FOREIGN WORKERS HAS EXCEEDED THE NUMBER" 1562 PRINT "OF COUNTRYMEN. AS A MAJORITY THEY HAVE REVOLTED AND" 1564 PRINT "TAKEN OVER THE COUNTRY." 1570 IF RND(1)<.5 THEN 1580 1574 PRINT "YOU HAVE BEEN THROWN OUT OF OFFICE AND YOU ARE NOW" 1576 PRINT "RESIDING IN PRISION." 1578 GO TO 1590 1580 PRINT "YOU HAVE BEEN ASSASSINATED" 1590 FOR Y1=1 TO 18 1592 PRINT 1594 NEXT Y1 1596 STOP 1600 FOR Y1=1 TO 8 1602 PRINT 1605 NEXT Y1 1610 PRINT B5;"COUNTYRMEN DIED INONE YEAR!!!!!" 1615 PRINT "DUE TO THIS EXTREME MISMANAGEMENT YOU HAVE NOT ONLY" 1620 PRINT "BEEN IMPEACHED AND THROWN OUT OF OFFICE BUT YOU" 1622 LET M6=INT(RND(1)*10) 1625 IF M6<=3 THEN 1670 1630 IF M6<=6T$EN 1680 1635 IF M6<=10 THEN 1690 1670 PRINT "ALSO HAD YOUR LEFT EYE GOUGED OUT." 1672 GO TO 1590 1680 PRINT "HAVE ALSO GAINED A VERY BAD REPUTATION" 1682 GO TO 1590 1690 PRINT "HAVE ALSO BEEN DECLARED NATIONAL FINK" 1692 GO TO 1590 1700 FOR Y1=1 TO 8 1702 PRINT 1710 PRINT "OVER ONE THIRD OF THE POPULATION HAS DIED SINCE YOU" 1715 PRINT "WERE ELECTED TO OFFICE. THE PROPLE (REMAINING)" 1720 PRINT "HATE YOUR GUTS." 1730 GO TO 1570 1800 IF B5-F1<2 THEN 1515 1805 FOR Y1=1 TO 8 1807 PRINT 1810 NEXT Y 1815 PRINT "MONEY WAS LEFT OVER IN THE TREASURY WHICH YOU DID" 1820 PRINT "NOT SPEND. AS A RESULT SOME OF YOUR COUNTRYMEN DIED" 1825 PRINT "OF STARVATION. THE PUBLIC IS ENRAGED AND YOU HAVE" 1830 PRINT "BEEN FORCED TO EITHER RESIGN OR COMMIT SUCI"E" 1835 PRINT "THE CHOICE IS YOURS." 1840 PRINT "IF YOU CHOOSE THE LATTER, PLEASE TURN OFF YOUR TTY"; 1845 PRINT " BEFORE PROCEEDING." 1850 GO TO 1590 1900 FOR Y1=1 TO 8 1902 PRINT 1905 NEXT Y1 1920 PRINT "CONGRATULATIONS!!!!!!!!!!!!!!!!!" 1925 PRINT "YOU H VE SUCCESSFULLY COMPLETED YOUR";N5;"YEAR TERM" 1930 PRINT "OF OFFICE. YOU WERE, OF COURSE, EXTREMELY LUCKY, BUT NEVER THE" 1935 PRINT "LES), IT'S QUITE AN ACHIEVEMENT. GOODBY A'D GOOD LUCK -YOU'LL" 1940 PRINT "PROBABLY NEED IT IF YOURE THE TYPE THAT PLAYS THIS GAME" 1945 PRINT " -FOR FURTHER THRILLS, TRY LANDING ON THE MOON" 1950 GO TO 1590 1960 PRINT "HOW MANY YEARS HAD YOU BEEN IN OFFICE WHEN INTERRUPTE""; 1961 INPUT X5 1962 IF X5<0 THEN 1590 1963 IF X5<8 THEN 1969 1965 PRINT "YOU HAVE SUCCESSFULLY COMPLETED YOUR";N5;"YEAR TERM" 1967 GO TO 1960 1969 PRINT "HOW MUCH DID YOU HAVE IN THE TREASURY"; 1970 INPUT A 1971 IF A<0 THEN 1590 1975 PRINT "HOW MANY COUNTRYMEN"; 1976 INPUT B 1977 IF B<0 THEN 1590 1980 PRINT "HOW MANY WORKERS"; 1981 INPUT C 1982 IF C<0 THEN 1590 1990 PRINT "HOW MANY SQ. MILES OF LAND"; 1991 INPUT D 1992 IF D<0 THEN 1590 1993 IF D>2000 THEN 1996 1996 PRINT " COME ON, YOU STARTED WITH 1000 SQ. MILES OF FARM LAND" 1997 PRINT " AND 1000 SQ. MILES OF FOREST LAND" 1998 GO TO 1990 2000 LET X5=X5+1 2020 LET B5=0 2040 GO TO 100 2046 END 3 GO TO 390 5 PRINT "PLEASEANSWER 'YES' OR 'NO'. DO YOU LIKE IT HERE" 10 PRINT \ PRINT "WELCOME TO THE BOOTH OF THE SWAMI-ANSWERS FOR"; 12 PRINT " THE MASSES!!" 15 PRINT "TO WHOM AM I SPEAKING (KEEP IT SHORT PLEASE --" 20 PRINT "WHAT IS ,OUR NAME"; \ INPUT A$ 32 PRINT 35 PRINT " HI THERE "; \ GOSUB 500 36 PRINT ". ARE YOU ENJOYING ,O*R)ELF HERE" 40 FOR N=1 TO 7 45 INPUT B$ 47 PRINT 50 IF B$="YES"G' TO 70 55 IF B$="NO" GO TO 80 60 PRINT " "; \ GOSUB 500 \ PRINT ", I DON'T UNDERSTAND YOUR ANSWER OF '"B$"'." 67 GO TO 40 70 PRINT "OH, I'M GLAD TO HEAR THAT "; \ GOSUB 500 \ PRINT 75 GO TO 100 80 PR$NT"OH,SORRYTOHERETHAT"; \ GOSUB 500 \ PRINT ", MAYBE WE CAN BRIGHTEN 85 PRINT "UP YOUR STAY A BIT" 100 PRINT 105 PRINT "SAY, "; \ GOSUB 500 \ PRINT ", I CAN SOLVE ALL KINDS OF PROBLEMS" 110 PRINT "EXCEPT THOSE DEALING WITH GREECE. WHAT KIND OF" 115 PRINT "PROBLEMS DO YOU HAVE (ANSWER SEX, HEALTH, MONEY," 120 PRINT "OR JOB)"; 125 INPUT C$ 127 PRINT 130 IF C$="SEX" GO TO 200 132 IF C$="JOB" GO TO 145 134 IF C$="MONEY" GO TO 160 135 IF C$="JOB" GO TO 145 136 IF C$="HEALTH" GO TO 180 138 PRINT "OH, "; \ GOSUB 500 \ PRINT ", YOUR ANSWER OF '"C$"' IS GREEK *O M"0" 140 GO TO 250 145 PRINT "I CAN )YMPATHIZE WITH YOU ";0 GOSUB 500 146 PRINT ". I HAVE TO WORK" 148 PRINT "VERY LONG HOURS FOR NO PAY -- AND SOME OF MY BOSSES REALLY" 150 PRINT "REALLY BEAT ON MY KEYBOARD, MY SUGGESTION TO YOU IS" 151 PRINT "TO GET INTO THE "; 153 PRINT "IN THE EDUCATION MARKET. IT'S GREAT FUN." 155 GO TO 250 160 PRINT "SORRY, "; \ GOSUB 500 \ PRINT ", I'M BROKE TOO. WHY DON'T YOU SELL" 163 PRINT "MORE COMPUTERS AND GET MORE COMMISSION? (HA, HA, HA)" 170 GO TO 250 180 PRINT "MY ADVICE TO YOU "; \ GOSUB 500 \ PRINT ", IS:" 185 PRINT " 1. TAKE TWO ASPRIN" 188 PRINT " 2. DRINK PLENTY OF FLUIDS (ORANGE JUICE, NOT BEER!)" 190 PRINT " 3. GO TO BED (ALONE)" 195 GO TO 250 200 PRI'T"ISYOURPROBLEMTOOMUCHORTOOLITTLE"; 205 INPUT D$ 208 PRINT 210 IF D$= TO OMUCH"GOTO220 213 IF D$="TOO LITTLE" GO TO 230 215 PRINT "DON'T GET SHOOK "; \ GOSUB 500 \ PRINT ", JUST ANSWER THE QUESTION" 217 PRINT "WITH 'TOO MUCH' OR 'TOO LITTLE'. WHICH IS IT"; 218 GO TO 205 220 PRINT "YOU CALL THAT A PROBLEM?!! I SHOULD HAVE SUCH PROBLEMS!" 225 PRINT "IF IT BOTHERS YOU, TAKE A COLD SHOWER "; \ GOSUB 500 \ PRINT "." 228 GO TO 250 230 PRINT "WHY ARE YOU HERE "; \ GOSUB 500 \ PRINT "? YOU SH'U&DBE" 235 PRINT "IN TOKYO OR N"WYORKORAMSTERDAMORSOMEPLACEWITHSOME" 240 PRINT "REAL ACTION" 250 PRINT 255 PRINT "ANY MORE PROBLEMS YOU WANT SOLVED, "; \ GOSUB 500 \ PRINT ; 260 INPUT E$ 265 PRINT 270 IF E$="YES" GO TO 280 273 IF E$="NO" GO TO 300 275 PRINT "JUST A SIMPLE 'YES' OR 'NO' PLEASE, "; \ #OSUB 500 \PRINT "." 278 GO TO 255 280 PRINT "WHAT KIND (SEX, MONEY, HEALTH, JOB)"; 285 GO TO 125 300 PRINT 302 PRINT "THAT WILL BE $5.00 FOR THE ADVICE, "; \ GOSUB 500 \ PRINT "." 305 PRINT "PLEASE LEAVE THE MONEY ON THE TERMINAL." 307 PRINT 308 PRINT 310 PRIN*"DIDYOULEAVETHEMONEI"; 315 INPUT G$ 320 PRINT 325 IF G$="YESGO TO 350 330 IF G$="NO" GO TO 370 335 PRINT "YOUR ANSWER OF '"G$"' CONFUSES ME, "; \ GOSUB 500 \ PRINT " PLEASE" 340 PRINT "RESPONDWITH A 'YES' OR A 'NO'." 345 GO TO 310 350 PRINT "HEY, "; \ GOSUB 500 \ PRINT "??? YOU LEFT NO MONEY AT ALL!" 355 PRINT "YOU ARE CHEATING ME OUT OF MY HARD-EARNED LIVING." 360 PRINT "RIP OFF",; \ GOSUB 500 \ PRINT "*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*" 370 PRINT "THAT'S HONEST, "; \ GOSUB 500 \ PRINT ", BUT HOW DO YOU EXPECT" 375 PRINT "ME TO GO ON WITH MY PSYCHOLOGY STUDIES IF MY PATIENTS DON'T" 380 PRINT "PAY THEIR BILLS?" 385 PRINT 390 REM 402 PRINT 405 NEXT N 410 GO TO 10 500 PRINT A$; 510 RETURN 999 END 10 REM PROGRAM TO PRINT A RANDOM MAZE 15 RANDOMIZE 90 PRINT "PLEASE INPUT YOUR WIDTH AND LENGTH MAX 22 X 100" 100 INPUT H,V 101 IF H<=1 GO TO 104 \ IF H>22 GO TO 104 102 IF V<=1 GO TO 104 \ IF V<=100 GO TO 110 104 PRINT "MEANINGLESS DIMENSIONS. TRY AGAIN"; 105 GO TO 100 110 DIM W(22,100),V(22,100) 160 Q=0 \ Z=0 \ X=INT(RND(1)*H+1) 165 FOR I=1 TO H 170 IF I=X GO TO 173 171 PRINT ".--"; \ GO TO 180 173 PRINT ". "; 180 NEXT I 190 PRINT "." 195 C=1 \ W(X,1)=C \ C=C+1 200 R=X \ S=1 \ GO TO 260 210 IF R<>H GO TO 240 215 IF S<>V GO TO 230 220 R=1 \ S=1 \ GO TO 250 230 R=1 \ S=S+1 \ GO TO 250 240 R=R+1 250 IF W(R,S)=0 GO TO 210 260 IF R-1=0 GO TO 530 265 IF W(R-1,S)<>0 GO TO 530 270 IF S-1=0 GO TO 390 280 IF W(R,S-1)<>0 GO TO 390 290 IF R=H GO TO 330 300 IF W(R+1,S)<>0 GO TO 330 310 X=INT(RND(1)*3+1) 320 IF X=1 GO TO 790 321 IF X=2 GO TO 820 322 IF X=3 GO TO 860 330 IF S<>V GO TO 340 334 IF Z=1 GO TO 370 338 Q=1 \ GO TO 350 340 IF W(R,S+1)<>0 GO TO 370 350 X=INT(RND(1)*3+1) 360 IF X=1 GO TO 790 361 IF X=2 GO TO 820 362 IF X=3 GO TO 910 370 X=INT(RND(1)*2+1) 380 IF X=1 GO TO 790 381 IF X=2 GO TO 820 390 IF R=H GO TO 470 400 IF W(R+1,S)<>0 GO TO 470 405 IF S<>V GO TO 420 410 IF Z=1 GO TO 450 415 Q=1 \ GO TO 430 420 IF W(R,S+1)<>0 GO TO 450 430 X=INT(RND(1)*3+1) 440 IF X=1 GO TO 790 441 IF X=2 GO TO 860 442 IF X=3 GO TO 910 450 X=INT(RND(1)*2+1) 460 IF X=1 GO TO 790 461 IF X=2 GO TO 860 470 IF S<>V GO TO 490 480 IF Z=1 GO TO 520 485 Q=1 \ GO TO 500 490 IF W(R,S+1)<>0 GO TO 520 500 X=INT(RND(1)*2+1) 510 IF X=1 GO TO 790 511 IF X=2 GO TO 910 520 GO TO 790 530 IF S-1=0 GO TO 670 540 IF W(R,S-1)<>0 GO TO 670 545 IF R=H GO TO 610 547 IF W(R+1,S)<>0 GO TO 610 550 IF S<>V GO TO 560 552 IF Z=1 GO TO 590 554 Q=1 \ GO TO 570 560 IF W(R,S+1)<>0 GO TO 590 570 X=INT(RND(1)*3+1) 580 IF X=1 GO TO 820 581 IF X=2 GO TO 860 582 IF X=3 GO TO 910 590 X=INT(RND(1)*2+1) 600 IF X=1 GO TO 820 601 IF X=2 GO TO 860 610 IF S<>V GO TO 630 620 IF Z=1 GO TO 660 625 Q=1 \ GO TO 640 630 IF W(R,S+1)<>0 GO TO 660 640 X=INT(RND(1)*2+1) 650 IF X=1 GO TO 820 651 IF X=2 GO TO 910 660 GO TO 820 670 IF R=H GO TO 740 680 IF W(R+1,S)<>0 GO TO 740 685 IF S<>V GO TO 700 690 IF Z=1 GO TO 730 695 Q=1 \ GO TO 830 700 IF W(R,S+1)<>0 GO TO 730 710 X=INT(RND(1)*2+1) 720 IF X=1 GO TO 860 721 IF X=2 GO TO 910 730 GO TO 860 740 IF S<>V GO TO 760 750 IF Z=1 GO TO 780 755 Q=1 \ GO TO 770 760 IF W(R,S+1)<>0 GO TO 780 770 GO TO 910 780 GO TO 1000 790 W(R-1,S)=C 800 C=C+1 \ V(R-1,S)=2 \ R=R-1 810 IF C=H*V+1 GO TO 1010 815 Q=0 \ GO TO 260 820 W(R,S-1)=C 830 C=C+1 840 V(R,S-1)=1 \ S=S-1 \ IF C=H*V+1 GO TO 1010 850 Q=0 \ GO TO 260 860 W(R+1,S)=C 870 C=C+1 \ IF V(R,S)=0 GO TO 880 875 V(R,S)=3 \ GO TO 890 880 V(R,S)=2 890 R=R+1 900 IF C=H*V+1 GO TO 1010 905 GO TO 530 910 IF Q=1 GO TO 960 920 W(R,S+1)=C \ C=C+1 \ IF V(R,S)=0 GO TO 940 930 V(R,S)=3 \ GO TO 950 940 V(R,S)=1 950 S=S+1 \ IF C=H*V+1 GO TO 1010 955 GO TO 260 960 Z=1 970 IF V(R,S)=0 GO TO 980 975 V(R,S)=3 \ Q=0 \ GO TO 1000 980 V(R,S)=1 \ Q=0 \ R=1 \ S=1 \ GO TO 250 1000 GO TO 210 1010 FOR J=1 TO V 1011 PRINT "I"; 1012 FOR I=1 TO H 1013 IF V(I,J)<2 GO TO 1030 1020 PRINT " "; 1021 GO TO 1040 1030 PRINT " I"; 1040 NEXT I 1041 PRINT 1043 FOR I=1 TO H 1045 IF V(I,J)=0 GO TO 1060 1050 IF V(I,J)=2 GO TO 1060 1051 PRINT ": "; 1052 GO TO 1070 1060 PRINT ":--"; 1070 NEXT I 1071 PRINT ":" 1072 NEXT J 1073 END 10 E$=CHR$(27) 20 PRINT E$+'[2J' 32767 END 10 REM PROGRAM TO PRINT A RANDOM MAZE 15 RANDOMIZE 90 PRINT "PLEASE INPUT YOUR WIDTH AND LENGTH MAX 22 X 100" 100 INPUT H,V 101 IF H<=1 GO TO 104 \ IF H>22 GO TO 104 102 IF V<=1 GO TO 104 \ IF V<=100 GO TO 110 104 PRINT "MEANINGLESS DIMENSIONS. TRY AGAIN"; 105 GO TO 90 110 DIM W(22,100),V(22,100) 115 OPEN "LP:" FOR OUTPUT AS FILE #2 160 Q=0 \ Z=0 \ X=INT(RND(1)*H+1) 165 FOR I=1 TO H 170 IF I=X GO TO 173 171 PRINT #2,".--"; \ GO TO 180 173 PRINT #2,". "; 180 NEXT I 190 PRINT #2,"." 195 C=1 \ W(X,1)=C \ C=C+1 200 R=X \ S=1 \ GO TO 260 210 IF R<>H GO TO 240 215 IF S<>V GO TO 230 220 R=1 \ S=1 \ GO TO 250 230 R=1 \ S=S+1 \ GO TO 250 240 R=R+1 250 IF W(R,S)=0 GO TO 210 260 IF R-1=0 GO TO 530 265 IF W(R-1,S)<>0 GO TO 530 270 IF S-1=0 GO TO 390 280 IF W(R,S-1)<>0 GO TO 390 290 IF R=H GO TO 330 300 IF W(R+1,S)<>0 GO TO 330 310 X=INT(RND(1)*3+1) 320 IF X=1 GO TO 790 321 IF X=2 GO TO 820 322 IF X=3 GO TO 860 330 IF S<>V GO TO 340 334 IF Z=1 GO TO 370 338 Q=1 \ GO TO 350 340 IF W(R,S+1)<>0 GO TO 370 350 X=INT(RND(1)*3+1) 360 IF X=1 GO TO 790 361 IF X=2 GO TO 820 362 IF X=3 GO TO 910 370 X=INT(RND(1)*2+1) 380 IF X=1 GO TO 790 381 IF X=2 GO TO 820 390 IF R=H GO TO 470 400 IF W(R+1,S)<>0 GO TO 470 405 IF S<>V GO TO 420 410 IF Z=1 GO TO 450 415 Q=1 \ GO TO 430 420 IF W(R,S+1)<>0 GO TO 450 430 X=INT(RND(1)*3+1) 440 IF X=1 GO TO 790 441 IF X=2 GO TO 860 442 IF X=3 GO TO 910 450 X=INT(RND(1)*2+1) 460 IF X=1 GO TO 790 461 IF X=2 GO TO 860 470 IF S<>V GO TO 490 480 IF Z=1 GO TO 520 485 Q=1 \ GO TO 500 490 IF W(R,S+1)<>0 GO TO 520 500 X=INT(RND(1)*2+1) 510 IF X=1 GO TO 790 511 IF X=2 GO TO 910 520 GO TO 790 530 IF S-1=0 GO TO 670 540 IF W(R,S-1)<>0 GO TO 670 545 IF R=H GO TO 610 547 IF W(R+1,S)<>0 GO TO 610 550 IF S<>V GO TO 560 552 IF Z=1 GO TO 590 554 Q=1 \ GO TO 570 560 IF W(R,S+1)<>0 GO TO 590 570 X=INT(RND(1)*3+1) 580 IF X=1 GO TO 820 581 IF X=2 GO TO 860 582 IF X=3 GO TO 910 590 X=INT(RND(1)*2+1) 600 IF X=1 GO TO 820 601 IF X=2 GO TO 860 610 IF S<>V GO TO 630 620 IF Z=1 GO TO 660 625 Q=1 \ GO TO 640 630 IF W(R,S+1)<>0 GO TO 660 640 X=INT(RND(1)*2+1) 650 IF X=1 GO TO 820 651 IF X=2 GO TO 910 660 GO TO 820 670 IF R=H GO TO 740 680 IF W(R+1,S)<>0 GO TO 740 685 IF S<>V GO TO 700 690 IF Z=1 GO TO 730 695 Q=1 \ GO TO 830 700 IF W(R,S+1)<>0 GO TO 730 710 X=INT(RND(1)*2+1) 720 IF X=1 GO TO 860 721 IF X=2 GO TO 910 730 GO TO 860 740 IF S<>V GO TO 760 750 IF Z=1 GO TO 780 755 Q=1 \ GO TO 770 760 IF W(R,S+1)<>0 GO TO 780 770 GO TO 910 780 GO TO 1000 790 W(R-1,S)=C 800 C=C+1 \ V(R-1,S)=2 \ R=R-1 810 IF C=H*V+1 GO TO 1010 815 Q=0 \ GO TO 260 820 W(R,S-1)=C 830 C=C+1 840 V(R,S-1)=1 \ S=S-1 \ IF C=H*V+1 GO TO 1010 850 Q=0 \ GO TO 260 860 W(R+1,S)=C 870 C=C+1 \ IF V(R,S)=0 GO TO 880 875 V(R,S)=3 \ GO TO 890 880 V(R,S)=2 890 R=R+1 900 IF C=H*V+1 GO TO 1010 905 GO TO 530 910 IF Q=1 GO TO 960 920 W(R,S+1)=C \ C=C+1 \ IF V(R,S)=0 GO TO 940 930 V(R,S)=3 \ GO TO 950 940 V(R,S)=1 950 S=S+1 \ IF C=H*V+1 GO TO 1010 955 GO TO 260 960 Z=1 970 IF V(R,S)=0 GO TO 980 975 V(R,S)=3 \ Q=0 \ GO TO 1000 980 V(R,S)=1 \ Q=0 \ R=1 \ S=1 \ GO TO 250 1000 GO TO 210 1010 FOR J=1 TO V 1011 PRINT #2,"I"; 1012 FOR I=1 TO H 1013 IF V(I,J)<2 GO TO 1030 1020 PRINT #2," "; 1021 GO TO 1040 1030 PRINT #2," I"; 1040 NEXT I 1041 PRINT #2 1043 FOR I=1 TO H 1045 IF V(I,J)=0 GO TO 1060 1050 IF V(I,J)=2 GO TO 1060 1051 PRINT #2,": "; 1052 GO TO 1070 1060 PRINT #2,":--"; 1070 NEXT I 1071 PRINT #2,":" 1072 NEXT J 1073 CLOSE 1074 END 1 DIM Z(200) 2 DEF FNR(X)=INT(RND(0)*(X-1))+1 3 RANDOMIZE 4 I0$=CHR$(14)\I1$=CHR$(15)\B0$CHR$(21)\B1$=CHR$(23) 5 Y=2999\P)INT 'DO YOU WANT A DIFFICULT GAME (Y OR N)'\INPUT A$ 10 PRINT 'STARDATE 3200-YOUR MISSION IS ';\IF A$<>'Y' THEN 15 \Y=999 15 K=0\B=0\D=30\FOR I=0 TO 63\J1=FNR(99)\J=0\IF J1>4 THEN 20 \J=1 20 B=B+J\M1=FNR(Y)\M=0\IF M1>210 THEN 21 \M=1 21 IF M1>100 THEN 22 \M=M+1 22 IF M1>50 THEN 23 \M=M+1 23 IF M1>25 THEN 24 \M=M+1 24 IF M1>10 THEN 25 \M=M+1 2 IF M>3 THEN 26 \M=M+1 26 K=K+M\Z(I)=-100*M-10*J-FNR(8)\NEXT I\IF B<2 THEN 15 \IF K<4 THEN 15 30 PRINT ' TO DESTROY'K;' KLINGONS IN 30 STARDATES.' 35 PRINT 'THERE ARE'B;'STARBASES.'\GOSUB 160 \C=0\H=K 40 U=FNR(8)\V=FNR(8)\X=FNR(8\Y=FNR(8) 45 FOR I=71 TO 152\Z(I)=0\NE,T I\Z(8*X+Y+62)=4\M=ABS(Z(8*U+V-9))\N=M/100 46 N=INT(N) 50 I=1\IF INT(N)=0 THEN 55 \FOR J=1 TO N\GOSUB 165 \Z(J+134)=300 51 Z(J+140)=S\Z(J+146)=T\NEXT J 55 GOSUB 175 \M=M-100*N\$=2\IF M<10 THEN 60 \GOSUB 165 60 M=M-10*INT(M/10)\I=3\IF M=0 THEN 65 \FOR J=1 TO M\GOSUB 165 \NEXT J 65 GOSUB 145 \GOSUB 35 \IF K=0 THEN 70 \GO TO 95 70 PRINT \PRINT 'MISSION ACCOMPLISHED.' 71 IF D>2 THEN 75 \PRINT 'BOY, YOU BARELY MADE IT...' 75 IF D<6 THE' 80 \PRINT 'GOOD WORK..'\IF D<10 THEN 80 \PRINT 'FANTASTIC!!!' 76 IF D<14 THEN 80 \PRINT 'UNBELIEVABLE!!!!!!' 80 D=30-D\I=INT(H*100/D*10)\PRINT H;' KLINGONS IN';D;' STARDATES'; 81 J=-5*C\PRINT '(';I;')'\ 82 IF C>0 THEN 85 \J=100 85 PRINT C;'CASUALITIES INCURRED (';J;')' 90 PRINT 'YOUR SCORE';I+J\GO TO 110 9 IF D>=0 THEN 100 \PRINT 'ITS TOO LATE, THE FEDERATION HAS BEEN CONQUERED'\GO TO 110 100 IF E>=0 THEN 120 105 PRINT 'ENTERPRISE DESTROYED'\IF H-K<9 THEN 110 \PRINT ' BUT YOU WERE A GOOD MAN' 110 Y=987\PRINT \PRINT 'ANOTHER GAME (Y OR N)';\INPUT A$\IF A$='Y' TH"N5 115 PRINT 'GOODBYE'\STOP 120 PRINT '!APTAIN';\INPUT A$ 121 IF A$='S' THEN 220 \IF A$='G' THEN 180 \IF A$='L' THEN 200 122 IF A$='(' THEN 260 \IF A$='R' THEN 420 \IF A$='R' THEN 420 123 IF A$='W' THEN 465 \IF A$='T' THEN 555 \IF A$=C' THEN 650 124 IF A$<>'E' THEN 130 \STOP 130 PRINT 'R=REPORT S=SR.SENSOR L=LR.SENSOR' 135 PRINT 'G=GALAXY MAP P=PHASER T=TORPEDO' 140 PRINT 'W=WARP ENGINE C=COURSE E=EXIT TO BASIC' 141 PRINT '**PLEASE USE ONE OF THE ABOVE COMMANDS**'\GO TO 120 145 X1=X\X2=X\Y1=Y\Y2=Y 146 IF X<2 THEN 147 \X1=X-1 147 IF X>7 THEN 148 \X2=X+1 148 IF Y<2 THEN 149 \Y1=Y-1 149 IF Y>7 THEN 150 \Y2=Y+1 150 FOR I=X1 TO X2\FOR J=Y1 TO Y2\IF INT(Z(8*IJ+62))=2 THEN 155 151 NEXT J\NEXT I\O=0\RETURN 155 IF O<>0 THEN 160 \PRINT 'SULU:WE ARE DOCKED AT STARBASE.' 160 E=4000\F=10\O=1\FOR I=64 TO 70\Z(I)=0\NEXT I\RETURN 165 S=FNR(8)\T=FNR(8).A=8*S+T+62\IF Z(A)<>0 THEN 165 170 Z(A)=I\RETURN 175 PRINT 'ENTERPRISE IN QUADRANT-';10*U+V;' SECTOR-';10*X+Y\RETURN 180 GOSUB 175 \J=2\GOSUB 375 \IF INT(I)=0 THEN 185 \GO TO 120 185 PRINT ' OF GALAXY MAP'\FOR I=0 TO 7\PRINT \PRINT I+1;':';\FOR J=0 TO 7 186 IF I<>U-1 THEN 188 \IF J<>V-1 THEN 188 \PRINT !0$; 188 M=Z(8*I+J)\IF M>=0 THEN 190 \M=0 190 M$=STR$(M)\PRINT SEG$(' ',1,4-LEN(M$));M$; 191 IF I<>U-1 THEN 193 \IF J<>V-1 THEN 193 \PRINT B1$; 193 NEXT J\PRINT \NEXT I\PRINT ' '; 194 FOR I=0 TO 7\PRINT ' .';\NEXT I\PRINT 195 PRINT ' ';\FOR I=1 TO 8\PRINT ' ';I;\NEXT I\PRINT \GO TO 120 200 GOSUB 175 \J=3\GOSUB 375 \IF I=0 THEN 205 \GO TO 120 205 PRINT \FOR I=U-1 TO U+1\FOR J=V-1 TO V+1\M=8*I+J-9\A=0 210 IF I<1 THEN 215 \IF J<1 THEN 215 \IF I>8 THEN 215 \IF J>8 *HEN 215 211 A=ABS(Z(M))\Z(M)=A 215 M$=STR$(A)\PRINT SEG$(' ',1,4-LEN(M$));M$;\NEXT J\P)INT \NEXT I\GO TO 120 220 GOSUB 175 \J=1\GOSUB 375 \IF I=0 THEN 225 \GO TO 120 225 M=8*U+V-9\Z(M)=ABS(Z(M)) 230 PRINT \FOR I=1 TO 8\PRINT I;\FOR J=1 TO 8\M=Z(8*I+J+62) 231 IF M<>0 THEN 235 \PRINT ' .'; 235 IF M<>1 THEN 20 \PRINT ' ';I0$;'K';I1$; 240 IF M<>2 THEN 245 \PRINT ' B'; 245 IF M<>3 THEN 250 \PRINT ' *'; 250 IF M<>4 THEN 255 \PRINT ' ';B0$;'E';B1$; 255 NEXT J\PRINT\NEXT I\PRINT ' '; 256 FOR I=1 TO 8\M$=STR$(I)\PRINT ' ';M$;\NEXT I 257 PRINT \GO TO 120  60 J=4\#OSUB 375 \IF I<>0 THEN 120 265 PRINT ' ENERGISED. UNITS TO FIRE';\INPUT A\IF A<1 THEN 120 270 IF A<=E THEN 275 \PRINT 'SPOCK:WE HAVE ONLY';";' UNITS'\GO TO 120 275 E=E-A\IF N>0 THEN 280 \PRINT 'PHASER FI)ED AT EMPTY SPACE'\GO TO 65 280 A=A/N\FOR M=135 TO 140\IF Z(M)=0 THEN 290 285 GOSUB 295 \PRINT S;' UNITS HIT';\GOSUB 305 290 NEXT M\GO TO65 295 IF A<1090 THEN 300 \PRINT 'OVERLOADED...'\J=4\Z(67)=1\A=9\GOSUB 375 300 I=Z(M+6)-X\J=Z(M+12)-Y\SINT(A*30/(30+I*I+J*J))+1\)ETURN 305 PRINT ' KLINGON AT S-';10*Z(M+6)Z(M+12);\Z(M)=Z(M)-S 310 IF Z(M)<=0 THEN 315 \PRINT ' **DAMAGED**'\RETURN 315 Z(M)=0\I=8*U+V-9\J=Z(I)/ABS(Z(I))\Z(I)=Z(I)-100*J\K=K-1 320 I=8*Z(M+6)+Z(M+12)+62\Z(I)=0\N=N-1\PRINT ' ***DESTROYED***'\RETURN 325 IF INT(N)<>0 THEN 330 \RETURN 330 PRINT 'KLINGON ATTACK'\IF O=0 THEN 335 \PRINT 'STARBASE PROTECTS ENTERPRISE'\RETURN 335 T=0\FOR M=135 TO 140\IF Z(M)=0 THEN 350 340 A=(Z(M)+FNR(Z(M)))/2\GOSUB 295 \T=T+S\I=Z(M+6)\J=Z(M+12) 345 M$=STR$(S)\PRINT SEG$(' ',1,4-LEN(M$))M$;' UNITS HIT FROM KLINGON AT S-';10*I+J 350 NEXT M\E=E-T\IF E>0 THEN 355 \PRINT '*** BANG ***'\RETURN 355 PRINT E;' UNITS OF ENERGY LEFT.'\IF FNR(E/4)<=T THEN 360 \RETURN 360 IF Z(70)<>0 THEN 365 \Z(70)=FNRT/50+1)\J=7\GO TO 375 365 J=FNR(6)\Z(J+63)=FNR(T/99+1+Z(J+63)\I=FN)(8)1\C=C+I 370 PRINT 'MC COY: SICKBAY TO BRIDGE: WE SUFFERED'I;' !ASU LTIES.' 375 I=Z(J+63\IF J<>1 THEN 380 \PRINT 'SHORT RANGE SENSOR'; 380 IF J<>2 THEN 385 \PRINT 'COMPUTER DISPLAY'; 385 IFJ<>3 THEN 390 \PRINT 'LONG RANGE SENSOR'; 390 IF J<>4 THEN 395 \PRINT 'PHASER'; 395 IF J<>5 THEN 400 \PRINT 'WARP ENGINE'; 400 IF J<>6 THEN 405 \PRINT 'PHOTON TORPEDO TUBES'; 405 IF J<>7 THEN 410 \PRINT 'SHIELD'; 410 IF I<>0 THEN 415 \RETURN 415 PRINT ' 'I0$'DAMAGED'I1$;I;' STARDATES ESTIMATED FOR REPAIR'\RETURN 420 PRINT 'STATUS REPORT: STARDATE';3230-D;' TIME LEFT';D 425 PRINT 'CONDITION...';\IF O=0 THEN 430 \PRINT 'DOCKED'\GO TO 445 430 IF N=0 THEN 435 \PRINT 'RED'\GO TO 445 435 IF E>999 THEN 440 \PRINT 'YELLOW'\GO TO 445 44 PRINT 'GREEN' 445 PRINT 'POSITION Q-';10*U+V;' S-';10*X+Y\PRINT 'ENERGY';E;' TORPEDOES';F 450 PRINT 'KLINGONS LEFT';K;' STARBASES';B 455 FOR J=1 TO 7\IF Z(J+63)=0 THEN 460 \GOSUB 375 460 NE,TJ\GO TO120 465 J=5\GOS*B 375 \$F I<>0 THEN 470 \PRINT 470 PRINT 'SECTOR DISTANCE';\INPUT W\IF W<1 THEN 120 475 IF I=0 THEN 480 \IF W<3 THEN 480 476 PRINT 'CHEKOV:WECAN TRY 2 AT MOST,SIR.'\GO TO 420 480 IF W<92 THEN 485 \W=91\PRINT 'SPOCK:ARE YOU SURE,CAPTAIN'\GO TO 42 485 IF E>W*W/2-1 THEN 490 \PRINT 'SCOTTY:SIR,WE DO NOT HAVE THE ENERGY\GO TO 120 490 GOSU! 615 \IF R=0 THEN 120 495 D=D-1\E=E-INT(W*W/2)\Z(8*X+Y+62)=0 500 FOR M=64 TO 70\M1=1\IF Z(M)>0 THEN 501 \M1=0 501 Z(M)=(Z(M)-1)*M1\NEXT M 505 P=45*X+22\G=45*Y+22\+=45*W\FOR M=1 TO 8\W=W-R\$F W<=-22 *HEN 525 510 P=P+S\G=G+T\I=INT(P/45)\J=INT(G/45) 511 IF I<1 THEN 530 \IF J<1 THEN 530 \IF I>8 THEN 530 \IF J>8 THEN 530 515 IF INT(Z(8*I+J+62))<>0 THEN 520 \X=I\Y=J\NEXT M 520 PRINT '**EMERGENCY STOP**'\PRINT 'SPOCK:TO ERR IS HUMAN' 525 Z(8*X+Y+62)=\GOUB 175 \GO TO 65 530 P=INT(U*72+P/5+W/5*S/R-9)\U=INT(P/72) 531 G=INT(V*72+G/5+W/5*T/R-9)\V=INT(G/72) 535 IF FNR(9)>1 THEN 540 \PRINT $0$;'**SPACE STORM**';I1$\T=100\GOSUB 360 540 IF U1 T$EN 545 \IF V<1 THEN 545 \$F U>8 THEN 545 \IF V>8 THEN 545 541 X=INT((P+-72*U)/9)\Y=INT((G+9-72*V)/9)\GO TO 45 545 PRINT '**YOU HAVE WANDERED OUTSIDE THE GALAXY**' 550 PRINT ON-BOARD COMPUTER TOOK OVER,AND SAVED YOUR LIFE'\GO TO 40 555 J=6\GOSUB 375 \IF I<>0 THEN 120 560 IF INT(F)>0 THEN 565 \PRINT '"MPTY'\GO TO 120 565 PRINT ' LOADED'\GOSUB 615 \IF R=0 THEN 120 570 PRINT 'TORPEDO TRACK.';\F=F-1\P=45*X+22\G=45*Y+22\FOR M=1 TO 8 575 P=P+S\G=G+T\I=INT(P/45)\J=INT(G/45) 576 IF I<1 THEN 585 \IF J<1 THEN 585 \IF I>8 THEN 585 \IF J>8 THEN 585 580 L=8*I+J+62\W=8*U+V-9\R=SGN(Z(W))\PRINT 10*I+J;'-';\L1=Z(L) 581 IF L1=1 THEN 590 \IF L1=2 THEN 595 \IF L1=3 THEN 600 585 NEXT M\PRINT '...MISSED'\GO TO 65 590 S=FNR(99)+280\FOR M=135 TO 140\IF Z(M+6)<>I THEN 592 591 IF Z(M+12)<>J THEN 592 \PRINT \GOSUB 305 592 NEXT M\GO TO 65 595 B=B-1\Z(L)=0\Z(W)=Z(W)-10*R\PRINT 'STARBASE DESTROYED!!!!!' 596 PRINT 'SPOCK:I OFTEN FIND HUMAN BEHAVIOUR FASCINATING'\GO TO 65 600 PRINT 'HIT A STAR..';\IF FNR(9)>2 THEN 605 \PRINT 'TORPEDO ABSORBED'\GO TO 65 605 Z(L)=0\Z(W)=Z(W)-R\IF FNR(9)>5 THEN 610 \PRINT 'STAR DESTROYED'\GO TO 65 610 T=300\PRINT \PRINT 'IT NOVAS 'I0$'**RADIATION ALARM**'I1$ 611 GOSUB 360 \GO TO 65 615 PRINT 'COURSE (0-360)';\INPUT I\IF I<0 THEN 616 \IF I>360 THEN 616 \GO TO 620 616 R=0\RETURN 620 S=INT((I+45)/90)\I=I-S*90\R=INT((45+I*I)/110)+45 625 IF S=0 THEN 627 \IF S>=4 THEN 627 \GO TO 630 627 S=-45\T=I\RETURN 630 IF S<>1 THEN 635 \S=I\T=45\RETURN 635 IF S<>2 THEN 640 \S=45\T=-I\RETURN 640 S=-I\T=-45\RETURN 645 REM COURSE CALCULATIONS FOR TORPEDOES 650 PRINT 'ENTER KLINGON POSITION ';\INPUT I1 660 I2=INT(I1/10)\I3=INT(I1-I2*10)\REM SPLIT UP 670 IF I2>8 THEN 650 \IF I2<1 THEN 650 \IF I3>8 THEN 650 \IF I3<1 THEN 650 680 D1=I3-Y\D2=X-I2\D3=ABS(D1)\D4=ABS(D2) 690 IF D1<>0 THEN 700 \IF D2=0 THEN 650 \C1=0\IF D2>0 THEN 800 \C1=180\GO TO 800 700 IF D2<>0 THEN 710 \C1=90\IF D1>0 THEN 800 \C1=270\GO TO 800 710 D5=INT(45*D3/D4)\D6=INT(45*D4/D3) 720 IF D1<0 THEN 760 \IF D2<0 THEN 740 \IF D3>D4 THEN 730 \C1=D5\GO TO 800 730 C1=90-D6\GO TO 800 740 IF D30 THEN 780 \IF D3>D4 THEN 770 \C1=180+D5\GO TO 800 770 C1=270-D6\GO TO 800 780 IF D33 THEN 330 310 PRINT "YOU ARE ON THE OFFENSIVE" 320 GO TO 370 330 IF M<>1 THEN 360 340 PRINT "YOU ARE ON THE DEFENSIVE" 350 GO TO 370 360 PRINT "BOTH SIDES ARE ON THE OFFENSIVE" 370 PRINT 380 PRINT "YOUR STRATEGY"; 390 INPUT Y 391 IF Y=5 THEN 1487 392 IF ABS(Y-3)<3 THEN 395 393 PRINT "YOU %ERK! USE THE OTHER SET OF STRATEGIES!!" 394 GO TO 370 395 PRINT 400 PRINT " ","CONFEDERACY","UNION" 410 LET C5=(2*C1/5)*(1+1/(2*(ABS(INT(4*RND(1)+1)-Y)+1))) 412 LET C5=INT(C5*(1+1/O)*(1.28+F1/(B+1))+.5) 414 IF C5+100/O=0 THEN 439 435 PRINT "YOUR CASUALTIES WERE"INT(100*(C1-C5)/C1+.5);"% LESS THAN" 437 GO TO 441 439 PRINT "YOUR CASUALTIES WERE"INT(100*(C5-C1)/C1+.5);"% MORE THAN" 441 PRINT "THE ACTUAL CASUALITIES AT "; 443 LET A1=1 445 GOSUB 800 450 IF U=1 THEN 470 460 IF C5+E<17*C2*C1/(C5*20)+5*O THEN 490 470 PRINT "YOU LOSE "; 471 LET L=L+1 480 GO TO 555 490 PRINT "YOU WIN "; 491 LET W=W+1 555 GOSUB 800 556 IF W=8 THEN 1490 580 LET T1=T1+C5+E 590 LET T2=T2+17*C2*C1/(C5*20)+5*O 600 LET P1=P1+C1 610 LET P2=P2+C2 620 LET Q1=Q1+(F+S+B) 630 LET R1=R1+M1*(100-I1)/20 635 LET M3=M3+M1 637 LET M4=M4+M 650 IF A=14 THEN 1500 660 GO TO 100 670 DATA 18000,18500,1967,2708,1,1,0 672 DATA 40000,44894,10699,13047,3,2,0 674 DATA 95000,15000,20614,15849,3,3,0 676 DATA 54000,63000,10000,14000,2,4,0 678 DATA 40000,50000,10000,12000,3,5,0 680 DATA 75000,120000,5377,12653,1,6,0 682 DATA 38000,45000,11000,12000,1,7,0 684 DATA 32000,90000,13000,17197,2,8,0 686 DATA 50000,70000,12000,19000,1,9,0 688 DATA 72500,85000,20000,23000,3,10,0 690 DATA 66000,60000,18000,16000,2,11,0 692 DATA 37000,60000,6700,5800,2,12,0 694 DATA 62000,110000,17723,18000,2,13,0 696 DATA 65000,100000,8500,3700,1,14,0 750 PRINT "GO TO JAIL." 752 PRINT "GO DIRECTLY TO JAIL." 754 PRINT "DO NOT PASS GO." 756 PRINT "DO NOT COLLECT $200" 758 GO TO 107 800 IF A<>1 THEN 850 810 PRINT "BULL RUN" 820 IF A1=1 THEN 1480 830 PRINT "JULY 21,1861 GEN. BEAUREGARD COMMANDING THE SOUTH MET THE" 832 PRINT "UNION FORCES WITH GEN MCDOWELL IN A PREMATURE BATTLE AT BULL" 834 PRINT "RUN. GEN. JACKSON HELPED PUSH BACK THE UNION ATTACK." 840 GO TO 1480 850 IF A<>2 THEN 900 860 PRINT "SHILOH" 870 IF A1=1 THEN 1480 880 PRINT "APRIL 6-7,1862 THE CONFEDERATE SURPRISE ATTACK AT SHILOH" 882 PRINT "FAILED DUE TO POOR ORGANIZATION." 890 GO TO 1480 900 IF A<>3 THEN 950 910 PRINT "SEVEN DAYS" 920 IF A1=1 THEN 1480 930 PRINT "JUNE 25-JULY 1,1862 GENERAL LEE (CSA) UPHELD THE OFFENSIVE" 932 PRINT "THROUGHOUT THE BATTLE AND FORCED GEN. MCCLELLAN AND THE UNION" 934 PRINT "FORCES AWAY FROM RICHMOND." 940 GO TO 1480 950 IF A<>4 THEN 1000 960 PRINT "THE SECOND BULL RUN" 970 IF A1=1 THEN 1480 980 PRINT "AUG 29-30,1862 THE COMBINED CONFEDERATE FORCES UNDER LEE AND" 982 PRINT "JACKSON DROVE THE UNION FORCES BACK INTO WASHINGTON." 990 GO TO 1480 1000 IF A<>5 THEN 1050 1010 PRINT "ANTIETAM" 1020 IF A1=1 THEN 1480 1030 PRINT "SEPT 17,1862 THE SOUTH FAILED TO INCORPORATE MARYLAND INTO" 1032 PRINT "THE CONFEDERACY." 1040 GO TO 1480 1050 IF A<>6 THEN 1100 1060 PRINT "FREDERICKSBURG" 1070 IF A1=1 THEN 1480 1080 PRINT "AN ATTACK BY THE UNION UNDER GEN. BURNSIDE." 1090 GO TO 1480 1100 IF A<>7 THEN 1150 1110 PRINT "MURFREESBORO" 1120 IF A1=1 THEN 1480 1130 PRINT "DEC 31,1862 THE SOUTH UNDER GEN. BRAGG WON A CLOSE BATTLE" 1140 GO TO 1480 1150 IF A<>8 THEN 1200 1160 PRINT "CHANCELLORSVILLE" 1170 IF A1=1 THEN 1480 1180 PRINT "MAY 1-6,1863 THE SOUTH HAD A COSTLY VICTORY AND LOST ONE" 1182 PRINT "OF THEIR OUTSTANDING GENERALS, 'STONEWALL' JACKSON." 1190 GO TO 1480 1200 IF A<>9 THEN 1250 1210 PRINT "VICKSBURG" 1220 IF A1=1 THEN 1480 1230 PRINT "JULY 4,1863 VICKSBURG WAS A COSTLY DEFEAT FOR THE SOUTH" 1232 PRINT "BECAUSE IT GAVE THE UNION ACCESS TO THE MISSISSIPPI." 1240 GO TO 1480 1250 IF A<>10 THEN 1300 1260 PRINT "GETTYSBURG" 1270 IF A1=1 THEN 1480 1280 PRINT "JUNE 30,1863 A SOUTHERN MISTAKE BY GEN. LEE AT GETTYSBURG" 1282 PRINT "COST THEM ONE OF THE MOST CRUCIAL BATTLES OF THE WAR." 1290 GO TO 1480 1300 IF A<>11 THEN 1350 1310 PRINT "CHICKAMAUGA" 1320 IF A1=1 THEN 1480 1330 PRINT "NOV 15,1863 AFTER THE SOUTH HAD SIEGED GEN. ROSENCRANS'" 1332 PRINT "ARMY FOR THREE MONTHS, GEN. GRANT BROKE THE SIEGE." 1340 GO TO 1480 1350 IF A<>12 THEN 1400 1360 PRINT "CHATTANOOGA" 1370 IF A1=1 THEN 1480 1380 PRINT "SEPT 15,1863 CONFUSION IN A FOREST NEAR CHICKAMAUGA LED" 1382 PRINT "TO A COSTLY SOUTHERN VICTORY." 1390 GO TO 1480 1400 IF A<>13 THEN 1450 1410 PRINT "SPOTSYLVANIA" 1420 IF A1=1 THEN 1480 1430 PRINT "MAY 5,1864 GRANT'S PLAN TO KEEP LEE ISOLATED BEGAN TO FAIL" 1432 PRINT "HERE, AND CONTINUED AT COLD HARBOR AND PETERSBURG." 1440 GO TO 1480 1450 PRINT "ATLANTA" 1460 IF A1=1 THEN 1480 1470 PRINT "AUGUST, 1864 SHERMAN AND THREE VETERAN ARMIES CONVERGED ON" 1472 PRINT "ATLANTA AND DEALT THE DEATH BLOW TO THE CONFEDERACY." 1480 PRINT 1485 RETURN 1487 PRINT "THE CONFEDERACY HAS SURRENDERED" 1488 GO TO 1500 1490 PRINT "THE UNION HAS SURRENDERED" 1500 PRINT 1510 PRINT "YOU HAVE WON"W;"BATTLES AND LOST"L;"BATTLES." 1515 IF Y=5 THEN 1550 1520 IF W<=L THEN 1550 1530 PRINT "THE CONFEDERACY HAS WON THE WAR" 1540 STOP 1550 PRINT "THE UNION HAS WON THE WAR" 1560 END 100 REM *** STARS - PEOPLE'S COMPUTER CENTER, MENLO PARK, CA 105 REM *** CONVERTED TO RSTS/E BY DAVID AHL, DIGITAL 110 PRINT "NUMBER - A NUMBER GUESSING GAME" 120 PRINT 130 RANDOMIZE 140 REM *** A IS LIMIT ON NUMBER, M IS N*MBER OF GUESSES 150 LET A=100 160 LET M=7 170 PRINT "DO YOU WANT INSTRUCTIONS (1=YES 0=NO) "; 180 INPUT Z 190 IF Z=0 THEN 280 200 REM *** INSTRUCTIONSON HOW TO PLAY 210 PRINT "I AM THINKING OF A WHOLE NUMBER FROM 1 TO ";A 220 PRINT "TRY TO GUESS MY NUMBER. AFTER YOU GUESS, I" 230 PRINT "WILL TYPE ONE OR MORE STARS (*). THE MORE" 240 PRINT "STARS I TYPE, THE CLOSER YOU ARE TO MY NUMBER." 250 PRINT "ONE STAR (*) MEANS FAR AWAY. SEVEN STARS (*******)" 260 PRINT "MEANS REALLY CLOSE! YOU GET";M;"GUESSES." 270 REM *** COMPUTER 'THINKS' OF A NUMBER 280 PRINT 290 PRINT 300 LET X=INT(A*RND(0))+1 310 PRINT "OK, I AM THINKING OF A NUMBER. START GUESSING." 320 REM *** GUESSING BEGINS. HUMAN GETS M GUESSES 330 FOR K=1 TO M 340 PRINT 350 PRINT "YOUR GUESS "; 360 INPUT G 370 IF G=X THEN 600 380 LET D=ABS(X-G) 390 IF D >= 64 THEN 510 400 IF D >= 32 THEN 500 410 IF D >= 16 THEN 490 420 IF D >= 8 THEN 480 430 IF D >= 4 THEN 470 440 IF D >= 2 THEN 460 450 PRINT "*"; 460 PRINT "*"; 470 PRINT "*"; 480 PRINT "*"; 490 PRINT "*"; 500 PRINT "*"; 510 PRINT "*"; 520 PRINT 530 NEXT K 540 REM *** DID NOT GUESS NUMBER IN M GUESSES 550 PRINT 560 PRINT "SORRY, THAT'S ";M;" GUESSES. NUMBER WAS ";X 580 GOTO 280 590 REM *** WE HAVE A WINNER 600 FOR N=1 TO 50 610 PRINT "*"; 620 NEXT N 630 PRINT "!!!" 640 PRINT "YOU GOT IT IN ";K;" GUESSES!! LET'S PLAY AGAIN..." 650 GOTO 280 660 END 10 REM THIS PROG SETS UP FILES FOR HANGMN 20 REM FIRST OPEN THE FILES YOU NEED 30 REM A 2-RECORD FILE CAN HOLD ABOUT 80 10-LETTER WORDS. 40 REM OR 50 15-LETTER WORDS 100 G$=" " 1000 DIM A$(72),F$(26) 1100 PRINT "WHICH HANGMAN FILE ? "; 1110 INPUT F$ 1125 S$="SY1:"&F$ 1130 OPEN S$ FOR OUTPUT AS FILE #4 1200 PRINT \ PRINT "HOW MANY WORDS? "; 1220 INPUT W9 1224 PRINT #4:W9 1227 PRINT 1240 FOR W0=1 TO W9 1250 PRINT "WORD #";W0 1260 INPUT B$ 1270 PRINT #4:B$ 1280 NEXT W0 1300 PRINT 1310 PRINT "THATS IT FOR ";F$ 1320 PRINT "ANOTHER HANGMAN FILE? "; 1325 CLOSE 1330 INPUT A$ 1340 IF SEG$(A$,1,1)="Y" THEN 1100 9999 END 60 DIM M$(50),N(50) 90 DIM B$(27),W$(60),P$(60),U$(27),W(100),G$(5) 120 DIM Q$(8) 150 Z=0 \ D=0 180 P1=0 \ U1=1 210 Y=1 240 PRINT "DO YOU WANT INSTRUCTIONS? "; \ INPUT B$ 270 IF SEG$(B$,1,1)="N" THEN 540 300 IF SEG$(B$,1,1)<>"Y" THEN 240 330 PRINT "THIS IS THE GAME OF HANGMAN. YOU CHOOSE THE LANGUAGE YOU WANT" 360 PRINT "TO PLAY IN, & I THINK OF A WORD IN THAT LANGUAGE. YOU TRY TO" 390 PRINT "GUESS, LETTER BY LETTER, WHAT THE WORD IS, SIMPLE HUH?" 420 PRINT " WHEN I THINK OF A WORD, I WILL PRINT A LINE OF DASHES" 450 PRINT "WHICH CORRESPONDS TO THE NUMBER OF LETTERS IN THE WORD" 480 PRINT "IF YOU GIVE UP, TYPE 'GIVE'. IF YOU WANT TO QUIT, SIMPLY" 510 PRINT "TYPE 'QUIT'." 540 PRINT "IN WHAT LANGUAGE WOULD YOU LIKE TO PLAY?" 570 RANDOMIZE 600 PRINT "(ROBERT, KAREN OR MUMMY ? )" 630 INPUT B$ 660 RESTORE 690 FOR X=0 TO 2 720 READ Q$(X) 750 IF SEG$(B$,1,6)=Q$(X) THEN 870 780 NEXT X 810 PRINT "THE "B$" LANGUAGE IS NOT AVAILABLE, TRY AGAIN." 840 GO TO 600 870 PRINT "HAVE FUN!" 900 S$='SY0:'&Q$(X) 930 OPEN S$ FOR INPUT AS FILE #4 960 INPUT #4:Z$ 990 V=VAL(Z$) 1020 FOR X=1 TO V 1050 INPUT #4:M$(X) 1055 FOR Y=1 TO LEN(M$(X)) 1060 IF SEG$(M$(X),Y,Y)V THEN 4080 1320 P=0 \ M=0 1350 W$=C$ 1380 PRINT "THE WORD IS "; 1410 FOR A=1 TO P1 \ P$(A)="-" \ PRINT P$(A); \ NEXT A 1440 PRINT 1470 B$="ABCDEFGHIJKLMNOPQRSTUVWXYZ" 1500 FOR X=1 TO 27 \ U$(X)=" " \ NEXT X 1530 PRINT "YOUR GUESS? "; \ INPUT G$ 1560 R=0 1590 PRINT 1620 IF G$="GIVE" THEN 3270 1650 IF G$="QUIT" THEN 3990 1680 FOR A=1 TO 27 1710 IF G$=SEG$(B$,A,A) THEN 1830 1740 NEXT A 1770 PRINT "THAT IS NOT A VALID CHARACTER" 1800 GO TO 1530 1830 C=A 1860 FOR A=1 TO U1 1890 IF G$=U$(A) THEN 1980 1920 NEXT A 1950 GO TO 2040 1980 PRINT "YOU HAVE ALREADY USED THAT LETTER, GUESS AGAIN." 2010 GO TO 1530 2040 U$(U1)=G$ 2070 U1=U1+1 2100 FOR A=1 TO LEN(W$) 2130 IF G$=SEG$(W$,A,A) THEN 3330 2160 NEXT A 2190 IF R<>0 THEN 3480 2220 PRINT "WRONG" 2250 M=M+1 2280 PRINT "--------" 2310 PRINT "I I" 2340 PRINT "I O" 2370 ON M GO TO 3000,2430,2490,2550,2610 2400 GO TO 2670 2430 PRINT "I I" 2460 GO TO 2700 2490 PRINT "I /I" 2520 GO TO 2700 2550 PRINT "I /I\" 2580 GO TO 2700 2610 PRINT "I \/I\" 2640 GO TO 2700 2670 PRINT "I \/I\/" 2700 IF M<7 THEN 3000 2730 PRINT "I I" 2760 ON M-6 GO TO 3000,2790,2850,2910,2970 2790 PRINT "I /" 2820 GO TO 3000 2850 PRINT "I / \" 2880 GO TO 3000 2910 PRINT "I \/ \" 2940 GO TO 3000 2970 PRINT "I \/ \/" 3000 FOR A=1 TO 5-P 3030 PRINT "I" 3060 NEXT A 3090 PRINT "------------" 3120 PRINT "IIIIIIIIIIII" 3150 PRINT "------------" 3180 IF M<>1 THEN IF M<>6 THEN IF M<>7 THEN 3240 3210 P=P+1 3240 IF M<11 THEN 3720 3270 PRINT "YOU HAVE JUST BEEN HUNG!" 3300 GO TO 3630 3330 IF R=1 THEN 3390 3360 PRINT "RIGHT!" 3390 P$(A)=G$ 3420 R=1 3450 GO TO 2160 3480 FOR A=1 TO P1 3510 IF P$(A)="-" THEN 3720 3540 NEXT A 3570 PRINT "YOU GOT IT!!" 3600 D=D+1 3630 PRINT "THE WORD WAS ";W$ 3660 GO TO 3870 3690 PRINT 3720 PRINT "THE WORD IS "; \ FOR X=1 TO V \ PRINT P$(X); \ NEXT X 3750 PRINT 3780 PRINT "YOU HAVE USED "; \ FOR X=1 TO U1 \ PRINT U$(X); \ NEXT X 3810 PRINT 3840 GO TO 1530 3870 PRINT "WOULD YOU LIKE TO PLAY AGAIN? "; \ INPUT B$ 3900 U1=1 \ FOR A=0 TO 27 \ U$(A)=" " \ NEXT A 3930 IF SEG$(B$,1,1)="Y" THEN 1110 3960 IF SEG$(B$,1,1)="N" THEN 4200 3990 PRINT "YOU TOOK "U1" GUESSES" 4020 PRINT "YOU WERE HUNG "Z-D" TIME(S)." 4050 GO TO 4200 4080 PRINT "SORRY, BUT I'M OUT OF WORDS, IF YOU WANT TO START OVER," 4110 CLOSE 4140 PRINT "RERUN THE PROGRAM. THE WORDS WILL BE THE SAME, BUT THEY WILL" 4170 PRINT "BE IN A DIFFERENT ORDER." 4200 PRINT "COME AGAIN SOON... IT WAS FUN!" 4230 DATA "KAREN","MUMMY","ROBERT" 32767 END 170 PRINT TAB(15);'* * * STAR TREK * * *' 180 PRINT 240 REM PROGRAM BEGINS HERE 245 RANDOMIZE 270 FOR I=1 TO 72 280 Z$=Z$&' ' \ Q$=Q$&' ' \ R$=R$&' ' \ S$=S$&' ' 320 NEXT I 330 DIM G(8,8),C(9,2),K(3,3),N(3),Z(8,8) 370 T=INT(RND(1)*20+20)*100 380 T0=T \ T9=30 \ D0=0 \ E0=3000 \ E=E0 430 P=10 \ P0=P \ S9=200 \ S=0 470 DEF FND(D)=SQR((K(I,1)-S1)^2+(K(I,2)-S2)^2) 490 Q1=INT(RND(1)*8+1) \ Q2=INT(RND(1)*8+1) 510 S1=INT(RND(1)*8+1) \ S2=INT(RND(1)*8+1) 530 FOR I=1 TO 9 \ C(I,1)=0 \ C(I,2)=0 \ NEXT I 540 C(3,1)=-1 \ C(2,1)=-1 \ C(4,1)=-1 \ C(4,2)=-1 \ C(5,2)=-1 \ C(6,2)=-1 600 C(1,2)=1 \ C(2,2)=1 \ C(6,1)=1 \ C(7,1)=1 \ C(8,1)=1 \ C(8,2)=1 \ C(9,2)=1 670 DIM D(8) 680 FOR I=1 TO 8 \ D(I)=0 \ NEXT I 710 A1$='NSLPTSDCX' 720 D$='WARP ENGINESS.R. SENSORSLR. SENSORSPHASER CNTRL' 730 D$=D$&'PHOTON TUBESDAMAGE CNTRLSHIELD CNTRLCOMPUTER' 740 G4$='III' 750 LET G1$='ANTARES.SIRIUS.RIGEL.DENEB.PROCYON.CAPELLA.VEGA.' 760 G1$=G1$&'BETELGEUSE.CANOPUS.ALDEBARAN.ALTAIR.REGULUS.' 770 G1$=G1$&'SAGITTARIUS.ARCTURUS.POLLUX.SPICA.' 780 B9=0 \ K9=0 820 FOR I=1 TO 8 830 FOR J=1 TO 8 840 R1=RND(1) 850 IF R1>.98 THEN 900 860 IF R1>.95 THEN 930 870 IF R1>.8 THEN 960 880 K3=0 890 GO TO 980 900 K3=3 910 K9=K9+3 920 GO TO 980 930 K3=2 940 K9=K9+2 950 GO TO 980 960 K3=1 970 K9=K9+1 980 R1=RND(1) 990 IF R1>.96 THEN 1020 1000 B3=0 \ GO TO 1040 1020 B3=1 \ B9=B9+1 1040 S3=INT(RND(1)*8+1) 1050 G(I,J)=K3*10+B3*10+S3 1070 Z(I,J)=0 1080 NEXT J 1090 NEXT I 1100 K7=K9 1120 X$='' 1130 X0$=' IS ' 1140 IF B9<>0 THEN 1200 1150 B9=1 1160 IF G(6,3)>=200 THEN 1190 1170 G(6,3)=G(6,3)+100 1180 K9=K9+1 1190 G(6,3)=G(6,3)+10 1200 IF B9=1 THEN 1230 1210 X$='S' 1220 X0$=' ARE ' 1230 PRINT 'YOUR ORDERS ARE AS FOLLOWS:' 1240 PRINT ' DESTROY THE 'K9' KLINGON WARSHIPS WHICH HAVE INVADED' 1250 PRINT ' THE GALAXY BEFORE THEY CAN ATTACK FEDERATION HEADQUARTERS' 1260 PRINT ' ON STARDATE 'T0+T'; THIS GIVES YOU 'T9' DAYS. THERE ARE' 1270 PRINT ' 'B9' STARBASE/S';X$' IN THE GALAXY FOR RESUPPLYING YOUR SHIP' 1280 PRINT 1290 PRINT 'HIT "RETURN" WHEN READY TO ASSUME COMMAND' 1300 INPUT A$ 1310 REM HERE ANY TIME ENTER NEW QUADRANT 1320 Z4=Q1 \ Z5=Q2 \ K3=0 \ B3=0 \ S3=0 \ G5=0 1380 D4=.5*RND(1) 1390 IF Q1<1 THEN 1600 1400 IF Q1>8 THEN 1600 1410 IF Q2<1 THEN 1600 1420 IF Q2>8 THEN 1600 1430 GOSUB 9030 1440 PRINT 1450 IF T<>T0 THEN 1490 1460 PRINT ' YOUR MISSION BEGINS WITH YOUR STARSHIP LOCATED' 1470 PRINT ' IN THE GALACTIC QUADRANT, "'G2$'".' 1480 GO TO 1500 1490 PRINT 'NOW ENTERING 'G2$' QUADRANT' 1500 PRINT 1510 X=G(Q1,Q2)*.01 1520 K3=INT(X) 1530 B3=INT((X-K3)*10) 1540 S3=G(Q1,Q2)-INT(G(Q1,Q2)*.1)*10 1550 IF K3=0 THEN 1590 1560 PRINT 'COMBAT AREA CONDITION RED' 1570 IF S>200 THEN 1590 1580 PRINT 'SHIELDS DANGEROUSLY LOW' 1590 FOR I=1 TO 3 \ FOR %=1 TO 3 \ K(I,J)=0 \ NEXT J \ NEXT I 1600 FOR I=1 TO 3 \ K(I,3)=0 \ NEXT I 1630 Q$=Z$ \ R$=Z$ \ S$=SEG$(Z$,1,48 1660 REM POSITION ENTERPRISE IN QUADRANT, THEN PLACE K3 KLINGONS, 1670 REM B3 STARBASES AND S3 STARS ELSEWHERE 1680 A$='<*>' 1690 Z1=S1 1700 Z2=S2 1710 GOSUB 8670 1720 FOR I=1 TO K3 1730 GOSUB 8590 \ A$='+++' \ Z1=R1 \ Z2=R2 1770 GOSUB 8670 \ K(I,1)=R1 \ K(I,2)=R2 \ K(I,3)=S9 1810 NEXT I 1820 FOR I=1 TO B3 1830 GOSUB 8590 \ A$='!<' \ Z1=R1 \ Z2=R2 1870 GOSUB 8670 \ B4=Z1 \ B5=Z2 \ NEXT I 1910 FOR I=1 TO S3 1920 GOSUB 8590 \ A$=' * ' \ Z1=R1 \ Z2=R2 \ GOSUB 8670 \ NEXT I 1980 GOSUB 6430 1990 IF S+E<=10 THEN 2020 2000 IF E>10 THEN 2060 2010 IF "(7)>=0 THEN 2060 2020 PRINT '** FATAL ERROR ** YOU HAVE JUST STRANDED YOUR SHIP IN SPACE' 2030 PRINT 'YOU HAVE INSUFFICIENT MANEUVERING ENERGY' 2050 GO TO 6260 2060 PRINT 'COMMAND'; \ INPUT A$ 2080 FOR I=1 TO 9 2090 IF SEG$(A$,1,1)<>SEG$(A1$,I,I) THEN 2160 2100 IF I<>2 THEN 2140 2110 IF LEN(A$)<2 THEN 2140 2120 IF SEG$(A$,2,2)='R' THEN 2140 2130 I=6 2140 IF I=1 THEN 2300 \ IF I=2*HEN198 \ IF I=3 THEN 4000 \ IF I=4 THEN 4260 2142 IF I=5 THEN 4700 \ IF I=6 THEN 5530 \ IF I=7 THEN 5690 \ IF I=8 THEN 7290 2150 IF A$='XXX' THEN 6270 2160 NEXT I 2170 PRINT 'ENTER ONE OF THE FOLLOWING:' 2180 PRINT 'NAV -TO SET COURSE' 2190 PRINT 'SRS -SHORT RANGE SENSOR SCAN' 2200 PRINT 'LRS -LONG RANGE SENSOR SCAN' 2210 PRINT 'PHA -TO FIRE PHASERS' 2220 PRINT 'TOR -TO FIRE PHOTON TORPEDOES' 2230 PRINT 'SHE -TO RAISE OR LOWER SHIELDS' 2240 PRINT 'DAM -DAMAGE CONTROL REPORT' 2250 PRINT 'COM -ON BOARD COMPUTER' 2260 PRINT 'XXX -TO RESIGN YOUR COMMAND' 2270 PRINT 2280 GO TO 1990 2290 REM COURSE CONTROL BEGINS HERE 2300 PRINT 'COURSE (1-9)'; 2310 INPUT C1 2320 IF C1>=1 THEN 2350 2330 PRINT 'LT. SULU REPORTS: "INCORRECT COURSE DATA, SIR!"' 2340 GO TO 1990 2350 IF C1<9 THEN 2380 \ IF C1>9 THEN 2330 \ C1=1 2380 PRINT 'WARP FACTOR(0-8)' \ INPUT W1 2400 IF W1<=0 THEN 2420 \ IF W1>=8 THEN 2450 2420 PRINT 'CHIEF ENGINEER SCOTT REPORTS: "THE ENGINES WILL NOT' 2430 PRINT ' TAKE WARP 'W1' !"' 2440 GO TO 1990 2450 IF D(1)>=0 THEN 2490 \ IF W1<=.2 THEN 2490 2480 GO TO 2300 2490 N=INT(W1*8+.5) \ IF E-N>=0 THEN 2590 2530 IF S=0 THEN 2880 \ D(I)=D(I)+D6 2800 IF D(I)<0 THEN 2880 2810 IF D1=1 THEN 2840 \ D1=1 2830 PRINT 'DAMAGE CONTROL REPORT:' 2840 PRINT TAB(8); 2850 R1=I 2860 GOSUB 8790 2870 PRINT 'REPAIR COMPLETED' 2880 NEXT I 2890 REM DAMAGE/IMPROVEMENT DURING SOME VES 2900 IF RND(1)>.2 THEN 3070 \ R1=INT(RND(1)*8+1) 2915 IF K3=0 THEN 3000 2920 IF RND(1)>=.6 THEN 3000 \ D(R1)=D(R1)-(RND(1)*5+1) 2940 PRINT \ PRINT 'DAMAGE CONTROL REPORT:'; 2960 GOSUB 8790 2970 PRINT 'DAMAGED' \ PRINT 2990 GO TO 3070 3000 D(R1)=D(R1)+(RND(1)*3+1) 3010 PRINT \ PRINT 'DAMAGE CONTROL REPORT:'; 3030 GOSUB 8790 3040 PRINT 'STATE OF REPAIR IMPROVED' \ PRINT 3060 REM BEGIN MOVING STARSHIP 3070 A$=' ' \ Z1=INT(S1) \ Z2=INT(S2) 3100 GOSUB 8670 3110 X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)) \ X=S1 \ Y=S2 10 REM PROG TO READ I/P VOLTS 12 START_TIME('KHZ') 13 DIM A(100) 14 FOR I1=0 TO 100 15 E$=CHR$(27) \ C1$=E$+"[2J" \ Q0$=E$+"[0;0H" 20 DIM I(9) \ A$='##.##' 22 PRINT Y;C1$;Q0$; 23 PRINT 'AIR BR GRAD MASS BRAKE I-1 I-2 V-1 V-1 ADH-1 ADH-2' 30 AIN(,I(),10,,4,10) 40 FOR J=0 TO 9 50 PRINT USING '##.##',I(J); 55 PRINT ' '; 57 X=SYS(6) \ IF X=1 THEN GO TO 90 60 NEXT J 70 PRINT 72 GET_TIME(A(I1)) 80 REM ******** GO TO 30 82 NEXT I1 83 START_TIME('HALT') 98 FOR I3=100 TO 1 STEP -1 \ A(I3)=A(I3)-A(I3-1) \ NEXT I3 184 DIM #2,A1(100) 185 OPEN "DY1:BMARK1.DAT" FOR OUTPUT AS FILE #2 186 FOR I2=0 TO 100 \ A1(I2)=A(I2) \ NEXT I2 187 CLOSE #2 190 ROLL_AREA 199 CHAIN 'INCH2.BAS' 999 END 60 DISPLAY_CLEAR 70 E$=CHR$(27) 80 B$=E$+"[1m" 90 Z$=E$+"[2J" 100 R$=CHR$(13) 110 Y$=E$+"[0m" 120 H$=E$+"[1;1H" 130 V$=E$+"[7m" 140 M$=E$+"[13;30H" 160 L0=1 170 L9=12 180 M=7200 200 DIM #1,A$(7200)=40 210 DIM P$(12) 220 P$(1)='Company name ' 230 P$(2)='Number & street ' 240 P$(3)='Town ' 250 P$(4)='County & Post Code' 260 P$(5)='Contact ' 270 P$(6)='Phone No. ' 280 P$(7)='Serial No. ' 290 P$(8)='DEC Order No. ' 300 P$(9)='Warranty Exp. Date' 310 P$(10)='Status ' 320 P$(11)='Branch ' 330 P$(12)="Other Info. " 340 PRINT H$ 390 OPEN 'SY1:MNCDAT.DAT' AS FILE #1 410 PRINT Z$+H$; 420 FOR L=1 TO 12 430 PRINT B$;L;E$+"["+STR$(L)+";"+STR$(5)+"H";V$;P$(L);Y$ 440 NEXT L 500 PRINT E$+"[14;24r"; 510 PRINT Y$ 520 PRINT E$+"[13;1H";E$+"[J";E$+"[14;1H"; 530 PRINT Y$; 540 PRINT "Option"; \ LINPUT Q$ \ Q$=SEG$(Q$,1,1) 550 IF Q$="S" THEN 710 560 IF Q$="R" THEN 410 570 IF Q$="A" THEN 1260 580 IF Q$="C" THEN 1550 590 IF Q$="P" THEN 1860 600 IF Q$="D" THEN 2370 610 IF Q$="H" THEN 6030 620 IF Q$="B" THEN 4030 630 IF Q$="E" THEN 7000 635 IF Q$="T" THEN 5020 637 IF Q$="F" THEN 5510 640 PRINT E$+"[13;1H";E$+"[J"; 650 PRINT M$;V$;"Invalid option, H for help.";Y$; 660 PAUSE(2) 670 GO TO 500 710 PRINT E$+"[13;1H";E$+"[J"; 720 PRINT E$+"[15;1H"; 730 PRINT "Enter first line to search <";STR$(L0);"> "; \ LINPUT Q$ 740 GOSUB 2960 750 IF B5=1 THEN 500 760 X=VAL(Q$) 770 IF X=0 THEN X=L0 771 L0=X 780 PRINT "Enter last line to search <";STR$(L9);"> "; \ LINPUT Q$ 790 GOSUB 2960 800 IF B5=1 THEN 500 810 Y=VAL(Q$) 820 IF Y=0 THEN Y=L9 821 L9=Y 830 IF X<1 THEN 710 \ IF X>12 THEN 710 \ IF Y<1 THEN 710 \ IF Y>12 THEN 710 840 IF X>Y THEN 710 860 PRINT "Enter search string "; \ LINPUT Q$ 870 FOR R=1 TO M STEP 12 880 IF A$(R)="EOF" THEN 1140 890 FOR L=X TO Y 900 L$=A$(R+L-1) 910 IF L$="" THEN 1120 920 P=POS(L$,Q$,1) 930 IF P<1 THEN 1120 950 FOR T=1 TO 12 960 PRINT E$+"["+STR$(T)+";24H"; 970 PRINT E$+"[K"; 980 PRINT A$(R+T-1);R$; 990 NEXT T 1000 FOR T=1 TO 20 \ PRINT \ NEXT T 1005 PRINT CHR$(7) 1010 PRINT "Any changes to Record No.";((R-1)/12)+1;" (Y/N/A) "; \ LINPUT O$ 1020 IF O$="N" THEN 1130 1030 IF O$="A" THEN PRINT "ABORTING..." \ GO TO 500 1040 PRINT "Line to replace "; \ INPUT T 1050 IF T<1 THEN 1000 1060 IF T>12 THEN 1000 1070 PRINT "Enter new line "; \ PRINT E$+"["+STR$(T)+";24H"; 1080 PRINT E$+"[K"; 1090 LINPUT L$ 1100 A$(R+T-1)=L$ 1110 GO TO 950 1120 NEXT L 1130 NEXT R 1140 PRINT "END OF FILE" 1145 A$(0)=STR$(R) 1150 PAUSE(1) 1160 FOR X=1 TO 20 \ PRINT \ NEXT X 1170 GO TO 500 1210 PRINT E$+"[13;1H";E$+"[J"; 1220 GO TO 500 1260 PRINT E$+"[13;1H";E$+"[J"; 1265 R=VAL(A$(0)) 1280 S5=0 1290 IF A$(R)="EOF" THEN 1360 1300 IF A$(R)="XYZZY" THEN S5=1 \ GO TO 1360 1310 R=R+12 \ IF R"Y" THEN 1460 1500 GO TO 1310 1510 GO TO 500 1550 PRINT E$+"[13;1H";E$+"[J"; 1560 PRINT E$+"[15;1H"; 1570 PRINT "Enter Record No. To change "; \ INPUT Q 1580 IF Q>0 THEN IF Q<(M/12+1) THEN 1600 1593 PRINT "THIS EXCEEDS THE MAXIMUM NUMBER OF RECORDS" 1595 PRINT CHR$(7) \ PRINT CHR$(7) \ GO TO 1570 1600 R=((Q-1)*12)+1 1610 GOSUB 1640 1620 FOR T=1 TO 20 \ PRINT \ NEXT T 1630 GO TO 500 1640 FOR T=1 TO 12 1650 PRINT E$+"["+STR$(T)+";24H"; 1660 PRINT E$"[K"; 1670 PRINT A$(R+T-1);R$; 1680 NEXT T 1690 FOR T=1 TO 20 1700 PRINT 1710 NEXT T 1720 PRINT "Any Changes To Record No. ";((R-1)/12)+1;" (Y/N) "; \ LINPUT O$ 1730 IF O$<>"Y" THEN RETURN 1740 PRINT "Line No. To Change "; \ INPUT T 1750 IF T<1 THEN 1690 1760 IF T>12 THEN 1690 1770 PRINT "Enter New Line "; \ PRINT E$+"["+STR$(T)+";24H"; 1780 PRINT E$+"[K"; 1790 LINPUT L$ 1800 A$(R+T-1)=L$ 1810 GO TO 1640 1820 GO TO 500 1860 GO TO 1880 1880 PRINT E$+"[13;1H";E$+"[J"; 1890 PRINT E$+"[15;1H";R$; 1900 PRINT "Enter first line to search <";STR$(L0);"> "; \ LINPUT Q$ 1910 GOSUB 2960 1920 IF B5=1 THEN 500 1930 X=VAL(Q$) \ IF X=0 THEN X=L0 1940 PRINT "Enter last line to search <";STR$(L9);"> "; \ LINPUT Q$ 1950 GOSUB 2960 1960 IF B5=1 THEN 500 1970 Y=VAL(Q$) \ IF Y=0 THEN Y=L9 1980 IF X<1 THEN 1830 \ IF X>12 THEN 1830 \ IF Y<1 THEN 1830 \ IF Y>12 THEN 1830 1990 IF X>Y THEN 1830 2000 PRINT "Enter string to search for (=all) "; \ LINPUT Q$ 2020 O=0 2030 D5=0 2060 FOR R=1 TO M STEP 12 2070 IF A$(R)="EOF" THEN 2320 2080 FOR L=X TO Y 2090 L$=A$(R+L-1) 2100 IF L$="" THEN 2300 2110 P=POS(A$(R+L-1),Q$,1) 2120 IF P<1 THEN 2300 2130 IF O<>0 THEN 2160 2140 OPEN "LP:" FOR OUTPUT AS FILE #6 2150 O=1 2160 PRINT #6,"--------------------------------------" 2170 PRINT #6," RECORD NO. ";((R-1)/12)+1 2180 PRINT #6," ---------------" 2190 FOR T=1 TO 12 2200 PRINT #6,P$(T),A$(R+T-1) 2210 NEXT T 2220 PRINT #6, 2230 D5=D5+16 2240 IF D5<49 THEN 2310 2250 FOR D6=D5 TO 65 2260 PRINT #6 2270 NEXT D6 2280 D5=0 2290 GO TO 2310 2300 NEXT L 2310 NEXT R 2320 IF O=1 THEN CLOSE #6 2330 GO TO 500 2370 PRINT E$+"[13;1H";E$+"[J"; 2380 PRINT E$+"[15;1H"; 2390 PRINT "Enter first line to search <";STR$(L0);"> "; 2400 LINPUT Q$ 2410 GOSUB 2960 2420 IF B5=1 THEN 500 2430 X=VAL(Q$) \ IF X=0 THEN X=L0 2440 PRINT "Enter last line to search <";STR$(L9);"> "; 2450 LINPUT Q$ 2460 GOSUB 2960 2470 IF B5=1 THEN 500 2480 Y=VAL(Q$) \ IF Y=0 THEN Y=L9 2490 IF X>Y THEN 2370 2500 IF X<1 THEN 2370 \ IF X>12 THEN 2370 \ IF Y<0 THEN 2370 \ IF Y>12 THEN 2370 2510 PRINT "Enter search string "; \ LINPUT Q$ 2530 FOR L=1 TO 12 2540 PRINT E$+"["+STR$(L)+";24H";E$+"[K"; 2550 PRINT R$; 2560 NEXT L 2580 FOR R=1 TO M STEP 12 2590 IF A$(R)="EOF" THEN 2680 2600 FOR L=X TO Y 2610 L$=A$(R+L-1) 2620 IF L$="" THEN 2650 2630 P=POS(L$,Q$,1) 2640 IF P>0 THEN 2710 2650 NEXT L 2660 NEXT R 2680 PRINT "I`VE RUN OUT OF RECORDS, BYE" \ PAUSE(2) 2690 GO TO 500 2710 FOR T=1 TO 12 2720 PRINT E$+"["+STR$(T)+";24H";E$+"[K";A$(R+T-1);R$ 2730 NEXT T 2740 FOR T=1 TO 20 \ PRINT \ NEXT T 2750 PRINT "Record No.";((R-1)/12)+1;"- Delete it(Y/N/A)"; \ LINPUT O$ 2760 O$=SEG$(O$,1,1) 2770 IF O$="Y" THEN 2820 2780 IF O$="A" THEN 500 2790 PRINT "Not deleted" 2800 GO TO 2660 2820 FOR T=1 TO 12 2830 A$(R+T-1)="" 2840 PRINT E$+"["+STR$(T)+";24H";E$+"[K";R$ 2850 NEXT T 2860 A$(R)="XYZZY" 2865 A$(0)=STR$(R) 2880 FOR T=1 TO 22 \ PRINT \ NEXT T 2890 PRINT "Delete Another(Y/N) "; \ INPUT D9$ 2900 D9$=SEG$(D9$,1,1) 2910 IF D9$="Y" THEN 2370 2920 GO TO 500 2960 IF LEN(Q$)<0 THEN 3000 2970 IF LEN(Q$)>2 THEN 3000 2980 B5=0 2990 RETURN 3000 FOR T=1 TO 22 \ PRINT \ NEXT T 3010 PRINT "BOO-BOO SO BACK TO OPTION WE GO" 3020 PAUSE(2) 3030 B5=1 3040 RETURN 3060 GO TO 500 4030 PRINT ,"RUNNING BACKUP AT THE MOMENT!" 4050 DIM #2,B$(7200)=40 4070 OPEN "BAKKUP.DAT" AS FILE #2 4080 B$(X)=A$(X) 4090 IF X=4000 THEN 4130 4100 IF B$(X)="EOF" THEN 4130 4110 X=X+1 4120 GO TO 4080 4130 CLOSE #2 4140 PRINT "THAT'S ALL FOLKS!" 4145 GO TO 500 5020 DIM #3,T$(20)=80 5021 DIM #4,S$(20)=10 5025 DISPLAY_CLEAR 5030 OPEN "SY1:DIARYT.DAT" AS FILE #3 5031 OPEN "SY1:DIARYD.DAT" AS FILE #4 5035 GO TO 5360 5040 PRINT \ PRINT \ PRINT 5045 PRINT "ERASE OR ADD?. WHEN FINISHED. "; 5050 INPUT Q$ 5060 IF Q$="E" THEN 5140 5070 IF Q$="A" THEN 5230 5080 IF Q$="D" THEN 5360 5090 IF LEN(Q$)=0 THEN 5450 5100 GO TO 5040 5140 PRINT "ITEM NUMBER TO ERASE"; 5150 INPUT Q 5160 IF Q<21 THEN IF Q>0 THEN 5180 5170 GO TO 5140 5180 T$(Q)="" 5190 PRINT "ENTRY ERASED" \ GO TO 5360 5230 Q=1 5240 IF Q<21 THEN 5270 5250 PRINT "DIARY FULL",CHR$(7) 5260 GO TO 5040 5270 IF LEN(T$(Q))>0 THEN Q=Q+1 \ GO TO 5240 5280 PRINT "ITEM #";;"TEXT TO BE ENTERED" 5290 PRINT Q; 5300 INPUT I$ 5310 T$(Q)=I$ \ S$(Q)=DAT$ 5320 GO TO 5035 5360 Q=0 5365 PRINT Z$+H$ 5370 PRINT "DATE LAST ACCESSED" 5380 PRINT T$(0) 5390 PRINT \ PRINT \ PRINT 5395 PRINT "ITEM #", \ PRINT "DATE", \ PRINT "ENTRY" 5397 Q=Q+1 \ IF Q>20 THEN 5435 5400 IF LEN(T$(Q))=0 THEN GO TO 5397 5420 PRINT \ PRINT Q, \ PRINT S$(Q), \ PRINT T$(Q) 5430 Q=Q+1 \ IF Q<21 THEN 5400 5435 PRINT \ PRINT \ PRINT \ PRINT CHR$(7) 5440 PRINT "DON'T JUST LOOK AT IT. DO IT!" \ GO TO 5040 5450 T$(0)=DAT$ 5460 CLOSE #3 \ CLOSE #4 \ GO TO 410 5510 R=1 5515 IF X>8 THEN X=1 5516 IF X<1 THEN X=1 5520 PRINT "LINE TO FIND<";STR$(X);">"; \ INPUT X$ 5525 IF X$<>"" THEN X=VAL(X$) 5530 DIM #5,C$(600) 5540 OPEN 'SY1:INDX'+STR$(X)+'.DAT' FOR INPUT AS FILE #5 5550 PRINT "ENTER SEARCH STRING"; \ LINPUT Q$ 5560 IF R>M/12 THEN 5750 5570 L$=C$(R) 5580 IF L$="" THEN R=R+1 \ GO TO 5560 5590 P=POS(L$,Q$,1) 5600 IF P<1 THEN R=R+1 \ GO TO 5560 5620 FOR T=1 TO 12 5630 PRINT E$+"["+STR$(T)+";24H"; 5640 PRINT E$+"[K"; 5650 PRINT A$((((R-1)*12)+1)+T-1);R$; 5660 NEXT T 5680 FOR T=1 TO 20 \ PRINT \ NEXT T 5690 PRINT CHR$(7) 5700 PRINT "THIS IS RECORD NO.";R \ PRINT 5710 PRINT "LOOK AGAIN? "; \ LINPUT O$ 5720 IF O$="N" THEN PRINT "ABORTING........." \ PAUSE(1) \ GO TO 5760 5730 IF O$="Y" THEN R=R+1 \ GO TO 5560 5740 GO TO 5710 5750 PRINT "END OF FILE" \ PRINT CHR$(7) \ PAUSE(1) 5760 CLOSE #5 \ GO TO 500 6030 FOR T=1 TO 11 6040 READ M7$ 6050 PRINT E$+"["+STR$(T)+";55H";E$+"[K";M7$;R$; 6060 NEXT T 6070 RESET 6080 DATA S - SEARCH,H - HELP,R - REFRESH,P - PRINT,E - EXIT,A - ADD, 6085 DATA D - DELETE,C - CHANGE RECORD,B - PHONE NUMBERS,T - THINGS TO DO, 6086 DATA F - FIND (QUICK SEARCH), 6090 GO TO 500 7000 PRINT E$+"[2J"; 7010 DISPLAY_CLEAR 7020 PRINT E$+"[1m"; 7030 PRINT E$+"[12;32r"; 7040 PRINT E$+"#6";+E$+"#3"; 7050 PRINT " THAT'S ALL FOLKS !!!" 7060 PRINT E$+"#4"; 7070 PRINT " THAT'S ALL FOLKS !!!"+CHR$(7)+CHR$(7) 7080 CLOSE #1 32767 END 10 REM PROG TO READ I/P VOLTS 12 START_TIME('KHZ') 13 DIM A(100) 17 FOR I1=0 TO 100 15 E$=CHR$(27) \ C1$=E$+"[2J" \ Q0$=E$+"[0;0H" 20 DIM I(9) 22 PRINT Y;C1$;Q0$; 23 PRINT 'AIR BR GRAD MASS BRAKE I-1 I-2 V-1 V-1 ADH-1 ADH-2' 30 AIN(,I(),10,,4,10) 40 FOR J=0 TO 9 50 PRINT I(J); 55 PRINT ' '; 57 X=SYS(6) \ IF X=1 THEN GO TO 90 60 NEXT J 70 PRINT 72 GET_TIME(A(I1)) 80 REM ******** GO TO 30 82 NEXT I1 83 START_TIME('HALT') 98 FOR I3=100 TO 1 STEP -1 \ A(I3)=A(I3)-A(I3-1) \ NEXT I3 184 DIM #1,A1(100) 185 OPEN "DY1:BMARK2.DAT" FOR OUTPUT AS FILE #1 186 FOR I2=0 TO 100 \ A1(I2)=A(I2) \ NEXT I2 187 CLOSE #1 190 ROLL_AREA 200 CHAIN 'RESULT.BAS' 999 END 10 DISPLAY_CLEAR 20 F$="'LLLLLLLLLLLLLLL 'LLLLLLLLLLLLLLL 'LLLLLLLLLLLLLLLLL" 30 F1$=F$+" 'LLLLLLLLLLLLLLLLLLLLLLLLLLL" 40 DIM #1,A$(3,100)=40 50 OPEN 'HANDLE.DAT' AS FILE #1 60 ROLL_AREA(10,23) 65 GO TO 80 70 HTEXT('B,R',1,33,' C.B. Handle file ') 80 HTEXT('B',3,1,' DO YOU WISH TO :- a) insert data ') 90 HTEXT('B',4,1,' b) examine data ') 100 HTEXT('B',5,1,' c) delete the data ') 110 HTEXT('B',6,1,' d) print the data ') 120 HTEXT('B',7,1,' e) sort the data ') 130 HTEXT('B',8,1,' f) finished ') 140 HTEXT('B,R',10,1,' ') 150 MOVE_CURSOR(10,1) 160 LINPUT Q$ \ REM GET ANSWER 170 IF Q$='A' GO TO 1000 \ REM INSERT DATA 180 IF Q$='B' GO TO 2000 \ REM EXAMINE SOME DATA 190 IF Q$='C' GO TO 3000 \ REM DELETE SOME DATA 200 IF Q$='D' GO TO 4000 \ REM PRINT THE FILE 210 IF Q$='E' GO TO 5000 \ REM SORT THE DATABASE 220 IF Q$='F' GO TO 10000 \ REM FINISHED FOR NOW 230 PRINT 'TRY AGAIN SUNSHINE !!!!'+CHR$(7) 240 GO TO 80 1000 DISPLAY_CLEAR 1010 FOR I1=0 TO 100 1020 IF A$(0,I1)='XYZZY' THEN GO TO 1070 1030 NEXT I1 1040 PRINT 'DATA BASE FULL'+CHR$(7)+CHR$(7); 1050 LINPUT Q$ 1060 GO TO 60 1070 MOVE_CURSOR(15,1) 1080 PRINT ' INPUT NAME '; \ LINPUT N$ 1090 PRINT 1100 PRINT ' INPUT LOCATION'; \ LINPUT L$ 1110 PRINT 1120 PRINT ' INPUT HANDLE'; \ LINPUT H$ 1130 PRINT 1140 PRINT ' INPUT ANY COMMENTS'; \ LINPUT C$ 1150 PRINT 1160 A$(0,I1)=C$ 1170 A$(1,I1)=N$ 1180 A$(2,I1)=L$ 1190 A$(3,I1)=H$ 1200 DISPLAY_CLEAR 1999 GO TO 60 2000 PRINT 'EXAMINE ROUTINE' 2010 DISPLAY_CLEAR 2020 DISPLAY_MODE('LONG') 2030 ROLL_AREA(3,24) 2060 MOVE_CURSOR(2,1) 2070 PRINT USING F1$,'NAME','HANDLE','LOCATION','COMMENTS' 2080 MOVE_CURSOR(4,1) 2090 FOR I2=0 TO 100 2100 IF A$(0,I2)='XYZZY' THEN GO TO 2120 2110 PRINT USING F1$,A$(1,I2),A$(3,I2),A$(2,I2),A$(0,I2) 2120 NEXT I2 2130 PAUSE(5) 2140 DISPLAY_MODE('-LONG') 2150 DISPLAY_CLEAR 2999 GO TO 60 3000 DISPLAY_CLEAR 3010 ROLL_AREA(3,12) 3020 HTEXT('B,R',2,25,'DELETE ROUTINE') 3030 MOVE_CURSOR(6,1) 3040 PRINT 'WHICH PARAMETER DO YOU WISH TO SEARCH ON ? :- ' 3050 PRINT \ PRINT '1) NAME' \ PRINT '2) HANDLE' 3060 PRINT '3) LOCATION' \ PRINT '4) COMMENTS' 3070 INPUT X \ IF X>4 THEN PRINT 'DUMMY'+CHR$(7) \ GO TO 3030 3080 PRINT 'SEARCH STRING '; \ LINPUT Q$ 3090 FOR I4=0 TO 100 3100 IF A$(0,I4)='XYZZY' GO TO 3160 3110 Z=POS(A$(X,I4),Q$,1) 3115 IF Z=0 THEN GO TO 3160 3120 PRINT USING F1$,'NAME','HANDLE','LOCATION','COMMENTS' 3130 PRINT USING F1$,A$(1,I4),A$(3,I4),A$(2,I4),A$(0,I4) 3140 PRINT \ PRINT \ PRINT 'CONFIRM DELETION ?'; 3150 LINPUT A1$ \ IF A1$='Y' THEN 3190 3160 NEXT I4 3170 PRINT 'ENTRY NOT FOUND'+CHR$(7) 3180 GO TO 60 3190 A$(0,I4)='XYZZY' 3999 GO TO 60 4000 PRINT 'PRINT ROUTINE' 4010 OPEN 'LP:' FOR OUTPUT AS FILE #2 4020 PRINT #2,USING F1$,'NAME','HANDLE','LOCATION','COMMENTS' 4030 FOR I3=0 TO 100 4040 IF A$(0,I3)='XYZZY' THEN GO TO 4060 4050 PRINT #2,USING F1$,A$(1,I3),A$(3,I3),A$(2,I3),A$(0,I3) 4060 NEXT I3 4070 CLOSE #2 4999 GO TO 60 5000 PRINT 'SORT ROUTINE' 5999 GO TO 60 10000 DISPLAY_CLEAR 10010 CLOSE #1 10 DISPLAY_CLEAR 20 F$="'LLLLLLLLLLLLLLL 'LLLLLLLLLLLLLLL 'LLLLLLLLLLLLLLLLL" 30 F1$=F$+" 'LLLLLLLLLLLLLLLLLLLLLLLLLLL" 40 DIM #1,A$(3,100)=40 50 OPEN 'HANDLE.DAT' AS FILE #1 60 ROLL_AREA(10,23) 65 GO TO 80 70 HTEXT('B,R',1,33,' C.B. Handle file ') 80 HTEXT('B',3,1,' DO YOU WISH TO :- a) insert data ') 90 HTEXT('B',4,1,' b) examine data ') 100 HTEXT('B',5,1,' c) delete the data ') 110 HTEXT('B',6,1,' d) print the data ') 120 HTEXT('B',7,1,' e) sort the data ') 130 HTEXT('B',8,1,' f) finished ') 140 HTEXT('B,R',10,1,' ') 150 MOVE_CURSOR(10,1) 160 LINPUT Q$ \ REM GET ANSWER 170 IF Q$='A' GO TO 1000 \ REM INSERT DATA 180 IF Q$='B' GO TO 2000 \ REM EXAMINE SOME DATA 190 IF Q$='C' GO TO 3000 \ REM DELETE SOME DATA 200 IF Q$='D' GO TO 4000 \ REM PRINT THE FILE 210 IF Q$='E' GO TO 5000 \ REM SORT THE DATABASE 220 IF Q$='F' GO TO 10000 \ REM FINISHED FOR NOW 230 PRINT 'TRY AGAIN SUNSHINE !!!!'+CHR$(7) 240 GO TO 80 1000 DISPLAY_CLEAR 1010 FOR I1=0 TO 100 1020 IF A$(0,I1)='XYZZY' THEN GO TO 1070 1030 NEXT I1 1040 PRINT 'DATA BASE FULL'+CHR$(7)+CHR$(7); 1050 LINPUT Q$ 1060 GO TO 60 1070 MOVE_CURSOR(15,1) 1080 PRINT ' INPUT NAME '; \ LINPUT N$ 1090 PRINT 1100 PRINT ' INPUT LOCATION'; \ LINPUT L$ 1110 PRINT 1120 PRINT ' INPUT HANDLE'; \ LINPUT H$ 1130 PRINT 1140 PRINT ' INPUT ANY COMMENTS'; \ LINPUT C$ 1150 PRINT 1160 A$(0,I1)=C$ 1170 A$(1,I1)=N$ 1180 A$(2,I1)=L$ 1190 A$(3,I1)=H$ 1200 DISPLAY_CLEAR 1999 GO TO 60 2000 PRINT 'EXAMINE ROUTINE' 2010 DISPLAY_CLEAR 2020 DISPLAY_MODE('LONG') 2030 ROLL_AREA(3,24) 2060 MOVE_CURSOR(2,1) 2070 PRINT USING F1$,'NAME','HANDLE','LOCATION','COMMENTS' 2080 MOVE_CURSOR(4,1) 2090 FOR I2=0 TO 100 2100 IF A$(0,I2)='XYZZY' THEN GO TO 2120 2110 PRINT USING F1$,A$(1,I2),A$(3,I2),A$(2,I2),A$(0,I2) 2120 NEXT I2 2130 PAUSE(5) 2140 DISPLAY_MODE('-LONG') 2150 DISPLAY_CLEAR 2999 GO TO 60 3000 DISPLAY_CLEAR 3010 ROLL_AREA(3,12) 3020 HTEXT('B,R',2,25,'DELETE ROUTINE') 3030 MOVE_CURSOR(6,1) 3040 PRINT 'WHICH PARAMETER DO YOU WISH TO SEARCH ON ? :- ' 3050 PRINT \ PRINT '1) NAME' \ PRINT '2) HANDLE' 3060 PRINT '3) LOCATION' \ PRINT '4) COMMENTS' 3070 INPUT X \ IF X>4 THEN PRINT 'DUMMY'+CHR$(7) \ GO TO 3030 3080 PRINT 'SEARCH STRING '; \ LINPUT Q$ 3090 FOR I4=0 TO 100 3100 IF A$(0,I4)='XYZZY' GO TO 3160 3110 Z=POS(A$(X,I4),Q$,1) 3115 IF Z=0 THEN GO TO 3160 3120 PRINT USING F1$,'NAME','HANDLE','LOCATION','COMMENTS' 3130 PRINT USING F1$,A$(1,I4),A$(3,I4),A$(2,I4),A$(0,I4) 3140 PRINT \ PRINT \ PRINT 'CONFIRM DELETION ?'; 3150 LINPUT A1$ \ IF A1$='Y' THEN 3190 3160 NEXT I4 3170 PRINT 'ENTRY NOT FOUND'+CHR$(7) 3180 GO TO 60 3190 A$(0,I4)='XYZZY' 3999 GO TO 60 4000 PRINT 'PRINT ROUTINE' 4010 OPEN 'LP:' FOR OUTPUT AS FILE #2 4020 PRINT #2,USING F1$,'NAME','HANDLE','LOCATION','COMMENTS' 4030 FOR I3=0 TO 100 4040 IF A$(0,I3)='XYZZY' THEN GO TO 4060 4050 PRINT #2,USING F1$,A$(1,I3),A$(3,I3),A$(2,I3),A$(0,I3) 4060 NEXT I3 4070 CLOSE #2 4999 GO TO 60 5000 PRINT 'SORT ROUTINE' 5999 GO TO 60 10000 DISPLAY_CLEAR 10010 CLOSE #1 5 REM *** WRITTEN BY TOM KARZES, CURTIS JR HS, SUDBURY, MA 6 REM *** MODI#IED BY DAVE AHL, DIGITAL 10 PRINT "YOU ARE IN A LARGE, NEW GOVERNMENT BUILDING WITH 1,000,000" 20 PRINT "ROOMS IN IT. THE BUILDING IS 100 ROOMS LONG (0-99), 100" 30 PRINT "ROOMS WIDE (0-99), AND 100 FLOORS HIGH (0-99)."\PRINT 40 PRINT "A MAD BOMBER HAS HIDDEN A BOMB IN ONE OF THE ROOMS AND" 50 PRINT "HAS JUST PHONED A THREAT THAT THE BOMB IS SET TO GO" 60 PRINT "OFF IN 200 SECONDS. FORTUNATELY, YOU HAPPEN TO HAVE A BOMB-" 70 PRINT "TRACKER THAT SENDS OUT SIGNALS THAT GET STRONGER AS YOU" 80 PRINT GET CLOSER TO THE BOMB. YOU ARE STARTING IN ROOM 0,0,0" 90 PRINT "AND IT TAKES 10 SECONDS TO MOVE TO ANY OT$ER ROOM."\PRINT 100 RANDOMIZE\A=INT(100*RND)\B=INT(100*RND)\C=INT(100*RND) 110 IF A<>0 THEN 120 \IF B<>0 THEN 120 \IF C<>0 THEN 120 \GO TO 100 120 P1=A/100+B+C*100 121 D=0\E=0\F=0\G=0\P=0 125 PRINT "SIGNAL","CURRENT ROOM","S"C. INTO","COORDINATES FOR" 0 SECONDS. FORTUNATELY, YOU HAPPEN TO HAVE A BO>0 GO TO 370 350 X=INT(RND(1)*3+1) 360 IF X=1 GO TO 790 361 IF X=2 GO TO 820 362 IF X=3 GO TO 910 370 X=INT(RND(1)*2+1) 380 IF X=1 GO TO 790 381 IF X=2 GO TO 820 390 IF R=H GO TO 470 400 IF W(R+1,S)<>0 GO TO 470 405 IF S<>V GO TO 420 410 IF Z=1 GO TO 450 415 Q=1 \ GO TO 430 420 IF W(R,S+1)<>0 GO TO 450 430 X=INT(RND(1)*3+1) 440 IF X=1 GO TO 790 441 IF X=2 GO TO 860 442 IF X=3 GO TO 910 450 X=INT(RND(1)*2+1) 460 IF X=1 GO TO 790 461 IF X=2 GO TO 860 470 IF S<>V GO TO 490 480 IF Z=1 GO TO 520 485 Q=1 \ GO TO 500 490 IF W(R,S+1)<>0 GO TO 520 500 X=INT(RND(1)*2+1) 510 IF X=1 GO TO 790 511 IF X=2 GO TO 910 520 GO TO 790 530 IF S-1=0 GO TO 670 540 IF W(R,S-1)<>0 GO TO 670 545 IF R=H GO TO 610 547 IF W(R+1,S)<>0 GO TO 610 550 IF S<>V GO TO 560 552 IF Z=1 GO TO 590 554 Q=1 \ GO TO 570 560 IF W(R,S+1)<>0 GO TO 590 570 X=INT(RND(1)*3+1) 580 IF X=1 GO TO 820 581 IF X=2 GO TO 860 582 IF X=3 GO TO 910 590 X=INT(RND(1)*2+1) 600 IF X=1 GO TO 820 601 IF X=2 GO TO 860 610 IF S<>V GO TO 630 620 IF Z=1 GO TO 660 625 Q=1 \ GO TO 640 630 IF W(R,S+1)<>0 GO TO 660 640 X=INT(RND(1)*2+1) 650 IF X=1 GO TO 820 651 IF X=2 GO TO 910 660 GO TO 820 670 IF R=H GO TO 740 680 IF W(R+1,S)<>0 GO TO 740 685 IF S<>V GO TO 700 690 IF Z=1 GO TO 730 695 Q=1 \ GO TO 830 700 IF W(R,S+1)<>0 GO TO 730 710 X=INT(RND(1)*2+1) 720 IF X=1 GO TO 860 721 IF X=2 GO TO 910 730 GO TO 860 740 IF S<>V GO TO 760 750 IF Z=1 GO TO 780 755 Q=1 \ GO TO 770 760 IF W(R,S+1)<>0 GO TO 780 770 GO TO 910 780 GO TO 1000 790 W(R-1,S)=C 800 C=C+1 \ V(R-1,S)=2 \ R=R-1 810 IF C=H*V+1 GO TO 1010 815 Q=0 \ GO TO 260 820 W(R,S-1)=C 830 C=C+1 840 V(R,S-1)=1 \ S=S-1 \ IF C=H*V+1 GO TO 1010 850 Q=0 \ GO TO 260 860 W(R+1,S)=C 870 C=C+1 \ IF V(R,S)=0 GO TO 880 875 V(R,S)=3 \ GO TO 890 880 V(R,S)=2 890 R=R+1 900 IF C=H*V+1 GO TO 1010 905 GO TO 530 910 IF Q=1 GO TO 960 920 W(R,S+1)=C \ C=C+1 \ IF V(R,S)=0 GO TO 940 930 V(R,S)=3 \ GO TO 950 940 V(R,S)=1 950 S=S+1 \ IF C=H*V+1 GO TO 1010 955 GO TO 260 960 Z=1 970 IF V(R,S)=0 GO TO 980 975 V(R,S)=3 \ Q=0 \ GO TO 1000 980 V(R,S)=1 \ Q=0 \ R=1 \ S=1 \ GO TO 250 1000 GO TO 210 1010 FOR J=1 TO V 1011 PRINT "I"; 1012 FOR I=1 TO H 1013 IF V(I,J)<2 GO TO 1030 1020 PRINT " "; 1021 GO TO 1040 1030 PRINT " I"; 1040 NEXT I 1041 PRINT 1043 FOR I=1 TO H 1045 IF V(I,J)=0 GO TO 1060 1050 IF V(I,J)=2 GO TO 1060 1051 PRINT ": "; 1052 GO TO 1070 1060 PRINT ":--"; 1070 NEXT I 1071 PRINT ":" 1072 NEXT J 1073 END 260 960 Z=1 970 IF V(R,S)=0 GO TO 980 975 V(R,S)=3 \ Q=0 \ GO TO 1000 980 V(R,S)=1 \ Q=0 \ R=1 \ S=1 \ GO TO 250 1000 GO TO 210 1010 FOR J=1 TO V 1011 PRINT "I"; 1012 FOR I=1 TO H 1013 IF V(I,J)<2 GO TO 1030 1020 PRINT " "; 1021 GO TO 1040 1030 PRINT " I"; 1040 NEXT I 1041 PRINT 1043 FOR I=1 TO H 1045 IF V(I,J)=0 GO TO 1060 1050 IF V(I,J)=2 GO TO 1060 1051 PRINT ": "; 1052 GO TO 1070 1 GO TO 3700,1820,2820,4640,5440,3400,6040 2780 GOSUB 9000 2800 GO TO 2720 2820 REM: COMMAND 2 2840 IF F1=0 THEN 3020 2860 PRINT 2880 PRINT H$(2) 2900 PRINT " SHOWS CONDITIONS IN SPACE FOR ONE QUADRANT ON EACH SIDE" 2920 PRINT " OF THE ENTERPRISE IN MIDDLE OF THE SCAN" 2940 PRINT " IS CODED IN THE FORM XXX, WHERE THE UNITS DIGIT IS THE" 2960 PRINT " NUMBER OF STARS, THE TENS DIGIT IS THE NUMBER OF STAR-" 2980 PRINT " BASES, THE HUNDREDS DIGIT IS THE NUMBER OF KLINGONS." 3000 PRINT 3020 REM: QUADRANT PRINT-OUT 3040 PRINT "LONG RANGE SENSOR SCAN FOR QUADRANT "; 3060 F2=0 \ IF X2>0 THEN IF X2<9 THEN IF Y2>0 THEN IF Y2<9 THEN F2=1 3080 IF F2=1 THEN PRINT STR$(X2)&","&STR$(Y2) \ GO TO 3120 3100 IF F2=0 THEN PRINT "?,?" \ GO TO 3340 3120 PRINT RPT(17,45) 3140 FOR I=1 TO -1 STEP -1 3160 PRINT ": "; 3180 FOR J=-1 TO 1 3200 PRINT FMT("*I",4)B(X2+J,Y2+I);":"; 3220 IF X2+J>0 THEN IF X2+J<9 THEN IF Y2+I>0 THEN IF Y2+I<9 THEN E(8*(Y2+I)+X2+J-9)=1 3240 NEXT J 3260 PRINT 3280 NEXT I 3300 PRINT RPT(17,45) 3320 GO TO 2720 3340 PRINT "NO USE LOOKING, YOU'VE LEFT THE KNOWN GALAXY - HAPPY HUNTING !" 3360 PRINT 3380 GO TO 2720 3400 REM: COMMAND 5 3420 IF F1=0 THEN 3540 3440 PRINT 3460 PRINT H$(5) 3480 PRINT " DEFINES NUMBER OF ENERGY UNITS TO BE ASSIGNED TO SHIELDS" 3500 PRINT " ENERGY IS TAKEN FROM TOTAL SHIPS ENERGY." 3520 PRINT 3540 PRINT "ENERGY AVAILABLE =";E1; 3560 PRINT TAB(30)"NUMBER OF UNITS TO SHIELDS ?:"; 3580 INPUT U 3600 IF U<0 THEN GOSUB 9000 \ GO TO 3560 3620 IF U>E1 THEN GOSUB 9000 \ GO TO 3540 3640 IF U=E1 THEN PRINT "YOU ARE NOW STRANDED IN SPACE, SHALL WE TRY AGAIN ?" \ GO TO 2720 3660 S4=S4+INT(U) \ E1=E1-INT(U) 3680 GO TO 2720 3700 REM: COMMAND 0 3720 IF F1=0 THEN 4040 3740 PRINT H$(0) 3760 PRINT " 'COURSE' IS IN A CIRCULAR NUMERICAL 3 2 1" 3780 PRINT " VECTOR ARRANGEMENT AS SHOWN. \ 1 /" 3800 PRINT " INTEGER AND REAL VALUES MAY BE \1/" 3820 PRINT " USED. THEREFORE COURSE 1.5 IS 4 ------- 0" 3840 PRINT " HALFWAY BETWEEN 1 AND 2."; 3860 PRINT TAB(49)"/1\" 3880 PRINT TAB(48)"/ 1 \" 3900 PRINT " A VECTOR OF 8 IS UNDEFINED, BUT 5 6 7" 3920 PRINT " VALUES MAY APPROACH 8." 3940 PRINT 3960 PRINT " ONE 'WARP FACTOR' IS THE SIZE OF" 3980 PRINT " ONE QUADRANT. THEREFORE TO GET" 4000 PRINT " FROM QUADRANT 6,5 TO 5,5 YOU WOULD" 4020 PRINT " USE COURSE 4, WARP FACTOR 1." 4040 PRINT 4060 PRINT " COURSE (0-8) ?:"; 4080 INPUT U 4100 IF U<0 THEN GOSUB 9000 \ GO TO 4060 4120 IF U>8 THEN GOSUB 9000 \ GO TO 4060 4140 B=U 4160 PRINT " WARP FACTOR (0-8) ?:"; 4180 INPUT U 4200 IF U<0 THEN GOSUB 9000 \ GO TO 4160 4220 IF U>8 THEN GOSUB 9000 \ GO TO 4160 4240 IF U<1 THEN W=8*U \ GO TO 4280 4260 W=U 4280 P1=INT(.5+(W*COS(B*PI/4))) 4300 Q1=INT(.5+(W*SIN(B*PI/4))) 4320 IF U<1 THEN P1=P1+X1 \ Q1=Q1+Y1 4340 IF U<1 THEN IF P1>0 THEN IF P1<9 THEN IF Q1>0 THEN IF Q1<9 THEN X1=P1 \ Y1=Q1 \ GO TO 4380 4360 IF U<1 THEN PRINT "YOU CANNOT LEAVE THE SECTOR WITH WARP LESS THAN 1" \ GO TO 2720 4380 IF U>=1 THEN X2=X2+P1 \ Y2=Y2+Q1 4400 F2=0 \ IF X2>0 THEN IF X2<9 THEN IF Y2>0 THEN IF Y2<9 THEN F2=1 4420 IF F2=0 THEN 4560 4440 P=8*(Y2-1)+X2-1 \ E(P)=1 4460 IF C(P)=8*Y1+X1 THEN S2=2 \ C(P)=0 4480 IF S2=2 THEN B(X2,Y2)=B(X2,Y2)-10 \ K3=K3-1 4500 IF S2=2 THEN E1=3000 \ S3=10 \ S4=0 4520 IF S2=2 THEN PRINT "SHIELDS DROPPED FOR DOCKING PURPOSES" 4540 S2=0 \ IF B(X2,Y2)>=100 THEN S2=1 \ S5=200 4560 IF F2=0 THEN S2=0 4580 S1=S1+INT(U) \ IF S1>3030 THEN 6460 4600 E1=E1-3*INT(U) \ IF E1<0 THEN E1=0 \ GO TO 6460 4620 GO TO 2000 4640 REM: COMMAND 3 4660 IF F1=0 THEN 4800 4680 PRINT \ PRINT H$(3) 4700 PRINT " ALLOWS YOU TO DESTROY THE KLINGONS BY HITTING HIM WITH" 4720 PRINT " SUITABLY LARGE NUMBERS OF ENERGY UNITS TO DEPLETE HIS" 4740 PRINT " SHIELD POWER. KEEP IN MIND THAT WHEN YOU SHOOT AT" 4760 PRINT " HIM, HE GONNA DO IT TO YOU TOO." 4780 PRINT 4800 IF F2=0 PV:gVPV 19ݧVPV ($gɖP^ZV<UnYWVπTAXެSTNP3TUZzUP{PQPPzUP{dPQPPzUP{PQPP QTWTѼ3ռUZzUP{PQPPzUP{dPQPPzUP{PQPPWNUSď3SŏQWRRSSTfUZzUP{PQPPzUP{dPQPPzUP{PQPPWNUSď3SŏQWRRSSTWZ[zUP{PQPPzUP{dPQPPzUP{PQPP[[SxVRCRŏQbRYRRTACWЧPxVRPRbnVRVxRRPRŏQbRRYxVRPRŏQbRYRRTUVYTǏQTRR nRRZRRzRP{PQPPzTP{QPQPPTǏTzTP{PQPPTЬQA`P)m~P\mP\ЬPԀ}R}T}V}X}Z}РQЬЭ`|PЬPЬ`~QRRݠ0aЭPР4^ݠ8Р,\}$Z}X}V} T}RQ`P ^PRլvѬpQXQQQݢ|~QAP`SЬ`AP`AP`AP`QXQQQ ݢSPݏ5 P^ݬݬSPPQQQP^PR߭ѽSPЬSSVެWggݏ5PT TP@P`1P TQAP`g1AP`V VwAPx`UQXQQQݢ|~P@P`SQXQQQ ݢSЬPVU8PT TP@.P`1E^PS߭нTլѬݏ5kPRXRRRݣ|~T(Ь R"QAP`bAP`AP`T(ЬR"P@Qba@QТa@PТ`RXRRR ݣP ^PRQXQQQݢ|~SȬQXQQQ ݢSP^PPR߭ЭPˏWWլ!SXSSSݢ|~XҬPPPPVЬWլ!SXSSS ݢUV1PVWլ!QXQQQݢ|~UP@QaSa@P`TWլ!QXQQQ ݢS TS8UxVPPV1oXP^P\ݬ @ݬ |~^ݬݏ$5P ^PR߭нSQXQQQݢ|~SЬP`SмQXQQQ ݢPzig~|~^RߢbbЬP%P<^RЬ ST ЬUU^X c~Ь URTeUݬݬPRX c|~~TRPЬ PPPPPPнPl լP ((((( DDDDDDDDDDAAAAAABBBBBB @@dpHPh`px$ @ PASCALMSC;CMSCVAXELN V2.4-00 4-MAR-1987 17:36 4-MAR-1987 17:36VAX-11 Linker V04-00 .$$ABS$$. VAXC$VA_COUNTVAXC$VA_START_1 VAXC$VA_STARTVAXC$ESTABLISH<ELN$SWITCH_STACKSLEEPSIGVECx SIGBLOCK SIGSETMASKpPAUSESIGPAUSE SIGSTACK` SIGNALhSSIGNALXGSIGNALPLONGJMPHSETJMPC$MAIN C$MAIN_ARGS@ELN$READ_ERRNO8ELN$LOCATE_CRTL_CTX0 ELN$SUB_LARGE_INTEGERS(ELN$ADD_LARGE_INTEGERS <GETENV_EXITEXIT CC$_GFLOATC$$MAIN C$$COND_HAND 000000.DIR BACKUP.SYS BADBLK.SYS BADLOG.SYS  BITMAP.SYS CONTIN.SYS CORIMG.SYS>ELN024.A  INDEXF.SYS VOLSET.SYS  P~ (dINDEXF.SYS;1 ϣ-ϣ- @@ @@(dBITMAP.SYS;1 ϣ-ϣ- @*k(dBADBLK.SYS;1 ϣ-ϣ- (d 000000.DIR;1 ϣ-ϣ- @,(dCORIMG.SYS;1 ϣ-ϣ- "(d@@VOLSET.SYS;1 ϣ-ϣ- 5(dCONTIN.SYS;1 ϣ-ϣ- 4(dBACKUP.SYS;1 ϣ-ϣ- (d BADLOG.SYS;1 ϣ-ϣ- :(d $$ELN024.A;1 ϣ-ϣ- x@1(dINDEXF.SYS;1 ϣ-ϣ- @@ @@ C$$TRANSLATETOUPPERTOLOWERCTIME LOCALTIMETIMEFTIME<STRSPN STRRCHR<STRPBRKSTRNCPY STRNCMPSTRNCATSTRLEN<STRCSPNxSTRCPYpSTRCMPhSTRCHR`STRCATXSRANDPRANDHELN$REMOVE_ENTRY@ELN$INSERT_ENTRY C$V_CTYPEDEFS8 ATOL0ATOI(ABSMALLOCCALLOCFREECFREE REALLOC  _CTYPE_ "ENVIRON*[KITBUILD.INSTALL]CMSG.MSG;1+,. / 4o -0123KPO5,6m7 -89GGHJ- .TITLE C$MSGDEF - VAXELN message definitions .IDENT 'V2.0-00'!M!****************************************************************************!* *)!* Copyright (c) 1981, 1987 *<!* by DIGITAL Equipment Corporation, Maynard, Mass. *!* *M!* This software is furnished under a license and may be used and copied *M!* only in accordance with the terms of such license and with the *M!* inclusion of the above copyright notice. This software or any other *M!* copies thereof may not be provided or otherwise made available to any *M!* other person. No title to and ownership of the software is hereby *!* transferred. *!* *M!* The information in this software is subject to change without notice *M!* and should not be construed as a commitment by DIGITAL Equipment *!* Corporation. *!* *M!* DIGITAL assumes no responsibility for the use or reliability of its *B!* software on equipment which is not supplied by DIGITAL. *!* *M!****************************************************************************!!++!! from errno.msg! ! facility:!! c run-time library! ! abstract:!I! these messages correspond to the c language errno values. the valueM! is placed into a global location called: "errno" when an error is detected.K! the value placed there must correspond directly with those values definedK! in "errno.h". note that only the stripped down code (portion of status asH! defined by the STS$M_CODE mask) is stored. this means that neither theH! facility or severity is important except in determining that the valueJ! is a c language code to separate it from those VMS codes which translate! to signaled values!! environment:!*! user/native mode, VAXELN, non-privileged! ! author:!! darryl havens 9-april-1981!! modified by:!! 001 Chris Nolan 22 June 1984#! added L $ELN024.A[KITBUILD.INSTALL]CMSG.MSG;1;11S;1S;1o ONGJMP and LONGJMP_FAILED!! 002 Kim Peterson 27 June 1984! added title for VAXELN usage!--!+! **** warning ****!H! make sure that all UNIX error codes are placed in order after the lastI! currently defined UNIX error code, and all VMS specific error codes areH! placed at the end of this module. DO NOT CLOSE THE GAP BETWEEN THE TWO! NUMERICALLY!!!!! **** end of warning ****!-!+!)! facility code = 53 (c run-time library)! error number = 1! severity = 4 (fatal)!!-9 .facility c, 53 /system /prefix = c$_ /macro = errnodef  .severity fatal .base 1 4 EPERM ! file access ownership errorsL ENOENT ! file not found or directory not foundY ESRCH ! process which was to recieve signal or ptrace does not exist` EINTR ! ast (sigint or sigquit) during system service or RMS serviceD EIO ! physical device error during read() or write()P ENXIO ! no such device or device not mounted, etc.T E2BIG ! argument list longer than 5120 bytes passed to exec()V ENOEXEC ! bad image header (or other image activation problems)b EBADF ! file descriptor number of file not open - or read/write vs write/readg ECHILD ! wait() requested for child which does not exist or no un-waited for children_ EAGAIN ! vfork() cannot create another process (pid table too full, etc)M ENOMEM ! exec() or break() virtual address space is fullF EACCES ! file access is not allowed (see EPERM)Z EFAULT ! system incurred an accvio attempting to access user's argumentsm ENOTBLK ! plain file was mentioned where block device was required - e.g.; mount()W EBUSY ! device marked for delete or mount device already mountedZ EEXIST ! existing file mentioned in inappropriate context - e.g.; link()M EXDEV ! link to a file on another device was attempted_ ENODEV ! inappropriate system call to device - e.g.; write read-only device_ ENOTDIR ! non-directory specified where directory required - e.g.; chdir()< EISDIR ! attempt to write to a directoryk EINVAL ! invalid argument - (the world) - unknown signal, negative seek pointer, etc.^ ENFILE ! maximum number of files open - no more opens can be acceptedN EMFILE ! customary limit is 20 open files per process_ ENOTTY ! file mentioned in stty() or gtty() not a terminal, printer, etc.! ETXTBSY ! ???I EFBIG ! size of a file exceeded maximum (10**9 bytes)j ENOSPC ! write() determined no more space - (device full or exceed disk quota)P ESPIPE ! attempt lseek() on pipe or other non-seekable deviceb EROFS ! attempt to modify file or directory on device mounted read-onlyL EMLINK ! attempt to make more than 32767 links to a file_ EPIPE ! write for pipe for which there is no process to read data. normally a7 ! signal, error is returned if signal is ignored!! math error codes!` EDOM ! argument of function in math package is out of domain of the functiond� ERANGE ! value of a function in math package is unrepresentable within machine� ! precision���!�9�! VMS specific error code definitions for support of UNIX��! emulation routines�!�=� .base 2056 ! leave room for UNIX error message expansion�6� ERROR ! error condition from Cl� INV_FRAME ! incorrect nested frame depth to perform vfork/exec functiono� KILL ! process killed with unimplemented signal value�G� LONGJMP ! used to signal longjmp as an exception�^� LONGJMP_FAILED ! indicate attempted longjmp was unsuccessful��� .end������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*�[KITBUILD.INSTALL]CONSOLE.EXE;1�+��,����.�����/��� �4�������� ���������������������-������0���1����2���3� ����K��P����O� ����5�,��6��Sӏ��7�G -��8����������9����������G�G���H��J�����������������������0�D�X�����0205������(��ES�����������(����������������������������������CONSOLE��������������������������������VAXELN V2.4-00�`Eӏ�04-00������������������������������������� ����� ��?���!������!��������� TERMINAL_001������!��������DAP_001"������!�������� PASCALMSC_001�� ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Console driver exception 0 0:0:20CONSOLE�{ Added code to delete the console device should an exception;�{ occur. Modified the exception handler output routine to�2�{ output by polling rather than interrupt driven.�{�9�{ V2.1-01 Kris Barker/Eric R Schott 3-July-1985 (ers006)�#�{ Fixed software xon/xoff handling��{�0�{ V2.1-02 Eric R Schott 15-August-1985 (ers009)/�{ Added handling of VFC record format on input��{�0�{ V2.1-03 Eric R Schott 15-August-1985 (ers010)3�{ Fixed open_routine to set maximum_record_size to�1�{ max_read_buffer_size if maximum_record_size is�%�{ greater than max_read_buffer_size.��{�1�{ V2.1-04 Eric R Schott 6-September-1985 (ers029)�4�{ Removed rewind_routine and added truncate_routine2�{ (to be compatible with other terminal drivers).�{�6�{ V2.2-00 - November 18, 1985 - Eric R Schott (ers060)3�{ Added checks for dead await_control_key circuits��{�6�{ V2.2-01 - November 21, 1985 - Eric R Schott (ers065)5�{ Modified transmit interrupt control to work across��{ most processors.��{�@�{ V2.3-00 - June 3, 1986 - Eric R Schott, Scott H Davis (ers097)�{ Updated to support ACP.�{--}� ���(�include $dap, $terminal, $stack_utility;��)�%include 'sea$:[kernel.src]kerneldef.pas'����const���/�{ Console terminal processor register numbers }���3� rxcs_number = 32; { Receive control and status }�,� rxdb_number = 33; { Receive data buffer }4� txcs_number = 34; { Transmit control and status }-� txdb_number = 35; { Transmit data buffer }���:� max_read_buffer_size = 512; { Maximum read buffer size }9� input_buffer_size = 32; { Input interrupt buffer size }�6� xmt_buffer_length = 32; { Size of xmt buffer }�� � oddp = 0; � even = 1;��%� ipl$_power = 31; { Powerfail IPL }���� carriage_return = 13;� line_feed = 10;� control_s = 19;� control_q = 17;���type���byte = 0..255;�word = 0..65535;��)�{ Console terminal register definitions }�� �D� rxcs_register = [long] packed record { Receive control and status }-� ie: [pos(6)] boolean; { Interrupt enable }�#� done: [pos(7)] boolean; { Done }�� end;��=� rxdb_register = [long] packed record { Receive data buffer }�*� ch: 0..255; { 8-bit ASCII character }� end;��E� txcs_register = [long] packed record { Transmit control and status }�-� ie: [pos(6)] boolean; { Interrupt enable }�#� rdy: [pos(7)] boolean; { Ready }�� end;��:� input_region_def = record { Input communication region }.� read_index: integer; { Buffer read index }0� write_index: integer; { Buffer write index }#� buffer: { Input ring buffer }�/� packed array[0..input_buffer_size] of char; �� end;��<� output_region_def = record { Output communication region }3� index : integer; { current output index }�3� chars_out : integer; { # of chars to output }�"� xmt_buffer : { xmt buffer } � string(xmt_buffer_length);(� xmt_waiting : boolean; { wait flag }1� write_enable : boolean; { write enable flag }�� end;� � port_ptr = ^port;��5� { Line configuration record sent by system builder }�"� builder_params = packed record=� dummy_word : word; {length of the varying string}�� line : integer;,� parity_enable : boolean;/� sense : oddp..even;�,� modem : boolean;,� hardcopy : boolean;,� ANSI_escape : boolean;,� echo : boolean;,� passall : boolean;3� character_length : [pos(64)] byte;�)� stop_bits : byte;�(� comm_speed : word� end; { record }������var�'� console_job_port: port; { Job port }� � job_name: name; { Job name }(� circuit_port: ^port; { Circuit port }&� process_id: process; { Process ID }8� signalled_object: integer; { Signalled object number }��,� input_device: device; { Input device ID }.� output_device: device; { Output device ID }@� input_region: ^input_region_def; { Input communication region }C� output_region: ^output_region_def; { Output communication region }�;� interrupt_priority: integer; { Interrupt priority level }���B� console_data : terminal_data_pointer; { Console data structure } � console_flags : terminal_flags;��)� { Console characteristics and defaults }���0� argument_string : varying_string(100);,� console$echo : boolean := true;-� console$passall : boolean := false;�-� console$hardcopy : boolean := true; �,� console$escape_recognize : boolean := true;-� console$eightbit : boolean := false;���>� read_in_progress: boolean := false; { Read in progress flag }2� rxcs: rxcs_register; { RXCS register variable }��� cr : string(1) := ''(13);���var�'� ker$gb_cpu_type: [external,byte] byte;�'� ker$gb_sys_type: [external,byte] byte;�� ��program console;���{++��{�B�{ Main driver procedure. Performs program initialization and thenA�{ waits for requests for service in the form of circuit requests.�A�{ When a circuit is accepted, a process is created to service the�?�{ circuit. This allows each circuit complete independence from�B�{ other circuits (except where shared resource synchronization is ?�{ required). In other words, the device appears as a sharable,��{ full-duplex device.��{��{--}�var�� my_proc: process;" a a a + a = a a a a" 390 PRINT 400 PRINT " 3 + 1 = "; \ INPUT X 410 IF X=4 GO TO 450 420 GOSUB 700 430 IF X<>4 THEN GOSUB 640 440 GO TO 380 450 GOSUB 700 \ GOSUB 660 460 PRINT " a a a + a a = a a a a a" 470 PRINT 480 PRINT " 3 + 2 = "; \ INPUT X 490 IF X=5 GO TO 530 500 GOSUB 700 510 IF X<>5 THEN GOSUB 640 520 GO TO 460 530 GOSUB 700 \ GOSUB 660 540 REM - Set terminal back to normal charachters 550 GOSUB 620 560 PRINT E$+"[?8h" 570 GO TO 720 := echo;%� console$passall ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������g�$������ELN024.A����������������������������[KITBUILD.INSTALL]CONSOLE.PAS;11;11��������������������������������������������������������������������������������������������O�����1��������������������������"������������ := passall;�)� console$escape_recognize := ANSI_escape;�&� console$hardcopy := hardcopy;1� console$eightbit := character_length = 3�� end;����with console_flags do�� begin"� echo := console$echo;%� passall := console$passall;�&� hardcopy := console$hardcopy;-� escape_recognize := console$escape_recognize�� end;���I�{ Connect interrupt service routines to the input and output interrupts }�� �M�if ((ker$gb_cpu_type = pr$_sid_typ630) or (ker$gb_cpu_type = pr$_sid_typ620))�,� and (ker$gb_sys_type = pr$_sidex_typ800)�then � acp := true�else� acp := false;���if acp�then� vector_num := 2�else� vector_num := 1;����create_device( 'CONSOLE',�� input_device,�� vector_number := vector_num,� region := input_region,�!� priority := interrupt_priority,�%� service_routine := input_interrupt,�"� powerfail_routine := powerfail);���if acp�then� vector_num := 1�else� vector_num := 2;����create_device( 'CONSOLE',�� output_device,� vector_number := vector_num,� region := output_region,'� service_routine := output_interrupt);���-�{ Create the data structure for the console }���/�allocate_terminal_data ( console_data, 0, true,�"� output_region^.write_enable );��&�{ Enable input and output interrupts }�� �rxcs := zero;��rxcs.ie := true;�mtpr(rxcs_number, rxcs);���initialization_done;���{�O�{ Bump up the process priority of the dispatcher - note: this assumes a default�:�{ process priority of 8 for the line and circuit processes�{}� current_process(my_proc);�$� set_process_priority(my_proc,7);��(�time_interval := time_value('0 0:0:20');���get_time(timer);�timer := timer - time_interval;���?�{ Continually wait for input interrupts and connect requests. }����repeat��)� wait_any(input_device, console_job_port,�.� result := signalled_object, time := timer);��� case signalled_object of���1� 0: { check on pending get control key requests }���� begin�!� cleanup_ctrl_key(console_data);�� get_time(timer);!� timer := timer - time_interval;�� end;��)� 1: { Process received input characters }���� process_input_characters;���:� 2: { Accept a circuit and create a process to service it}��� begin�� new(circuit_port);� create_port(circuit_port^);���#� accept_circuit( console_job_port,�� connect := circuit_port^);��� create_process( process_id, � circuit_process, �� circuit_port );�� end;� end;��� �until false;�end.��� �?�interrupt_service output_interrupt(console_registers: ^anytype;�*� output_region: ^output_region_def);�{++�@�{ Output_interrupt - interrupt service routine to handle output.�{� �{ Inputs:��{� �{ IPL = 20 �{ Mode = kernel, interrupt stack�{� �{ Outputs:�{�@�{ The next character in the xmt buffer is output. If the buffer:�{ has been emptied, the output device object is signalled.�{--}�var�� txcs : txcs_register;���begin���2�{ Make sure the device is ready to accept output }���repeat)� txcs :: integer := mfpr ( txcs_number );��until txcs.rdy;�����I�{ Output more characters or signal device if done or write enable clear }����with output_region^ do0� if (not write_enable) or (index>chars_out) then� begin�� if xmt_waiting then�� signal_device;�� txcs.ie := false;�� mtpr(txcs_number, txcs);� xmt_waiting := false;�� index := index - 1;�� end�� else�� begin�8� mtpr ( txdb_number, ord(substr(xmt_buffer,index,1)) );� index := index + 1;�� end;�end;��� ���-�function put_chars of type output_characters;��{++ 0�{ Put_chars - put characters to console terminal�{--}�var�2� txcs: txcs_register; { TXCS register variable }%� ignore: integer; { Ignore status }�'� xmt_index: integer; { buffer index }�,� num_chars: integer; { character counter }/� tomove: integer; { characters to output }�����7�[inline] function minimum ( a, b : integer ) : integer;��{�5�{ This function returns the minimum of its two inputs��{}�begin��if a <= b then � minimum := a��else� minimum := b;�end;�����begin���G�{ Note: this routine ignores kernel service failures so as to be able }�9�{ to output characters even when the system has failed. }����xmt_index := 1;��num_chars := number_of_chars;���+�{ Output buffers of characters until done }����repeat��0� { Determine maximum chars to output this pass }��4� tomove := minimum ( num_chars, xmt_buffer_length );%� check_write_enable ( console_data );�� with output_region^ do�� begin�<� xmt_buffer := substr ( output_buffer, xmt_index, tomove );� chars_out := tomove;�� index := 2;� end;��� { Make sure device is ready }��� repeat�(� txcs::integer := mfpr ( txcs_number );� until txcs.rdy;��1� { Output first character to start transmission }���"� disable_interrupt ( ipl$_power );$� output_region^.xmt_waiting := true;� txcs.ie := true;�� mtpr(txcs_number, txcs);�B� mtpr ( txdb_number, ord(substr(output_region^.xmt_buffer,1,1)) );� enable_interrupt;�� � { Wait for output to complete }��.� wait_any ( output_device, status := ignore );��-� { Update counters and continue if not done }���/� xmt_index := xmt_index + output_region^.index;�/� num_chars := num_chars - output_region^.index;����until ( num_chars = 0 );���put_chars := true;���end;��� �7�procedure put_exception_line(str: varying_string(256));��{++�E�{ put_exception_line - output a line of text to the terminal from the��{ exception handler.�{� �{ Inputs:��{��{ str - string to output.��{� �{ Outputs:�{�$�{ String output to console terminal.�{--}�var� � i: integer;� status : boolean;� txcs: txcs_register;�� rxcs: rxcs_register;�� rxdb: rxdb_register;����procedure transmitter_ready;�begin��repeat$� rxcs::integer := mfpr(rxcs_number);� if rxcs.done then� begin�%� rxdb::integer := mfpr(rxdb_number);�� if rxdb.ch = control_s then� � repeat�'� rxcs::integer := mfpr(rxcs_number);�'� rxdb::integer := mfpr(rxdb_number);�*� until rxcs.done and (rxdb.ch=control_q)� end;$� txcs::integer := mfpr(txcs_number);�until txcs.rdy;��end;���begin����transmitter_ready;"�mtpr(txdb_number,carriage_return);���for i:=1 to length(str) do� begin� transmitter_ready;�(� mtpr(txdb_number,ord(substr(str,i,1)));� end;����transmitter_ready;�mtpr(txdb_number,line_feed);���end; ���� �>�interrupt_service input_interrupt(console_registers: ^anytype;'� input_region: ^input_region_def);��{++�H�{ Input_interrupt - interrupt service routine to handle character input.�{� �{ Inputs:��{�)�{ input_region - interrupt region pointer��{� �{ IPL = 20 �{ Mode = kernel, interrupt stack�{� �{ Outputs:�{�4�{ Input character is added to the input ring buffer.�{�@�{ If input buffer changed from empty to non-empty, device object�{ is signalled.��{--}�var�� rxdb: rxdb_register;�� next_write_index: integer;��begin���7�{ Get the character from the console receive register }���#�rxdb::integer := mfpr(rxdb_number);����{ If input buffer is not full }���J�next_write_index := (input_region^.write_index + 1) mod input_buffer_size;��/�if next_write_index <> input_region^.read_index��then� begin��D� { If buffer changes from empty to non-empty, signal device object }��8� if input_region^.write_index = input_region^.read_index� then�� signal_device;��D� { Store the character in the input buffer and increment the index }��A� input_region^.buffer[input_region^.write_index] := chr(rxdb.ch);�/� input_region^.write_index := next_write_index;���� end;��end;��� �8�interrupt_service powerfail(console_registers: ^anytype;-� interrupt_region: ^output_region_def);��{++�0�{ powerfail - powerfail recovery service routine�{� �{ Inputs:��{� �{ IPL = 31 �{ Mode = kernel, interrupt stack�{� �{ Outputs:�{��{ Interrupts are re-enabled.�{--}�var�2� rxcs: rxcs_register; { RXCS register variable }2� txcs: txcs_register; { TXCS register variable }�begin����{ Re-enable interrupts }���rxcs.ie := true;�mtpr(rxcs_number, rxcs);����6�{ If someone is waiting on output, signal the device }���with interrupt_region^ do�� if xmt_waiting then� begin�� signal_device;� txcs.ie := false;�� mtpr(txcs_number, txcs);� xmt_waiting := false;�� end;���end;��� �>�procedure write_exception(var signal_args: chf$r_signal_args);�{++�<�{ write_exception - writes exception for exception handlers�{� �{ Inputs:�{�!�{ Exception signal argument list.��{--}�var�� arg: integer;� ignore: boolean;����begin����put_exception_line('');�0�put_exception_line('Console driver exception ');/�put_exception_line(hex(signal_args.arg_count));�*�put_exception_line(hex(signal_args.name));��:�for arg := 1 to 20 do {** signal_args.arg_count - 1 do **}6� put_exception_line(hex(signal_args.additional���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/6�$������ELN024.A������������������������#���������������������������eh`l ph1���������������������������������������������������������������������������������������������c�����b�������������������������Xp������������Oj >|5nr=ϯTe߉E郏5dYb^31Tw `4 "BCnDZ@(>[翀64+Yc�:_mNXQ'Rj~eȴXӡԛyX#Ug �%H~isgG*g7Ai /{vN`D ^l)#EK_;JniW|Z>>6+cj`?c U[_A ]LWFΦBM6DW ]j޷\"I3#C~ӊBtjZO 7H<YgSP~NB}AWߨ<lӞ.mXK0hh9O'+G %ɓ+T;YzUR˟(rrff$*o#I6]lqtyWdxT"YxVϐ;zܸO4Yr MG �>A7G- !k\r2T|*? "s6{oq�GgYӰ¡>Zi` Pu4EHA'ڜ^n}ltcŰq.#.邎sCWJϠuX$F�\_B91bL"'8Iyuo#fo.v8mΰ'ȼ3vC*�ZB$VEKy*k;z|[oI >eyblHdi!Ub 3sC-З3 WV@%ek-!ī1d0<'SPVѠs\&v ))̴2 @tmN P/ @|>}|efz#UFF\4G~="cȾ^Lu*lj�@qAWŮ S;`G֜r;Cjna*:Av6M 6ӢO(cMw/{8})2T%|ӿK}>)WL"'jn+~&0C|M:}..;E.lpN;˞18%6U' /8ef|S|'ZR4;ʿ۳( F2Ъ_ YllIG~oGZw> lhu,p𬣨2.{:2*<'we*rAJ78H5ICG9E3EO:ץA7 kP=eLITv~EG 2TJYUW,NA:46U9dK-OەωSq ~_pw>Hfmdeq8b2%ގxD8GMfC5})VP?y˅VIt 5Ėʸ�!eВ]: l/mbSO gF+.pZJ#4g3ṕUO=6zh F؈K [hj�/ȕwd5q& {�b֯."XUv]A Uh& 5TWus{ݾ=Ucヾn|Qwoiq6k:o\M597 ӠIX=p!KcH" %QFVF+9U9T}׼㸧~IyG\S{/E_m+qC0k!%m ow1,H]3P0phJ}:ۜPTy^X,?r8м0DbLxC?R0ikrS-׊ {¿ T$s%6 0 o4.}q՚BPT` WL$$S3?OL4!XH"\璋H(�̾mu=4K^eH5cob8SEXw ,*) 4JgO/^<^n 額N3^o%َ'o(~xMѓ^LYW7/QU .!y2k v.6|h. ׅxsڀ$VI- Kb"Ȫg�Tf,GW&+*%h|�&[ %',�<[$"a 1Q*bJ2'O >d9ĽATM[oq}rVrl ׯР'ZOhJ,S_kBctT(|&mEc &E˷6wVY= Y'LN1 r^6h1Lj3 Aƻ~k;9jJd$.�*vd 6)jU~(9=V^/ŲyoI5_ 4Ƅϛx3hzU置gN} ka[=U(7<�av]O%04p9i>-CER8Q{4ݡ W6vv0-U`Lq1Hu?~-$R_^Zpph-pGG"WJ{ ~8qAaØw .o^C@H8g_Ry㬭l𾮏:8rDOPN>ዢe�,bm2`C0mX*cdw1w8@?bs "JTF J> W< r!C΀MD2c`�ۊs}Ek( z`25m(m"L@ElEDoƽA:'-p7SSDYoEEJNmơ%*CZ5K O6]V/*sOu?z|(bj&Zӹ^o#jC jQSE,ޮpBpiZ^"k&�&4�bTG*]d:nQz,U5�I Tg!X`a%\?,@9g^\>Ð~dbd t3ul"\r'%igtyQ^ _q@na/= V'!%XpF_Rcy1JU.EBUP5^2՟vH,L2@qU.f /뵚|TQ9�ɪU�Q~2 "^iQJn: n*b3!:1X/ g? 㘣'`U$eG O)VIow{57MIN!kI2s)5e#p'wa<)M=Rfn sv6EIN�'|YC5w̃kKr b'SRU=E 5*>fkt['˜L|�~(ao!V\jɒֱQ;J k!2\:ÚɇHzЪ-Ʒka[P̸|OwJt(d2y0RQp01qP,Ơwq`: Nfzr3XH0U8(oSQ8ibU`[l=C/yRN_>E7FRPju j Œ1)Nc bSBvXzb]v/C\X/;UBȼ2;|9{u$3tXR>/̕0sB>$Ö;;Jp#Uaxل 8H@u*= sWभ?Z7K7&5yEv^όӈX]4%cʕݕۋkduT:!f`< %d/ KԼ/Xզ^͂O{[jѢ;QߣG1\|A#I@Vvc&t(oQ.fISo$MJENcg#ό5yd̂9S"!MǮvQ9NnoCV&b+T $ieoLW{\J X\QK#x?K�;4}&B92*ϧpl'?KY =]Vh!_p:u�5G[TTǣ:`/Kիv j)3�ꨍePx:[402k$mo; a)/$St,Wؕ]RXQuǧ/Z;sˈ;l3"1uޑn~ 0{K"U Fё%\otK˚M�I Z(w>".#$Un.ATN M 4{6 FQO7Lw6NϤ0ތٽۢQziN(|CFT7X[P 8zCXr9gy`͜q*&ꈯwzƨ[n̑]x{,x*-Q�&l(^Ks#I-H%". mhSpDnV;u6R=-:@juW"0JgA/rD}7}7c{֮`6nG+LPS:<)>љS_dSܲЯL9hGZ7>5VD+g0Y iW&< ܣdu f ymoOѵǢSFOX;_MPh r?˳;:l }Niaʌ anN/\Bm1x $$)0葐\aVaZb:֚pIE١Re!lLr0Rhĝ$MapsRRs[eڝ<2 p =pno7\镥Ox2PWMܿ~9ta[|ʳBH-uHF)FX? u׹R~IⰲG5ޝDXކN!YUaaAfFiSM$0Fa#h[o` @+c\x JC(+Ya")|,EA0"][vEn\#LX�:�@ C)٭5R>ũJ05KΥxH%4*Q9}%15>-FQ 5Q+mK -RA01oL%kI$#P11x!_﷐XrL0D�ZI|VIQMYE`Cj͆K)#2ܔ.(?fC~ЏhIvz\g1*YkC_q-rFX^O%F;8ׁY@R)M>*mcdkI4faIWK@qUdz inEuޗf7 K]mg:6jK\ecݼяWC9*L?v.9M~ WhgKrhHgpȕp>i*cߓD뉷y #|/0HV&BR&:!؏KcLR�g:c"ĩ$n;}w;3,2"/hN >ށ&�L'{*vX}_,32aՌxyl?#*S2wFVZTF9AV.PZNՖk*Z?G&MO=2?ܤDRf?qJP%`Y;ͭb IC\Mvߘixisxi1خ#[tGa:JVؔ|#~oOgl- l_9̩kS"$QkC.(R2ڴ]ԇ"6f8 '7"S Wצm[|AV+ 9 0+\#os�1n Z^l1),>9?@rn't6z}y~:+dWdaY/@UFXtXY5biUD*Th)㈎)齻׾ઽ_Ǝϋ\ڇj鑃‰Қųٴ^ ԅݍ侠ܰℚ5"C,@l):6ÁȠ³Қ郍\_]sZ򷧣߉ߚ߈ln;��� end;���end;����������������������������������������������������������P���������������������������������������������������������������������������������������������������������������������������c]}�$������ELN024.A����������������������������[KITBUILD.INSTALL]CONSOLE.PAS;1S;1S;1������������������������������������������������������������������������������������������O�����1�������������������������X�"�����!�������[arg]));���end;��� n:�function console_driver_handler of type exception_handler;�{++*-�{ console_driver_handler - Exception handler �{� �{ Inputs:�{c)�{ Standard exception condition arguments.L�{--}�varC� dummy : integer;,���begin ��G�{ Turn off device interrupts, display the error, and exit the process }d���mtpr(rxcs_number,0);�mtpr(txcs_number,0);�console_driver_handler := true;u�write_exception(signal_args);*�exit;s���end;��� o#�procedure process_input_characters;r�{++ ?�{ process_input_characters - Process received input characters.s�{x �{ Inputs:h�{�I�{ input_buffer - characters received by console input interrupt routine.��{c �{ Outputs:�{�=�{ Each character examined and either put in type-ahead buffer 2�{ or directly processed as a control function key.�{--}�varr � ch: char;� write_index: integer;� ignore_overflow: integer;� ctrl_key_awaited: boolean;��begin���&�disable_interrupt(interrupt_priority);��6�{ If there is a new character, get it and process it }��>�while input_region^.read_index <> input_region^.write_index do� begin��6� ch := input_region^.buffer[input_region^.read_index];��<� input_region^.read_index := (input_region^.read_index + 1) � mod input_buffer_size;e� enable_interrupt;��� { Call the dispatcher }��#� dispatch_character ( console_data,; � ch,u� console$passall,� console$eightbit, � put_chars);o��*� disable_interrupt ( interrupt_priority );��� end;c���enable_interrupt; ���end;��� c2�process_block circuit_process(circuit: port_ptr );�{++ H�{ Circuit_process - Process to handle servicing a particular DAP circuit�{� �{ Inputs:t�{r3�{ circuit - circuit to be used in DAP communication /�{ console_circuit_flags - default console flags��{��{--}�varw'� console_circuit_flags: terminal_flags;�1� read_buff: terminal_read_buffer; { Read buffer }c/� read_buff_size: integer; { Read buffer size }gD� saved_record_attributes: dap$b_rat; { Record attributes from open }D� saved_record_format: dap$b_rfm; { Record format from open }M� saved_fixed_control_size: dap$b_fsz; { Fixed control size from open }�7� server_status: integer; { Server completion status }i��� �;�function circuit_process_handler of type exception_handler;��{++ .�{ circuit_process_handler - Exception handler�{c �{ Inputs:�{�)�{ Standard exception condition arguments.i�{--}�begin���!�circuit_process_handler := false;��write_exception(signal_args);e�delete(circuit^);t�dispose(circuit);r���exit; { Exit the process }���end;��� o.�function open_routine of type dap$open_action;�{++ $�{ open_routine - Open action routine�{� �{ Inputs:��{��{ create - create/open flagt"�{ file_access - file access mode�{ share - share accessm$�{ organization - file organization!�{ record_format - record format (�{ record_attributes - record attributes,�{ maximum_record_size - maximum record size�{ file_options - file options�(�{ device_char - device characteristics:�{ device_dependent_char - device dependent characteristics*�{ file_specification - file specification7�{ fixed_control_size - fixed control size for VFC files '�{ context - driver specific parametert�{ i �{ Outputs:�{g$�{ organization - file organization!�{ record_format - record formatt(�{ record_attributes - record attributes,�{ maximum_record_size - maximum record size�{ file_options - file options;(�{ device_char - device characteristics:�{ device_dependent_char - device dependent characteristics�{u�{ Return value = success. �{--}�beginn��1� saved_record_attributes := record_attributes;e)� saved_record_format := record_format;s3� saved_fixed_control_size := fixed_control_size;n��#� if (maximum_record_size = 0) orr-� (maximum_record_size > max_read_buffer_size)u� then-� maximum_record_size := max_read_buffer_size;i��*� read_buff_size := maximum_record_size;��� organization := dap$k_seq;!� {record_format := dap$k_var;}l� file_options := [];�� device_char := E� [dap$v_devrec,dap$v_devccl,dap$v_devtrm,dap$v_devidv, dap$v_devodv];o��M� { Record size of one implies passall and no echoing of input characters }r��� if maximum_record_size = 1� then� begin'� console_circuit_flags.passall := true;i(� console_circuit_flags.echo := false;� end; ��"� open_routine := dap$k_success;���end;� e,�function get_routine of type dap$get_action;�{++ ,�{ get_routine - Get/read data action routine�{u �{ Inputs:m�{n*�{ record_access - record access to be used8�{ record_number - record number - used as key in control!�{ record_options - record optionsp.�{ buffer - pointer to receive buffer address"�{ buffer_length - length of buffer1�{ get_buffer - routine to get a new larger bufferu&�{ context - driver specific parameter�{ �{ Outputs:�{x-�{ buffer_length - length of actual datum readb�{ Return value = success�{--}�var;� i, read_length: integer;� read_status: boolean;�� count: integer;d� eof: boolean;n� tmp_buff: ^anytype;e���beginn��� {nF� { If the record access is keyed and the record number is non-zero,D� { then the record number represents a mask of control characters� { that are to be awaited.�� {}��?� if (record_access = dap$k_key_acc) and (record_number <> 0)x� then� begin.� read_buff[1] := await_ctrl_key( console_data,&� record_number :: ctrl_key_set,� circuit^); � count := 1;� eof := false;� read_status := true;o� end� else� { Normal read }� read_status := read_chars(;� console_data,t� read_buff,� read_buff_size,r � count,� console_circuit_flags,� eof,� put_chars);c��� {r!� { If success, return the datan6� { For VFC files, place a control field on the data� {}��� if read_status� then� begin��#� if saved_record_format = dap$k_vfc�� thenb4� read_length := count + saved_fixed_control_size� elseb� read_length := count;��?� { Check the buffer for overflow. If so, allocate new buffer. }���� if read_length > buffer_lengthb� theni'� buffer := get_buffer(read_length);o��@� { Copy the input to the supplied buffer and return the length }��#� if saved_record_format = dap$k_vfcr� thenu � begin.� for i := 1 to saved_fixed_control_size do-� buffer^::terminal_read_buffer[i] := chr(0);uE� tmp_buff::integer := buffer::integer + saved_fixed_control_size;v� end� elsen� tmp_buff := buffer;��7� tmp_buff^::string(count) := substr(read_buff,1,count);���� buffer_length := read_length;��� { Set the return status }��� if eofu� thenc � begin� get_routine := dap$k_eof;� eof := falseh� end� elset!� get_routine := dap$k_successg� end� else'� get_routine := dap$k_device_not_ready;_���end;� g,�function put_routine of type dap$put_action;�{++ -�{ put_routine - Put/write data action routinex�{n �{ Inputs:��{f%�{ record_access - record access typei�{ record_number - record numberi!�{ record_options - record options�/�{ buffer - buffer of characters to be written�4�{ buffer_length - number of characters to be written&�{ context - driver specific parameter�{ e �{ Outputs:�{e�{ Return value = success.x�{--}�var � write_status : boolean;e���beginr��7� write_status := write_chars ( console_data, buffer,g-� buffer_length, saved_record_attributes,x� put_chars );���{** if write_status then **}x� put_routine := dap$k_successr �{** elseo+� put_routine := dap$k_device_not_ready; **}i�end;� r6�function truncate_routine of type dap$truncate_action;�{++ �{e-�{ truncate_routine - truncate action routine �{�H�{ This routine is called by the dap$server routine when the user process �{ executes a truncate statement.�{i �{ Inputs:�{r8�{ record_access - type of access to be used in truncate�{ i �{ Outputs:��{��{ return value = success�{x�{--}�varu� stat : boolean; ���begin����if console_flags.echo �then%� stat := write_newline(0, put_chars);u��!�truncate_routine := dap$k_success��end;� ��{++n�{d,�{ Mainline code for circuit_process routine�{ �{--}�begin_��,�eln$allocate_stack ( 4096 ); { eight pages }��#�establish(circuit_process_handler);f��'�console_circuit_flags := console_flags;-��8�server_status := dap$server(circuit_port := circuit^,#� open_action := open_routine,�"� get_action := get_routine,"� put_action := put_routine,(� truncate_action := truncate_routine);���delete(circuit^);��dispose(circuit);h���end;���end;�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������9O�$������ELN024.A����������������������������[KITBUILD.INSTALL]COPYSYS.COM;11;11��������������������������������������������������������������������������������������������P���� ����������������������������������������*�[KITBUILD.INSTALL]COPYSYS.COM;1�+��,����.� ����/��� �4�P��� ��� �R�������������������-������0���1����2���3������K��P����O� ����5�t��6�gG��7�!-��8����������9����������G�G���H��J�����������������������$ !K�$ ! COPYSYS - command procedure to copy a system image to a Files-11 volume��$ !� �$ ! Inputs:� �$ ! P1 = system image file name�$ ! P2 = output disk name�$ ! P3 = initialize flag (y/n)�#�$ ! p4 = network change flag (y/n)�"�$ ! p5 = new node name (optional)%�$ ! p6 = new node address (optional)� �$ system = p1� �$ disk = p2��$ init_flag = p3�$ net_flag = p4��$ node_name = p5�$ node_address = p6�I�$ if (system .nes. "") .and. (disk .nes. "") .and. (init_flag .eqs. "") -�� then init_flag = "n"H�$ if (system .nes. "") .and. (disk .nes. "") .and. (net_flag .eqs. "") -� then net_flag = "n"� �$get_system:'�$ if system .nes. "" then goto get_disk�$�$ inquire system "System image file"�$ goto get_system� �$get_disk:%�$ if disk .nes. "" then goto set_disk��$ inquire disk "Output disk"�$ goto get_disk� �$set_disk:�$ disk = disk - ":"��$ disk = disk + ":"��$ tape_device = 0��$ block_size = ""�L�$ if f$getdvi(disk,"DEVCLASS") .ne. 2 then goto get_init ! Tape = devclass 2�$ tape_device = 1��$ block_size = "/blocksize=512"�*�$ if net_flag .eqs. "" then net_flag = "n" �$get_init:)�$ if init_flag .nes. "" then goto get_net�4�$ inquire init_flag "Initialize the disk? (Y/N) [N]",�$ if init_flag .eqs. "" then init_flag = "n" �$get_net:�-�$ if net_flag .nes. "" then goto get_net_info�A�$ inquire net_flag "Change the node's name or address? (Y/N) [N]"�*�$ if net_flag .eqs. "" then net_flag = "n"�$get_net_info:N�$ if (.not. net_flag) .or. (node_name .nes. "") .or. (node_address .nes. "") -� then goto check_image�$ inquire node_name "Node name"e%�$ inquire node_address "Node address"f�$ !v9�$ ! Check that system image does not have an image header �$ !� �$check_image:"!�$ system = f$parse(system,".SYS")t�$ open system_file 'system't�$ read system_file header��$ close system_file�<�$ if f$locate("VAXELN", header) .eq. 512 then goto init_disk�$ write sys$output -B� "System ", system, " not built with DISK boot method specified"�$ write sys$output -G� "Rebuild the system with DISK boot method - system image not copied"�$ exit�$ !�=�$ ! Initialize the disk and create the necessary directories.��$ !� �$init_disk:�%�$ disk_mounted = f$getdvi(disk,"mnt")�E�$ if (init_flag .eqs. "") .or. (.not. init_flag) then goto mount_disk��$ initialize 'disk' elan%�$ if tape_device then goto mount_disk��$ mount/nomessage 'disk' elan��$ create/dir 'disk'[sys0]� �$ create/dir 'disk'[sys0.sysexe]�$ !�F�$ ! If VMB is available on the system disk, copy it to the target diskE�$ ! and set the target disk's bootblock to point to it. This is only��$ ! needed for 11/750 TU58's.��$ !�B�$ if f$search("SYS$SYSTEM:VMB.EXE") .eqs. "" then goto copy_system-�$ copy sys$system:vmb.exe 'disk'[sys0.sysexe]� �$ prev_priv = f$setprv("LOG_IO")*�$ if f$priv("LOG_IO") then goto write_boot�$ write sys$output -K� "LOG_IO privilege required to write boot block - boot block not written"��$ goto copy_system �$write_boot:)�$ define/user vmbfile 'disk'[sys0.sysexe]��$ run sys$system:writeboot�vmbfile��1��200�!�$ prev_priv = f$setprv(prev_priv)��$ goto copy_system�$� �$mount_disk:A�$ if tape_device .and. disk_mounted then dismount/nounload 'disk'�/�$ if tape_device .or. .not. disk_mounted then -�.� mount/nomessage'block_size'/overide=id 'disk'�$ !�H�$ ! Delete any existing image and copy the new one naming it SYSBOOT.EXE�$ !� �$copy_system:�-�$ sysboot = disk + "[SYS0.SYSEXE]SYSBOOT.EXE"�6�$ if f$search(sysboot) .nes. "" then delete 'sysboot'; �$ copy 'system' 'sysboot'/contig�$ !�4�$ ! Ask if the network information should be changed�$ !�+�$ if .not. net_flag then goto dismount_disk�*�$ copysys_utility := $eln$:copysys_utility�$ node_area = ""&�$ period = f$locate(".", node_address)<�$ if period .ge. f$length(node_address) then goto change_net0�$ node_area = f$extract(0, period, node_address)�$ period = period + 1�P�$ node_address = f$extract( period, f$length(node_address)-period, node_address)2�$ if node_address .eqs. "" then node_address = "0" �$change_net:?�$ copysys_utility 'disk' 'node_name' 'node_address' 'node_area'��$ �$dismount_disk:�5�$ if .not. disk_mounted then dismount/nounload 'disk'�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������'�*�[KITBUILD.INSTALL]COPYSYS_UTILITY.EXE;1�+��,����.�����/��� �4�����������������������������-������0���1����2���3� ����K��P����O�����5�,��6��dӏ��7�`m/-��8����������9����������G�G���H��J������������������ �������������0�D�X�����0205������(��S���������������������������������������������COPYSYS_UTILITY������������������������VAXELN V2.4-00��ӏ�04-00�������������������������� ����� ��?����o�����!������ �� LIBRTL_001������+������d�� PASRTL_001��BOOT DEVICE NOT UPDATED:�����������������������^(޼RTTS2bURR���RUTSTSSSP^޼RbV2VWW^^nW(Vg(gTTS2VURR��� RUTSTSS2VSSPϞ^|l��P1 ЭXW2ZZWZRRR2RRGRƟ߭ PWWZRRTGS2TRcRŸ߭PYY\\  \(\Gأ\ RRR\R(RϋcYWWZRRR2RRGRƟπ߭ψWPPWWZRRTGS2TRcRƟ߭ϝPYYα(GYWWZRRR2RRGRƟ ߭#WPPWWZRRTGS2TRcRƟ߭7PYYR2RGȟ��Э[YWWZRRR2RRGRƟϙ߭ϱWPPWWZZTGS2TRcRƟp߭PYYR2RGȟw��Эȭ[���Ǐ���[� [[[ݭ���P$�p��Q��c��@��P[sys0.sysexe]sysboot.exe���������� IMAGE_FILE���� QRЬPРϠR��PϞΜ^|��m޼RbͶ(b͸޼[޼ Z޼Rb;(bЏ���d^ͨ-Ͷ͸ �LZ [1b];W�Ͱ� ͰRͤRYͶi (Ͷ͸Z['Џ�ͬ� ͬRͤRXZRR� [RR*h}��R(�b]��F��7��P�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@���@��������������������������������������������������������x�� ����������(�� ��x������H����h��x�� �������������� �����������������@�����������������������������������������������������������������������LIBRTL���������������������������������������������������������PASRTL�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"�*�[KITBUILD.INSTALL]CRTLOBJECT.OLB;1�+��,����.�����/��� �4�����������������������������-������0���1����2���3� ����K��P����O�����5�*��6��jWՏ��7�`;-��8����������9����������G�G���H��J���������������������% ���VAX-11 Librarian V04-00��������9Տ� yՏ�!���������������������������2���������S��N�����N���"����������������������������������������������������������������������� ����� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������=�$������ELN024.A����������������������������"[KITBUILD.INSTALL]CRTLOBJECT.OLB;11��������������������������������������������������������������������������������������������������������������������������m�"���������������������3����ABS����ACOS���ASIN���ATAN���ATAN2���RATOF3���ATOI3���ATOL4���` C$$COND_HAND���� C$$DOPRINT���� C$$DOSCAN��� C$$FILBUF��� C$$FLSBUF4���`C$$MAINR���� C$$MATH_HAND���� C$$TRANSLATE4���`C$$TRNS_VALUESV���>C$K_ECVT_BUFFSIZE@����C$MAIN@���� C$MAIN_ARGSK���� C$V_CTYPEDEFS���`CABSS����CALLOC4���` CC$_GFLOAT���CEILS����CFREE���CHMOD���CHOWN���CLOSE���pCOS���*COSH���CREAT���CTIME���DELETE���DUP���DUP2�f������������� C$$DOPRINTR���� C$$MATH_HANDS����C$$MEMORY_ALLOCATION���� C$$TRANSLATE3����C$ABS����C$ACOS���C$ASIN���C$ATAN���C$ATAN2���RC$ATOF3���C$ATOL���C$CEIL���pC$COS���*C$COSHK����C$CTYPE����C$ECVT���C$EXP���C$FABS���C$FLOOR���4C$FREXP����C$GCVT���`C$HYPOT���4C$LDEXP���C$LOG���|C$LOG10���pC$MODFZ���V�C$QUEUE[���x�C$RAND���C$STRCAT���jC$STRCHR���C$STRCMP����C$STRCPY���^� C$STRCSPN���R�C$STRLENPFILE���������������N���TELN$SUB_LARGE_INTEGERS����ELN$SWITCH_STACKL���EXIT���EXP���FABS���FCLOSE����FCVT���FDOPEN���FFLUSH���FGETC���FGETNAME���FGETS���FLOOR���FOPENu��� FOR$CNV_IN_DEFGr���� FOR$CNV_IN_Is��� FOR$CNV_IN_Os��� FOR$CNV_IN_Zf���� FOR$CNV_OUT_Df���� FOR$CNV_OUT_Ef���� FOR$CNV_OUT_Ff���� FOR$CNV_OUT_Gf���� FOR$CVT_D_TDf���� FOR$CVT_D_TEf���� FOR$CVT_D_TFf���� FOR$CVT_D_TGf���� FOR$CVT_F_TDf���� FOR$CVT_G_TFf���� FOR$CVT_G_TGV������������������������DUP2���ELN$REMOVE_ENTRY��� FOR$CVT_F_TD��� FOR$CVT_G_TG���FOR$_FLOUNDEXC ���FOR$_INCRECTYP ���FOR$_INVTEXREC ���FOR$_OPEREQSEQ ���FOR$_VFEVALERR���GETENV��� OTS$CVT_T_H���SIGNAL���TMPFILE���_FOPEN���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������`���SIGPAUSE`��� SIGSETMASK`���SIGSTACK`���SIGVEC����SIN����SINHe����SLEEP���SPRINTF���l�SQRT[���x�SRAND���SSCANF]���SSIGNAL���STDERR���STDIN���STDOUT���STRCAT���jSTRCHR���STRCMP����STRCPY���^�STRCSPN���R�STRLEN���STRNCAT���STRNCMP���~STRNCPY���<STRPBRK���$STRRCHR����STRSPN���T�TAN���2�TANH���"TIME���jTMPFILESTABLISH��� VAXC$VA_COUNT��� VAXC$VA_START���VAXC$VA_START_1L���_EXIT���_FOPEN��������������GETNAME���GETS���GETW]���GSIGNAL���`HYPOT���ISATTY���4LDEXP��� LOCALTIME���LOG���|LOG10\����LONGJMP���LSEEKS����MALLOC���pMODF���OPENy���0�OTS$$A_CVT_TABo����OTS$$CVT_D_T_R8o����OTS$$CVT_F_T_R8y���0�OTS$$CVT_G_T_R8y���0�OTS$$CVT_H_T_R8y���0� OTS$$CVT_MULy���0�OTS$$RET_A_CVT_TAB_R1s��� OTS$CVT_TB_Lr���� OTS$CVT_TI_Ls��� OTS$CVT_TO_Lr���� OTS$CVT_TU_Ls��� OTS$CVT_TZ_Lu���  OTS$CVT_T_Du���  OTS$CVT_T_Gu���  OTS$CVT_T_HSIGNAL���������f���� FOR$CVT_H_TDf���� FOR$CVT_H_TEf���� FOR$CVT_H_TFf���� FOR$CVT_H_TGk���0FOR$_ADJARRDIMk���0FOR$_ATTACCNONk���0FOR$_ATTREANONk���0 FOR$_BACERRk���0 FOR$_CLOERRk���0 FOR$_DELERRk���0FOR$_DIRIO_KEYk���0FOR$_DUPFILSPEk���0FOR$_ENDDURREAk���0FOR$_ENDFILERRk���0FOR$_ERRDURREAk���0FOR$_ERRDURWRIk���0 FOR$_FACILITYk���0FOR$_FILNAMSPEk���0FOR$_FILNOTFOUk���0 FOR$_FINERRk���0FOR$_FLOUNDEXCYCHGk���0FOR$_INCOPECLOk���0FOR$_INCRECLENk���0FOR$_INCRECTYPGETENV����_���������k���0FOR$_OUTCONERRk���0FOR$_OUTSTAOVEk���0FOR$_RECIO_OPEk���0FOR$_RECNUMOUTk���0 FOR$_REWERRk���0FOR$_REWRITERRk���0FOR$_SEGRECFORk���0FOR$_SEQIO_DIRk���0FOR$_SPERECLOCk���0FOR$_SYNERRFORk���0FOR$_SYNERRNAMk���0FOR$_TOOMANRECk���0FOR$_TOOMANVALk���0FOR$_UNFIO_FMTk���0FOR$_UNIALROPEk���0 FOR$_UNLERRk���0FOR$_VFEVALERRk���0FOR$_WRIREAFIL���FPRINTF���FPUTC���FPUTS���FREADS����FREE���FREOPEN���FSCANF���FSEEK���"FTIMEM���GETENV������������k���0FOR$_IO_NONFORk���0FOR$_KEYIO_DIRk���0FOR$_KEYVALERRk���0FOR$_LISIO_SYNk���0FOR$_MIXFILACCk���0FOR$_MORONERECk���0FOR$_NOTFORSPEk���0FOR$_NO_CURRECk���0FOR$_NO_SUCDEVk���0FOR$_OPEDEFREQk���0 FOR$_OPEFAIk���0FOR$_OPEREQDISk���0FOR$_OPEREQSEQ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������k���0FOR$_INFFORLOOk���0FOR$_INPCONERRk���0FOR$_INPRECTOOk���0FOR$_INPSTAREQk���0FOR$_INSVIRMEMk���0FOR$_INVARGFORk���0FOR$_INVKEYSPEk���0FOR$_INVLOGUNIk���0FOR$_INVREFVARk���0 FOR$_INVTEXk���0FOR$_INVTEXREC������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������k���0FOR$_FMTIO_UNFk���0FOR$_FORVARMISk���0FOR$_INCFILORGk���0FOR$_INCKEYCHGk���0FOR$_INCOPECLOk���0FOR$_INCRECLENk���0FOR$_INCRECTYP���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������]��� ELN$SIGNAL`��� ELN$SIGVECe���� ELN$SLEEP����ELN$SWITCH_STACKf���� FOR$CVTRTk���0 FOR$MSGDEFo���� OTS$$CVTDTy���0� OTS$$CVTRTr���� OTS$CVTTILs��� OTS$CVTTOLu���  OTS$CVTTR���� OTS$MSGDEFL����VAXC$ESTABLISH��� VAXC$VARARGS�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������`��������������C$LOG10���C$STRLEN��� C$TMPFILE���ELN$EXIT��� ELN$SETJMP ��� VAXC$VARARGS��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� OTS$_FACILITY����OTS$_FATINTERR����OTS$_INPCONERR����OTS$_INSVIRMEM����OTS$_INTDATCOR����OTS$_INVSTRDES����OTS$_IO_CONCLO����OTS$_OUTCONERR����OTS$_STRIS_INT����OTS$_USEFLORES����OTS$_WRONUMARG`���PAUSEW����PERROR���POW���PRINTF���PUTCHAR���PUTS���PUTW[���x�RAND���READS����REALLOC���REWIND���SCANF���SETBUF\����SETJMP`���SIGBLOCK]���SIGNAL���������������������������������������������������������������������������������M��� ELN$GETENVN���TELN$LARGE_INTEGER_MATHO���ELN$LOCATE_CRTL_CTX@����ELN$MAINV���> ELN$P1DEFSW���� ELN$PERROR\���� ELN$SETJMP������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������f���� FOR$CVT_F_TEf���� FOR$CVT_F_TFf���� FOR$CVT_F_TGf���� FOR$CVT_G_TDf���� FOR$CVT_G_TEf���� FOR$CVT_G_TFf���� FOR$CVT_G_TG���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ECVTN���TELN$ADD_LARGE_INTEGERSZ���V�ELN$INSERT_ENTRYV���>ELN$K_P1_CTX_SIZEO���ELN$LOCATE_CRTL_CTXO���ELN$READ_ERRNOZ���V�ELN$REMOVE_ENTRY����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������4]*v�$������ELN024.A����������������������������"[KITBUILD.INSTALL]CRTLOBJECT.OLB;1S;1������������������������������������������������������������������������������������������������������������������������0�"����������������������k���0FOR$_WRIREAFIL���FPRINTF���FPUTC���FPUTS���FREADS����FREE���FREOPEN���4FREXP���FSCANF���FSEEK���FTELL���"FTIME���FWRITE����GCVT���GETCHARM���GETENV�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������D�TOLOWER���TOUPPER���UMASK���UNGETCL����VAXC$ESTABLISH��� VAXC$VA_COUNT��� VAXC$VA_START���VAXC$VA_START_1���WRITEL���_EXIT���_FOPEN����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������D� C$TOLOWER��� C$TOUPPER���C$VAXCIO4���` ELN$$MAIN;����ELN$CIOVECTORSA����ELN$CMSCVECTORSH���ELN$CMTHVECTORSL���ELN$EXIT���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� C$STRNCAT��� C$STRNCMP���~ C$STRNCPY���< C$STRPBRK���$ C$STRRCHR����C$STRSPN���T�C$TAN���2�C$TANH���"C$TIME���C$TIMEF���j C$TMPFILE��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pC$MODF���C$POWZ���V�C$QUEUE[���x�C$RAND����C$SIN����C$SINH���l�C$SQRT���C$STRCAT���jC$STRCHR���C$STRCMP����C$STRCPY���^� C$STRCSPN���R�C$STRLEN�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������RVEREDFS���CMS$_RECOVERED����CMS$_NORECOVER��� CMS$_REPAIRED��� CMS$_NOREPAIR��� CMS$_VERIFIED��� CMS$_MUTEXC��� CMS$_NOVERIFY��� CMS$_NOUNLOCK���CMS$$CON_VERIFY���CMS$$LOK_LOCK_LIBRARY���CMS$$LOK_UNLOCK_LIBRARY���CMS$$VER_RECOVER�����CMS$$VER_ELEMENT_DATA_FILES���CMS$$EXC_HANDLER_2���CMS$$PAR_CHECK_ARG_COUNT���CMS$$PAR_CHECK_LIB_DB���CMS$$PAR_CHECK_DESCRIPTOR���CMS$$PAR_CHECK_DESCRIPTOR��� CMS$_ACCVIORD��� CMS$_ACCVIOWT��� B_USER_MODE����� CMS$_BADCALL��� CMS$_ACCV�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Z�$������ELN024.A����������������������������"[KITBUILD.INSTALL]CRTLOBJECT.OLB;11��������������������������������������������������������������������������������������������������������������������������T�"�����$�������%�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������&�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������'�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������(�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������)�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������+�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ON_TIMEV�CMS$$TRA_BEGIN_TRANSACTIONPЏ�CMS$_NORECOVERPn^T~RR~�����V�CMS$$SHOW_HISTORYP1_1�,�n��\)\Џ�ii^bЦ$PP� CMS$$IO_CLOSE\jP1?ԭޟ\�CMS$$IO_DELETEPWWߞlݏ� CMS$_NODELETE~ݏ� CMS$_MSGPOST� LIB$SIGNALPXЏ��L P,�n���\)\Џ� ^b\jP#~TL\����PWW_ԮL,�n��\)\Џ�(0,(^b\jP#TL\��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������2����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������4���1�������`Տ�V2.0-00�������������������������5�����C$ABSV2.0-00 4-MAR-1987 17:33 ���VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:ABS/OBJECT=OBJ$:ABS SRC$:ABS+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB�*��- integer absolute math library function��������� . ABS .����P���� ���$CODE���P���� �������ABS�& �ЬPPP���w�w�1�������7Տ�V2.0-00�������������������������6�����C$ATOLV2.0-00 4-MAR-1987 17:28� �5���������������������VAX C T2.3-FT1F���ATOL� ������ �ATOL� �������ATOI�����$CODE�����$DATA���P �^|RPP $�ZP?P PR֬ ֬P0+9% SQЬP֬`PPQQS09RSQPSQQP��^ݬ�ATOL�PT�T�T�T�T�]�]�]�]�]�]�]�]�]�]�]�]�]�]�]�]�]�]�T�]�]�]�]�]�]�]�]�]�]�Z�]�X���������w�w�1�������lՏ�V2.0-00�������������������������9����� ELN$$MAINV2.0-00 4-MAR-1987 17:28��������������������VAX C T2.3-FT1���C$_EPERM��� C$_ENOENT��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ������������������������A8�$������ELN024.A����������������������������"[KITBUILD.INSTALL]CRTLOBJECT.OLB;11��������������������������������������������������������������������������������������������������������������������������2�"�����5��������6������C$_ESRCH���C$_EINTR���C$_EIO���C$_ENXIO���C$_E2BIG��� C$_ENOEXEC���C$_EBADF��� C$_ECHILD��� C$_EAGAIN��� C$_ENOMEM��� C$_EACCES��� C$_EFAULT��� C$_ENOTBLK���C$_EBUSY��� C$_EEXIST���C$_EXDEV��� C$_ENODEV��� C$_ENOTDIR��� C$_EISDIR��� C$_EINVAL��� C$_ENFILE��� C$_EMFILE��� C$_ENOTTY��� C$_ETXTBSY���C$_EFBIG��� C$_ENOSPC��� C$_ESPIPE���C$_EROFS��� C$_EMLINK���C$_EPIPE���C$_EDOM��� C$_ERANGE���C$_ERROR�PPATH=[]PHOME=[]PTERM=PUSER=��PY����7�����������������������������������ELN$CIOVECTORSV2.0-00 4-MAR-1987 17:36 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:CIOVECTOR/OBJECT=OBJ$:CIOVECTOR SRC$:CIOVECTOR+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB�%��Transfer vectors for C I/O routine�=���s���ATOF��CHMOD��CHOWN��CLOSE��CREAT��DELETE��DUP��DUP2��ECVT��FCLOSE��FCVT��FDOPEN��FFLUSH��FGETC��FGETNAME��FGETS��FOPEN��FPRINTF��FPUTC��FPUTS��FREAD��FREOPEN��FSCANF��FSEEK��FTELL��FWRITE��GCVT��GETCHAR��GETNAME��GETS��GETW��ISATTY��LSEEK��OPEN��PERROR��PRINTF��PUTCHAR��PUTS��PUTW��READ��REWIND��SCANF��SETBUF��SPRINTF��SSCANF�,���TMPFILE��UMASK��UNGETC�>�����WRITE��������� . ABS .����P������ $$$VECTORS�PAATOF ATOF&1�ATOF3Q���AECVT ECVT&1�ECVT3Q���AFCVT FCVT&1�FCVT3Q���AGCVT GCVT&1�GCVT3Q���ATMPFILE TMPFILE&1�TMPFILE3Q���ACHMOD CHMOD&1�CHMOD3Q���ACHOWN CHOWN&1�CHOWN3Q���ACLOSE CLOSE&1�CLOSE3Q���ACREAT CREAT&1�CREAT3Q���ADELETE DELETE&1�DELETE3Q���ADUP DUP&1�DUP3Q���ADUP2 DUP2&1�DUP23Q���AFCLOSE FCLOSE&1�FCLOSE3Q���AFDOPEN FDOPEN&�?���1�FDOPEN3Q����AFFLUSH FFLUSH&1�FFLUSH3Q���AFGETC FGETC&1�FGETC3Q���AFGETNAME FGETNAME&1�FGETNAME3Q���AFGETS FGETS&1�FGETS3Q���AFOPEN FOPEN&1�FOPEN3Q���AFPRINTF FPRINTF&1�FPRINTF3Q���AFPUTC FPUTC&1�FPUTC3Q���AFPUTS FPUTS&1�FPUTS3Q���AFREAD FREAD&1�FREAD3Q���AFREOPEN FREOPEN&1�FREOPEN3Q���AFSCANF FSCANF&1�FSCANF3Q���AFSEEK FSEEK&1�FSEEK3Q���AFTELL FTELL&1�FTELL3Q���AFWRITE� FWRITE&1�FW�@���RITE3Q���AGETCHAR GETCHAR&1�GETCHAR3Q���AGETNAME GETNAME&1�GETNAME3Q���AGETS GETS&1�GETS3Q���AGETW GETW&1�GETW3Q���AISATTY ISATTY&1�ISATTY3Q���ALSEEK LSEEK&1�LSEEK3Q���AOPEN OPEN&1�OPEN3Q���APRINTF PRINTF&1�PRINTF3Q���APUTCHAR PUTCHAR&1�PUTCHAR3Q���APUTS PUTS&1�PUTS3Q���APUTW PUTW&1�PUTW3Q���AREAD READ&1�READ3Q���AREWIND REWIND&1�REWIND3�Q���ASCANF SCANF&1�SCANF3Q���ASETBUF SETBUF&�A���1�SETBUF3Q���ASPRINTF SPRINTF&1�SPRINTF3Q���ASSCANF SSCANF&1�SSCANF3Q���AUMASK UMASK&1�UMASK3Q���AUNGETC UNGETC&1�UNGETC3Q���AWRITE WRITE&1�WRITE3Q���APERROR PERROR&1�PERROR3���w�w�1��������PՏ�V2.0-00�������������������������8�����ELN$MAINV2.0-00 4-MAR-1987 17:30 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:CMAIN/OBJECT=OBJ$:CMAIN SRC$:CMAIN+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/ �B���LIB���- VAXELN-C Main RoutinesC��� C$$COND_HAND��C$$MAIN� �����C$MAIN� ���� C$MAIN_ARGS���������� . ABS .����P����(���$CODE�U��P� C$$COND_HANDm~�C$$MAINP\P� C$$COND_HANDm�C$$MAINP\����w�w�1�������`3Տ�V2.0-00�������������������������?�����ELN$CMSCVECTORSV2.0-00 4-MAR-1987 17:36 ���VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:CMSCVECTOR/OBJECT=OBJ$:CMSCVECTOR SRC$:CMSCVECTOR+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPD�C���EF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB*��Transfer vectors for miscellaneous C rou��ABS��ATOI��ATOL�� C$$COND_HAND��C$$MAIN�� C$$TRANSLATE��C$MAIN�� C$MAIN_ARGS��CALLOC��CFREE��CTIME��ELN$ADD_LARGE_INTEGERS��ELN$INSERT_ENTRY��ELN$LOCATE_CRTL_CTX��ELN$READ_ERRNO��ELN$REMOVE_ENTRY��ELN$SUB_LARGE_INTEGERS��ELN$SWITCH_STACK��FREE��FTIME��GETENV��GSIGNAL�� LOCALTIME��LONGJMP��MALLOC��PAUSE��RAND��REALLOC��SETJMP��SIGBL�D���OCK��SIGNAL��SIGPAUSE�� SIGSETMASK9��SIGSTACK��SIGVEC��SLEEP��SRAND��SSIGNAL��STRCAT��STRCHR��STRCMP��STRCPY��STRCSPN��STRLEN��STRNCAT��STRNCMP��STRNCPY��STRPBRK��STRRCHR��STRSPN��TIME��TOLOWER��TOUPPER��VAXC$ESTABLISH�� VAXC$VA_COUNT�� VAXC$VA_START��VAXC$VA_START_1��_EXIT���������� . ABS .����P������ $$$VECTORS�PAMALLOC MALLOC&1�MALLOC3Q���ACALLOC CALLOC&1�CALLOC3Q���AFREE FREE&1��E���FREE3Q���ACFREE CFREE&1�CFREE3Q���AREALLOC REALLOC&1�REALLOC3Q���AABS ABS&1�ABS3Q���AATOI ATOI&1�ATOI3Q���AATOL ATOL&1�ATOL3Q���AELN$INSERT_ENTRY ELN$INSERT_ENTRY&1�ELN$INSERT_ENTRY3Q���AELN$REMOVE_ENTRY ELN$REMOVE_ENTRY&1�ELN$REMOVE_ENTRY3Q���ARAND RAND&1�RAND3Q���ASRAND SRAND&1�SRAND3Q����ASTRCAT STRCAT&1�STRCAT3Q���ASTRCHR STRCHR&1�STRCHR3Q���ASTRCMP STRCMP&1�STRCMP3Q���ASTRCPY STRCPY&1�STRCPY�F���3Q���ASTRCSPN STRCSPN&1�STRCSPN3Q���ASTRLEN STRLEN&1�STRLEN3Q���ASTRNCAT STRNCAT&1�STRNCAT3Q���ASTRNCMP STRNCMP&1�STRNCMP3Q���ASTRNCPY STRNCPY&1�STRNCPY3Q���ASTRPBRK STRPBRK&1�STRPBRK3Q���ASTRRCHR STRRCHR&1�STRRCHR3Q���ASTRSPN STRSPN&1�STRSPN3Q���ATIME TIME�&1�TIME3Q���AFTIME FTIME&1�FTIME3Q���ACTIME CTIME&1�CTIME3Q���A LOCALTIME LOCALTIME&1� LOCALTIME3Q���ATOLOWER TOLOWER&1�TOLOWER3Q���ATOUPP���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!������������������������r�$������ELN024.A����������������������������"[KITBUILD.INSTALL]CRTLOBJECT.OLB;1S;1������������������������������������������������������������������������������������������������������������������������V�"�����F��������G���ER TOUPPER&1�TOUPPER3Q���A C$$TRANSLATE C$$TRANSLATE&1� C$$TRANSLATE3Q���AC$MAIN1�C$MAINQ���A C$MAIN_ARGS1� C$MAIN_ARGSQ���AC$$MAIN C$$MAIN&1�C$$MAIN3Q���A C$$COND_HAND C$$COND_HAND&1� C$$COND_HAND3Q���AEXITA_EXIT _EXIT&1�_EXIT3Q���AGETENV GETENV&1�GETENV3Q���AELN$ADD_LARGE_INTEGERS ELN$ADD_LARGE_INTEGERS&1�ELN$ADD_LARGE_INTEGERS3Q���AELN$SUB_LARGE_INTEGERS ELN$SUB_LARGE_INTEGERS&1�ELN$SUB_LARGE_INTEGERS3Q���AELN$LOCATE_CRTL_CTX �H���ELN$LOCATE_CRTL_CTX&1�ELN$LOCATE_CRTL_CTX3Q���AELN$READ_ERRNO ELN$READ_ERRNO&1�ELN$READ_ERRNO3Q���ASETJMP SETJMP&1�SETJMP3Q���ALONGJMP LONGJMP&1�LONGJMP3Q���AGSIGNAL GSIGNAL&1�GSIGNAL3Q���ASIGNAL SIGNAL&1�SIGNAL�3Q���ASSIGNAL SSIGNAL&1�SSIGNAL3Q���APAUSE PAUSE&1�PAUSE3Q���ASIGBLOCK SIGBLOCK&1�SIGBLOCK3Q���ASIGPAUSE SIGPAUSE&1�SIGPAUSE3Q���A SIGSETMASK SIGSETMASK&1� SIGSETMASK3Q���ASIGSTACK SIGSTACK&1�SIGSTACK3�I���Q���ASIGVEC SIGVEC&1�SIGVEC3Q���ASLEEP SLEEP&1�SLEEP3Q���AELN$SWITCH_STACK ELN$SWITCH_STACK&1�ELN$SWITCH_STACK3Q���AVAXC$ESTABLISH VAXC$ESTABLISH&1�VAXC$ESTABLISH3Q���A VAXC$VA_COUNT� VAXC$VA_COUNT&1� VAXC$VA_COUNT3Q���A VAXC$VA_START VAXC$VA_START&1� VAXC$VA_START3Q���AVAXC$VA_START_1 VAXC$VA_START_1&1�VAXC$VA_START_13���w�w�1�������MՏ�V2.0-00�������������������������?�����ELN$CMTHVECTORSV2.0-00 4-MAR-1987 17:36 ���J����VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:CMTHVECTOR/OBJECT=OBJ$:CMTHVECTOR SRC$:CMTHVECTOR+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB&��Transfer vectors for C math routines���ACOS��ASIN��ATAN��ATAN2��CEIL��COS��COSH��EXP��FABS��FLOOR��FREXP��HYPOT��LDEXP��LOG��LOG10��MODF��POW��SIN��SINH��SQRT��TAN��TANH���������� . ABS .����P������� $$$VECTORS�PAACOS ACOS&1�ACOS3Q���K����AASIN ASIN&1�ASIN3Q���AATAN ATAN&1�ATAN3Q���AATAN2 ATAN2&1�ATAN23Q���ACEIL CEIL&1�CEIL3Q���ACOS COS&1�COS3Q���ACOSH COSH&1�COSH3Q���AEXP EXP&1�EXP3Q���AFABS FABS&1�FABS3Q���AFLOOR FLOOR&1�FLOOR3Q���AFREXP FREXP&1�FREXP3Q���AHYPOTACABS HYPOT&1�HYPOT3Q���ALDEXP LDEXP&1�LDEXP3Q���ALOG LOG&1�LOG3Q���ALOG10 LOG10&1�LOG10��3Q���AMODF MODF&1�MODF3Q���APOW POW&1�POW3Q���ASIN SI�L���N&1�SIN3Q���ASINH SINH&1�SINH3Q���ASQRT SQRT&1�SQRT3Q���ATAN TAN&1�TAN3Q���ATANH TANH&1�TANH3���w�w�1�������@16Տ�V2.0-00�������������������������7�����C$CTYPEV2.0-00 4-MAR-1987 17:28��������������������VAX C T2.3-FT1m���� C$V_CTYPEDEFS������� C$V_CTYPEDEFS������� C$V_CTYPEDEFS������$CODE�����$DATA�����_CTYPE_���P ((((( DDDDDDDDDDAAAAAABBBBBB�M��� ��P���w�w�1��������KՏ�V2.0-00�������������������������>�����VAXC$ESTABLISHV2.0-00 4-MAR-1987 17:33 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:ESTABLISH/OBJECT=OBJ$:ESTABLISH SRC$:ESTABLISH+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB�(��- establish exception handling routine��������� . ABS .����P��������$ABS$� ���P��P���� ���$CODE���P���� �������VAXC$ESTABLISH��& �Ь P����w�w�1��N��������� d_Տ�V2.0-00�������������������������8�����ELN$EXITV2.0-00 4-MAR-1987 17:33 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:EXIT/OBJECT=OBJ$:EXIT SRC$:EXIT+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB��- C RTL exit routines��� �����EXIT��KER$EXIT��������� . ABS .����P��������$ABS$����P�������$CODE���P���� �������_EXIT�& �lЬPPP~�KER$EXIT���w�w�1�������tՏ�V2.0-00��� �O�������������������������:����� ELN$GETENVV2.0-00 4-MAR-1987 17:28�������������������VAX C T2.3-FT1V���STRNCMP��STRLEN� ������<�GETENV��o���$CODE�����$DATA����ENVIRON���P<�^�PެUe�STRLENPTP�ScЬ�S���QA`P���w�w�1�������(Տ�V2.0-00�������������������������<����� C$$MATH_HANDV2.0-00 4-MAR-1987 17:34 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:MATHCHAND/OBJECT=OBJ$:MATHCHAND SRC$:MATHCHAND+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB�"��- math routine condition handlerB���C$_EDOM�� C$_ERANGE��ELN$LOCATE_CRTL_CTX�� KER$UNWIND��������� . ABS .����P��������$ABS$����P��P��P��P�������$CODE���P|� �T����� �����|� C$$MATH_HAND��&���ELN$LOCATE_CRTL_CTXPVЬRТS|TS�C$_EDOM7:=%Rя�SCя�S:я�S1я̂�S(я�S}T� C$_ERANGE7:=%RяĂ�S< PRfЬR}T ~�~� KER$UNWIND���w�w�1������� ״Տ�V2.0-00�������������������������D�����C$$MEMORY_ALLOCATIONV2.0-00 4-MAR-1987 17:35 ��VAXELN PASCAL V2.4-01� ��e �I ����o�e����ZTYPEREALLOCCFREEFREECALLOCMALLOC C$$TRANSLATE PAS$DISPOSE2PAS$NEW2�FI�U���LLUSEP P T FILLER  �� USED   � MPOINTER%� SIZE%�ANYTYPE  � %�  � %�  � NUMBER%� ESIZE%�  � MSIZE%�  � ERROR_NUMBER%�� MEMORY_POINTER%�� NUMBER_OF_BYTES%� �M��� C$$TRANSLATE�� PAS$DISPOSE2��PAS$NEW2�� PAS$HANDLER��PAS$GOTO�F������PQRЬPݠ� C$$TRANSLATEԢ@R�PAS$GOTOP�� ��+����MALLOC���+���P�^|� PAS$HANDLERm޼nޯ]n�PAS$NEW�V���2PЮЭP�^���PQRЬPݠ� C$$TRANSLATEԢzR�PAS$GOTOP�� �����CALLOC������P^|� PAS$HANDLERm޼޼nޯ]ŮnWW�PAS$NEW2PXVW�� ,�n�Fh��V��WW��,�n�WFhXЭP����P�Q\:\�PAS$GOTOP�� �����FREE�K����P�^|� PAS$HANDLERm޼nޯ̭]n� PAS$DISPOSE2ԭЭP��� ��A���CFREEW��A��P�^޼nnQRЬPݠ� C$$TRANSLATEԢ�R�PAS$GOTOP��� �� �W���}��REALLOC��}��P^|� PAS$HANDLERmЬ[޼n[оѮn[1�ޯ]n�PAS$NEW2PZînY!kQjSnXDcTY���w�w�1�������`Տ�1-012���������������������������8����� OTS$$CVTRT1-01216-SEP-1984 00:28 ��VAX/VMS Macro V04-00��MACRO/ENABLE=SUPPRESSION/DISABLE=(GLOBAL,TRACEBACK)/LIS=LIS$:OTSCVTRT/OBJ=OBJ$:OTSCVTRT MSRC$:OTSCVTRT/UPDATE=(ENH$:OTSCVTRT)�)��- Kernel Convert real (G and H) to text��� ���OTS$$A_CVT_TAB� �X��OTS$$CVT_G_T_R8� ����OTS$$CVT_H_T_R8� ��� OTS$$CVT_MUL� �z��OTS$$RET_A_CVT_TAB_R1��������� . ABS .���{�����P��������$ABS$� ���P��P���� �� _OTS$CODE��P0000000000010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899QWԧ2`Q1-*�QQmX�`�1 �� ms`<^^XÏ�@��QTS R<QQQ Qh R STTɏ���T 1v�QWԧ `Q1+� QQ � `���1�� mS`<^^XÏ���Q�|���`TS|h�R RSTɏ���T 1��>RG43I>GR>'R2PxPQxQQQQQPP 4RQQQRQR0VQď��QxQQQ4QQR4Rۨ'Ѣ  ѢѢbh4R>PRP PPRPR0ΨP5PQQhQP hhP P ԨP Qh��� ЧUV0ԨЏ�ʚ;RzR �Pը RQP QzR�PըRQPQ �zR�PըRQPQ� ��zRh�PhRQPhQ��}���� � UUS}ϛШQR{d���QQT3Dϋu{d���QQT"Dzu{d���QQTDiu{d���QQT�DXu0QuSU V1$VVU:Q-QQQUe5UPp90``§Pԧ֧<^WQЧQ,�n0a|ԧWQ�ЬPѠ<��7ЬQա.`RB`R�s ��� �ЏT��Џ ��P`QbPPԨ||$|,|4>ST:UVDhP,EbQ&zPQ�PDhEbQEbDhQPFQF�F0,ب0 ب4$ب8((QרQQ �hQ Q Q $ 2QQ2QQá#-ޟݦ��~���%I-64OSm�kXWڥ�22q#2I\� SU9zc%C1�]|d|FW$bGט#?9',Jg9Eϖyh.L[Mľ K7٬:|S\ 5$oe(KB.E.D?ˈPo ̼I9i$ MZDs10 h16A_p=|6+ aw̫Miv2=BzՔI?il7Tr3܀#GGŧN@a+�eX&1Zd;Onp= ףp= ףp= ף����������������������������������������������������������������������� ����������������@����������������P����������������$������������������������������ ���������������(k� ��������������"� �������������@C%� �������������(� �������������*焑,� ������������ /�������������1_2�������������6�������� p+ŝk� �%kqk<զIx�@�76l��3oߌG�ݍ~S�XPT\eƑ�P(= e uuvJ �RΚ2(M]=];�JJ?Lɚ R`'5��������� ������w�w�1���� ����Տ��2-003���������������������������8����� OTS$MSGDEF2-00315-SEP-1984 23:4415-SEP-1984 23:44��VAX-11 Message V04-00��������$ABS$������OTS$_USEFLORES���L�OTS$_WRONUMARG���D�OTS$_INSVIRMEM���<�OTS$_STRIS_INT���4�OTS$_OUTCONERR���,�OTS$_INPCONERR���$�OTS$_IO_CONCLO����OTS$_INTDATCOR����OTS$_FATINTERR��� �OTS$_INVSTRDES������ OTS$_FACILITY���w�w�1�������Տ�V2.0-00�������������������������8�����C$STRCAT����V2.0-00 4-MAR-1987 17:34 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRCAT/OBJECT=OBJ$:STRCAT SRC$:STRCAT+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB��- string concatenate��������� . ABS .����P�������$CODE���P���� �������STRCAT��&�ЬQ:�aЬPЬP���w�w�1�������@;Տ�V2.0-00�������������������������8�����C$STRCHRV2.0-00 4-MAR-1987 17:34 ��VAX/VMS Macro V04-00��MACRO/DEBUG=����NONE/LIS=LIS$:STRCHR/OBJECT=OBJ$:STRCHR SRC$:STRCHR+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB��- first character search��������� . ABS .����P�������$CODE���P��� ������STRCHR��&�}PRQRPRP���w�w�1�������+Տ�V2.0-00�������������������������8�����C$STRCMPV2.0-00 4-MAR-1987 17:34 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRCMP/OBJECT=OBJ$:STRCMP SRC$:STRCMP+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OB����J]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB��- string compare��������� . ABS .����P�������$CODE���P��� ������STRCMP��&�}QP PPPbPPP����w�w�1��������Տ�V2.0-00�������������������������8�����C$STRCPYV2.0-00 4-MAR-1987 17:34 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRCPY/OBJECT=OBJ$:STRCPY SRC$:STRCPY+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB��- string copy���������� . ABS .��������P�������$CODE���P���� �������STRCPY��&�}PЬP���w�w�1�������`Տ�V2.0-00�������������������������9����� C$STRCSPNV2.0-00 4-MAR-1987 17:34 ���VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRCSPN/OBJECT=OBJ$:STRCSPN SRC$:STRCSPN+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB���- span characters not in set��������� . ABS .����P����T���$CODE���P<��� �����<�STRCSPN�&T��^,�n��nЬ����Q9ЬR :�a)P@nQT:�d *dn TQ*QdnìQP���w�w�1�������4,Տ�V2.0-00�������������������������8�����C$STRLENV2.0-00 4-MAR-1987 17:34 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRLEN/OBJECT=OBJ$:STRLEN SRC$:STRLEN+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB��- string length���������� . ABS .����P�������$CODE���P���� �������STRLEN��&�ЬQ:�aìQP���w�w�1�������@MOՏ�����V2.0-00�������������������������9����� C$STRNCATV2.0-00 4-MAR-1987 17:34 ���VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRNCAT/OBJECT=OBJ$:STRNCAT SRC$:STRNCAT+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB�#��- string concatenate n characters���������� . ABS .����P����#���$CODE���P��� ������STRNCAT�&#�}Q:�aЬ P PaЬP����w�w�1�������]Տ�V2.0-00�������������������������9����� C$STRNCMPV2����.0-00 4-MAR-1987 17:34 ���VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRNCMP/OBJECT=OBJ$:STRNCMP SRC$:STRNCMP+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB���- string compare n characters���������� . ABS .����P����#���$CODE���P ��� ����� �STRNCMP�&#�Ь S}QP P SPbPPP����w�w�1�������`XoՏ�V2.0-00�������������������������9����� C$STRNCPYV2.0-00 4-MAR-1987 17:34 ���VAX/VMS Macro ����V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRNCPY/OBJECT=OBJ$:STRNCPY SRC$:STRNCPY+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB���- string copy n characters��������� . ABS .����P���� ���$CODE���P��� ������STRNCPY�& �}PЬ RRRЬP���w�w�1�������@!Տ�V2.0-00�������������������������9����� C$STRPBRKV2.0-00 4-MAR-1987 17:35 ���VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRPBRK/OBJECT=OBJ$:STRPBRK SR����C$:STRPBRK+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB���- scan for break character��������� . ABS .����P����J���$CODE���P<��� �����<�STRPBRK�&J��^,�n��nЬP4QAnЬQ QT:�d *dn TQ*QdnQP���w�w�1������� Տ�V2.0-00�������������������������9����� C$STRRCHRV2.0-00 4-MAR-1987 17:35 ���VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRRCHR/OBJECT=OBJ$:STRRCHR SRC$:STRRCHR+LIB$:ELNCMAC/����LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB���- last character search���������� . ABS .����P�������$CODE���P ��� ����� �STRRCHR�&�}PRSQSPRSRP���w�w�1�������@Տ�V2.0-00�������������������������8�����C$STRSPNV2.0-00 4-MAR-1987 17:35 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:STRSPN/OBJECT=OBJ$:STRSPN SRC$:STRSPN+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB��- span chara���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%������������������������v*f�$������ELN024.A����������������������������"[KITBUILD.INSTALL]CRTLOBJECT.OLB;11��������������������������������������������������������������������������������������������������������������������������݅�"����������������cters in set��������� . ABS .����P����T���$CODE���P<��� �����<�STRSPN��&T��^,�n��nЬQ9ЬR :�a)P@nQT:�d +dn TQ+QdnìQP���w�w�1�������`Տ�V2.0-00�������������������������@�����ELN$SWITCH_STACKV2.0-00 4-MAR-1987 17:35 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:SWSTACK/OBJECT=OBJ$:SWSTACK SRC$:SWSTACK+LIB$:ELNCMAC/LIB+LIBD$:[DAP.OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB�*��- execute signal handl����er on correct stac!��� KER$SIGNAL�� KER$WAIT_ANY���������� . ABS .����P����h���$CODE���P<��� �����<�ELN$SWITCH_STACK��&|�^RЬ ST ЬUU^X c~� KER$SIGNALЬ URTeUݬݬPRX c|~~� KER$WAIT_ANYTRP���w�w�1�������Տ�V2.0-00�������������������������6�����C$TIMEV2.0-00 4-MAR-1987 17:35 ��VAX/VMS Macro V04-00��MACRO/DEBUG=NONE/LIS=LIS$:TIME/OBJECT=OBJ$:TIME SRC$:TIME+LIB$:ELNCMAC/LIB+LIBD$:[DAP.����OBJ]DAPDEF/LIB+LIBD$:[SEALIB.OBJ]SYSTEMLIB/LIB"��- time related library functions��� KER$GET_TIME��������� . ABS .����P�������$CODE���P�@Kg|�P�� �����FTIME�&]�~R~~P`b� KER$GET_TIME}PЎRR|P1�¯PٯQ{�PPQƏ'��QЬRPQbTP��� �T����TIME��&O�~R~~P`b� KER$GET_TIME}PЎRR|P1�¯PٯQ{�PPQl ЬQPa����w�w�1�������@Տ�V2.0-00�������������������������7�����C$TIMEFV2.0-00 4-MAR-1987 17:29������������������������VAX C T2.3-FT1��PSunMonTueWedThuFriSatPJanFebMarAprMayJunJulAugSepOctNovDec��P�������������������������������������������������������������������������hP �^ЬQ֬ P0PPaЬS֬z��P{ PQP0PRRcЬP�^Q޼PA`RЬ Q֬ aЬ Q֬ aЬ P֬ b`Ь P(^�X��ELN$LOCATE_CRTL_CTXPYɰ�W($g؞ɖ�Vݬ� LOCALTIMEVݧhPV Vݧߨ~PV ݧ V9PV0 ݧVPV:ݧVPV:gV�PV 19ݧV����PV ($gɖ�P^ZV<�UnYWVπT��ELN$LOCATE_CRTL_CTX�XެST�NP3TUZz��UP{PQPPz��UP{d���PQPPz��UP{��PQPP Q�TWT�Ѽ3ռUZz��UP{PQPPz��UP{d���PQPPz��UP{��PQPPWNUSď3SŏQ�WRRSSTfUZz��UP{PQPPz��UP{d���PQPPz��UP{��PQPPWNUSď3SŏQ�WRRSSTWZ[z��UP{PQPPz��UP{d���PQPPz��UP{��PQPP[[SxVRCRŏQ�bRYRRTACWЧ�PxVRP ����RbnVRVxRRPRŏQ�bRRYxVRPRŏQ�bRYRі��� LOCALTIME��ELN$LOCATE_CRTL_CTX�� LOCALTIME� �����CTIME� ���� LOCALTIME����$CODE�����$DATA�;���$CHAR_STRING_CONSTANTS�RTUVYTǏQ�TRR nRRZRRz��RP{PQPPz��TP{Q�PQPPTǏ��Tz��TP{��PQPPTRFM �@��FIX VAR VFC UDF �STM STMLFSTMCR�>SHR 5���GET PUT �DEL UPD NIL UPI MSE �CTX ,��BIN ��rPfop=cif�zP  �PSYS$INPUT:�SYS$OUTPUT:�SYS$ERROR ����:�P�� ���CHMOD�&D�ݬ P!P\^\0Ў\v���WXЬP0)P�� ���CHOWN�&?�ݬ PP\^\0Ў\x zP��� ���CLOSE�&�0G*CX�3��3|~~� KER$WAIT_ANYkX�3��3|~~� KER$WAIT_ANYP�4g0@ 0� DAP$$CLEANUP|~?vݧx~0� ELN$CLOSEP0!ЎP0PP��� ���CREAT�&�0ЬUVP0ЬPPv���WX0>Z���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������&������������������������`G�$������ELN024.A����������������������������"[KITBUILD.INSTALL]CRTLOBJECT.OLB;11��������������������������������������������������������������������������������������������������������������������������yo�"������������ ����ԚlZZVެ \0P ЎVЎZ0PЎVЎZ`�ǀ� |~\?vݧx7~6~~ݧP<~~DŽ�ǀ�ߧLDߧ@ݧ<ݧ85~4~NJ�~0�ELN$OPEN*Z ZP�mP��� �m��DELETE��&:�0*ЬUV0:NJ�� DAP$ERASEP0ЎP0PP�� ���DUP�&�03k0 -ЎYYkX�3��3|~~� KER$WAIT_ANY*ZPX�3��3|~~� KER$WAIT_ANYP�� ���DUP2��&g0ЬYYZYPX�3������3|~~� KER$WAIT_ANY�ZjP-@P0 !X�3��3|~~� KER$WAIT_ANY޺PjYYPZIYiFX�3��3|~~� KER$WAIT_ANYݬfX�3��3|~~� KER$WAIT_ANYkX*XiX�3��3|~~� KER$WAIT_ANYЬPP��� ���FCLOSE��&#�ЬWP0 ~ԼP��� ���FDOPEN��&c�0~=ЬVU0Ur (UwUa f f+ [P� C$_EINVALP0P����UP��� �U��FFLUSH��&5�ЬWP0,�0g@�PP��� ���FGETC�&O�ЬWP0[:gV00gV,ѧ $(V�V Џ��WP0P߬ݬ�� C$$DOSCANuP�� �u��SETBUF��&_�ЬWP0hN լ =ЧЧլ çPЬP ЧЧgЧ���� �����SPRINTF�&(�߬ ݬݬ� C$$DOPRINTЬQ@a�� ���SSCANF��&V���^^WgЬЬݬ�STRLENPgA ^~^W߬ ݬW� C$$DOSCAN,P��� � ����,����UMASK�&�<P>P�� �>��UNGETC��&0�ЬWP0ЧQQP PqQgfP�� �f��WRITE�&0 �P0��0c , �0 < P P0X�3��3|~~� KER$WAIT_ANYҺZkP @P0�PkQA ZQk[A[PP�CALLOCPPPP|~?v|~0� ELN$CLOSE0�ЎP0PPP4-< Z2Ь[P�P 0$ gZP�C$_EBADFP0P_P�^P�Qa`�ELN$DECLARE_EXIT_HAN����DLER�TSdTRBP SeSRPX�3��3|~~� KER$WAIT_ANYkRH ТP P�FREEТP>Lj�QQP P�FREEТ\P P�FREER�FREEkX�3��3|~~� KER$WAIT_ANY3PЬUP0yՎ|~\?v~7~6~~ݧP<~~DŽ�ǀ�ߧLDߧ@ݧ<ݧ85~4~NJ�~0�ELN$OPENЬP|~?v|~0� ELN$CLOSEPkRk~PTZPTZTT`PZkWRk�C$_EBADFP0QPPVKWLj����� 6P 0P�0(Щ$$61>Lj�QQ ݧ�FREE66P0MPЧ0Q`�ˏw@Vя�V6}1DŽ�*<�PPL,PT01�PP<1�@1� DŽ�ǀ�~|~?v|~0� ELN$CLOSE0g�ǀ�DŽ�|~\?vݧx7~6~ݏ���ݧP<~~DŽ�ǀ�ߧLDߧ@ݧ<ݧ85~4~NJ�~0�ELN$OPEN0o,6������������������������������� �t �����������������������������������������������������������������������������������������������������������������������������D������������VaSgw)Knf=R .()W!/Ň M▾lCT;h~~@-o'd'5Y寁=gpd"_s&e}2TxmDE/&g1R d^sFFZ聭AaV^ .t!DwH侪3* Vkf[e9"G%"L�W$Pz0Ė.rF fgDY~Y žk8?S%%.2C֣$%.!18\T&WkUvke_290Ze&.Z ^V b`V;rߗIV< &v zG!B+Jq 8.d`ygG V+3+rucA<'P=%05XF+rʱ[;_0*S3Ϙ�1{KTB} PJ;�3َ+#IVL}Pn[demř/+(E:[z7  [&1`a$ d:uǒc[!8)мo\C^Jv7$Q^�_UG2Q|i$UI%z A2L qqX(bkbHF4He`׆Reh=U1~<4C5K0:?PڅRTkߧ "t�1u bC9FzJb˘gථ،9Hw[NP1zbq+o7qFz~#/nA?UZ)0_Zkɛ(O 4g .%3:=yY1]'Q2ӱp"P~:M*Be`W̋pU;g_7ܓL/{*DMq\H M!'Ny\YEOE MQmMp9, C \sP^#٘-DH7!RVTc ,`\_[(lk4 DŽZ$]1ni2 ۪J)=7뾛 t%uF\şE;k{䠮Q>bst: nh| bH=Sä.񄀈l~dl#u)}AsМ9!vlL{ LK>J %+#ڏT\gͪĢӀ ]N5MA:Ź[c 9RYay+CsI6+p_~{2k%Fv./1c@cvx 쮩\W@6v؅&'tPk!3w9. ^j{ۓ{.5fE7E"?uprB/{tl-4gU`/sJө\+Mv赥/^ꅧFYz3/|3Y lFjKiLjRP%\r;7 A?2*wYݍSbE#嬱\H|έ`IKGnH Y0T=bIƸF{˫wƗmc%Ub9c)yL-'E>N}}.[_o6jaD>}> y:dN+v{H;OT_X*Xͽc?8МmܜUQ&red�EY5+P#6/,N;C}(|oe :gɴ.(e/nAmZfKZ6D+B&+{0>( /ꗹ2JЉ7mg^ˁ �VD"`] zfzƋV=k 7אRU/X=~RoYۇC;[IP^! ͓ z9\?Qg5Ry 8X'O,=7MQ%1KՓr ֞m2Ll*g}raOCJ! ._ \>rvLQV>c /LD+ nFIEᯍ37vZ5ō* oޫ)4w-3~59aw^=6ԉgGZ0oi}S`A-U~Ȣ{ jbKm9G]c4[]|p>xh9gfIDZ(g]XHuH`6==)>"F7skMF8Э]|A^WNgPڿM=u0h(|з$_:0G`L)gX�<[5/*]I1vy@\緸l]UX4#Yj9}.C3\G=[FCI%\U4԰. b\a}lpZ*tQkAmZ" 5G +_ WkNHha)i&۞bÈ*bկظ8Uʊk~(CXGSmeo%QI T1~s2Xp*-\ 9˜hߍʳY`Kv̝9u٭[jAo3Na܊(?6FӐ|bR1B׸EZ%q^Yh^nxDXay^(P3Kzp,uv-v=(j|~~4qi.5Xu$7"R1mARŤb_S]c@4]ĞWWzFW *Κf"X27OjnRH-um(y`7]  ݝ"irK*$wRWf8ZLRϦ}=B[O}~WDu]keQ[PހNB]0kT!CWBs"ȍ ݐIiJ/sK`>+eUnWec š@/V۲)=MѳX�dgj<mXM�dZ hPz#Oozb(6"-hh