IMD 1.16: 29/05/2007 18:31:21 FOGCPM.061 --FOGCPM061ADVENTURCOM ADVENTURCOM"-06-00 86 ADVENTURDOCADVENTURWRK !"#$%&'(ADVENTURWRK)*+,-./012345678ADVENTURWRKD9:;<=>?@A-CPM061 DOCCHESS COMBCDEFGHIJKLMNOPQCHESS COMLRSTUVWXYZ[CHESS DOC \]CHESS FOR^_`abcdefghijklmCHESS FORHnopqrstuvOTHELLO COMwxyz{|}~OTHELLO COM.SNOOPY TXTTTT COMTTT ASMTTT ASMDThis is the disk name. 73() 7,2TAL RESEARCH Sid v 1.4 p2  r!,@rO {@Meo}o҃i. $ADVENTURDAT5defghij5J178 179 9 20 3 180 181 -1 12 7 VERY WELL. -1 0 ADVENTURWRKklmnopqrstuvwxyzDADVENTURWRK{|}~ADVENTURWRKDADVENTURWRK*z{¯#z+++ +^ !Ùi`"F!9]T>>+ >G5 /s ZQHf oʊ xGyON/: + 0 !K4Qw#|i}iS}>2!B62!Lp7t:=2!">2*~#"ͬ *w#":=2!"0>2 CAN NOT OPEN FILES!$:<W:PO:G>GyOxJ21y21!ͬ-h!0 ~_XXx)))GS" : eG:'>$*:  !w5R1!K4R1:1: 1d1!=8R1!6R1:B!PU!P:B̈́/: w#:w!B41!9R1> > ͬ F$@>*1ͬ: 2Ë: =_:1w#:1w>$v!?"1S}’: <2 !K9Rv" :ʦ}2!K9RS*1p#r#s#"1S}/*1w#"1ͬv*1sò!xH"1S}|*16v" ͬ ) )*1w#"1: w#:w#"1> *1w#.S}Fv" S: !=~/qnS: !>~/q7S}ƒv" SE: !?~/ptS}©v}"1S}!w:̈́/:1w#:1w°ÚG&.}o|gS}v2<͋/S|.}w#>$:02<0Qr!": >2 X!K9^#V~~/X!w:6#6yhdy!>~/~ʾGydOb3y!=~/Fb3 ˜dy!>~/Fy!'?~/pxy!=~/~Gb3 :kO2x!=8̈́/~#x!=~/6:=<2=y*+~2y>A1:12P!?!J">22 : }}:L}!6>͗/: 2:Kx!">2K: !K3: K.e!W:O¼~ʼ: 2>`.#¤:2 ʁ K3 :K. :]: ځ >2]Á _ : ځ >_.ҁ >2]f. 2./ y!_~/6 !_e: F :^w~#; >`.: Gb3Á 2m2n2o>2B!_~/~y !K9̈́/^#V#~21#~21>2?"1.:? :.d :. :. :B!e~/ !_:B~/ K3 :?= !Q~/V:. :.K. :B :?!Q~/:.w!?4*1~# :1’ :1’ :B!e~/~:?!Q~/w:?N =Of.O <2?!_:B~/~:B!e~/w:?!Q~/~w:B!W~/"1: Җ 6: ʮ :B!e~/: ³ *16*1~y :B!_~/: w:B, : W:Uy >7͂2y 2?2!kNx< >;~/:  xͯ3‚ x3$ >2?x :==W:>\ :?\ >7!_>~/~\ >3\ >͂2 >!_~/~~!e~/y >.y >`.y >`.>$!_>~/~ :UG72:VG$22:kO><¿ !=~/:  >;!=~/:  x3 x!'?~/~ H: G 2xͯ3 H:UGb3x¬ :U2d2j2\y >`.:UG72$:VG2 !m4:B!_~/~:B!e~/y !n4:SZ : 2S:]y G>m e Gf.y !o4:B<k :mځ 02    THERE ARE THREATENING LITTLE DWARVES IN THE ROOM WITH YOU. $>`.:nʁ :] <2]:nt 025 5  >2?:o( G:?`.:oʁ k 02V V   OF THEM THROW KNIVES AT YOU! $ OF THEM GET YOU! $: 2^>`.>42? : ^!w5ͣ0!@~#ʬ :ʬ !;: ~/~² !K4ͣ0\/ K3 :l >#.P>!6ͦ0>#ͯ3 !6>͗/*@ͥ/>2?K3G: !=3\/: !;~/4:6: !9<~/~2B2C:B2e>d2N>2ͯ3:!=~/~:J6:>l6@s6:==2=ʘ!>˜*|’}#ژ!#":!=~/~2@:!'?~/F: >2@:@G:3:B!<~/~2B*>62?:?2:!6͗/>2C22><2B!P~/~?!@Q:B~/"1:BG: K.**16*14:B͋/~*1?Å(:B!<:Jʇ>͂2g>ͯ3g>3dxͯ3ʃx͂2O>OxA͋2i\/2l:SʠG: ʠ2Sf.0:Oʼ/<2Oü2O*#"::12:E:=: !!5:)!5ʄ*>͂2*+"*|>}>>'3>>'͂2>>3**|m+:  S|+|*+a}*+>+2?: ͣ2v>F2?0*1ͳ0ʢ0*1ͳ00*1ͳ0*1|80*1ͳ0º0*1ͳ00*1ͳ00*1ͳ0*1{1c1y3!0-R1> 0*1ͳ0:<2 !6>͗/*1{1c1y2?xG>3*1"1!"1: 2:?Jl9:Cd2:2: 2=_!K9^#V#~21#~21"1~/ʻG:ʻ~#:1Š:1Š|*1.:.:./ͯ3/:././*1~#"1:.3/:.ͯ3/2.:.!=~/:./:.EW:.2J:.!6͗/: 2J:.lʚʦ ! >ǖ2:J‰>;ͯ3J: 2!6>u͗/J: G;b3>!͂2>!3>!͋2"22>!!=~/F!2>!!>~/F!2> #3: 2J>!!>~/F>!!=~/~G: Ox2>!͂26>#ͯ3J>!6͗/> ͋2>!͋2:G#b3>#!'?~/6>#͋2>?͂2c!>4:2^:2?N3~:2?:2: 2!"@:?! ¢>[`.J: !K9̈́/^#V#~21#~21"1.:.:.G:?$N3:.!K9̈́/^#V.:.G:?"@*1~#:1¹:1¹*@"1|$>`.J*1~2?G/2?G:J>!6͗/:<2!l6: !;~/6J: q>:s>9!6͗/J :+ڍ3ҍ ʗ™ ʨ$ʨ%ª ʴ¶ ;>A*P{!6͗/J!6<>.!6=>.!6 :`.:?2!?~/~2:'*1|8:4>2:E:=!VL:=!_^#Vcb !P! ##$%%A& ''1(9(8Tcb !P!!!%#%##$%^''(:?2!'?~/F: :?3?*1|8:E *1͏0 ? $WHAT DO YOU WANT ME TO DO WITH THE $:?x: YY^>?2?:  pp>@2?:?G:?™:]ڙ: !_#͓2!?«>3: ͣ2!?:>3>͂2>2::S! >2S>t2:>3>2*1}$:= *1͏0G I SEE NO $ HERE. $>!6͗/: 2:L:TRG=61!T4:Qʟ+:1ʟ+!_>>~/6>!_>~/6>ͯ3ʧ>͋2dxͯ3Hx:Gb3©>2 2Á >`.!T4ß+*1͏0 2 WHAT? $: !9<~/~21!<~/~:]2!_: #):12:ͯ3>2!>[͂2=[>s2!>#q͂2q>2:@†>#͂2ʆ>2:!'?~/~:ʡ͓2!³>3>2ͯ3>͂2$>͂2>i2>ͯ3>h2>2:>\!6͗/>!;͂2;>ͯ3!>!6͗/>ͯ34>!6͗/>͋2>͂2^:P^> !O: G 2:O: G 2͓22?::?!_>~/6>ͯ3ʦ:¦>ͯ3¦>2:ͯ3:8> 38>!6͗/:J—+> 2> ͋2͓22?G:>2::?!_>~/6:>͂2: Gb3:*͋2:O: Gb3:6`>&3`>62': Gb3>'3:©>3ʩ>͂2©>!6͗/>2>͋2> !=~/F> !_>~/x!>4:#>!3>!6͗/!22">!!=~/F2!>>!~/F2> #3>!͋2::> !=~/: >6!6͗/>:͋2> 32>:͋2>:͂2F>:3>:͂2>:!'?~/6*1}_"1{1c1xzy>ʯAʯGʯx†yʯ *1͏0  OKAY, "$". $!"12>2>Ϳ2>Ϳ2> 2>2:>@3>@Ϳ2::ʣʣ >o2> ͂2>62 > 2*>724@9>2:>3:@ :Lr>2?:K!">2K>͂2"2?>͋2:’>͋2>͂2G:?2?2?:´>2?:?|2:ͯ3:?x2>9ͯ3:?z2:>=2:|>2: Gb3=ib3:g>2>#͂2$>)2>@͂21>%2:>@͋2>@!'?~/6>#͂2W>wG>#!'?~/>w>2>@͂2y>"2>@!=~/: ʍ>2:>@͋2>@ͯ3ʭ@: Gb3>@!'?~/6>3>2*|>͋2>'!6͗/:l >3>͋2>(!6͗/\/>!6͗/:ͯ3.:)>ͯ3.>2:> 3:ͯ3:L> ͂2>w>G> 3::]ڋ!_: †>2Ë#z> 3> Q >3ʧ>͂2>Q >!3>!Q >#3>#͂2>#Q :>3:!6>3>Q >3>Q :2!6:J>2>͋2> !_>~/G> !=~/~-!>4!6-:!G6,G6: Q6._61:J—+f6!m6#>#͂2<ƥ!w:͂2>1`.220*1G ͳ0´*1L ͳ0ʦ>3>͋2>>͋2>!>~/F>!=~/~2?22:?G2:?G>dx!=~/N>!=~/~+ :!_>~/N>!>~/~5 :?HG2:?2 >2?GY YES G:] x2:n t ͓22:ͯ3>N2:ʓ >͋2:!_>~/6>M2> 3 >3>p2:>͂2Gw>3>͂2 wG>͋2>2?G: xq2> ͋2>3>2>H2:! H!H!H!#H!H!!H!>G2:r!: ͣ2r!͓2>3:ʃ!ʃ!!6n:n͓2>3>͋2>!_>~/6!6J:>L2:ʉͯ3:2!G:k!>!3":!>#3":‰!c: L"+ ">2>3(">͂2ʃ">2>!3ƒ">#3E">#͂2ʝ"2c>02>!.҃"x!W~/6x!_~/6>/2:P<2Pƒ">2:!6͗/: Gb3>2?G>2: Gb3>!'?~/6>͋2>##3>#2#>2:Ob3!22>!!=~/F"b3>!!>~/Fb3> #3>661:12I:IŸ+:3M#͓2!R#>3M#: ͣ2!?R#!6^:{#:]{#!_: v##j#{#!6^:Jʇ#!6:ͯ3!6>b2x##ͯ3#:b¼#!6>c͗/2Cx3>2C2xeŸ#>#ͯ3>!6͗/:#>d2 $ $!_$>f2:#$͂2#$>n2:!0$>2: :J>3>e2>2>͋2!>4x$>3>g2!]4#$͂2‰$>f2”$>n2>3>2>#͋2>!'?~/6>͋2>2>2::I%$$>3>k2: ͣ2$>j2͓2%>i2:k!w:: ̈́/~G>͋2͓22?>ͯ39%:?!_>~/6:?>l2>2: ͣ2]%>2: ͣ2>:ͯ3!6>͗/>:͋2>:!'?~/6*:J>͂2>2N: s¬%>2N>3ʹ%>2N:N`.ß+!H6ß+!H6*D$&&.*F:&&.% >661:12I#IF YOU WERE TO QUIT NOW, YOU WOULD SCORE OUT OF A POSSIBLE $*1{1́1c1y2?!6*:O=n&:O!6:?2O2O>8!_>~/N>8!=~/~! ¢&>8ͯ3>8!_>~/~&>!~/~&>!͂2&>!͋2>2?>83&>2?>8!=~/N: &2?>8!=~/F82:?83>2!6!62>3>Q > 3> Q >$3>$Q :JQ'>ͯ3Q'>2:\/\/:!q'6 x'6$'6˜':Pʘ'>ͯ3ʘ'!6::P>ͯ3>61:12P:'!6:'͂2'::J>`.×+!6>:ͯ3(:: Gb3>:͋2>:!'?~/6::J>`.×+>2D( ON A PERSONAL COMPUTER, THE CAVES ARE OPEN WHENEVER YOU LIKE. $:B!(Li)|)))))!@Q:B~/6:B͋/##~61:1?:B͋/#~02])&) :B͋/###F>61:B!P~/:1w)*%)}):B͋/#F*)":B!@Q~/6?I AM PREPARED TO GIVE YOU A HINT, BUT IT WILL COST YOU POINTS. $>͂2)>3ʜ()>3#)>ͯ3#):ʜ(#)> 3)>3ʜ(): !9<~/~):!9<~/~):!9<~/~):Ҝ()>;͂2)><͂2()Ü(>͋2> ͋2!W_w# *!22>!!=~/F"2>!!>~/F2> #3>#͂2R*>#2>@͋2>@!'?~/6>͋2>!'?~/6>`.>22La> 3>2>2>2>2>2>s2 22t2> 3>3>3>3> 3>2>!'?~/6tdxͯ3*x2*>`.>2JJ>`.>'͋2>'ͯ3+': Gb3* "2Ra:Ra>3a>2R>2>'!_>~/~U+!6>'͂2d+!6:`.a!">͋2>3a>`.a>`.>2Iß+>!6͗/!"D"F2:kOx!=8̈́/~# , x7++z2?x͂2+*D##"D+x!_>~/:?_~+*D++"D*F:?_"Fy®+:Q!To&~*D:HG:I0,:];,:LF,:Jp,:NW, _,g,o,-"D>!_>~/~l*D…,###"D:Qo&~*Ff"F:<Gx!P~/~,x͋/#~/_*D"D£,:H%*D-&.*F-&.*-&.- x!P̈́/^#V*D|- -}-> ,x!P͗/x H-!P̈́/^#V*Dzg{o.&.- S-  TO ACHIEVE THE NEXT HIGHER RATING WOULD BE A NEAT TRICK. *** CONGRATULATIONS *** $YOU SCORED OUT OF A POSSIBLE , USING TURNS. $TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED MORE POINTS. $"1!d1/@.! 1/@.{*10w#"1!w:̈́/x{_#z!6×/ !~q#o.!s}~wқ.!E!w+‘.} . €.+}.x!}>2  +:=.:{f.d.3ʽ3>͂2ʽ3û3=_=_!P=_=_V#^"1/xʹ/I0í/~>:C/ I0 :121:1?_:1{/21:121:190@=0A0E0"1 :1w:1_!"/Ɓ2!0!Q!r!:=2v0:1<21j021:1@2121/I0*~#"$_xI0I0"1^*1#> Ï0: ̈́/~2A#~2@»3#µ0ý3ENTERSTREAWATEROIL PLANTDOOR POUR WEST 1 !"1"1 !6 # 1!1:1G<1!"1R1F1!-"1-R1> #>1> >1#H1~ # T1x&yoxy1GM$k1DxH"1Ⱦ˜1#ƒ1OG˜1*1Á1!91!6͗/0!~Y1N1b2 1>1>A21x×/ye2!_>~/~6!4x!9<~/~;2"1y!<~/~*1w21:1!<~/~R221>2"1y!<~/~*1wPLEASE ANSWER WITH YES OR NO. $!=~/~!=~/p>͂2=2>>!w:̈́/~´2>Ø2~ʘ2>Ø2G3x2G32Oye2!_>~/~2d!'?~/~22G 2b3͋2sO23͋2t33O!_>~/F2y!'?~/FydO2>.>!6×/: =_!w:~_3ɷye҇3y!_>~/~|3:=2y!_>~/pÑ3yd!'?~/pxx!9<~/Fy!<~/px!9<~/q!_>~/~ʽ3>!_>~/~ʽ3! ʽ3û3G!'?~/~! ʽ3x33 1J!=8Ù/SORRY, BUT I AM STILL LEARNING HOW TO DO THAT. TRY SOMETHING ELSE FOR NOW. $*f#D'Fw 7 l   E  n r = rR*{Q L,5mv,5x?L8gbNK9qz T !z"L"}"#$$%&''U'()()Y*c**,./f/0035667$7c778Y9%9??@Y@AABB[BBCCSCCCCDD&D8DJD\DyDDDDDE E#ECEbE~EEEEEF F&FKFcFFFFGGGBGrGGGGHHH4HFH]HrHHHHHHII-I?IQImIIIIIJJ2JOJo]`?`p`aaGa]asaabbqbbbcDcccdMd|ee?eveeffEfhffffg0gGg`g{ggggh7hGhNhohhhi4iQinnnnno5oopOpgpmpqESE\EeEqEEEEEEEEFF F(F0F:FBFLFkF|FFFFFFFFG@GhGGGGH0HXH]H @ gk 2 3456}8 9 ;  %?#&(<:>!@p  ^`egjmo#awuu~`\_adew  ^`egjmo#awuu~`\_adew Cnyzzy Cnyzzy!!&&*+nnIK ;;mC Òn ,  .- +-- !O +,. +U, +,+S<+, Q Q   ,   +   J!$& J"#"&IuK)*,&  -., 8XJC+D,C ?XK)*+)& !-$& & >,9Z"+5#nFd!!+%+'A$,&%8S<$+@4A)*.;<,)*+-P*,-+02R*+./W-,-+,23,134124523457V3465,47897 7:ST9+)+=>-<> <?=>.'8A,g-j@B:D:Ö'%@G:jAC:M`|aB,EAD pwmqGAoAFnAvIa0H. pyKLMKKNB-M*PPQP,,.9TU9SrS+4-8\,_-IHX]^\.\.g-c^.\[B,BH,b-a.cb2-++d-,cnF!e/d.GgJfhã@gihg@Al=uD+-./012jrEq-GFr'Å-m. TtsQv)*Eu/THuE-+EJJ+-{)*E/T|~z|+~{}/0%~|.~-+}.|b}, |~|-.~,|+(~,|~kpkpkpkpkpkpkpkpkpp-ROAD HILL ENTERUPSTRDOWNSFORESFORWACONTIONWARBACK RETURRETREVALLE STAIR OUT OUTSI EXIT LEAVE BUILD HOUSE GULLY STREAROCK BED CRAWLCOBBLINWARINSIDIN SURFANULL NOWHEDARK PASSATUNNELOW CANYOAWKWAGIANTVIEW UPWARUP U ABOVEASCEND DOWNWDOWN DESCEPIT OUTDO CRACK!STEPS"DOME #LEFT $RIGHT%HALL &JUMP 'BARRE(OVER )ACROS*EAST +E +WEST ,W ,NORTH-N -SOUTH.S .NE /SE 0SW 1NW 2DEBRI3HOLE 4WALL 5BROKE6Y2 7CLIMB8LOOK 9EXAMI9TOUCH9DESCR9FLOOR:ROOM ;SLIT <SLAB =SLABR=XYZZY>DEPRE?ENTRA@PLUGHASECREBCAVE CCROSSEBEDQUFPLOVEGORIENHCAVERISHELLJRESERKMAIN LOFFICLFORK MKEYS KEY LAMP HEADLLANTEGRATECAGE ROD ROD STEPSBIRD DOOR PILLOVELVESNAKEFISSUTABLECLAM OYSTEMAGAZISSUESPELU"SPELDWARFDWARVKNIFEKNIVEFOOD RATIOBOTTLJAR WATERH20 OIL MIRROPLANTBEANSPLANTSTALASHADOFIGURAXE DRAWIPIRATDRAGOCHASMTROLL TROLL BEAR MESSA VOLCA GEYSE MACHIVENDIBATTECARPEMOSS GOLD NUGGEDIAMOSILVEBARS JEWELCOINSCHESTBOX TREASEGGS EGG NEST TRIDE!VASE "MING "SHARD"POTTE"EMERA#PLATI$PYRAM$PEARL%RUG &PERSI&SPICE'CHAIN(CARRYTAKE KEEP CATCHSTEALCAPTUGET TOTE DROP RELEAFREE DISCADUMP SAY CHANTSING UTTERMUMBLUNLOCOPEN NOTHILOCK CLOSELIGHTON EXTINOFF WAVE SHAKESWINGCALM PLACATAME WALK RUN TRAVEGO PROCECONTIEXPLOGOTO FOLLOTURN ATTACKILL FIGHTHIT STRIKPOUR EAT DEVOUDRINKRUB THROWTOSS QUIT FIND WHEREINVENFEED FILL BLASTDETONIGNITBLOWUSCOREFEE FIE FOE FOO FUM BRIEFREAD PERUSBREAKSHATTSMASHWAKE DISTUSUSPEPAUSESAVE HOURSFEE FIE FOE FOO FUM SESAM OPENS ABRA ABRAC SHAZA HOCUS POCUS HELP ? TREE TREES DIG EXCAV LOST MIST FUCK  STOP C INFO F INFORF SWIM K /fՠ0b#d,J]' >?KNG UTTERMUMBLUNLOCOPEN NOTHILOCK CLOSELIGHTON EXTINOFF WAVE SHAKESWINGCALM PLACATAME WALK RUN TRAVEGO PROCECONTIEXPLOGOTO FOLLOTURN ATTACKILL FIGHTHIT STRIKPOUR EAT DEVOUDRINKRUB THROWTOSS QUIT FIND WHEREINVENFEED FILL BLASTDETONIGNITBLOWUSCOREFEE FIE FOE FOO FUM BRIEFREAD PERUSBREAKSHATTSMASHWAKE DISTUSUSPEPAUSESAVE HOURSFEE FIE FOE FOO FUM SESAM OPENS ABRA ABRAC SHAZA HOCUS POCUS HELP ? TREE TREES DIG EXCAV LOST MIST FUCK  STOP C INFO F INFORF SWIM K /fՠ0b#d,J]' >?To run ADVENTURE, place ADVENTUR.COM & ADVENTUR.WRK in drive A. At the A> prompt, type ADVENTUR When asked, enter HELP and INFO to get started. $YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING. AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY.$YOU HAVE WALKED UP A HILL, STILL IN THE FOREST. THE ROAD SLOPES BACK DOWN THE OTHER SIDE OF THE HILL. THERE IS A BUILDING IN THE DISTANCE.$YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING.$YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A ROCKY BED.$YOU ARE IN OPEN FOREST, WITH A DEEP VALLEY TO ONE SIDE.$YOU ARE IN OPEN FOREST NEAR BOTH A VALLEY AND A ROAD.$AT YOUR FEET ALL THE WATER OF THE STREAM SPLASHES INTO A 2-INCH SLIT IN THE ROCK. DOWNSTREAM THE STREAMBED IS BARE ROCK.$YOU ARE IN A 20-FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO THE DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY STREAMBED LEADS INTO THE DEPRESSION.$YOU ARE IN A SMALL CHAMBER BENEATH A 3X3 STEEL GRATE TO THE SURFACE. A LOW CRAWLWAY OVER COBBLES LEADS INWARD TO THE WEST.$YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT AT THE EAST END OF THE PASSAGE.$YOU ARE IN A DEBRIS ROOM FILLED WITH STUFF WASHED IN FROM THE SURFACE. A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS HERE, BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL SAYS "MAGIC WORD XYZZY".$YOU ARE IN AN AWKWARD SLOPING EAST/WEST CANYON.$YOU ARE IN A SPLENDID CHAMBER THIRTY FEET HIGH. THE WALLS ARE FROZEN RIVERS OF ORANGE STONE. AN AWKWARD CANYON AND A GOOD PASSAGE EXIT FROM EAST AND WEST SIDES OF THE CHAMBER.$AT YOUR FEET IS A SMALL PIT BREATHING TRACES OF WHITE MIST. AN EAST PASSAGE ENDS HERE EXCEPT FOR A SMALL CRACK LEADING ON.$YOU ARE AT ONE END OF A VAST HALL STRETCHING FORWARD OUT OF SIGHT TO THE WEST. THERE ARE OPENINGS TO EITHER SIDE. NEARBY, A WIDE STONE STAIRCASE LEADS DOWNWARD. THE HALL IS FILLED WITH WISPS OF WHITE MIST SWAYING TO AND FRO ALMOST AS IF ALIVE. A COLD WIND BLOWS UP THE STAIRCASE. THERE IS A PASSAGE AT THE TOP OF A DOME BEHIND YOU.$THE CRACK IS FAR TOO SMALL FOR YOU TO FOLLOW.$YOU ARE ON THE EAST BANK OF A FISSURE SLICING CLEAR ACROSS THE HALL. THE MIST IS QUITE THICK HERE, AND THE FISSURE IS TOO WIDE TO JUMP.$THIS IS A LOW ROOM WITH A CRUDE NOTE ON THE WALL. THE NOTE SAYS, "YOU WON'T GET IT UP THE STEPS".$YOU ARE IN THE HALL OF THE MOUNTAIN KING, WITH PASSAGES OFF IN ALL DIRECTIONS.$YOU ARE AT THE BOTTOM OF THE PIT WITH A BROKEN NECK.$YOU DIDN'T MAKE IT.$THE DOME IS UNCLIMBABLE.$YOU ARE AT THE WEST END OF THE TWOPIT ROOM. THERE IS A LARGE HOLE IN THE WALL ABOVE THE PIT AT THIS END OF THE ROOM.$YOU ARE AT THE BOTTOM OF THE EASTERN PIT IN THE TWOPIT ROOM. THERE IS A SMALL POOL OF OIL IN ONE CORNER OF THE PIT.$YOU ARE AT THE BOTTOM OF THE WESTERN PIT IN THE TWOPIT ROOM. THERE IS A LARGE HOLE IN THE WALL ABOUT 25 FEET ABOVE YOU.$YOU CLAMBER UP THE PLANT AND SCURRY THROUGH THE HOLE AT THE TOP.$YOU ARE ON THE WEST SIDE OF THE FISSURE IN THE HALL OF MISTS.$YOU ARE IN A LOW N/S PASSAGE AT A HOLE IN THE FLOOR. THE HOLE GOES DOWN TO AN E/W PASSAGE.$YOU ARE IN THE SOUTH SIDE CHAMBER.$YOU ARE IN THE WEST SIDE CHAMBER OF THE HALL OF THE MOUNTAIN KING. A PASSAGE CONTINUES WEST AND UP HERE.$>*<$YOU CAN'T GET BY THE SNAKE.$YOU ARE IN A LARGE ROOM, WITH A PASSAGE TO THE SOUTH, A PASSAGE TO THE WEST, AND A WALL OF BROKEN ROCK TO THE EAST. THERE IS A LARGE "Y2" ON A ROCK IN THE ROOM'S CENTER.$YOU ARE IN A JUMBLE OF ROCK, WITH CRACKS EVERYWHERE.$YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE RIGHT. MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND 25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU.$YOU ARE IN A DIRTY BROKEN PASSAGE. TO THE EAST IS A CRAWLWAY. TO THE WEST IS A LARGE PASSAGE. ABOVE YOU IS A HOLE TO ANOTHER PASSAGE.$YOU ARE ON THE BRINK OF A SMALL CLEAN CLIMBABLE PIT. A CRAWLWAY LEADS WEST.$YOU ARE IN THE BOTTOM OF A SMALL PIT WITH A LITTLE STREAM, WHICH ENTERS AND EXITS THROUGH TINY SLITS.$YOU ARE IN A LARGE ROOM FULL OF DUSTY ROCKS. THERE IS A BIG HOLE IN THE FLOOR. THERE ARE CRACKS EVERYWHERE, AND A PASSAGE LEADING EAST.$YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH OF THE HALL OF MISTS.$YOU ARE AT THE WEST END OF HALL OF MISTS. A LOW WIDE CRAWLWAY CONTINUES WEST AND ANOTHER GOES NORTH. TO THE SOUTH IS A LITTLE PASSAGE 6 FEET OFF THE FLOOR.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$DEAD END$DEAD END$DEAD END$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A  MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$DEAD END$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$DEAD END$YOU ARE ON THE BRINK OF A THIRTY FOOT PIT WITH A MASSIVE ORANGE COLUMN DOWN ONE WALL. YOU COULD CLIMB DOWN HERE BUT YOU COULD NOT GET BACK UP. THE MAZE CONTINUES AT THIS LEVEL.$DEAD END$YOU HAVE CRAWLED THROUGH A VERY LOW WIDE PASSAGE PARALLEL TO AND NORTH OF THE HALL OF MISTS.$YOU ARE AT THE EAST END OF A VERY LONG HALL APPARENTLY WITHOUT SIDE CHAMBERS. TO THE EAST A LOW WIDE CRAWLWAY SLANTS UP. TO THE NORTH A ROUND TWO FOOT HOLE SLANTS DOWN$YOU ARE AT THE WEST END OF A VERY LONG FEATURELESS HALL.$THE HALL JOINS UP WITH A NARROW NORTH/SOUTH PASSAGE.$YOU ARE AT A CROSSOVER OF A HIGH N/S PASSAGE AND A LOW E/W ONE.$DEAD END$YOU ARE AT A COMPLEX JUNCTION. A LOW HANDS AND KNEES PASSAGE FROM THE NORTH JOINS A HIGHER CRAWLWAY FROM THE EAST TO MAKE A WALKING PASSAGE GOING WEST. THERE IS ALSO A LARGE ROOM ABOVE. THE AIR IS DAMP HERE.$YOU ARE IN BEDQUILT, A LONG EAST/WEST PASSAGE WITH HOLES EVERYWHERE. TO EXPLORE AT RANDOM, SELECT NORTH, SOUTH, UP, OR DOWN.$YOU ARE IN A ROOM WHOSE WALLS RESEMBLE SWISS CHEESE. OBVIOUS PASSAGES GO WEST, EAST, NE, AND NW. PART OF THE ROOM IS OCCUPIED BY A LARGE BEDROCK BLOCK.$YOU ARE AT THE EAST END OF THE TWOPIT ROOM. THE FLOOR HERE IS LITTERED WITH THIN ROCK SLABS, WHICH MAKE IT EASY TO DESCEND THE PITS. THERE IS A PATH HERE BYPASSING THE PITS TO CONNECT PASSAGES FROM EAST AND WEST. THERE ARE HOLES ALL OVER, BUT THE ONLY BIG ONE IS ON THE WALL DIRECTLY OVER THE WEST PIT WHERE YOU CAN'T GET TO IT.$YOU ARE IN A LARGE LOW CIRCULAR CHAMBER WHOSE FLOOR IS AN IMMENSE SLAB FALLEN FROM THE CEILING (SLAB ROOM). TO THE EAST AND WEST THERE WERE ONCE LARGE PASSAGES, BUT THEY ARE NOW FILLED WITH BOULDERS. LOW SMALL PASSAGES GO NORTH AND SOUTH, AND THE SOUTH ONE QUICKLY BENDS WEST AROUND THE BOULDERS.$YOU ARE IN A SECRET N/S CANYON ABOVE A LARGE ROOM.$YOU ARE IN A SECRET N/S CANYON ABOVE A SIZABLE PASSAGE.$YOU ARE IN A SECRET CANYON AT A JUNCTION OF THREE CANYONS, BEARING NORTH, SOUTH, AND SE. THE NORTH ONE IS AS TALL AS THE OTHER TWO COMBINED.$YOU ARE IN A LARGE LOW ROOM. CRAWLWAYS LEAD NORTH, SE, AND SW.$DEAD END CRAWLWAY.$YOU ARE IN A SECRET CANYON WHICH HERE RUNS E/W. IT CROSSES OVER A VERY TIGHT CANYON 15 FEET BELOW. IF YOU GO DOWN YOU MAY NOT BE ABLE TO GET BACK UP.$YOU ARE AT A WIDE PLACE IN A VERY TIGHT N/S CANYON.$THE CANYON HERE BECOMES TOO TIGHT TO GO FURTHER SOUTH.$YOU ARE IN A TALL E/W CANYON. A LOW TIGHT CRAWLWAY GOES 3 FEET NORTH AND SEEMS TO OPEN UP.$THE CANYON RUNS INTO A MASS OF BOULDERS -- DEAD END.$THE STREAM FLOWS OUT THROUGH A PAIR OF 1 FOOT DIAMETER SEWER PIPES. IT WOULD BE ADVISABLE TO USE THE EXIT.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$DEAD END$DEAD END$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$DEAD END$DEAD END$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL ALIKE.$YOU ARE IN A LONG, NARROW CORRIDOR STRETCHING OUT OF SIGHT TO THE WEST. AT THE EASTERN END IS A HOLE THROUGH WHICH YOU CAN SEE A PROFUSION OF LEAVES.$THERE IS NOTHING HERE TO CLIMB. USE "UP" OR "OUT" TO LEAVE THE PIT.$YOU HAVE CLIMBED UP THE PLANT AND OUT OF THE PIT.$YOU ARE AT THE TOP OF A STEEP INCLINE ABOVE A LARGE ROOM. YOU COULD CLIMB DOWN HERE, BUT YOU WOULD NOT BE ABLE TO CLIMB UP. THERE IS A PASSAGE LEADING BACK TO THE NORTH.$YOU ARE IN THE GIANT ROOM. THE CEILING HERE IS TOO HIGH UP FOR YOUR LAMP TO SHOW IT. CAVERNOUS PASSAGES LEAD EAST, NORTH, AND SOUTH. ON THE WEST WALL IS SCRAWLED THE INSCRIPTION, "FEE FIE FOE FOO" [SIC].$THE PASSAGE HERE IS BLOCKED BY A RECENT CAVE-IN.$YOU ARE AT ONE END OF AN IMMENSE NORTH/SOUTH PASSAGE.$YOU ARE IN A MAGNIFICENT CAVERN WITH A RUSHING STREAM, WHICH CASCADES OVER A SPARKLING WATERFALL INTO A ROARING WHIRLPOOL WHICH DISAPPEARS THROUGH A HOLE IN THE FLOOR. PASSAGES EXIT TO THE SOUTH AND WEST.$YOU ARE IN THE SOFT ROOM. THE WALLS ARE COVERED WITH HEAVY CURTAINS, THE FLOOR WITH A THICK PILE CARPET. MOSS COVERS THE CEILING.$THIS IS THE ORIENTAL ROOM. ANCIENT ORIENTAL CAVE DRAWINGS COVER THE WALLS. A GENTLY SLOPING PASSAGE LEADS UPWARD TO THE NORTH, ANOTHER PASSAGE LEADS SE, AND A HANDS AND KNEES CRAWLWAY LEADS WEST.$YOU ARE FOLLOWING A WIDE PATH AROUND THE OUTER EDGE OF A LARGE CAVERN. FAR BELOW, THROUGH A HEAVY WHITE MIST, STRANGE SPLASHING NOISES CAN BE HEARD. THE MIST RISES UP THROUGH A FISSURE IN THE CEILING. THE PATH EXITS TO THE SOUTH AND WEST.$YOU ARE IN AN ALCOVE. A SMALL NW PATH SEEMS TO WIDEN AFTER A SHORT DISTANCE. AN EXTREMELY TIGHT TUNNEL LEADS EAST. IT LOOKS LIKE A VERY TIGHT SQUEEZE. AN EERIE LIGHT CAN BE SEEN AT THE OTHER END.$YOU'RE IN A SMALL CHAMBER LIT BY AN EERIE GREEN LIGHT. AN EXTREMELY NARROW TUNNEL EXITS TO THE WEST. A DARK CORRIDOR LEADS NE.$YOU'RE IN THE DARK-ROOM. A CORRIDOR LEADING SOUTH IS THE ONLY EXIT.$YOU ARE IN AN ARCHED HALL. A CORAL PASSAGE ONCE CONTINUED UP AND EAST FROM HERE, BUT IS NOW BLOCKED BY DEBRIS. THE AIR SMELLS OF SEA WATER.$YOU'RE IN A LARGE ROOM CARV ED OUT OF SEDIMENTARY ROCK. THE FLOOR AND WALLS ARE LITTERED WITH BITS OF SHELLS IMBEDDED IN THE STONE. A SHALLOW PASSAGE PROCEEDS DOWNWARD, AND A SOMEWHAT STEEPER ONE LEADS UP. A LOW HAND AND KNEES PASSAGE ENTERS FROM THE SOUTH.$YOU ARE IN A LONG SLOPING CORRIDOR WITH RAGGED SHARP WALLS.$YOU ARE IN A CUL-DE-SAC ABOUT EIGHT FEET ACROSS.$YOU ARE IN AN ANTEROOM LEADING TO A LARGE PASSAGE TO THE EAST. SMALL PASSAGES GO WEST AND UP. THE REMNANTS OF RECENT DIGGING ARE EVIDENT. A SIGN IN MIDAIR HERE SAYS "CAVE UNDER CONSTRUCTION BEYOND THIS POINT. PROCEED AT OWN RISK. [WITT CONSTRUCTION COMPANY]"$YOU ARE IN A MAZE OF TWISTY LITTLE PASSAGES, ALL DIFFERENT.$YOU ARE AT WITT'S END. PASSAGES LEAD OFF IN *ALL* DIRECTIONS.$YOU ARE IN A NORTH/SOUTH CANYON ABOUT 25 FEET ACROSS. THE FLOOR IS COVERED BY WHITE MIST SEEPING IN FROM THE NORTH. THE WALLS EXTEND UPWARD FOR WELL OVER 100 FEET. SUSPENDED FROM SOME UNSEEN POINT FAR ABOVE YOU, AN ENORMOUS TWO-SIDED MIRROR IS HANGING PARALLEL TO AND MIDWAY BETWEEN THE CANYON WALLS. (THE MIRROR IS OBVIOUSLY PROVIDED FOR THE USE OF THE DWARVES, WHO AS YOU KNOW, ARE EXTREMELY VAIN.) A SMALL WINDOW CAN BE SEEN IN EITHER WALL, SOME FIFTY FEET UP.$YOU'RE AT A LOW WINDOW OVERLOOKING A HUGE PIT, WHICH EXTENDS UP OUT OF SIGHT. A FLOOR IS INDISTINCTLY VISIBLE OVER 50 FEET BELOW. TRACES OF WHITE MIST COVER THE FLOOR OF THE PIT, BECOMING THICKER TO THE LEFT. MARKS IN THE DUST AROUND THE WINDOW WOULD SEEM TO INDICATE THAT SOMEONE HAS BEEN HERE RECENTLY. DIRECTLY ACROSS THE PIT FROM YOU AND 25 FEET AWAY THERE IS A SIMILAR WINDOW LOOKING INTO A LIGHTED ROOM. A SHADOWY FIGURE CAN BE SEEN THERE PEERING BACK AT YOU.$A LARGE STALACTITE EXTENDS FROM THE ROOF AND ALMOST REACHES THE FLOOR BELOW. YOU COULD CLIMB DOWN IT, AND JUMP FROM IT TO THE FLOOR, BUT HAVING DONE SO YOU WOULD BE UNABLE TO REACH IT TO CLIMB BACK UP.$YOU ARE IN A LITTLE MAZE OF TWISTING PASSAGES, ALL DIFFERENT.$YOU ARE AT THE EDGE OF A LARGE UNDERGROUND RESERVOIR. AN OPAQUE CLOUD OF WHITE MIST FILLS THE ROOM AND RISES RAPIDLY UPWARD. THE LAKE IS FED BY A STREAM, WHICH TUMBLES OUT OF A HOLE IN THE WALL ABOUT 10 FEET OVERHEAD AND SPLASHES NOISILY INTO THE WATER SOMEWHERE WITHIN THE MIST. THE ONLY PASSAGE GOES BACK TOWARD THE SOUTH.$DEAD END$YOU ARE AT THE NORTHEAST END OF AN IMMENSE ROOM, EVEN LARGER THAN THE GIANT ROOM. IT APPEARS TO BE A REPOSITORY FOR THE "ADVENTURE" PROGRAM. MASSIVE TORCHES FAR OVERHEAD BATHE THE ROOM WITH SMOKEY YELLOW LIGHT. SCATTERED ABOUT YOU CAN BE SEEN A PILE OF BOTTLES (ALL EMPTY), A NURSERY OF YOUNG BEANSTALKS MURMURING QUIETLY, A BED OF OYSTERS, A BUNDLE OF BLACK RODS WITH RUSTY STARS ON THEIR ENDS,AND A COLLECTION OF BRASS LANTERNS. OFF TO ONE SIDE A GREAT MANY DWARVES ARE SLEEPING ON THE FLOOR, SNORING LOUDLY. A SIGN NEARBY READS: "DO NOT DISTURB THE DWARVES!" AN IMMENSE MIRROR IS HANGING AGAINST ONE WALL, AND STRETCHES TO THE OTHER END OF THE ROOM, WHERE VARIOUS OTHER SUNDRY OBJECTS CAN BE GLIMPSED DIMLY IN THE DISTANCE.$YOU ARE AT THE SOUTHWEST END OF THE REPOSITORY. TO ONE SIDE IS A PIT FULL OF FIERCE GREEN SNAKES. ON THE OTHER SIDE IS A ROW OF SMALL WICKER CAGES, EACH OF WHICH CONTAINS A LITTLE SULKING BIRD. IN ONE CORNER IS A BUNDLE OF BLACK RODS WITH RUSTY MARKS ON THEIR ENDS. A LARGE NUMBER OF VELVET PILLOWS ARE SCATTERED ABOUT ON THE FLOOR. A VAST MIRROR STRETCHES OFF TO THE NORTHEAST. AT YOUR FEET IS A LARGE STEEL GRATE, NEXT TO WHICH IS A SIGN WHICH READS, "TREASURE VAULT. KEYS IN MAIN OFFICE."$YOU ARE ON ONE SIDE OF A LARGE, DEEP CHASM. A HEAVY WHITE MIST RISING UP FROM BELOW OBSCURES ALL VIEW OF THE FAR SIDE. A SW PATH LEADS AWAY FROM THE CHASM INTO A WINDING CORRIDOR.$YOU ARE IN A LONG WINDING CORRIDOR SLOPING OUT OF SIGHT IN BOTH DIRECTIONS.$YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST.$YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST.$YOU ARE IN A SECRET CANYON WHICH EXITS TO THE NORTH AND EAST.$YOU ARE ON THE FAR SIDE OF THE CHASM. A NE PATH LEADS AWAY FROM THE CHASM ON THIS SIDE.$YOU'RE IN A LONG EAST/WEST CORRIDOR. A FAINT RUMBLING NOISE CAN BE HEARD IN THE DISTANCE.$THE PATH FORKS HERE. THE LEFT FORK LEADS NORTHEAST. A DULL RUMBLING SEEMS TO GET LOUDER IN THAT DIRECTION. THE RIGHT FORK LEADS SOUTHEAST DOWN A GENTLE SLOPE. THE MAIN CORRIDOR ENTERS FROM THE WEST.$THE WALLS ARE QUITE WARM HERE. FROM THE NORTH CAN BE HEARD A STEADY ROAR, SO LOUD THAT THE ENTIRE CAVE SEEMS TO BE TREMBLING. ANOTHER PASSAGE LEADS SOUTH, AND A LOW CRAWLWAY GOES EAST.$YOU ARE ON THE EDGE OF A BREATH-TAKING VIEW. FAR BELOW YOU IS AN ACTIVE VOLCANO, FROM WHICH GREAT GOUTS OF MOLTEN LAVA COME SURGING OUT, CASCADING BACK DOWN INTO THE DEPTHS. THE GLOWING ROCK FILLS THE FARTHEST REACHES OF THE CAVERN WITH A BLOOD-RED GLARE, GIVING EVERY-THING AN EERIE, MACABRE APPEARANCE. THE AIR IS FILLED WITH FLICKERING SPARKS OF ASH AND A HEAVY SMELL OF BRIMSTONE. THE WALLS ARE HOT TO THE TOUCH, AND THE THUNDERING OF THE VOLCANO DROWNS OUT ALL OTHER SOUNDS. EMBEDDED IN THE JAGGED ROOF FAR OVERHEAD ARE MYRI AD TWISTED FORMATIONS COMPOSED OF PURE WHITE ALABASTER, WHICH SCATTER THE MURKY LIGHT INTO SINISTER APPARITIONS UPON THE WALLS. TO ONE SIDE IS A DEEP GORGE, FILLED WITH A BIZARRE CHAOS OF TORTURED ROCK WHICH SEEMS TO HAVE BEEN CRAFTED BY THE DEVIL HIMSELF. AN IMMENSE RIVER OF FIRE CRASHES OUT FROM THE DEPTHS OF THE VOLCANO, BURNS ITS WAY THROUGH THE GORGE, AND PLUMMETS INTO A BOTTOMLESS PIT FAR OFF TO YOUR LEFT. TO THE RIGHT, AN IMMENSE GEYSER OF BLISTERING STEAM ERUPTS CONTINUOUSLY FROM A BARREN ISLAND IN THE CENTER OF A SULFUROUS LAKE, WHICH BUBBLES OMINOUSLY. THE FAR RIGHT WALL IS AFLAME WITH AN INCANDESCENCE OF ITS OWN, WHICH LENDS AN AN ADDITIONAL INFERNAL SPLENDOR TO THE ALREADY HELLISH SCENE. A DARK, FOREBODING PASSAGE EXITS TO THE SOUTH.$YOU ARE IN A SMALL CHAMBER FILLED WITH LARGE BOULDERS. THE WALLS ARE VERY WARM, CAUSING THE AIR IN THE ROOM TO BE ALMOST STIFLING FROM THE HEAT. THE ONLY EXIT IS A CRAWLWAY HEADING WEST, THROUGH WHICH IS COMING A LOW RUMBLING.$YOU ARE WALKING ALONG A GENTLY SLOPING NORTH/SOUTH PASSAGE LINED WITH ODDLY SHAPED LIMESTONE FORMATIONS.$YOU ARE STANDING AT THE ENTRANCE TO A LARGE, BARREN ROOM. A SIGN POSTED ABOVE THE ENTRANCE READS: "CAUTION! BEAR IN ROOM!"$YOU ARE INSIDE A BARREN ROOM. THE CENTER OF THE ROOM IS COMPLETELY EMPTY EXCEPT FOR SOME DUST. MARKS IN THE DUST LEAD AWAY TOWARD THE FAR END OF THE ROOM. THE ONLY EXIT IS THE WAY YOU CAME IN.$YOU ARE IN A MAZE OF TWISTING LITTLE PASSAGES, ALL DIFFERENT.$YOU ARE IN A LITTLE MAZE OF TWISTY PASSAGES, ALL DIFFERENT.$YOU ARE IN A TWISTING MAZE OF LITTLE PASSAGES, ALL DIFFERENT.$YOU ARE IN A TWISTING LITTLE MAZE OF PASSAGES, ALL DIFFERENT.$YOU ARE IN A TWISTY LITTLE MAZE OF PASSAGES, ALL DIFFERENT.$YOU ARE IN A TWISTY MAZE OF LITTLE PASSAGES, ALL DIFFERENT.$YOU ARE IN A LITTLE TWISTY MAZE OF PASSAGES, ALL DIFFERENT.$YOU ARE IN A MAZE OF LITTLE TWISTING PASSAGES, ALL DIFFERENT.$YOU ARE IN A MAZE OF LITTLE TWISTY PASSAGES, ALL DIFFERENT.$DEAD END$$YOU'RE AT END OF ROAD AGAIN.$YOU'RE AT HILL IN ROAD.$YOU'RE INSIDE BUILDING.$YOU'RE IN VALLEY.$YOU'RE IN FOREST.$YOU'RE IN FOREST.$YOU'RE AT SLIT IN STREAMBED.$YOU'RE OUTSIDE GRATE.$YOU'RE BELOW THE GRATE.$YOU'RE IN COBBLE CRAWL.$YOU'RE IN DEBRIS ROOM.$YOU'RE IN BIRD CHAMBER.$YOU'RE AT TOP OF SMALL PIT.$YOU'RE IN HALL OF MISTS.$YOU'RE ON EAST BANK OF FISSURE.$YOU'RE IN NUGGET OF GOLD ROOM.$YOU'RE IN HALL OF MT. KING.$YOU'RE AT WEST END OF TWOPIT ROOM.$YOU'RE IN EAST PIT.$YOU'RE IN WEST PIT.$YOU'RE AT "Y2".$YOU'RE AT WINDOW ON PIT.$YOU'RE IN DIRTY PASSAGE.$YOU'RE IN DUSTY ROCK ROOM.$YOU'RE AT WEST END OF HALL OF MISTS.$YOU'RE AT BRINK OF PIT.$YOU'RE AT EAST END OF LONG HALL.$YOU'RE AT WEST END OF LONG HALL.$YOU'RE AT COMPLEX JUNCTION.$YOU'RE IN SWISS CHEESE ROOM.$YOU'RE AT EAST END OF TWOPIT ROOM.$YOU'RE IN SLAB ROOM.$YOU'RE AT JUNCTION OF THREE SECRET CANYONS.$YOU'RE IN SECRET E/W CANYON ABOVE TIGHT CANYON.$YOU'RE IN NARROW CORRIDOR.$YOU'RE AT STEEP INCLINE ABOVE LARGE ROOM.$YOU'RE IN GIANT ROOM.$YOU'RE IN CAVERN WITH WATERFALL.$YOU'RE IN SOFT ROOM.$YOU'RE IN ORIENTAL ROOM.$YOU'RE IN MISTY CAVERN.$YOU'RE IN ALCOVE.$YOU'RE IN PLOVER ROOM.$YOU'RE IN DARK-ROOM.$YOU'RE IN ARCHED HALL.$YOU'RE IN SHELL ROOM.$YOU'RE IN ANTEROOM.$YOU'RE AT WITT'S END.$YOU'RE IN MIRROR CANYON.$YOU'RE AT WINDOW ON PIT.$YOU'RE AT TOP OF STALACTITE.$YOU'RE AT RESERVOIR.$YOU'RE AT NE END.$YOU'RE AT SW END.$YOU'RE ON SW SIDE OF CHASM.$YOU'RE IN SLOPING CORRIDOR.$YOU'RE ON NE SIDE OF CHASM.$YOU'RE IN CORRIDOR.$YOU'RE AT FORK IN PATH.$YOU'RE AT JUNCTION WITH WARM WALLS.$YOU'RE AT BREATH-TAKING VIEW.$YOU'RE IN CHAMBER OF BOULDERS.$YOU'RE IN LIMESTONE PASSAGE.$YOU'RE IN FRONT OF BARREN ROOM.$YOU'RE IN BARREN ROOM.$$SET OF KEYS$THERE ARE SOME KEYS ON THE GROUND HERE.$BRASS LANTERN$THERE IS A SHINY BRASS LAMP NEARBY.$THERE IS A LAMP SHINING NEARBY.$*GRATE$THE GRATE IS LOCKED.$THE GRATE IS OPEN.$WICKER CAGE$THERE IS A SMALL WICKER CAGE DISCARDED NEARBY.$BLACK ROD$A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY.$BLACK ROD$A THREE FOOT BLACK ROD WITH A RUSTY MARK ON AN END LIES NEARBY.$*STEPS$ROUGH STONE STEPS LEAD DOWN THE PIT.$ROUGH STONE STEPS LEAD UP THE DOME.$LITTLE BIRD IN CAGE$A CHEERFUL LITTLE BIRD IS SITTING HERE SINGING.$THERE IS A LITTLE BIRD IN THE CAGE.$*RUSTY DOOR$THE WAY NORTH IS BARRED BY A MASSIVE, RUSTY, IRON DOOR.$THE WAY NORTH LEADS THROUGH A MASSIVE, RUSTY, IRON DOOR.$VELVET PILLOW$A SMALL VELVET PILLOW LIES ON THE FLOOR.$*SNAKE$A HUGE GREEN FIERCE SNAKE BARS THE WAY!$>*< (CHASED AWAY)$*FISSURE$>*<$A CRYSTAL BRIDGE NOW SPANS THE FISSURE.$THE CRYSTAL BRIDGE HAS VANISHED!$*STONE TABLET$A MASSIVE STONE TABLET IMBEDDED IN THE WALL READS: "CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!"$GIANT CLAM >GRUNT!<$THERE IS AN ENORMOUS CLAM HERE WITH ITS SHELL TIGHTLY CLOSED.$GIANT OYSTER >GROAN!<$THERE IS AN ENORMOUS OYSTER HERE WITH ITS SHELL TIGHTLY CLOSED.$INTERESTING. THERE SEEMS TO BE SOMETHING WRITTEN ON THE UNDERSIDE OFTHE OYSTER.$"SPELUNKER TODAY"$THERE ARE A FEW RECENT ISSUES OF "SPELUNKER TODAY" MAGAZINE HERE.$TASTY FOOD$THERE IS FOOD HERE.$SMA LL BOTTLE$THERE IS A BOTTLE OF WATER HERE.$THERE IS AN EMPTY BOTTLE HERE.$THERE IS A BOTTLE OF OIL HERE.$WATER IN THE BOTTLE$OIL IN THE BOTTLE$*MIRROR$>*<$*PLANT$THERE IS A TINY LITTLE PLANT IN THE PIT, MURMURING "WATER, WATER, ..."$THE PLANT SPURTS INTO FURIOUS GROWTH FOR A FEW SECONDS.$THERE IS A 12-FOOT-TALL BEANSTALK STRETCHING UP OUT OF THE PIT, BELLOWING "WATER!! WATER!!"$THE PLANT GROWS EXPLOSIVELY, ALMOST FILLING THE BOTTOM OF THE PIT.$THERE IS A GIGANTIC BEANSTALK STRETCHING ALL THE WAY UP TO THE HOLE.$YOU'VE OVER-WATERED THE PLANT! IT'S SHRIVELING UP! IT'S, IT'S...$*PHONY PLANT (SEEN IN TWOPIT ROOM ONLY WHEN TALL ENOUGH)$>*<$THE TOP OF A 12-FOOT-TALL BEANSTALK IS POKING OUT OF THE WEST PIT.$THERE IS A HUGE BEANSTALK GROWING OUT OF THE WEST PIT UP TO THE HOLE.$*STALACTITE$>*<$*SHADOWY FIGURE$THE SHADOWY FIGURE SEEMS TO BE TRYING TO ATTRACT YOUR ATTENTION.$DWARF'S AXE$THERE IS A LITTLE AXE HERE.$THERE IS A LITTLE AXE LYING BESIDE THE BEAR.$*CAVE DRAWINGS$>*<$*PIRATE$>*<$*DRAGON$A HUGE GREEN FIERCE DRAGON BARS THE WAY!$CONGRATULATIONS! YOU HAVE JUST VANQUISHED A DRAGON WITH YOUR BARE HANDS! (UNBELIEVABLE, ISN'T IT?)$THE BODY OF A HUGE GREEN DEAD DRAGON IS LYING OFF TO ONE SIDE.$*CHASM$A RICKETY WOODEN BRIDGE EXTENDS ACROSS THE CHASM, VANISHING INTO THE MIST. A SIGN POSTED ON THE BRIDGE READS, "STOP! PAY TROLL!"$THE WRECKAGE OF A BRIDGE (AND A DEAD BEAR) CAN BE SEEN AT THE BOTTOM OF THE CHASM.$*TROLL$A BURLY TROLL STANDS BY THE BRIDGE AND INSISTS YOU THROW HIM A TREASURE BEFORE YOU MAY CROSS.$THE TROLL STEPS OUT FROM BENEATH THE BRIDGE AND BLOCKS YOUR WAY.$>*< (CHASED AWAY)$*PHONY TROLL$THE TROLL IS NOWHERE TO BE SEEN$>*< (BEAR USES RTEXT 141)$THERE IS A FEROCIOUS CAVE BEAR EYING YOU FROM THE FAR END OF THE ROOM!$THERE IS A GENTLE CAVE BEAR SITTING PLACIDLY IN ONE CORNER.$THERE IS A CONTENTED-LOOKING BEAR WANDERING ABOUT NEARBY.$>*< (DEAD)$*MESSAGE IN SECOND MAZE$THERE IS A MESSAGE SCRAWLED IN THE DUST IN A FLOWERY SCRIPT, READING: "THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST."$*VOLCANO AND/OR GEYSER$>*<$*VENDING MACHINE$THERE IS A MASSIVE VENDING MACHINE HERE. THE INSTRUCTIONS ON IT READ: "DROP COINS HERE TO RECEIVE FRESH BATTERIES."$BATTERIES$THERE ARE FRESH BATTERIES HERE.$SOME WORN-OUT BATTERIES HAVE BEEN DISCARDED NEARBY.$*CARPET AND/OR MOSS$>*<$LARGE GOLD NUGGET$THERE IS A LARGE SPARKLING NUGGET OF GOLD HERE!$SEVERAL DIAMONDS$THERE ARE DIAMONDS HERE!$BARS OF SILVER$THERE ARE BARS OF SILVER HERE!$PRECIOUS JEWELRY$THERE IS PRECIOUS JEWELRY HERE!$RARE COINS$THERE ARE MANY COINS HERE!$TREASURE CHEST$THE PIRATE'S TREASURE CHEST IS HERE!$GOLDEN EGGS$THERE IS A LARGE NEST HERE, FULL OF GOLDEN EGGS!$THE NEST OF GOLDEN EGGS HAS VANISHED!$DONE!$JEWELED TRIDENT$THERE IS A JEWEL-ENCRUSTED TRIDENT HERE!$MING VASE$THERE IS A DELICATE, PRECIOUS, MING VASE HERE!$THE VASE IS NOW RESTING, DELICATELY, ON A VELVET PILLOW.$THE FLOOR IS LITTERED WITH WORTHLESS SHARDS OF POTTERY.$THE MING VASE DROPS WITH A DELICATE CRASH.$EGG SIZED EMERALD$THERE IS AN EMERALD HERE THE SIZE OF A PLOVER'S EGG!$PLATINUM PYRAMID$THERE IS A PLATINUM PYRAMID HERE, 8 INCHES ON A SIDE!$GLISTENING PEARL$OFF TO ONE SIDE LIES A GLISTENING PEARL!$PERSIAN RUG$THERE IS A PERSIAN RUG SPREAD OUT ON THE FLOOR!$THE DRAGON IS SPRAWLED OUT ON A PERSIAN RUG!!$RARE SPICES$THERE ARE RARE SPICES HERE!$GOLDEN CHAIN$THERE IS A GOLDEN CHAIN LYING IN A HEAP ON THE FLOOR!$THE BEAR IS LOCKED TO THE WALL WITH A GOLDEN CHAIN!$THERE IS A GOLDEN CHAIN LOCKED TO THE WALL!$$SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND FORTUNES IN TREASURE AND GOLD, THOUGH IT IS RUMORED THAT SOME WHO ENTER ARE NEVER SEEN AGAIN. MAGIC IS SAID TO WORK IN THE CAVE. I WILL BE YOUR EYES AND HANDS. DIRECT ME WITH COMMANDS OF 1 OR 2 WORDS. I SHOULD WARN YOU THAT I LOOK AT ONLY THE FIRST FIVE LETTERS OF EACH WORD, SO YOU'LL HAVE TO ENTER "NORTHEAST" AS "NE" TO DISTINGUISH IT FROM "NORTH". (SHOULD YOU GET STUCK, TYPE "HELP" FOR SOME GENERAL HINTS. FOR INFOR- MATION ON HOW TO END YOUR ADVENTURE, ETC., TYPE "INFO".) - - - THIS VERSION IMPLEMENTED BY CHUCK CRAYNE FEEDBACK REQUESTED.$A LITTLE DWARF WITH A BIG KNIFE BLOCKS YOUR WAY.$A LITTLE DWARF JUST WALKED AROUND A CORNER, SAW YOU, THREW A LITTLE AXE AT YOU WHICH MISSED, CURSED, AND RAN AWAY.$THERE IS A THREATENING LITTLE DWARF IN THE ROOM WITH YOU!$ONE SHARP NASTY KNIFE IS THROWN AT YOU!$NONE OF THEM HIT YOU!$ONE OF THEM GETS YOU!$A HOLLOW VOICE SAYS "PLUGH".$THERE IS NO WAY TO GO IN THAT DIRECTION.$I AM UNSURE HOW YOU ARE FACING. USE COMPASS POINTS OR NEARBY OBJECTS.$I DON'T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING IN THE GENERAL DIRECTION YOU WANT TO GO.$I DON'T KNOW HOW TO APPLY THAT WORD HERE.$I DON'T UNDERSTAND THAT!$I'M GAME. WOULD YOU CARE TO EXPLAIN HOW?$SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE LONG DESCRIPTION OF YOUR LOCATION.$IT IS NOW PITCH DARK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT.$IF YOU PREFER, SIMPLY TYPE W RATHER THAN WEST.$ARE YOU TRYING TO CATCH THE BIRD?$THE BIRD IS FRIGHTENED RIGHT NOW AN D YOU CANNOT CATCH IT NO MATTER WHAT YOU TRY. PERHAPS YOU MIGHT TRY LATER.$ARE YOU TRYING TO SOMEHOW DEAL WITH THE SNAKE?$YOU CAN'T KILL THE SNAKE, OR DRIVE IT AWAY, OR AVOID IT, OR ANYTHING LIKE THAT. THERE IS A WAY TO GET BY, BUT YOU DON'T HAVE THE NECESSARY RESOURCES RIGHT NOW.$DO YOU REALLY WANT TO QUIT NOW?$YOU FELL INTO A PIT AND BROKE EVERY BONE IN YOUR BODY!$YOU ARE ALREADY CARRYING IT.$YOU CAN'T BE SERIOUS!$THE BIRD WAS UNAFRAID WHEN YOU ENTERED, BUT AS YOU APPROACH IT BECOMES DISTURBED AND YOU CANNOT CATCH IT.$YOU CAN CATCH THE BIRD, BUT YOU CANNOT CARRY IT.$THERE IS NOTHING HERE WITH A LOCK!$YOU AREN'T CARRYING IT!$THE LITTLE BIRD ATTACKS THE GREEN SNAKE, AND IN AN ASTOUNDING FLURRY DRIVES THE SNAKE AWAY.$YOU HAVE NO KEYS!$IT HAS NO LOCK.$I DON'T KNOW HOW TO LOCK OR UNLOCK SUCH A THING.$IT WAS ALREADY LOCKED.$THE GRATE IS NOW LOCKED.$THE GRATE IS NOW UNLOCKED.$IT WAS ALREADY UNLOCKED.$YOU HAVE NO SOURCE OF LIGHT.$YOUR LAMP IS NOW ON.$YOUR LAMP IS NOW OFF.$THERE IS NO WAY TO GET PAST THE BEAR TO UNLOCK THE CHAIN, WHICH IS PROBABLY JUST AS WELL.$NOTHING HAPPENS$WHERE?$THERE IS NOTHING HERE TO ATTACK.$THE LITTLE BIRD IS NOW DEAD. ITS BODY DISAPPEARS.$ATTACKING THE SNAKE BOTH DOESN'T WORK AND IS VERY DANGEROUS.$YOU KILLED A LITTLE DWARF.$YOU ATTACK A LITTLE DWARF, BUT HE DODGES OUT OF THE WAY.$WITH WHAT? YOUR BARE HANDS?$GOOD TRY, BUT THAT IS AN OLD WORN-OUT MAGIC WORD.$I KNOW OF PLACES, ACTIONS, AND THINGS. MOST OF MY VOCABULARY DESCRIBES PLACES AND IS USED TO MOVE YOU THERE. TO MOVE, TRY WORDS LIKE FOREST, BUILDING, DOWNSTREAM, ENTER, EAST, WEST, NORTH, SOUTH, UP, OR DOWN. I KNOW ABOUT A FEW SPECIAL OBJECTS, LIKE A BLACK ROD HIDDEN IN THE CAVE. THESE OBJECTS CAN BE MANIPULATED USING SOME OF THE ACTION WORDS THAT I KNOW. USUALLY YOU WILL NEED TO GIVE BOTH THE OBJECT AND ACTION WORDS (IN EITHER ORDER), BUT SOMETIMES I CAN INFER THE OBJECT FROM THE VERB ALONE. SOME OBJECTS ALSO IMPLY VERBS; IN PARTICULAR, "INVENTORY" IMPLIES "TAKE INVENTORY", WHICH CAUSES ME TO GIVE YOU A LIST OF WHAT YOU'RE CARRYING. THE OBJECTS HAVE SIDE EFFECTS: FOR INSTANCE, THE ROD SCARES THE BIRD. USUALLY PEOPLE HAVING TROUBLE MOVING JUST NEED TO TRY A FEW MORE WORDS. USUALLY PEOPLE TRYING UNSUCCESSFULLY TO MANIPULATE AN OBJECT ARE ATTEMPTING SOMETHING BEYOND THEIR (OR MY!) CAPABILITIES AND SHOULD TRY A COMPLETELY DIFFERENT TACK. TO SPEED THE GAME YOU CAN SOMETIMES MOVE LONG DISTANCES WITH A SINGLE WORD. FOR EXAMPLE, "BUILDING" USUALLY GETS YOU TO THE BUILDING FROM ANYWHERE ABOVE GROUND EXCEPT WHEN LOST IN THE FOREST. ALSO, NOTE THAT CAVE PASSAGES TURN A LOT, AND THAT LEAVING A ROOM TO THE NORTH DOES NOT GUARANTEE ENTERING THE NEXT FROM THE SOUTH. GOOD LUCK!$IT MISSES!$IT GETS YOU!$OK$YOU CAN'T UNLOCK THE KEYS.$YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND WOUND UP BACK IN THE MAIN PASSAGE.$I DON'T KNOW WHERE THE CAVE IS, BUT HEREABOUTS NO STREAM CAN RUN ON THE SURFACE FOR LONG. I WOULD TRY THE STREAM.$I NEED MORE DETAILED INSTRUCTIONS TO DO THAT.$I CAN ONLY TELL YOU WHAT YOU SEE AS YOU MOVE ABOUT AND MANIPULATE THINGS. I CANNOT TELL YOU WHERE REMOTE THINGS ARE.$I DON'T KNOW THAT WORD.$WHAT?$ARE YOU TRYING TO GET INTO THE CAVE?$THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND LOOKING ELSEWHERE FOR THE KEYS.$THE TREES OF THE FOREST ARE LARGE HARDWOOD OAK AND MAPLE, WITH AN OCCASIONAL GROVE OF PINE OR SPRUCE. THERE IS QUITE A BIT OF UNDERGROWTH, LARGELY BIRCH AND ASH SAPLINGS PLUS NONDESCRIPT BUSHES OF VARIOUS SORTS. THIS TIME OF YEAR VISIBILITY IS QUITE RESTRICTED BY ALL THE LEAVES, BUT TRAVEL IS QUITE EASY IF YOU DETOUR AROUND THE SPRUCE AND BERRY BUSHES.$WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS?$DIGGING WITHOUT A SHOVEL IS QUITE IMPRACTICAL. EVEN WITH A SHOVEL PROGRESS IS UNLIKELY.$BLASTING REQUIRES DYNAMITE.$I'M AS CONFUSED AS YOU ARE.$MIST IS A WHITE VAPOR, USUALLY WATER, SEEN FROM TIME TO TIME IN CAVERNS. IT CAN BE FOUND ANYWHERE, BUT IS FREQUENTLY A SIGN OF A DEEP PIT LEADING DOWN TO WATER.$YOUR FEET ARE NOW WET.$I THINK I JUST LOST MY APPETITE.$THANK YOU, IT WAS DELICIOUS!$YOU HAVE TAKEN A DRINK FROM THE STREAM. THE WATER TASTES STRONGLY OF MINERALS, BUT IS NOT UNPLEASANT. IT IS EXTREMELY COLD.$THE BOTTLE OF WATER IS NOW EMPTY.$RUBBING THE ELECTRIC LAMP IS NOT PARTICULARLY REWARDING. ANYWAY, NOTHING EXCITING HAPPENS.$PECULIAR. NOTHING UNEXPECTED HAPPENS.$YOUR BOTTLE IS EMPTY AND THE GROUND IS WET.$YOU CAN'T POUR THAT.$NONE OF THAT, NOW!$WHICH WAY?$OH DEAR, YOU SEEM TO HAVE GOTTEN YOURSELF KILLED. I MIGHT BE ABLE TO HELP YOU OUT, BUT I'VE NEVER REALLY DONE THIS BEFORE. DO YOU WANT ME TO TRY TO REINCARNATE YOU? ALL RIGHT. BUT DON'T BLAME ME IF SOMETHING GOES WR......$ --- POOF!! --- YOU ARE ENGULFED IN A CLOUD OF ORANGE SMOKE. COUGHING AND GASPING, YOU EMERGE FROM THE SMOKE AND FIND....$YOU CLUMSY OAF, YOU'VE DONE IT AGAIN! I DON'T KNOW HOW LONG I CAN KEEP THIS UP. DO YOU WANT ME TO TRY REINCARNATING YOU AGAIN?$OKAY, NOW WHERE DID I PUT MY ORANGE SMOKE?.... >POOF!< EVERYTHING DISAPPEARS IN A DENSE CLOUD OF ORANGE SMOKE.$NOW YOU'VE REALLY DONE IT! I'M OUT OF ORANGE SMOKE! YOU DON'T EXPECT ME TO DO A DECENT REINCARNATION WITHOUT ANY ORANGE SMOKE, DO YOU?$OKAY, IF YOU'RE SO SMART, DO IT YOURSELF! I'M LEAVING!$>>> MESSAGES 81 THRU 90 ARE RESERVED FOR "OBITUARIES".<<<$SORRY, BUT I NO LONGER SEEM TO REMEMBER HOW IT WAS YOU GOT HERE.$YOU CAN'T CARRY ANYTHING MORE. YOU'LL HAVE TO DROP SOMETHING FIRST.$YOU CAN'T GO THROUGH A LOCKED STEEL GRATE!$I BELIEVE WHAT YOU WANT IS RIGHT HERE WITH YOU.$YOU DON'T FIT THROUGH A TWO-INCH SLIT!$I RESPECTFULLY SUGGEST YOU GO ACROSS THE BRIDGE INSTEAD OFJUMPING.$THERE IS NO WAY ACROSS THE FISSURE.$YOU'RE NOT CARRYING ANYTHING.$YOU ARE CURRENTLY HOLDING THE FOLLOWING:$IT'S NOT HUNGRY (IT'S MERELY PININ' FOR THE FJORDS). BESIDES, YOU HAVE NO BIRD SEED.$THE SNAKE HAS NOW DEVOURED YOUR BIRD.$THERE'S NOTHING HERE IT WANTS TO EAT (EXCEPT PERHAPS YOU)!$YOU FOOL, DWARVES EAT ONLY COAL! NOW YOU'VE MADE HIM *REALLY* MAD!!$YOU HAVE NOTHING IN WHICH TO CARRY IT.$YOUR BOTTLE IS ALREADY FULL.$THERE IS NOTHING HERE WITH WHICH TO FILL THE BOTTLE.$YOUR BOTTLE IS NOW FULL OF WATER.$YOUR BOTTLE IS NOW FULL OF OIL.$YOU CAN'T FILL THAT.$DON'T BE REDICULOUS!$THE DOOR IS EXTREMELY RUSTY AND REFUSES TO OPEN.$THE PLANT INDIGNANTLY SHAKES THE OIL OFF ITS LEAVES AND ASKS, "WATER?"$THE HINGES ARE QUITE THOROUGHLY RUSTED NOW AND WON'T BUDGE.$THE OIL HAS FREED UP THE HINGES SO THAT THE DOOR WILL NOW MOVE, ALTHOUGH IT REQUIRES SOME EFFORT.$THE PLANT HAS EXCEPTIONALLY DEEP ROOTS AND CANNOT BE PULLED FREE.$THE DWARVES' KNIVES VANISH AS THEY STRIKE THE WALLS OF THE CAVE.$SOMETHING YOU'RE CARRYING WON'T FIT THROUGH THE TUNNEL WITH YOU. YOU'D BEST TAKE INVENTORY AND DROP SOMETHING.$YOU CAN'T FIT THIS FIVE-FOOT CLAM THROUGH THAT LITTLE PASSAGE!$YOU CAN'T FIT THIS FIVE-FOOT OYSTER THROUGH THAT LITTLE PASSAGE!$I ADVISE YOU TO PUT DOWN THE CLAM BEFORE OPENING IT. >STRAIN!<$I ADVISE YOU TO PUT DOWN THE OYSTER BEFORE OPENING IT. >WRENCH!<$YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE CLAM.$YOU DON'T HAVE ANYTHING STRONG ENOUGH TO OPEN THE OYSTER.$A GLISTENING PEARL FALLS OUT OF THE CLAM AND ROLLS AWAY. GOODNESS THIS MUST REALLY BE AN OYSTER. (I NEVER WAS VERY GOOD AT IDENTIFYING BIVALVES.) WHATEVER IT IS, IT HAS NOW SNAPPED SHUT AGAIN.$THE OYSTER CREAKS OPEN, REVEALING NOTHING BUT OYSTER INSIDE. IT PROMPTLY SNAPS SHUT AGAIN.$YOU HAVE CRAWLED AROUND IN SOME LITTLE HOLES AND FOUND YOUR WAY BLOCKED BY A RECENT CAVE-IN. YOU ARE NOW BACK IN THE MAIN PASSAGE.$THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU.$OUT FROM THE SHADOWS BEHIND YOU POUNCES A BEARDED PIRATE! "HAR, HAR," HE CHORTLES, "I'LL JUST TAKE ALL THIS BOOTY AND HIDE IT AWAY WITH ME CHEST DEEP IN THE MAZE!" HE SNATCHES YOUR TREASURE AND VANISHES INTO THE GLOOM.$A SEPULCHRAL VOICE REVERBERATING"THROUGH THE CAVE, SAYS, "CAVE CLOSING SOON. ALL ADVENTURERS EXIT IMMEDIATELY THROUGH MAIN OFFICE."$A MYSTERIOUS RECORDED VOICE GROANS INTO LIFE AND ANNOUNCES:"THIS EXIT IS CLOSED. PLEASE LEAVE VIA MAIN OFFICE."$IT LOOKS AS THOUGH YOU'RE DEAD. WELL, SEEING AS HOW IT'S SO CLOSE TO CLOSING TIME ANYWAY, I THINK WE'LL JUST CALL IT A DAY.$THE SEPULCHRAL VOICE ENTONES, "THE CAVE IS NOW CLOSED." AS THE ECHOES FADE, THERE IS A BLINDING FLASH OF LIGHT (AND A SMALL PUFF OF ORANGE SMOKE). . . . AS YOUR EYES REFOCUS, YOU LOOK AROUND AND FIND...$THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR WALL, BURYING THE DWARVES IN THE RUBBLE. YOU MARCH THROUGH THE HOLE AND FIND YOURSELF IN THE MAIN OFFICE, WHERE A CHEERING BAND OF FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET.$THERE IS A LOUD EXPLOSION, AND A TWENTY-FOOT HOLE APPEARS IN THE FAR WALL, BURYING THE SNAKES IN THE RUBBLE. A RIVER OF MOLTEN LAVA POURS IN THROUGH THE HOLE, DESTROYING EVERYTHING IN ITS PATH, INCLUDING YOU!$THERE IS A LOUD EXPLOSION, AND YOU ARE SUDDENLY SPLASHED ACROSS THE WALLS OF THE ROOM.$THE RESULTING RUCKUS HAS AWAKENED THE DWARVES. THERE ARE NOW SEVERAL THREATENING LITTLE DWARVES IN THE ROOM WITH YOU! MOST OF THEM THROW KNIVES AT YOU! ALL OF THEM GET YOU!$OH, LEAVE THE POOR UNHAPPY BIRD ALONE.$I DARESAY WHATEVER YOU WANT IS AROUND HERE SOMEWHERE.$I DON'T KNOW THE WORD "STOP". USE "QUIT" IF YOU WANT TO GIVE UP.$YOU CAN'T GET THERE FROM HERE.$YOU ARE BEING FOLLOWED BY A VERY LARGE, TAME BEAR.$IF YOU WANT TO END YOR ADVENTURE EARLY, SAY "QUIT". TO SUSPEND YOUR ADVENTURE SUCH THAT YOU CAN CONTINUE LATER, SAY "SUSPEND" (OR "PAUSE" OR "SAVE"). TO SEE WHAT HOURS THE CAVE IS NORMALLY OPEN, SAY "HOURS". TO SEE HOW WELL YOU'RE DOING, SAY "SCORE". TO GET FULL CREDIT FOR A TREASURE, YOU MUST HAVE LEFT IT SAFELY IN THE BUILDING, THOUGH YOU GET PARTIAL CREDIT JUST FOR LOCATING IT. YOU LOSE POINTS FOR GETTING KILLED, OR FOR QUITTING, THOUGH THE FORMER COSTS YOU MORE. THERE ARE ALSO POINTS BASED ON HOW MUCH (IF ANY) OF THE CAVE YOU'VE MANAGED TO EXPLORE; IN PARTICULAR, THERE IS A LARGE BONUS JUST FOR GETTING IN (TO DISTINGUISH THE BEGINNERS FROM THE REST OF THE PACK), AND THERE ARE OTHER WAYS TO DETERMINE WHETHER YOU'VE BEEN THROUGH SOME OF THE MORE HARROWING SECTIONS. IF YOU THINK YOU'VE FOUND ALL THE TREASURES, JUST KEEP EXPLORING FOR A WHILE. IF NOTHING INTERESTING HAPPENS, YOU HAVEN'T FOUND THEM ALL YET. IF SOMETHING INTERESTING *DOES* HAPPEN, IT MEANS YOU'RE GETTING A BONUS AND HAVE AN OPPORTUNITY TO GARNER MANY MORE POINTS IN THE MASTER'S SECTION. I MAY OCCASIONALLY OFFER HINTS IF YOU SEEM TO BE HAVING TROUBLE. IF I DO, I'LL WARN YOU IN ADVANCE HOW MUCH IT WILL AFFECT YOUR SCORE TO ACCEPT THE HINTS. FINALLY, TO SAVE PAPER, YOU MAY SPECIFY "BRIEF", WHICH TELLS ME NEVER TO REPEAT THE FULL DESCRIPTION OF A PLACE UNLESS YOU EXPLICITLY ASK ME TO.$DO YOU INDEED WISH TO QUIT NOW?$THERE IS NOTHING HERE WITH WHICH TO FILL THE VASE.$THE SUDDEN CHANGE IN TEMPERATURE HAS DELICATELY SHATTERED THE VASE.$IT IS BEYOND YOUR POWER TO DO THAT.$I DON'T KNOW HOW.$IT IS TOO FAR UP FOR YOU TO REACH.$YOU KILLED A LITTLE DWARF. THE BODY VANISHES IN A CLOUD OF GREASY BLACK SMOKE.$THE SHELL IS VERY STRONG AND IS IMPERVIOUS TO ATTACK.$WHAT'S THE MATTER, CAN'T YOU READ? NOW YOU'D BEST START OVER.$THE AXE BOUNCES HARMLESSLY OFF THE DRAGON'S THICK SCALES.$THE DRAGON LOOKS RATHER NASTY. YOU'D BEST NOT TRY TO GET BY.$THE LITTLE BIRD ATTACKS THE GREEN DRAGON, AND IN AN ASTOUNDING FLURRY GETS BURNT TO A CINDER. THE ASHES BLOW AWAY.$ON WHAT?$OKAY, FROM NOW ON I'LL ONLY DESCRIBE A PLACE IN FULL THE FIRST TIME YOU COME TO IT. TO GET THE FULL DESCRIPTION, SAY "LOOK"$TROLLS ARE CLOSE RELATIVES WITH THE ROCKS AND HAVE SKIN AS TOUGH AS THAT OF A RHINOCEROS. THE TROLL FENDS OFF YOUR BLOWS EFFORTLESSLY.$THE TROLL DEFTLY CATCHES THE AXE, EXAMINES IT CAREFULLY, AND TOSSES IT BACK, DECLARING, "GOOD WORKMANSHIP, BUT IT'S NOT VALUABLE ENOUGH."$THE TROLL CATCHES YOUR TREASURE AND SCURRIES AWAY OUT OF SIGHT.$THE TROLL REFUSES TO LET YOU CROSS.$THERE IS NO LONGER ANY WAY ACROSS THE CHASM.$JUST AS YOU REACH THE OTHER SIDE, THE BRIDGE BUCKLES BENEATH THE WEIGHT OF THE BEAR, WHICH WAS STILL FOLLOWING YOU AROUND. YOU SCRABBLE DESPERATELY FOR SUPPORT, BUT AS THE BRIDGE COLLAPSES, YOU STUMBLE BACK AND FALL INTO THE CHASM.$THE BEAR LUMBERS TOWARD THE TROLL, WHO LETS OUT A STARTLED SHRIEK AND SCURRIES AWAY. THE BEAR SOON GIVES UP THE PURSUIT AND WANDERS BACK.$THE AXE MISSES AND LANDS NEAR THE BEAR WHERE YOU CAN'T GET AT IT.$WITH WHAT? YOUR BARE HANDS? AGAINST *HIS* BEAR HANDS??$THE BEAR IS CONFUSED; HE ONLY WANTS TO BE YOUR FRIEND.$FOR CRYING OUT LOUD, THE POOR THING IS ALREADY DEAD!$THE BEAR EAGERLY WOLFS DOWN YOUR FOOD, AFTER WHICH HE SEEMS TO CALM DOWN CONSIDERABLY AND EVEN BECOMES RATHER FRIENDLY.$THE BEAR IS STILL CHAINED TO THE WALL.$THE CHAIN IS STILL LOCKED.$THE CHAIN IS NOW UNLOCKED.$THE CHAIN IS NOW LOCKED.$THERE IS NOTHING HERE TO WHICH THE CHAIN CAN BE LOCKED.$THERE IS NOTHING HERE TO EAT.$DO YOU WANT THE HINT?$DO YOU NEED HELP GETTING OUT OF THE MAZE?$YOU CAN MAKE THE PASSAGES LOOK LESS ALIKE BY DROPPING THINGS.$ARE YOU TRYING TO EXPLORE BEYOND THE PLOVER ROOM?$THERE IS A WAY TO EXPLORE THAT REGION WITHOUT HAVING TO WORRY ABOUT FALLING INTO A PIT. NONE OF THE OBJECTS AVAILABLE IS IMMEDIATELY USEFUL IN DISCOVERING THE SECRET$DO YOU NEED HELP GETTING OUT OF HERE?$DON'T GO WEST.$GLUTTONY IS NOT ONE OF THE TROLL'S VICES. AVARICE IS, HOWEVER.$YOUR LAMP IS GETTING DIM. YOU'D BEST START WRAPPING THIS UP, UNLESS YOU CAN FIND SOME FRESH BATTERIES. I SEEM TO RECALL THERE'S A VENDING MACHINE IN THE MAZE. BRING SOME COINS WITH YOU.$YOUR LAMP HAS RUN OUT OF POWER.$THERE'S NOT MUCH POINT IN WANDERING AROUND OUT HERE, AND YOU CAN'T EXPLORE THE CAVE WITHOUT A LAMP. SO LET'S JUST CALL IT A DAY.$THERE ARE FAINT RUSTLING NOISES FROM THE DARKNESS BEHIND YOU. AS YOU TURN TOWARD THEM, THE BEAM OF YOUR LAMP FALLS ACROSS A BEARDED PIRATE. HE IS CARRYING A LARGE CHEST. "SHIVER ME TIMBERS!" HE CRIES, "I'VE BEEN SPOTTED! I'D BEST HIE MESELF OFF TO THE MAZE TO HIDE ME CHEST!" WITH THAT, HE VANISHES INTO THE GLOOM.$YOUR LAMP IS GETTING DIM. YOU'D BEST GO BACK FOR THOSE BATTERIES.$YOUR LAMP IS GETTING DIM. I'M TAKING THE LIBERTY OF REPLACING THE BATTERIES.$YOUR LAMP IS GETTING DIM, AND YOU'RE OUT OF SPARE BATTERIES. YOU'D BEST START WRAPPING THIS UP.$I'M AFRAID THE MAGAZINE IS WRITTEN IN DWARVISH.$"THIS IS NOT THE MAZE WHERE THE PIRATE LEAVES HIS TREASURE CHEST."$HMMM, THIS LOOKS LIKE A CLUE, WHICH MEANS IT'LL COST YOU 10 POINTS TO READ IT. SHOULD I GO AHEAD AND READ IT ANYWAY?$IT SAYS, "THERE IS SOMETHING STRANGE ABOUT THIS PLACE, SUCH THAT ONE OF THE WORDS I'VE ALWAYS KNOWN NOW HAS A NEW EFFECT."$IT SAYS THE SAME THING IT DID BEFORE.$I'M AFRAID I DON'T UNDERSTAND.$"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!"$YOU STRIKE THE MIRROR A RESOUNDING BLOW, WHEREUPON IT SHATTERS INTO A MYRIAD TINY FRAGMENTS.$YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND.$YOU PROD THE NEAREST DWARF, WHO WAKES UP GRUMPILY, TAKES ONE LOOK AT YOU, CURSES, AND GRABS FOR HIS AXE.$IS THIS ACCEPTABLE?$THERE'S NO POINT IN SUSPENDING A DEMONSTRATION GAME.$$YOU ARE OBVIOUSLY A RANK AMATEUR. BETTER LUCK NEXT TIME.$YOUR SCORE QUALIFIES YOU AS A NOVICE CLASS ADVENTURER.$YOU HAVE ACHIEVED THE RATING: "EXPERIENCED ADVENTURER".$YOU MAY NOW CONSIDER YOURSELF A "SEASONED ADVENTURER".$YOU HAVE REACHED "JUNIOR MASTER" STATUS.$YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS C.$YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS B.$YOUR SCORE PUTS YOU IN MASTER ADVENTURER CLASS A.$ALL OF ADVENTUREDOM GIVES TRIBUTE TO YOU, ADVENTURER GRANDMASTER!$$VERY WELL.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ALWAYS KNOWN NOW HAS A NEW EFFECT."$IT SAYS THE SAME THING IT DID BEFORE.$I'M AFRAID I DON'T UNDERSTAND.$"CONGRATULATIONS ON BRINGING LIGHT INTO THE DARK-ROOM!"$YOU STRIKE THE MIRROR A RESOUNDING BLOW, WHEREUPON IT SHATTERS INTO A MYRIAD TINY FRAGMENTS.$YOU HAVE TAKEN THE VASE AND HURLED IT DELICATELY TO THE GROUND.$YOU PROD THE NEAREST DWARF, WHO WAKES UP GRUMPILY, TAKES ONE LOOK AT YOU, CURSES, AND GRABS FOR HIS AXE.$IS THIS ACCEPTABLE?$THERE'S NO POINT IN SUSPENDING A DEMONSTRATION GAME.$$YOU ARE OBV*+8f"""go"22!"{?No Start Addres?Loading Erro?Fatal Table Collisio!@o!Ou!2*22ͤr,  /rM­G@RSUE =O2Hr2G:2:>`r,xrrÏ"z2ļ2!~wJJ:ʗ~wY:Äʹ YYyȷYͺ y~@Y"Y͊Y*~ ‰::ʬ͘G@•x xԘÝ?Command Erro~9#~#  ` +!~G#~ kx+#$~`>*9 j> 9:k!lo>g6 > _!Po?File Not Foun> 9> 9P/e SS,A:FORLIB/S >2!w#!w!2:_<2!~[9">2<7*"<7|*>]9`FORLIB RE ,x*:9*!w#Kͺ i~@i+^+V"!x !o?Start symbol - - undefine72**6~G~@#/2:`#~> >/9+^+V+~9/9~@>*297<~7+^+V<7:?2`~*<</O à|}:a)09) P09M|f}Gqx0:|9`͊Ägo"2"*"*"""{_zW{_#"">22"oʹ m!U ~#foBK:2#:=5*|}"*|&} op#p#*|CMH}M"*|[)`})*DM ͥ ):ʟ:=“>8͆w+p+q#B++ss#r#,:7>»C?@2,x  > 6 #=y.,x'!~ '6R#6E#6Ly$K[O0OAK:O/O:o|~_q#Vpa- := >8:=ʈ>ͺ ڿ/o/g ~@wq+p*}| ""* "6DM+!  >/9`~W+++~9+ %2nd COMMON Larger * ""> Åz"ɯͺ ~@† ~@w+:i ~_q+e:=b >86+p+q+6+r+s!  `%Mult. Def. Globalůͺ ~++ #N+F@ : x PYOG |}|: #q+p:\- X - >8:= >w+r+s+6+r+s:=Q 2͈ |Q : ^#VV E z :=2͈ : ~s#_~rWV f :=* DM*"!~#4  6+w͑ xG © ɯ2͑ ͥ 7ͧ $ ͧ   ͧ $  ͧ !w 4#6 _ ͥ w# ! "O<2ͥ Xͥ PG O! N#F :S  ff L ff, Ru C > :ʆ > *">ͺ f+^+V":2=:* **|G} ~O  A+++ + ~ y/O ÿ Ow+w+w+w+  . w+w+"7Ɏ  :ȯ2**"6] ܠ **|l }~ _a +!6 ^#V+++a V+^+*ڝ N#F r+sV+^++F+N+"* 2: ~s#_~rWV V+^++F+N+"՟2: : r+s^#VV Fr#Nsp+qF+N++V+^+* DM~_q+Vp~_q#. :H DM* *{OzG**c ##|j }ʔ #ya #xb #~c :c ~@w"2}7>2*DM*^*6" z¼ {¼ `i"**6l**DM*^6{OzG* " DM*`i"**6l|&} *6 /O* "*6Z* DMͥ :=yoxg":=|*!"oš*{OzGDM7'e'e'e$DCOF88fn REL.*+,-./-'eoo'e'eHo[0 S ^#V#! ))))oͅ  s#r#!34ͅ !36# } ,V >23Y  - } ͅ  - } ͅ  - S 3S !kXN!~͋ ʦ Þ !f_^!ͩ ^#V~o x ͛ ͞ >=o !~ͭ ͺ ![ͽ #x WWWWWWWWWWWWWWWWWWWWW2!#Z#!2WW WWWWWWWWWWWW|WWWWWWWWWWWWWWWWWWWWW$#"%!& 'Z2#! VU]bTW^a_\cSXRY`|A B C D E F G H 1 2 3 4 5 6 7 8 Q R B N K P A B D R O W : - <7*%|!$N*!>#(1X//1X,19HMIKES CHESS PROGRAM//)(1X,14HLEVEL 0 OR 1 ?)(I1)FCD(1X,42HCOMPUTER TO PLAY WHITE (0) OR BLACK (1) ? )04(I1)(1X)C0F7(1X,4HMATE/1X,16H YOU WERE LUCKY)!!u(1X,I2,2H. ,10HMY MOVE:- )(1X,4HO-OO)(1X,3HO-O)!$A "(1X,A1,I1,A1,A1,I1)(1X,24H PAWN PROMOTES TO QUEEN)(1X,11H STALEMATE)(1X,11H CHECKMATE/1X,11H THANK YOU)(1X,7H CHECK)(3X,12HYOUR MOVE:- )$I$D{}(5A1)UUU@$(3X,5HCHECK)(1X,27H ILLEGAL ATTEMPT TO CASTLE)(1X,14H ILLEGAL MOVE)(1X,25H ILLEGAL MOVE INTO CHECK)"H(1X,33H H G F E D C B A)D!(1X,33H A B C D E F G H)"!(8X,I1,1X,8(1X,2A1),3X,I1)(1X,21H YES - O.K. ACCEPTED)(1X,21H NO - OFFER DECLINED)(1X,20H YOU MUST BE JOKING)!"!"!.Q'X!"!.Q'X2!+Q!>ͽP'X*}26*+}=26!"79!.Q'Xm!+Qk!>ͽP'Xq!.Q'X*k}/<!7#w!u51*}/<*w}/<*w}/<y!.Q'XØq!.Q'Xq!.Q'X!DH!.Q7!>ͽP'X*}?0!.Q'X^!.Q'X^*}/>i*"!"*}26*"*#>>*k}/<! *{ozg"! *{ozg"!.Q*)"*!>ͽP*)"*!>ͽP'X*}/<^!.Q'X*}/<{*w}ô*w}è!.Q'XØ2!.Q'XØW!.Q'Xe!.Q'X!+Qy!>ͽP'X!"**{ozg}26*}*{ozg}2*y*{ozg}!!62**{ozg}26*}*{ozg}2*y*{ozg}!!62E*}*{ozg}26*y*{ozg}!62!"**{ozg}26*+}!62!"*}u!"*)"*{*~#fo{ozg}26S*#>>ô!"*)"**~#fo{ozg}26•*#>>Vô*k}/<! *{ozg"! *{ozg"!"*)"*y*~#fo{ozg}26*#>>ô*+! ͢P*"!"*)"**~#fo{ozg}26^*#>>ô*+! ͢P*"!J*}/<!.Q'X*}/<!.Q'X*}/<!.Q'Xô*}!.Q'Xô!.Q'Xôq!.Q'X!"*k}/<: !.Q'X!"3!"5R7!.Q'X! "3!"5!"`*5*3"3!*{ozg"!"*"b*"d*#"++"}!"*"b*"d*k}/<*` *{ozg"f*`*"f*f)~#fo"h!"j*j)."*h*~#fo{ozg}26Y*j)"*h*~#fo{ozg}26j*j#>>Ö*k}/>vn!.Q3!>ͽP!>ͽP3!>ͽP'X*` >d>U*k}/<* !.Q'X67!.Q'Xq!.Q'Xô*"}g!.Q'XØ*"}!.Q'Xô!.Q'Xô e e    '0uB222og"%"'k 2~ OG:¯ 2'<2>2y._!:!y'2=2>2:%r :y+l -l xa yZX* '' *|* *"2<2<2a 2o!6yI; O; 5>2!yh w+F $F >2SA:u2%Ï:%2E2oa !6:“!'4A#} :E02#ғ#>2Óx@":EE D >2!:[h>2>2"- "+": 2o: Q . > 22>2*|* *} *| ":%-*A":a d 2o͆Ad ~ @">2:´ <2o:ENY!>,!v# ʼ!!{# >22>2=2<2a .ʩ! x!yH´ 2>2=2*|* *} *| ":%-d md !&4 !(~  w:E0 w":&!(~I"/2':|"!'5 #2#h"!(~""5#+A###!'>wh" 4#+A##+A>P##=¶"###h"} >2#">2!'4 !ͣ :%-?:o:'g"L!k L!!~w+#!w#(#!~w#8#+A2#2##2#!~w+X# R#&:dҀ#:ao-'2"I*]"2"#########.#&̓#z:E=#2+Ago"I#:q@'#########.!4"f#*f#~#fo#*f#s#r"h#}S'/$!"Z!"T!"\*v+}2j#%!"k#!"m#*m#)~#fo"o#*o#).~#fo*k#"k#*m##*<{zL$*k#*x{ozg"h#}/<$!"q#!"m#*m#)`~#fo"o#*o#)~#fo*q#"q#*m##*{z$*q#*x"h#}%!"v!"R!"T!"Z!"\!"m#*m#)`~#fo"h#}B%*m#)@~#fo"s#R%*m##*{z%*s#)"h#!c*h#s#r!"u#*s#}=Ɓ2j#œ%*s#"s#*u##> >j%!"w#*w##"w#}=2j#S'*s#*w#{ozg"m#}=Ɓ2j##&!"y#*y#+! ͢P*m#"{#*{#)"h#*w#)\~#fo*h#s#r*y##> >%*w#*s#"m#}=2j#‡&!"y#*y#+! ͢P*m#"{#*{#)"h#*w#)\~#fo*h#s#r*y##> >F&*u#*w#{ozg"}#}=Ɓ2j#&!"y#*}#+! ͢P*y#"{#*{#)"h#*w#)\~#fo*h#s#r*y##> >&*w#*u#"}#}=2j#¢%!"y#*}#+! ͢P*y#"{#*{#)"h#*w#)\~#fo*h#s#r*y##> >'â%!"c#`.!"###!#<*#}/<-*c##"c#)"h#y"#*#*#s#r*h#A "#*#*#s#r*h# !"#*#*#s#r*h#!"#*#*#s#r*#)~#fo"#*h#""#*#)P"#*#)"#"#*#)"#"#*#"#*#~#fo*#~#fo{ozg*#~#fo*#~#fo{ozg*#~#fo͢Pog*#s#r!"#*#"#}**#})*#"h#})*#"h#}(!"#**{ozg}2j#**{ozg}!j#2#(!"#+*#"h#}ʒ)+*#"h#}›)*#"h#})!"#**{ozg}2j#*~*{ozg}!j#2#|)!"#+*#"h#}+!"#+*#"h#})*#"h#})!"#+*#"h#})*#"h#}+! "#+*c#)""h#*h#~#fo}*!"##*!"#*#)~#fo*:{ozg}2j#S**#"#*#)~#fo*:{ozg}2j#ʃ**#"#+*f#~#fo}?2j#+*#}2j#*#}!j#2#*#}!#2#*!"#*D*:{ozg}2j#*#}!j#2#&+!"#*F*:{ozg}2j#*#}!j#2#`+!"#*#}2j#*#+++}!j#2#ʕ+*###"#*#}2j#*#}!j#2#+*###"#,*f#~#fo}2j#,!"###!#<*#}/<,*##"#+*B*:{ozg}2j#*#}!j#2#P,*#"#*H*:{ozg}2j#*#}!j#2#ʎ,*#"#*v}/<,*#}2j#,*# "#*#*#{ozg}2j#,*#"#*c#)""h#~#fo*#*h#s#rb'!"m#*rog"#*m#"}#*}#)"~#fo*#{ozg"h#}/>j-*#)""h#*m#)"~#fo*h#s#r*m##*c#{z - Name ExpecteIllegal Argum .".$.&.(.*.,...0./qT: .".$.&.(.*.,...0./*>}/<%/!".*.)".*.~#fo}%/*.#>>q.!".2..!.DB*0.}.%/*".}=Ɓ2F.*".}?!F.2G..!"0.â.*c##"c#)".y"H.!*H.s#r*.""J.!(*J.s#r*@}/>6/!".L..!.DB*0.}//*".}=Ɓ2F.*".}?!F.2G.ʷ/!"0.g/*c##"c#)".y"H.!*H.s#r*.""J.!Z*J.s#r0/ *aB*w!`e 000/0 0/|00*|30:F0 0"0$0&0(0*0,0.07 2<9`00=–0:L0N0P0R0T0V0X0Z0\07aB:23‡0͘Tͯ͡.qT*:y0{0}00000007aO!a:Gw#°0000000007|:0aB͘T!J20000000007!y2Ͳ9`$11:a001111 1 1 171͘T!2Ͳ269`"/"/!*/s#r!"/!"/*8"/*"/*tog"/!"/!"/ 00!037*/}/<6*t"0!"0000!0DB*.0}&666*"0*/{ozg"D0}1!".0*0"/Ü1*/"F0!"H0^0J0!H0<*\0}c5o5*P0*/{ozg"D0}.2!"\0*H0"/1*0"r0!"t0**r0{ozg"D0}Y2*"r0*r0*F0{ozg}=Ɓ2v0=50w0!t0DB*0}15=5*}0*/{ozg"D0}º2*rog"r0 5*F0"0!"0**0{ozg"D0}/<2*"0*0*r0{ozg}?2v0 500!0<*0}5 5*}/!7^*&7~#fo}/<9* 7~#fo}/<9*"7~#fo}8ʯ8*8"2!"4!"6*2"8!"(7*(7)~#fo}2*77*(7)"+7!*+7s#r*(7)~#fo}2*78*(7)"+7!*+7s#r*(7#*<{z7×9*2"*!".!"0*8"2!"(7*(7)~#fo}2*7g8*(7)"+7!*+7s#r*(7)~#fo}2*7ʜ8*(7)"+7!*+7s#r*(7#*<{z/8×9!"-7*-7)~#fo*7~#fo{ozg}2*78*-7#*<{z8*$7~#fo}/<59*:*0{ozg*"*:*7s#r*-7)"+7!*+7s#r*-7)"+7*7~#fo*+7s#r*7~#fo)"/7*7~#fo*/7s#r*7~#fo)"17*7~#fo*17s#r**7~#fo"* 7~#fo#* 7s#r*c#{ozg"+7}/<9!*&7s#rç !<^*<~#fo}/<=!*!*>>{?? @!*!*!**<~#fo}0?>!* !'B^*#B~#fo}/<|B!*5Bs#r!*7Bs#r^C*5B~#fo}/|AA:H3B>gOJ>}AA:3B>oAHHHHHHHH!HMJ>TA>]A>"G"G>!G^*G"H*G"H*G" H*G" HH*G!G37!*Gs#r!*Gs#r!"H#HG!H<*!H}/!"@LJ*G~#fo}27HI!">*G~#fo}27H7I!"@*G~#fo"8H}ZI!">!"@*H}LJ*G~#fo}27HʇI!"*G~#fo}27HʨI!"!":H!*Gs#r!"H*Hs#r*8H`"BH*@H`~#fo*BHs#r*!VJ^!*^Js#r!*VJs#r!*ZJs#r*XJ~#fo}4K*ZJ*XJM*ZJ~#fo}/*TJ~#fo}2JM!"@!"J!"J*J#"J*J)~#fo*TJ~#fo{ozg"J}SM*J+"JÓM*J)"J"J*J)"J~#fo*Js#r*J"J*J~#fo*Js#r*J#*<{zM*<+"<K*"-ëM!N:C=BNݼMMMMMMMMM}PռMMMMMMMMM}P"M"M*M~#fo}|PBO*}/_>#N!"MMM!M<*M}NrP*M}=Ɓ2M*M}?!M2MʤN!"MTN!"*"*"!"!"M*M)@~#fo}2MN*M)@"M!^*Ms#r*M)@~#fo}2M/O*M)@"M!_*Ms#r*M#*{zN|P*}/b>SO!"MMM!M<*M}OrP*M}=Ɓ2M*M}?!M2MO!"MÄO!"*"*"!"!"M*M)@~#fo}2M*P*M)@"M!b*Ms#r*M)@~#fo}2M_P*M)@"M!a*Ms#r*M#*{zO|P!*Ms#r|PʝPږP)+~#foo&)#ÖP||DM!>))ҸP =°P>P>P>P>2f0^D^~#fo"eD^"+e*e"/e:#fPeRPdZP{c>2f2f<2eDQ>2f3Q2f<3Q>2f2f2e~#fo"$f!Se"2e~#+RQ!"e:fjQgo"e"e"eØQ!e>^*e~#€Qgo"e*e~#ŽQgo"e*e~#fo"e2f2!f2#f2f2fgo"e"/e*e|QZ*e"f(2Z{c25e24e<2#f:f>W̓]UQi[wQ:Me/<RRi[=Q2Me:fʄ\/ ʄ\i[=R̓]:Me3R3R $Y='R2Me:fER>i[=>R:fG$Yi[ER!f0fw# [R:fʋR:5eO:4e2)f*2e *+eͩRy25e"+e:4eO>2)f*+e*2e ͩRy24eÇR:fG:)f=R:fR:)f24e>W*2eéR>W:4e2)f*2eéRw# ­R*/e+"/e|©R< S>G!6e60#͑]!Me4: f0w͏[S"f~:CS w+3Sw!6e|XS}XS!Me4#"Pe|/W}/_*f"f>2Ke:f.Vͬ\:LeG:fSx2JeS:fS2OeX:fS0$Y!Je5S<¨S:JeSSͱXûSE:KeSD$Y:Me!f2MeS+S-/<2Me$Y:Me_! ]{0G$Y}0G$Y:f.Vͬ\:LeG!Me:fw3TS2Oe:Le2Je:MeLT2Oe!JewX:Me/vT*f"f!"fͱX!Me4fT*f"fͱXvT:f.Vͬ\:Me}S!Le/<}Sw!e~w2e!f~w<2fT2f2f>2e $YþT*e*eDM*fDU+|T"f"eÙ[*e*eF$Y*e#"e*f+"f|#TÙ[!e:5eO5:U:4e?U?U*2e ~ 2"f!5eq>1U> 1UUMU !e4DU:eI”U:LegU{c!fxU{c}U#mU:fʄ\*f|/g}/o#"fÄ\>21e!Le:Ne®U:e®U:Rew~/2 fͬ\:MeS:Me2Je2OeXDU nV>00V:V02"f>ɯ2Le2NenW-šV>2fßV+¢VnW\!5e5!e45W:"f.V>2Ne2Me5W:"fTUEVDVnW+V-V>21enWy2e!5e5!e4dVWOx W{c> GV:1ex(W/<2MeG!Le~wTUdV: f5W X~[~[RR~[:"f!0fw#wZWRR!Le:Mew5WDU nW:e2enW.VFʐWT.V>2fDUWÄ\!f~ʨW>T>Fw> #w#w#wR> W> W>O}2$fO!]:$fQQ=_^#V ^#VWW*e| X{c*e| X{c!0ffw#X!f0fX:#f!1ew Z:f>W! f~YXx8NXG@G͑[>XdX~[YXx|“XzXƒXŒXejSXÓXÓXch|X{_zW}o|gÔX"f"fx!Je5X:f*$Y!f50$Y*PeF#"Pe$Y!e~!f!Je2fXY2Je/Y:f-$Y!Oe5 Y.$YͱXX{c $Y!f5YX:4e!5e?Y^4*2ep!e5CY{c:f:fʙ[HZ!f~4aY{c *f"f*f"fÙ[!"e*e*e:fʧY~'ʘYDUw#ÅY#~'ʋY"eÙ[~'ʾYG$Y*e#"e#çY*e#"e#~'ʭYÙ[:f=Y!!f4*f"eUZ2f™[*f+"f|ʙ[*f"e!f4Ù[!1e6:f*Z:e*Z:5e$Z<*2e6 24eI]:1e25e:f>Z>24eZ25eÙ[!!f~UZwdZ*/e+"/e|dZ:!fZ*f|ʙ[+"f:Re2Le2f2Me21ego"f"f" f" f:e!ew:fʨZ4*f:fG*+efºZ f~#ºZ"+eäZ:eWɯ21ego"f*e*e~# Z-Z1e Z"e2"fG0[ [*fT])))_Z*f|%[#x:1e6[o>g"f|x! f~w+ @[:[! f~w+S[!7fP[^[f!fw#r[6 !f~w#…[~[‘[Z"f¶[,ʙ[/Z)Y'pYP[:f2fÙ[|[{c!"f2e!R\[# [{cyO!p\:f[!\\ ^#V"fy\*e"f!"eZ$\{c}2e2Rey D\:"f.N\Z*f}2Re*e+"eHZ{cXH(AILEFGDN]TTYQVwWVVVVm]TTYR#VWnST|TkS:fG*+ef–\ fw#–\"+e*f|ʙ[HZ! f~6]x21ew:f=\=\+>2f>w\!f~1]/W+~/_s#r>2f7]]!Me4>W*f5e|b]b]Ù[{c :4eÙ[ $Y*f+"f|n]Ù[:fG:e2Me!1e>w!Me5:[ X:[RR cbccc^^^^^M[ XM[RR X\[RR]M[M[M[!Me4|/G}/O!>^ ^7>{_zW}o|g=]|g}o`iN#F#q#p#=!^2'e"f"f`i"(e2*e:*eY^!f_m^:'e*(er^_~#fo:*e<2*eW:'e҅^e c^!`"w"*G#"G>Ae !"! FORTDATQca````^``!^:$f_~!^:$f_^#V2^2^^_@~¯_:$f_!^6* e[b|/_}2_"^" e^*e|D_+)|! w#w#M__ͯb #w#^w#B`w">wT] 6^^6q`b^ͯb! w^@``ɯ^(w*2e*4e&`w#æ`^77^8w*2e^>24e?ɯ^2^:4e*2e~~4w:4e~+)a1a> a)a0> a> a#=7a~a)a> a:^7:^aa^b^2^<2^7^ w24e2^Ͱaڥasaʮa*4e&*2ew"4e ʥa}sa{c:^?ɷ!^:$f_~a5!^/Ɓ_#>Wͯb^2^>w7!^:$f_~@b4!^_#>Wɇb> a>a!^:$f_~6ͼbo&?b6#<4b+ͯb^2^^ww!^~{2$f``{ ^b~ ^2$f^_^ w ʝb#w‘b:$f_!]^p+qͼb:$f_!^^#V!ccccccb:bc> eczc2b:b*b> ec> ec* eb|c}c"b" eQ:brc:4e*2e=> ec~+Wc1Gc> ecWc> ec~0Wc> ec#~#ec=Yc_>2bc~#O!c ^#V"e!e ~td#•c:e<2e e eIDF0MPIRFWITEXDOMLDZLGSQIBTLOBDEISBEINOVCNGLGSSNA2IODTBIRCEFd/dcccccQ24e̓d d*4e&*2ew"4e }d{c:4e*2e=> td~+fd1Qd> tdfd> td~ fd0fd> td#~#td=hd_*e~ ̔d#~"e d!d^#6 #> tdwP *}/<*w}*w}!{~2!ͳͶW!d&e!e* e>2$f> td> tdy!\>a!"**{ozg}26*}*{ozg}2*y*{ozg}!!62**{ozg}26*}*{ozg}2*y*{ozg}!!62*} **{** g}26*y*{ozg}!62!"**{ozg}26*+}!62!"*}!"*)"*{*~#fo{ozg}26*#>>6!"*)"**~#fo{ozg}26*#>>x*k}/<! ec* eb|c}c"b" eQ:brc:4e*2e=> ec~+Wc1Gc> ecWc> ec~0Wc> ec#~#ec=Yc_>2bc~#O!c ^#V"e!e ~td#•c:e<2e e eIDF0MPIRFWITEXDOMLDZLGSQIBTLOBDEISBEINOVCNGLGSSNA2IODTBIRCEFd/dcccccQ24e̓d d*4e&*2ew"4e }d{c:4e*2e=> td~+fd1Qd> tdfd> td~ fd0fd> td#~#td=hd_*e~ ̔d#~"e d!d^#6 #> tdwP *}/<*w}*w}!{~2!ͳͶCHESS.DOC DOCUMENTATION FOR CHESS.COM (SOURCE CODE WRITTEN IN FORTRAN) DECEMBER 25, 1979 CHESS.COM USES ALGEBRAIC NOTATION AND A BOARD DISPLAY SIMILAR TO MICROCHESS: A B C D E F G H 8 BR BN BB BQ BK BB BN BR 8 7 BP BP BP BP BP BP BP BP 7 6 -- :: -- :: -- :: -- :: 6 5 :: -- :: -- :: -- :: -- 5 4 -- :: -- :: -- :: -- :: 4 3 :: -- :: -- :: -- :: -- 3 2 WP WP WP WP WP WP WP WP 2 1 WR WN WB WQ WK WB WN WR 1 A B C D E F G H THERE ARE TWO OTHER COMMANDS WHICH DISPLAY THE BOARD AND ASK THE COMPUTER IF IT WILL ACCEPT A DRAW. THEY ARE "BOARD" AND "DRAW", RESPECTIVELY. TO CASTLE KING-SIDE, TYPE IN O-O TO CASTLE QUEEN-SIDE TYPE IN O-OO IF YOU TRY O-O-O IT SAYS "ILLEGAL ATTEMPT TO CASTLE" ALWAYS USE CAPITAL LETTERS, FORTRAN-CHESS DOES NOT ACCEPT LOWER CASE. I HAVE RUN SEVERAL GAMES COMPARING THE FORTRAN-CHESS (FC) PROGRAM AGAINST FIDELITY ELECTRONICS' CHESS CHALLENGER 7 (CC7) (C) 1978 FIDELITY ELECTRONICS. WITH FC AT LEVEL 0 (IT ONLY HAS 0 AND 1) AND CC7 AT LEVEL 1 (CC7 HAS 6 LEVELS OF PLAY) FC WINS. WITH FC AT LEVEL 0 AND CC7 AT LEVEL 2 CC7 WINS. FC'S RESPONSE TIME AT LEVEL 0 VARIES BUT IS NEVER MORE THAN 90 SECONDS. I HAVE NOT YET CLOCKED IT AT LEVEL 1, BUT IT HAS A SIGNIFICANTLY LONGER RESPONSE TIME (AT LEAST AS MUCH AS SEVERAL MINUTES -- ESTIMATION). HAVE FUN! JIM MILLS C.A.C.H.E. MEMBER : -- 3 2 WP WP WP WP WP WP WP WP 2 1 WR WN WB WQ WK WB WN WR 1 A B C D E F G H THERE ARE TWO OTHER COMMANDS WHICH DISPLAY THE BOARD AND ASK THE COMPUTER IF IT WILL ACCEPT A DRAW. THEY ARE "BOARD" AND "DRAW", RESPECTIVELY. TO CASTLE KING-SIDE, TYPE IN O-O TO CASTLE QUEEN-SIDE TYPE IN O-OO IF YOU TRY O-O-O IT SAYS "ILLEGAL ATTEMPT TO CASTLE" ALWAYS USE CAPITAL LETTERS, FORTRAN-CHESS DOES NOT ACCEPT LOWER CASE. I HAVE RUN SEVERAL GAMES COMPARING THE FORTRAN-CHESS (FC) PROGRAM AGAINST FIDELITY ELECTRONICS' CHESS CHALLENGER 7 (CC7) (C) 1978 FIDELITY ELECTRONICS. WITH FC AT LEVEL 0 (IT ONLY HAS 0 ANC MODIFIED FOR CROMEMCO'S Z80 FORTRAN, 20/9/1978 DIMENSION NICT(16) COMMON/BOARD/JBOARD(120) COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG COMMON/BLACK/ISPCE(16),ISTYPE(16),ISVAL(6),ISMEN,ISQN,ISKG COMMON/BAL/MATBAL,LEV COMMON/KEY/KEY(8),NUMB(8),MEN(6),IA,IB,ID,IR,IO,IW,ISTR,MINUS LR=1 LP=1 WRITE(LP,101) 101 FORMAT(1X//1X,19HMIKES CHESS PROGRAM//) KECK=0 149 WRITE(LP,150) 150 FORMAT(1X,14HLEVEL 0 OR 1 ?) READ(LR,160)LEV 160 FORMAT(I1) IF(LEV.LT.0)GO TO 149 IF(LEV.GT.1)GO TO 149 MOVE=0 WRITE(LP,102) 102 FORMAT(1X,42HCOMPUTER TO PLAY WHITE (0) OR BLACK (1) ? ) READ(LR,103)KOLOR 103 FORMAT(I1) WRITE(LP,104) 104 FORMAT(1X) IF(KOLOR)20,20,11 20 CALL HEUR(MOVE) CALL TREE(MOV,MATE) IF(KECK)30,30,31 30 IF(MATE)15,15,37 31 IF(MATE)34,34,33 33 WRITE(LP,105) 105 FORMAT(1X,4HMATE/1X,16H "YOU WERE LUCKY) GO TO 26 34 WRITE(LP,104) GO TO 32 15 WRITE(LP,104) 32 CALL MYGO(LSQ,NSQ,KAPT,MOV,KASTLE,IPROM,KECK) WRITE(LP,46)MOVE 46 FORMAT(1X,I2,2H. ,10HMY MOVE:- ) IF(KASTLE)55,57,56 55 WRITE(LP,106) 106 FORMAT(1X,4HO-OO) GO TO 24 56 WRITE(LP,107) 107 FORMAT(1X,3HO-O) GO TO 24 57 IF(KAPT)27,27,28 27 LD=MINUS GO TO 29 28 LD=ISTR 29 LSQ=LSQ-21 DO 41 IJ=1,8 IF(LSQ.LT.10)GO TO 42 LSQ=LSQ-10 41 CONTINUE 42 NSQ=NSQ-21 DO 43 KJ=1,8 IF(NSQ.LT.10)GO TO 44 NSQ=NSQ-10 43 CONTINUE 44 IF(KOLOR)71,71,70 70 IJ=9-IJ KJ=9-KJ 71 WRITE(LP,45)KEY(LSQ),IJ,LD,KEY(NSQ),KJ 45 FORMAT(1X,A1,I1,A1,A1,I1) IF(IPROM)24,24,23 23 WRITE(LP,108) 108 FORMAT(1X,24H PAWN PROMOTES TO QUEEN) 24 IF(KECK)35,35,36 35 IF(MATE)37,8,8 36 IF(MATE)38,39,39 37 WRITE(LP,109) 109 FORMAT(1X,11H STALEMATE) GO TO 26 38 WRITE(LP,110) 110 FORMAT(1X,11H CHECKMATE/1X,11H THANK YOU) GO TO 26 39 WRITE(LP,111) 111 FORMAT(1X,7H CHECK) 8 CONTINUE 11 WRITE(LP,47) 47 FORMAT(3X,12HYOUR MOVE:- ) READ(LR,48)L1,N1,IL,L2,N2 48 FORMAT(5A1) KASTLE=0 IF(L1.EQ.IB.AND.IL.EQ.IA.AND.L2.EQ.IR)GO TO 200 IF(L1.EQ.ID.AND.IL.EQ.IA.AND.L2.EQ.IW)GO TO 300 IF(L1.EQ.IO.AND.IL.EQ.IO)KASTLE=1 IF(KASTLE.EQ.1.AND.L2.EQ.IO)KASTLE=-1 IF(KASTLE)63,62,63 62 DO 401 IJ=1,8 IF(N1.EQ.NUMB(IJ))GO TO 402 401 CONTINUE GO TO 11 402 DO 403 KJ=1,8 IF(N2.EQ.NUMB(KJ))GO TO 404 403 CONTINUE GO TO 11 404 IF(KOLOR)73,73,72 72 IJ=9-IJ KJ=9-KJ 73 DO 49 I=1,8 IF(L1.EQ.KEY(I))GO TO 50 49 CONTINUE GO TO 11 50 LSQ=10*(IJ-1)+I+21 DO 51 I=1,8 IF(L2.EQ.KEY(I))GO TO 52 51 CONTINUE GO TO 11 52 NSQ=10*(KJ-1)+I+21 63 CALL ISGO(LSQ,NSQ,ILLEG,KASTLE,ILLCAS,IPROM,KECK) IF(IPROM)19,19,18 18 WRITE(LP,108) 19 IF(KECK)10,10,9 9 WRITE(LP,25)  25 FORMAT(3X,5HCHECK) 10 IF(ILLCAS)61,61,60 60 WRITE(LP,112) 112 FORMAT(1X,27H ILLEGAL ATTEMPT TO CASTLE) GO TO 11 61 IF(ILLEG)20,13,12 12 WRITE(LP,113) 113 FORMAT(1X,14H ILLEGAL MOVE) GO TO 11 13 WRITE(LP,114) 114 FORMAT(1X,25H ILLEGAL MOVE INTO CHECK) GO TO 11 200 WRITE(LP,104) IDOT=0 IF(KOLOR)201,201,202 201 WRITE(LP,115) 115 FORMAT(1X,33H H G F E D C B A) NUM=0 KL=1 GO TO 203 202 WRITE(LP,116) 116 FORMAT(1X,33H A B C D E F G H) NUM=9 KL=-1 203 DO 216 LINE=21,100,10 NUM=NUM+KL IDOT=1-IDOT DO 214 I=1,8 IPC=ISTR KOL=ISTR IDOT=IDOT+1 IF(IDOT-2)218,217,217 217 IDOT=0 IPC=MINUS KOL=MINUS 218 IF(KOLOR)223,223,224 223 IP=LINE+9-I GO TO 225 224 IP=LINE+I 225 JBI=JBOARD(IP) DO 207 IT=1,6 IF(JBI.EQ.MYVAL(IT))GO TO 208 IF(JBI.EQ.ISVAL(IT))GO TO 209 207 CONTINUE GO TO 212 208 IF(KOLOR)211,211,210 209 IF(KOLOR)210,210,211 210 KOL=IB GO TO 219 211 KOL=IW 219 IPC=MEN(IT) 212 NICT(2*I-1)=KOL NICT(2*I)=IPC 214 CONTINUE WRITE(LP,213)NUM,NICT,NUM 213 FORMAT(8X,I1,1X,8(1X,2A1),3X,I1) 216 CONTINUE IF(KOLOR)220,220,221 220 WRITE(LP,115) GO TO 222 221 WRITE(LP,116) 222 WRITE(LP,104) GO TO 11 300 IF(MATBAL+15)301,302,302 301 WRITE(LP,117) 117 FORMAT(1X,21H YES - O.K. ACCEPTED) GO TO 26 302 IF(MATBAL-70)303,304,304 303 WRITE(LP,118) 118 FORMAT(1X,21H NO - OFFER DECLINED) GO TO 11 304 WRITE(LP,119) 119 FORMAT(1X,20H YOU MUST BE JOKING) GO TO 11 26 CALL EXIT END BLOCKDATA COMMON/INCRE/INK(16) COMMON/BOARD/JBOARD(120) COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG COMMON/BLACK/ISPCE(16),ISTYPE(16),ISVAL(6),ISMEN,ISQN,ISKG COMMON/FIELD/KFLD(100),KENT(100),KPRI(6),IJK(10) COMMON/KEY/KEY(8),NUMB(8),MEN(6),IA,IB,ID,IR,IO,IW,ISTR,MINUS COMMON/LARGE/JBIG,JVBIG COMMON/NGAME/NGAME,LIMIT COMMON/BAL/MATBAL,LEV DATA INK/-9,-11,9,11,1,10,-1,-10,8,12,19,21,-8,-12,-19,-21/ DATA JBOARD/ + 1111,1111,1111,1111,1111,1111,1111,1111,1111,1111 + ,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111 + ,1111, 50, 33, 35, 90, 900, 35, 33, 50,1111 + ,1111, 10, 10, 10, 10, 10, 10, 10, 10,1111 + ,1111, 0, 0, 0, 0, 0, 0, 0, 0,1111 + ,1111, 0, 0, 0, 0, 0, 0, 0, 0,1111 + ,1111, 0, 0, 0, 0, 0, 0, 0, 0,1111 + ,1111, 0, 0, 0, 0, 0, 0, 0, 0,1111 + ,1111, -10, -10, -10, -10, -10, -10, -10, -10,1111 + ,1111, -50, -33, -35, -90,-900, -35, -33, -50,1111 + ,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111 + ,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111/ DATA MYPCE/36,35,23,28,34,37,24,27,25,22,29,33,38,32,39,26/ DATA MYTYPE/6, 6, 4, 4, 6, 6, 3, 3, 1, 2, 2, 6, 6, 6, 6, 5/ DATA NUMB/2H1 ,2H2 ,2H3 ,2H4 ,2H5 ,2H6 ,2H7 ,2H8 / DATA MYMEN,MYQN,MYKG,MYVAL/16,1,1,90,50,35,33,900,10/ DATA ISPCE/86,85,93,98,84,87,94,97,95,92,99,83,88,82,89,96/ DATA ISTYPE/6, 6, 4, 4, 6, 6, 3, 3, 1, 2, 2, 6, 6, 6, 6, 5/ DATA ISMEN,ISQN,ISKG,ISVAL/16,1,1,-90,-50,-35,-33,-900,-10/ DATA KENT/ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + , 0, 0, 1, 2, 3, 3, 2, 1, 0, 0 + , 0, 1, 3, 4, 5, 5, 4, 3, 1, 0 + , 0, 2, 4, 6, 7, 7, 6, 4, 2, 0 + , 0, 3, 5, 7, 8, 8, 7, 5, 3, 0 + , 0, 3, 5, 7, 8, 8, 7, 5, 3, 0 + , 0, 2, 4, 6, 7, 7, 6, 4, 2, 0 + , 0, 1, 3, 4, 5, 5, 4, 3, 1, 0 + , 0, 0, 1, 2, 3, 3, 2, 1, 0, 0/ DATA KFLD/100*0/,KPRI/2,0,3,4,0,1/,IJK/10,8,2,7*0/ DATA KEY/2HA ,2HB ,2HC ,2HD ,2HE ,2HF ,2HG ,2HH / DATA MEN/2HQ ,2HR ,2HB ,2HN ,2HK ,2HP / DATA IA/2HA /,IB/2HB /,ID/2HD /,IR/2HR /,IO/2HO /,IW/2HW / +,ISTR/2H: /,MINUS/2H- / DATA NGAME/0/,LIMIT/1090/,MATBAL/0/,JBIG/10000/,JVBIG/30000/ END SUBROUTINE HEUR(MOVE) COMMON MOVES(100,4),MARK(100),NMOVE COMMON/BOARD/JBOARD(120) COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG COMMON/BLACK/ISPCE(16),ISTYPE(16),ISVAL(6),ISMEN,ISQN,ISKG COMMON/FIELD/KFLD(100),KENT(100),KPRI(6),IJK(10) COMMON/LARGE/JBIG,JVBIG COMMON/NGAME/NGAME,LIMIT MOVE=MOVE+1 IF(MOVE-9)8,7,44 7 KPRI(5)=1 KPRI(2)=2 KPRI(6)=3 44 IF(NGAME.EQ.1)GO TO 104 MYTOT=0 DO 100 I=1,MYMEN NJ=MYTYPE(I) 100 MYTOT=MYTOT+MYVAL(NJ) IF(MYTOT-LIMIT)103,103,101 101 ISTOT=0 DO 102 I=1,ISMEN NJ=ISTYPE(I) 102 ISTOT=ISTOT+ISVAL(NJ) IF(ISTOT+LIMIT)104,103,103 103 NGAME=1 KPRI(1)=1 KPRI(2)=1  KPRI(5)=4 KPRI(6)=0 104 DO 47 I=1,ISMEN IF(ISTYPE(I)-5)47,46,47 46 KI=ISPCE(I) GO TO 48 47 CONTINUE 48 KFLD(KI)=99 DO 71 KJ=1,10 IF(KI.LE.10)GO TO 72 KI=KI-10 71 CONTINUE 72 IPR=0 73 IPR=IPR+1 IF(IPR.GT.10)GO TO 8 I=KI-IPR IF(I.LE.0)GO TO 75 DO 74 L=1,10 LP=10*(L-1)+I 74 KFLD(LP)=IJK(IPR) 75 I=KI+IPR IF(I.GT.10)GO TO 77 DO 76 L=1,10 LP=10*(L-1)+I 76 KFLD(LP)=IJK(IPR) 77 J=KJ-IPR IF(J.LE.0)GO TO 79 DO 78 L=1,10 LP=10*(J-1)+L 78 KFLD(LP)=IJK(IPR) 79 J=KJ+IPR IF(J.GT.10)GO TO 73 DO 80 L=1,10 LP=10*(J-1)+L 80 KFLD(LP)=IJK(IPR) GO TO 73 8 NMOVE=0 CALL MYCAS MAN=0 1 CALL WMOVE(MAN,JV,LSQ,NSQ,KON,IPT,IFN,KC,NX,IP,MORE,0) IF(MORE)3,3,2 2 NMOVE=NMOVE+1 MOVES(NMOVE,1)=JV MOVES(NMOVE,2)=LSQ MOVES(NMOVE,3)=NSQ MOVES(NMOVE,4)=KON JT=MYTYPE(MAN) MARK(NMOVE)=KPRI(JT)*(KENT(NSQ)-KENT(LSQ)+KFLD(NSQ)-KFLD(LSQ)) IBON=0 IF(JT-6)6,4,4 4 IF(KON)35,19,35 19 IF(NSQ-56)24,20,24 20 IF(LSQ-36)22,21,22 21 IBON=30 IF(JBOARD(65).EQ.ISVAL(6).OR.JBOARD(67).EQ.ISVAL(6))IBON=5 GO TO 5 22 IF(LSQ-46)5,28,5 24 IF(NSQ-55)29,25,29 25 IF(LSQ-35)27,26,27 26 IBON=20 IF(JBOARD(64).EQ.ISVAL(6).OR.JBOARD(66).EQ.ISVAL(6))IBON=5 GO TO 5 27 IF(LSQ-45)5,28,5 28 IBON=2 GO TO 5 29 IF(LSQ-32)30,31,30 30 IF(LSQ-39)39,31,39 31 IBON=-5 GO TO 5 39 IF(LSQ-35)52,51,52 52 IF(LSQ-36)5,51,5 51 IBON=10 GO TO 5 35 IF(MARK(NMOVE))36,37,37 36 IBON=-5 GO TO 38 37 IBON=5 38 IF(JBOARD(NSQ-10).EQ.MYVAL(6))IBON=IBON-10 IF(JBOARD(NSQ+10).EQ.MYVAL(6))IBON=IBON-10 GO TO 5 6 IF(MOVE.GE.9)GO TO 40 IF(JT.EQ.4.AND.(NSQ.EQ.42.OR.NSQ.EQ.49))IBON=-15 IF(NSQ.EQ.45.AND.JBOARD(35).EQ.MYVAL(6))IBON=-50 IF(NSQ.EQ.46.AND.JBOARD(36).EQ.MYVAL(6))IBON=-50 IF(JT.EQ.3.AND.LSQ.EQ.27)IBON=IBON+2 IF(JT.EQ.4.AND.LSQ.EQ.28)IBON=IBON+2 GO TO 50 5 IF(MOVE.LT.9)GO TO 50 40 M2=0 41 CALL WMOVE(M2,JV2,LSQ2,NSQ2,KON2,IPT2,IFN2,KC2,NX2,IP2,MOR2,0) IF(MOR2)45,45,42 42 IBON=IBON+1 GO TO 41 45 IF(LSQ.EQ.44.AND.JBOARD(34).EQ.MYVAL(6))IBON=IBON+5 IF(LSQ.EQ.47.AND.JBOARD(37).EQ.MYVAL(6))IBON=IBON+5 IF(NGAME)50,50,105 105 IF(JT.NE.6)GO TO 50 IBON=IBON+10 IF(NSQ-LSQ.EQ.20)IBON=IBON+5 50 MARK(NMOVE)=MARK(NMOVE)+IBON GO TO 1 3 DO 14 I=1,NMOVE JB=-JBIG DO 12 J=I,NMOVE IF(MARK(J)-JB)12,12,11 11 IP=J JB=MARK(J) 12 CONTINUE DO 13 K=1,4 INTER=MOVES(I,K) MOVES(I,K)=MOVES(IP,K) 13 MOVES(IP,K)=INTER MARK(IP)=MARK(I) 14 CONTINUE RETURN END SUBROUTINE MYCAS COMMON MOVES(100,4),MARK(100),NMOVE COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG COMMON/BOARD/JBOARD(120) IF(MYQN)10,10,1 1 DO 3 I=23,25 IF(JBOARD(I))10,3,10 3 CONTINUE MAN=0 4 CALL BMOVE(MAN,JV,LSQ,NSQ,KON,IPT,IFN,KC,NX,IP,MORE,0) IF(MORE)6,10,5 5 IF(NSQ.GE.24.AND.NSQ.LE.26)MORE=0 GO TO 4 6 NMOVE=NMOVE+1 MOVES(NMOVE,1)=-1 MARK(NMOVE)=40 10 IF(MYKG)20,20,11 11 DO 12 I=27,28 IF(JBOARD(I))20,12,20 12 CONTINUE MAN=0 13 CALL BMOVE(MAN,JV,LSQ,NSQ,KON,IPT,IFN,KC,NX,IP,MORE,0) IF(MORE)15,20,14 14 IF(NSQ.GE.26.AND.NSQ.LE.28)MORE=0 GO TO 13 15 NMOVE=NMOVE+1 MOVES(NMOVE,1)=0 MARK(NMOVE)=90 20 RETURN END C CREATE AND SEARCH MOVE TREE SUBROUTINE TREE(MOV,MATE) COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG COMMON/BLACK/ISPCE(16),ISTYPE(16),ISVAL(6),ISMEN,ISQN,ISKG COMMON/BAL/MATBAL,LEV COMMON/LARGE/JBIG,JVBIG MATE=0 IJ=1 IK=1 C ADJUST DEPTH TO SUIT COMPUTER SPEED C LEV=0 FOR SLOW COMPUTERS; LEV=1 FOR FASTER COMPUTERS MYKING=MYVAL(5) ISKING=ISVAL(5) JAB1=-JVBIG MOR1=1 NM=0 11 CALL FMOVE(JV1,LSQ1,NSQ1,KON1,NM,KAS,IP1,MOR1) IF(MOR1)10,10,41 41 JAB2=JVBIG M2=0 12 CALL BMOVE(M2,JV2,LSQ2,NSQ2,KON2,IPT2,IFN2,KC2,NX2,IP2,MOR2,0) IF(MOR2)8,9,42 42 IF(KON2-MYKING)61,60,61 60 MOR2=0 IJ=M2 GO TO 12 61 JAB3=JAB1 M3=0 13 CALL WMOVE(M3,JV3,LSQ3,NSQ3,KON3,IPT3,IFN3,KC3,NX3,IP3,MOR3,0) IF(MOR3)6,7,43 43 IF(KON3-ISKING)63,62,63 62 MOR3=0 IK=M3 GO TO 13 63 JAB4=JAB2 M4=0 IF(MATBAL-JAB4)21,22,22 21 JAB4=MATBAL 22 IF(JAB4.LE.JAB3)GO TO 5 14 CALL BMOVE(M4,JV4,LSQ4,NSQ4,KON4,IPT4,IFN4,KC4,NX4,IP4,MOR4,1) IF(MOR4)4,5,44 44 IF(KON4-MYKING)70,69,70 69 JAB4=-JBIG GO TO 3 70 JAB5=JAB3 M5=0 IF(MATBAL-JAB5)24,24,23 23 JAB5=MATBAL 24 IF(JAB5.GE.JAB4)GO TO 3 15 CALL WMOVE(M5,JV5,LSQ5,NSQ5,KON5,IPT5,IFN5,KC5,NX5,IP5,MOR5,1) IF(MOR5)2,3,45 45 IF(LEV)46,46,101 46 IF(MATBAL-JAB5)26,26,120 120 JAB5=MATBAL GO TO 26 101 IF(KON5-ISKING)103,102,103 102 JAB5=JBIG GO TO 26 103 JAB6=JAB4 M6=0 IF(MATBAL-JAB6)104,105,105 104 JAB6=MATBAL 105 IF(JAB6.LE.JAB5)GO TO 26 106 CALL BMOVE(M6,JV6,LSQ6,NSQ6,KON6,IPT6,IFN6,KC6,NX6,IP6,MOR6,1) IF(MOR6)25,26,107 107 IF(KON6-MYKING)109,108,109 108 JAB6=-JBIG GO TO 117 109 JAB7=JAB5 M7=0 IF(MATBAL-JAB7)111,111,110 110 JAB7=MATBAL 111 IF(JAB7.GE.JAB6)GO TO 117 112 CALL WMOVE(M7,JV7,LSQ7,NSQ7,KON7,IPT7,IFN7,KC7,NX7,IP7,MOR7,1) IF(MOR7)116,117,113 113 IF(MATBAL-JAB7)115,115,114 114 JAB7=MATBAL 115 IF(JAB7.GE.JAB6)MOR7=0 GO TO 112 116 JAB6=JAB7 117 IF(JAB6.LE.JAB5)MOR6=0 GO TO 106 25 JAB5=JAB6 26 IF(JAB5.GE.JAB4)MOR5=0 GO TO 15 2 JAB4=JAB5 3 IF(JAB4.LE.JAB3)MOR4=0 GO TO 14 4 JAB3=JAB4 IK=M3 5 IF(JAB3.GE.JAB2)MOR3=0 GO TO 13 6 JAB2=JAB3 IJ=M2 7 IN3=MYPCE(IK) IN4=MYTYPE(IK) 33 IF(IK.EQ.1)GO TO 34 IK1=IK-1 MYPCE(IK)=MYPCE(IK1) MYTYPE(IK)=MYTYPE(IK1) IK=IK1 GO TO 33 34 MYPCE(1)=IN3 MYTYPE(1)=IN4 IF(JAB2.LE.JAB1)MOR2=0 GO TO 12 8 JAB1=JAB2 MOV=NM 9 IN1=ISPCE(IJ) IN2=ISTYPE(IJ) 31 IF(IJ.EQ.1)GO TO 32 IJ1=IJ-1 ISPCE(IJ)=ISPCE(IJ1) ISTYPE(IJ)=ISTYPE(IJ1) IJ=IJ1 GO TO 31 32 ISPCE(1)=IN1 ISTYPE(1)=IN2 GO TO 11 10 IF(JAB1.EQ.-JVBIG)MATE=1 IF(JAB1.EQ.JVBIG)MATE=-1 RETURN END SUBROUTINE FMOVE(JV,LSQ,NSQ,KON,NM,KASTLE,IPROM,MORE) COMMON MOVES(100,4),MARK(100),NMOVE COMMON/BOARD/JBOARD(120) COMMON/BAL/MATBAL,LEV COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG IF(MORE)4,4,5 5 IF(NM)2,2,1 1 IF(KASTLE)28,29,27 27 JBOARD(26)=MYVAL(5) JBOARD(27)=0 JBOARD(28)=0 JBOARD(29)=MYVAL(2) DO 30 I=1,MYMEN IF(MYPCE(I).EQ.28)MYPCE(I)=26 IF(MYPCE(I).EQ.27)MYPCE(I)=29 30 CONTINUE GO TO 2 28 JBOARD(22)=MYVAL(2) JBOARD(24)=0 JBOARD(25)=0 JBOARD(26)=MYVAL(5) DO 31 I=1,MYMEN IF(MYPCE(I).EQ.24)MYPCE(I)=26 IF(MYPCE(I).EQ.25)MYPCE(I)=22 31 CONTINUE GO TO 2 29 DO 23 MAN=1,MYMEN IF(MYPCE(MAN).EQ.NSQ)GO TO 24 23 CONTINUE 24 IF(IPROM)25,25,26 26 MATBAL=MATBAL-MYVAL(1)+MYVAL(6) JV=MYVAL(6) MYTYPE(MAN)=6 25 MYPCE(MAN)=LSQ JBOARD(LSQ)=JV JBOARD(NSQ)=KON MATBAL=MATBAL+KON 2 NM=NM+1 IF(NM-NMOVE)4,4,3 3 MORE=-1 GO TO 7 4 IPROM=0 KASTLE=0 JV=MOVES(NM,1) IF(JV)10,9,8 9 KASTLE=1 JBOARD(26)=0 JBOARD(27)=MYVAL(2) JBOARD(28)=MYVAL(5) JBOARD(29)=0 DO 11 I=1,MYMEN IF(MYPCE(I).EQ.26)MYPCE(I)=28 IF(MYPCE(I).EQ.29)MYPCE(I)=27 11 CONTINUE  GO TO 7 10 KASTLE=-1 JBOARD(22)=0 JBOARD(24)=MYVAL(5) JBOARD(25)=MYVAL(2) JBOARD(26)=0 DO 12 I=1,MYMEN IF(MYPCE(I).EQ.26)MYPCE(I)=24 IF(MYPCE(I).EQ.22)MYPCE(I)=25 12 CONTINUE GO TO 7 8 LSQ=MOVES(NM,2) NSQ=MOVES(NM,3) KON=MOVES(NM,4) DO 33 MAN=1,MYMEN IF(MYPCE(MAN).EQ.LSQ)GO TO 34 33 CONTINUE 34 IF(MYTYPE(MAN)-6)6,21,21 21 IF(NSQ-90)6,22,22 22 MATBAL=MATBAL+MYVAL(1)-MYVAL(6) JV=MYVAL(1) MYTYPE(MAN)=1 IPROM=1 6 MYPCE(MAN)=NSQ JBOARD(LSQ)=0 JBOARD(NSQ)=JV MATBAL=MATBAL-KON 7 RETURN END C GENERATE A WHITE MOVE SUBROUTINE WMOVE(MAN,JV,LSQ,NSQ,KON,IPT,IFN,KC,NEXT,IP,MORE,KP) COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG COMMON/BOARD/JBOARD(120) COMMON/BAL/MATBAL,LEV COMMON/INCRE/INK(16) IF(MAN)86,86,81 86 IP=0 MORE=1 GO TO 82 81 IF(IP)65,65,64 64 MATBAL=MATBAL-MYVAL(1)+MYVAL(6) JV=MYVAL(6) MYTYPE(MAN)=6 IP=0 65 MYPCE(MAN)=LSQ JBOARD(LSQ)=JV JBOARD(NSQ)=KON MATBAL=MATBAL+KON IF(MORE)38,38,83 83 IF(NEXT)16,24,29 82 MAN=MAN+1 IF(MAN-MYMEN)84,84,85 85 MORE=-1 GO TO 38 84 LSQ=MYPCE(MAN) JV=JBOARD(LSQ) NAME=MYTYPE(MAN) IF(JV-MYVAL(NAME))82,7,82 7 GO TO(41,8,9,17,18,40),NAME C QUEEN,ROOK OR BISHOP MOVE 41 IPT=0 IFN=8 GO TO 12 8 IPT=4 IFN=8 GO TO 12 9 IPT=0 IFN=4 12 NEXT=-1 10 IPT=IPT+1 IF(IPT.GT.IFN)GO TO 82 KC=INK(IPT) NSQ=LSQ 11 NSQ=NSQ+KC KON=JBOARD(NSQ) IF(KON)37,36,10 16 IF(KON)10,11,10 C KING OR KNIGHT MOVE 17 IPT=8 IFN=16 GO TO 19 18 IPT=0 IFN=8 19 NEXT=0 24 IPT=IPT+1 IF(IPT.GT.IFN)GO TO 82 NSQ=LSQ+INK(IPT) KON=JBOARD(NSQ) IF(KON)37,36,24 C PAWN MOVE 40 NEXT=1 IPT=0  29 IPT=IPT+1 IF(IPT.GT.4)GO TO 82 IF(IPT-2)27,31,30 27 NSQ=LSQ+10 KON=JBOARD(NSQ) IF(KON)28,43,28 43 IF(NSQ-90)36,51,51 28 IPT=2 GO TO 29 31 IF(LSQ-40)32,32,29 32 NSQ=LSQ+20 KON=JBOARD(NSQ) IF(KON)29,36,29 30 NSQ=LSQ+INK(IPT) KON=JBOARD(NSQ) IF(KON)44,29,29 44 IF(NSQ-90)37,51,51 36 IF(KP)37,37,83 51 MATBAL=MATBAL+MYVAL(1)-MYVAL(6) JV=MYVAL(1) MYTYPE(MAN)=1 IP=1 37 MYPCE(MAN)=NSQ JBOARD(LSQ)=0 JBOARD(NSQ)=JV MATBAL=MATBAL-KON 38 RETURN END C GENERATE A BLACK MOVE SUBROUTINE BMOVE(MAN,JV,LSQ,NSQ,KON,IPT,IFN,KC,NEXT,IP,MORE,KP) COMMON/BLACK/ISPCE(16),ISTYPE(16),ISVAL(6),ISMEN,ISQN,ISKG COMMON/BOARD/JBOARD(120) COMMON/BAL/MATBAL,LEV COMMON/INCRE/INK(16) IF(MAN)86,86,81 86 IP=0 MORE=1 GO TO 82 81 IF(IP)65,65,64 64 MATBAL=MATBAL-ISVAL(1)+ISVAL(6) JV=ISVAL(6) ISTYPE(MAN)=6  IP=0 65 ISPCE(MAN)=LSQ JBOARD(LSQ)=JV JBOARD(NSQ)=KON MATBAL=MATBAL+KON IF(MORE)38,38,83 83 IF(NEXT)16,24,29 82 MAN=MAN+1 IF(MAN-ISMEN)84,84,85 85 MORE=-1 GO TO 38 84 LSQ=ISPCE(MAN) JV=JBOARD(LSQ) NAME=ISTYPE(MAN) IF(JV-ISVAL(NAME))82,7,82 7 GO TO(41,8,9,17,18,40),NAME C QUEEN,ROOK OR BISHOP MOVE 41 IPT=0 IFN=8 GO TO 12 8 IPT=4 IFN=8 GO TO 12 9 IPT=0 IFN=4 12 NEXT=-1 10 IPT=IPT+1 IF(IPT.GT.IFN)GO TO 82 KC=INK(IPT) NSQ=LSQ 11 NSQ=NSQ+KC KON=JBOARD(NSQ) IF(KON)10,36,15 15 IF(KON-1000)37,10,10 16 IF(KON)10,11,10 C KING OR KNIGHT MOVE 17 IPT=8 IFN=16 GO TO 19 18 IPT=0 IFN=8 19 NEXT=0 24 IPT=IPT+1 IF(IPT.GT.IFN)GO TO 82 NSQ=LSQ+INK(IPT) KON=JBOARD(NSQ) IF(KON)24,36,25 25 IF(KON-1000)37,24,24 C PAWN MOVE 40 NEXT=1 IPT=0 29 IPT=IPT+1 IF(IPT.GT.4)GO TO 82 IF(IPT-2)27,31,30 27 NSQ=LSQ-10 KON=JBOARD(NSQ) IF(KON)28,43,28 43 IF(NSQ-30)51,51,36 28 IPT=2 GO TO 29 31 IF(LSQ-80)29,32,32 32 NSQ=LSQ-20 KON=JBOARD(NSQ) IF(KON)29,36,29 30 NSQ=LSQ-INK(IPT) KON=JBOARD(NSQ) IF(KON)29,29,42 42 IF(KON-1000)44,29,29 44 IF(NSQ-30)51,51,37 36 IF(KP)37,37,83 51 MATBAL=MATBAL+ISVAL(1)-ISVAL(6) JV=ISVAL(1) ISTYPE(MAN)=1 IP=1 37 ISPCE(MAN)=NSQ JBOARD(LSQ)=0 JBOARD(NSQ)=JV MATBAL=MATBAL-KON 38 RETURN END SUBROUTINE MYGO(LSQ,NSQ,KAPT,MOV,KASTLE,IPROM,KECK) COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG COMMON/BLACK/ISPCE(16),ISTYPE(16),ISVAL(6),ISMEN,ISQN,ISKG CALL FMOVE(JV,LSQ,NSQ,KON1,MOV,KASTLE,IPROM,0) KAPT=0 KECK=0 MAN=0 1 CALL WMOVE(MAN,JV,LSQ2,NSQ2,KON2,IPT,IFN,KC,NX,IP,MORE,1) IF(MORE)3,3,2 2 IF(KON2.EQ.ISVAL(5))KECK=1 GO TO 1 3 IF(KASTLE)12,13,12 12 MYQN=0 MYKG=0 GO TO 11 13 IF(LSQ.EQ.22)MYQN=0 IF(LSQ.EQ.29)MYKG=0 IF(LSQ-26)16,15,16 15 MYQN=0 MYKG=0 16 IF(KON1)7,11,11 7 IF(NSQ.EQ.92)ISQN=0 IF(NSQ.EQ.99)ISKG=0 IJ=0 KAPT=1 DO 10 I=1,ISMEN IJ=IJ+1 IF(ISPCE(I)-NSQ)9,8,9 8 IJ=IJ-1 GO TO 10 9 ISPCE(IJ)=ISPCE(I) ISTYPE(IJ)=ISTYPE(I) 10 CONTINUE ISMEN=ISMEN-1 11 RETURN END SUBROUTINE ISGO(LSQ,NSQ,ILLEG,KASTLE,ILLCAS,IPROM,KECK) COMMON/WHITE/MYPCE(16),MYTYPE(16),MYVAL(6),MYMEN,MYQN,MYKG COMMON/BLACK/ISPCE(16),ISTYPE(16),ISVAL(6),ISMEN,ISQN,ISKG KECK=0 ILLEG=-1 ILLCAS=0 IF(KASTLE)20,23,20 20 CALL ISCAS(KASTLE,ILLCAS) IF(ILLCAS)21,21,19 21 ISQN=0 ISKG=0 GO TO 8 23 M1=0 1 CALL BMOVE(M1,JV1,LSQ1,NSQ1,KON1,IPT,IFN,KC,NX1,IPROM,MORE,0) IF(MORE)3,7,2 2 IF(LSQ1.EQ.LSQ.AND.NSQ1.EQ.NSQ)GO TO 4 GO TO 1 3 ILLEG=1 GO TO 19 4 M2=0 5 CALL WMOVE(M2,JV2,LSQ2,NSQ2,KON2,IPT,IFN,KC,NX2,IP2,MORE,1) IF(MORE)8,1,6 6 IF(KON2.EQ.ISVAL(5))MORE=0 GO TO 5 7 ILLEG=0 GO TO 19 8 M2=0 9 CALL BMOVE(M2,JV2,LSQ2,NSQ2,KON2,IPT,IFN,KC,NX2,IP2,MORE,1) IF(MORE)14,14,10 10 IF(KON2.EQ.MYVAL(5))KECK=1 GO TO 9 14 IF(KASTLE)19,22,19 22 IF(LSQ.EQ.92)ISQN=0 IF(LSQ.EQ.99)ISKG=0 IF(LSQ-96)25,24,25 24 ISQN=0 ISKG=0 25 IF(KON1)19,19,15 15 IF(NSQ.EQ.22)MYQN=0 IF(NSQ.EQ.29)MYKG=0 IJ=0 DO 18 I=1,MYMEN IJ=IJ+1 IF(MYPCE(I)-NSQ)17,16,17 16 IJ=IJ-1 GO TO 18 17 MYPCE(IJ)=MYPCE(I) MYTYPE(IJ)=MYTYPE(I) 18 CONTINUE MYMEN=MYMEN-1 19 RETURN END SUBROUTINE ISCAS(KASTLE,ILLCAS) COMMON/BLACK/ISPCE(16),ISTYPE(16),ISVAL(6),ISMEN,ISQN,ISKG COMMON/BOARD/JBOARD(120) IF(KASTLE)1,20,10 1 IF(ISQN)9,9,3 3 DO 5 I=93,95 IF(JBOARD(I))9,5,9 5 CONTINUE MAN=0 6 CALL WMOVE(MAN,JV,LSQ,NSQ,KON,IPT,IFN,KC,NX,IP,MORE,0) IF(MORE)30,9,7 7 IF(NSQ.GE.94.AND.NSQ.LE.96)MORE=0 GO TO 6 30 JBOARD(92)=0 JBOARD(94)=ISVAL(5) JBOARD(95)=ISVAL(2) JBOARD(96)=0 DO 31 I=1,ISMEN IF(ISPCE(I).EQ.96)ISPCE(I)=94 IF(ISPCE(I).EQ.92)ISPCE(I)=95 31 CONTINUE GO TO 20 10 IF(ISKG)9,9,11 11 DO 13 I=97,98 IF(JBOARD(I))9,13,9 13 CONTINUE MAN=0 14 CALL WMOVE(MAN,JV,LSQ,NSQ,KON,IPT,IFN,KC,NX,IP,MORE,0) IF(MORE)40,9,15 15 IF(NSQ.GE.96.AND.NSQ.LE.98)MORE=0 GO TO 14 40 JBOARD(96)=0 JBOARD(97)=ISVAL(2) JBOARD(98)=ISVAL(5) JBOARD(99)=0 DO 41 I=1,ISMEN IF(ISPCE(I).EQ.96)ISPCE(I)=98 IF(ISPCE(I).EQ.99)ISPCE(I)=97 41 CONTINUE GO TO 20 9 ILLCAS=1 20 RETURN END :F,uT:$3a'͞H:) 2GCͥ :I3EXUwͪ.!z͇B*=+V+^+͊?:I3qXUwͪ.!z"/͔I=gN*=: 2G2>2*2>2aU!N#Fͥ C !y w+y:I3 XUwͪ.> 3U!+~͇BPVE'!C yw+.:F 8a*"C^"]##>2aU:F,N"uT2A:o:Fš ʃaښ{Қ 2FAڤ[ڵ0ڮ:ڲ<7=:FG!o~6x̾P!^4!~ 2F:>/̀TC!6  6> :ͳ*͋&>2>2:2a2*"* "*""*""A B C D E F G H >YES NO Y N 3a_#*"3a_#*"E':=»;P 'y:=;P'y yѯͳ{y(0_:<ͳ,#!~wA47>':ay>':=ͳm>!b6 #=Nɯ2G >*#> >!"`!"t!"b!"v! AH_! A[! >YAH!H@!͢N![ͱN!>2 ![ͱN!>2 e!:*c"ici!*i}2 !ͱN͂=!o͢Nso!\ *k}2 ! AH*}=2 ! AH! ͱN<"! A! >SAH*"*#"!"*)""*.~#fo*{ozg}2*~#fo*{ozg}!2˜ *#*k{z" ! AH *i#"i!ͱN͂=!o͢N0!ci! !H@!͢N!:!"!"t*c#"ici!w  ! AH*i}2 A!\ *k}2² W!ͥ**U)"~#fo? "*.~#fo+"k! A! >SAH0!*i#"ici!w ! AH_! A[! >YAH![ͱN!>2w ![ͱN!>2w *k}2 !j!ͱN͂=!o͢No!j**{ozg}=Ɓ2h ! AHà **{ozg}2”  ! AHà n! AH! AH_! A[! >YAH![ͱN!>2![ͱN!>2C? nt CompletioIllegal DO NestinIllegal Data ConstanMissin(1X,'I HAVE NO MOVE AND MUST PASS.')" " > ! rO!" * )++* " !* s#r* )++* " !* s#r* #>>n !* s#r!" !" * )" * !@* * ~#fo}2 =!" !" * )++" * ~#fo"" * * ~#fo"$ *" * "& *$ * "( *& )"* *( !@** * ~#foH@* >2 !", *, #", *" @* ". *, *$ @* "0 *. )" *0 !@* * ~#fo}2 *. )" *0 !@* * ~#fo}2 *. )" *0 !@* * ~#foH@* >2 y* +}2 j* ~#fo#* s#r!" * ~#fo)++* " ~#fo*, * s#r* ~#fo)++* "* ~#fo#** s#r* ~#fo)"4 ++* ~#fo"2 !<@*4 * "6 * *6 s#r* #>>* }2 =* ~#fo)++* " * * s#r* ~#fo)++* "* * ** s#r* #> > * #> > * ~#fo}=2 ‘!ͱN* >2 ‘8 !AH = ProcO - X ray Name MisusCOMMON Name UsagWrong Number of SubscriptArray Multiply EQUIVALENCEd Within a GrouMultiple EQUIVALENCE of COMMOCOMMON Base LowereNon-COMMON Variable in BLOCK DATEmpty List for Unformatted WRITNon-Integer ExpressioOperand Mode Not Compatible with OperatoMixing of Operand Modes Not AlloweMissing Integer VariablMissing Statement Number on FORMAZero Repeat FactoZero Format A B C D E F G H Too DeeSMO(6X,'BOARD POSITION AFTER ',I2,' MOVES',' YOU HAVE ',I2,' PIECES, I HAVE ',I2,/)(24X,' 1 2 3 4 5 6 7 8')tioCode Outpu(24X,A1,2X,8(A1,1X))""`i"*~#fo*~#fo{ozg"G!ͱN!I͢NMI*j!H@!I>!I͢NOI*jU!ZAQG!Z>SAH!ZAH!"!"*)"*!@**~#fo##"*))"*!(@*{"*))ͱN*͢N*#> >j*#> >d!"*+"!ZA*)5"*!Z>SA!"*))"*!(@*{"*!Z>YA*#> >H*#> >."]"_`i"a!*as#r!"c!"e*c)"g*e!@*g*]~#foH@*_>2i*a~#fo#*as#r*e#> >*c#> > €/>]3Uÿ/!~:¼/#~3U+~3U:G+~f.±/"">!rO*~#fo)++"*~#fo"**~#fo"*)"*!@**" *ͱN͂=<* s#r*~#fo)++*~#fo"!" *~#fo)"* !<@**~#fo" )++"*~#fo"**~#fo"!"*#"*@*"**@*"*)"*!@**~#foH@*͇>2‰*)"*!@**"*ͱN͂=<*s#r* #*{zad1J1^1:*^1/%/1U3a=1XU:7ʔ1!2zaڔ1Ž1/%/*] /]Uaw1XU:=1!2za11/%/:a11U*]:J31ͯ.1:̯.Ŀ.aҧ1>2*Z|1]U>%3U.!2z*|2]U>?3U.!2z2* ͵B:bC2:F2*͊?͵B͵B*Y|w KP2 Program Unit Length Bytes Data Area Length Bytes Subroutines Referenced: Variables: COMMON Length LABELS: Warning(s) Issued Fatal Error(s) Detected :a=*]¿.<27**p͊?%/͊?>+3UR.2IAGO2 REL`KLMNOPQRSTUV`IAGO2 PRNIAGO2 FORw[ [< AGO2 FORRECRPRηFORLIB REL1789:;<=L80 COM6>?@ABCDED4 COM0EFGHIJIAGO2 REL`KLMNOPQRSTUV~ c$` 2RУ. 43&P2 "kx)ȉ3 84kS,:eD8dF@&&`EXxR"Ā? b@ IAGO2 FORw[ F80 COMF80 COMA !"#$%&FORLIB REL'()*+,-./0123456 IF(NAH.EQ.OC)SIGN=1.0 DO 10 I=1,NHD I1=NCORNI(I) I2=NCORNJ(I)  10 B(I1,I2)=SIGN*OC RETURN END ) 146 WRITE(1,147) 147 FORMAT(/////////////////////////) 100 RETURN END SUBROUTINE HANDI(B,NHD,NAH,OC) P=IAGO2 8?COMMAND ERRO?FILE NOT FOUN?CAN'T ENTER FIL~ͫ<#O9!9j9!-9j9!=9O9Ë9"3*+++"=3*3:G32@3*=3+<:8 ʋ92K32C32I32H32F32E32J3<2D3[9ů2<3:3Ͷ:3 9>2<3!L3ͪ:> 232323y,2E39:<32E3:3Ͷ:3:32B3 2A3::<3@2<3!m3ͪ:y=7: 7Ͷ:3F: 7!3ͪ::<3!L3܊:!m3܊::C3p::A3p::B32C3A=<<*=3##:D32@3G3 ~¤::w# š: #Ú: w#­::?3!3~ :w#: <:7>:x:͔:R7͔:> j;6 #=b;y.2?3 <3xڂ;ʏ;͔<Ã;y/y͔*ͫ< 8> ͫ<:8!8"9o>g6 #> w~# ʔ< ʔ< <#"9_*9+~ #+<#"9+~7ȷ> ͫ<> ë<4!"4!m3:C3 =3!"3!L3:E3<=~<=^=> 3>> 3>>3>*44m3 >4m3Ì=:E3ʢ::L3=>͚>*33L3 >3L3Ì=|}>ƀ)`ij>> 3>> 3>> 3>:C3ʢ::m3<ʪ<?*4|b>#"44w4!m3>^? =j>!3>!L3j>:E3ʢ::L3<*3|=̏>#"33w:3<ʽ#"66<6>3= ?!=>!>?_!K3 0? .?<.?~=w4{ E?> 3>~7?H?7ȷ!~?O9@@o?> ͫ2X:*]*p*2$:* V+^+͊?:a*N@*7$ s#r#=2@:!$=ʔ@=~w@z@ʔ@!ڊ@ͣ@ړ@++ͣ@7͊?"p"]V+^s#r*@"@"@"@"y@"{^#V#>!>!>&2;y*Ay~A0G:;=AAx=@=@~Ax@@~A2o:2>&! WA>&NO*- WA2:;`eT2F2o!gA"^:;2U:F( ! ͳ!k ''LD:ʞA !N#Fͥ :F.A*&B!^A+A2A)}~2#~2>& !z B+++A*:¸\ͳ>_:F.Ay.AAy*A2oA!>))FB =>BɯogG:I3•B:C3ʕB!x#sB~#jBdBXUwͪ.1UzÕBG:I3•Bxf.G*#"KxGK £B*****KA>                *>sI/O ~͇B=#D>!c~#*r+sxRB͇BÇB>RB>RB>oRB>RB>RB>gRBʞH)GG:=™F:=EʜE:=FF=D2xD*KB|D- ҾDM>#ðD###|+++D}/+RB °Dù>SIqFù=*ʉD!~*ExE+E:D>k''C'BÇE*G*'*D:{I*C'2ZF+~9Ex==ʞH==*O)w)+&)wH*G*)FEx=""> !rO!"*!*s#r*~#fo}2*l9!"***)++" **~#fo"** **~#fo" ***}2***+++}!*2*Ÿ,* *}2** *+++}!*2*Ÿ,* *+++}2***+++}!*2*ʕ+!"** *}2***+++}!*2*+!"** *}2***}!*2*+!"** *+++}2***}!*2*/,!"***)" *=)~#fo"** *E)~#fo"***)"***!@***~#fo}2*ʟ,**)++*" *~#fo* *s#r**}2***++}!*2*-* *}2** *++}!*2*-**#"***)++*" *~#fo<* *s#r**}?2***+++}=Ɓ!*2*—-* *}?2** *+++}=Ɓ!*2*—-**)++*" *~#fo * *s#rt/**)++*~#fo"*!"***)" ***!<@* **~#fo"*)++"**~#fo"****~#fo"*!"!**!*#"!***@**"#**!***@* *"%**#*)" **%*!@* **~#foH@*>2*-*!*#"!***@**"#**!***@* *"%**#*)" **%*!@* **~#foH@*>2*.*#*)" **%*!@* **~#foH@*͇>2*d/Z.****{ozg"'** ***{ozg")**'*)" **)*!@* **~#fo}2*d/**)++*" *~#fo* *s#rt/**#**{z-**#*~#fo{z*!"*!"+***)++" **~#fo"** **~#fo" *!"*!"-*!"**-*)" ***!@* *"*"/****~#fo*/*s#r**#> >/*-*#> >/!"1*!"***)" *(~#fo"3** * )~#fo"5***)++"**"/****~#fo*5*{ozg}2**/*~#fo*3*{ozg}!*2*¥0**"1***#>>$0*"9**";**"?**"A**"C*7****ͱN͂=!I*͢N*"M**"W**"Y*M*I*!\ *E*}2*=1**)++*" *~#fod* *s#r8!"*!"-*!"**-*)" ***!@* *"*e"/***~#fo*/*s#r**#> >L1*-*#> >F1*ͱN͂=!I*͢N*"c**"e*a*'!k'*1*}2*2!"**1*)" *(~#fo"o** *M(~#fo"q**o*)"**q*!@***~#foH@*͇>2*‡2*1*)" *(~#fo"s** *}(~#fo"u*)"**s*!@***~#fo}2*ʇ2!Z"+***)" ** *!@* *e~#foH@*>2*2**)++*" *~#fo* *s#r!"**ͱN͂=!I*͢Nw*I*!{j*w*}=2**3**)++*" *~#fo8* *s#r8!"y*!"{**y*)" **{*!@* *"***!@**"/**{*!@* *e~#fo*/*s#r*{*#> >33*y*#> >-3!"}*!"**}*)" ***!@* *e~#fo}2*4*}*)" ***!@* *e~#foH@*>2*4!"o*!"!**!*#"!**o*)++" **~#fo*!*@*}*"** **~#fo*!*@**"***)"***!@**e~#fo}2*5**)" ***!@* *e~#fo}2*5**)" ***!@* *e~#foH@*>2*4*o*#>> 4**#> >3*}*#> >3*"**"**"***!{\ **}2*5!"}**}*)M)" *~#fo}2** *~#fo++}!*2*5*}*)u)" *~#fo}2** *~#fo++}!*2*55*}*#**{zD5**)++*" *~#foB* *s#r**#*E*{z@1**+}2*S7!"-**-*)" *(~#fo"** * )~#fo"** ***{ozg}2*****{ozg}!*2*7**)" ***!@* **~#foH@*͇>2*7!"y***)" ***!@* *"**y*!@**~#foH@*>2*7**)++*" *~#fo* *s#r*y*#*E*{z6*-*#>>6**)++*" *~#fo*+*{ozg* *s#r!"-**-*)" *=)~#fo"** *E)~#fo"***)"***!@***~#fo}2*8!"y***)" ***!@* *"**y*!@**~#foH@*>2*8**)++*" *~#fo* *s#r*y*#*E*{z7**+}=Ɓ2*8* ***{ozg}2*****{ozg}!*2*8!"y***)" ***!@* *"**y*!@**~#foH@*>2*8**)++*" *~#fo* *s#r*y*#*E*{zt8*-*#>>V7**#*~#fo{z/!"*!"***)++*~#fo**{ozg}2*X9**)++*~#fo"****s#r**#*~#fo{z9g9B(1X,'DO YOU WISH TO BE GIVEN A HANDICAP? ')*(A3)S(1X,'DO YOU WISH TO GIVE ME A HANDICAP? '))(1X,'HOW MANY CORNERS? (1-4) ')(I1)99XU(/////////////////////////)"n9"p9>!r9rO!*t9s#rv9!YAH!9ͱN*r9>29;!*r9"9!9ͱN*9>29;9!YAH!*r9"9!9ͱN*9>29;! *r9"9!9ͱN*9>29;*n9ͱN͂=<"99!SAH*t9~#fo}=29*t9~#fo+}!929;*n9"99*t9*p9.<<<*p9;*n9ͱN<"99!SAH*t9~#fo}=29*t9~#fo+}!929—;*n9"::*t9*p9.<:!! 2#!=<͏UN/=N!W6Ag>NO|Ժ@>O!W~+>wNQYúN@N:W=h= A?Ɓ=@>!=\>Js?QYúNN@!A|Yt&wz^Pc|u~r1ͺN>͏U>2W!#>\> AogH@Í> }}{(qnz ANo?\>o? A~#ͱN=xl?N͍>g>Z@Ê>NN:WʺNҝ>/<@N@gNO!W>~_#~W#~O2A#4!A.dO2AG~_#~W#~Oܴ@Ï@Z@>NN>OÍ>!?> 2W!PA"W!US"W!E "W2?*V6 ͷVT7VW~#(?!W ~ͨV#7?!?> 2W!ST"W!OP"W! "W2?7VZ@l?NʽNN?y+F+F+Fw`h|ʹ?gyҝ?:WO|g}oxG-|‘?}Œ?Ï@ElaOË?!W~Gx?ƀ@w@w+ɷ!A@Nx{ҽN!W6Awg?z? >NO|DA{>2W͏@/))@ =@go"W"W!W~7w?##wy7O*W*W"W"W:A͏UJ!Wqx!WDAF#~怩OúN 4%A#:>hA>hA>hA>2Ẅ́O͘O~#fo"W͘O"V*W"V:WʓACyAKyA͏U>2W2W<2WA>2WA2W2W2W2W~#fo"W!W"V~#+A!"W!9##"QA:W Bgo"W"W"W7B!W>rO*W~#Bgo"W*W~#-Bgo"W*W~#fo"W2W2W2W2W2W2Wgo"W"VbN*W|oB͆K*W"W(J͏U2V2V<2W:W>tH9NEB “B> LwÆB:W/L=B:WGILB!WWw# C:W7C:VO:V2W*V *VUCy2V"V:VO>2W*V*V UCy2V3C:WG:W=ҕC:WC:W2V>tH*VUC>tH:V2W*VUCw# YC*V+"V|UC<ڵC>G!V60#GN!W4:W0wEL»C"W~:C w+Cw!V|D}D!W4#"W|/W}/_*W"W>2W:WFbM:WG:W6Dx2 WͭC:WED2W͆I:WfD0I! W5wD2W IjE*W*WDM*WE+|E"W"WOL*W*WFI*W#"W*W+"W|#£EOL!W:VO5E:VEE*V ~ 2W!Vq>E> EEE !W4E:WI@F:WF͏U!W$F͏U)F#F:W:M*W|/g}/o#"W:M>2V!W:WZF:WZF:Ww~/2WbM:WͭC:W2 W2W͆IE G>00+G:+G02W>ɯ2W2WH-FG>2WKG+NGH:M!V5!W4G:W.sG>2W2WG:WFEʃGDˆGH+ʗG-œG>2VHy2W!V5!W4GGOx ڿG͏U> GêG:VxG/<2WG!W~wFG:WGͽH4L4LB4L:W!Ww#wHB!W:WwGE H:W2WHFF2WE@H:M!W~TH>T>Fw> #w#w#wB> nH> nH>O}2WO!N:WҙAʙA=_^#V ^#VHڪH*W|¶H͏U*W|¶H͏U*QA!WWw#H!WWH:W!VwʹJ:W>tH!W~ Ix8HG@GGLHI4L Ix|CI*I3I2VxK2VOL!W~KwK*V+"V|K:W´J*W|OL+"W:W2W2W2W2Vgo"W"W"W"W:W!Ww:WXK4*W:WG*VWjKW~#jK"VTK:WtH!"Vɯ2Vgo"W*W*W~# ʗK-®KV ×K"W2WG0K K*WT])))_ÌK*W|K#x:VKo>g"W|x!W~w+ KK!W~w+ L!WLLW!Ww#(L6 !W~w#;L4LGL͆K"WlL,OL/ʴJ)ʁJ' JPzL:W2WOL|L͏U!"W2W!MʣL# ”L͏UyO!&M:WʳL!M ^#V"WyL*W"W!"W͆KL͏U}2W2Wy L:W.M͆K*W}2W*W+"WJ͏UXH(AILEFGDNrEJB/G#H/G/G/G/G#NEJBFIHDD(ED:WG*VWLMWw#LM"V*W|OLJ!W~Mx2Vw:W=ʋM=ʋM+>2W>wâM!W~M/W+~/_s#r>2W7NH!V~wMMGNæMM!WWHGNҦM!WWH!W4/GK+¢M2V!Ww#M!W4>tH*WV|NNOL͏U :VOL I*W+"W|$NOL:WG:W2W!V>w!W5KͽHKB:V<2V!RV6P#6#"V6 :N=G!Ow#‚N2NT TQTTTT+P+P+P+P+PNs#r#q#pNNͽNN"W`i"W*W*WDM^#V#N#F#xyN:W:W7LͽHLBͽHLBOLLL!W4|/G}/O!>5O 4O7>{_zW}o|g=+O|g}o]OCZQPO o-yOzW{_xG`O`iN#F#q#p#=uO2V"W"W`i"V2V:VҭO!W_O:V*VO_~#fo:V<2VW:VO>L33B> PZ-KqBUVTs>L33B PZ-KpBUVTs>L33WFORTDATÙAReR@RRR(PQ!O:W_~!P:W_^#V2P2P9PuQ@~Q:W_!O6*5VS|…P}ʈP"P"5VEP*W|ʚP+)|! w#w#£PdQ2T #w##Pw#Qw"P>wT] 69P(P6QSEP2T! w9P@QɯTP(w*V*V&.Rw#%REP77TP8w*VEP>2V?ɯTP2P:V*V~~4w:V~+ʨR1šR> gSèR0> gS> gS#=ʶR~gSèR> gS:P7:PR9PĜS9P2P<2P7TP w2V2P+S S)S*V&*Vw"V S}R͏U:P?ɷ!O:W_~NS5!O/Ɓ_#>W2TEP2P>w7!O:W_~S4!O_#>WɇS> gS> gS>gS!O:W_~6?To&S6#<ôS+2TEP2P9Pww!O~{2WQ{ S~ (P2WbN9PuQEP w  T#wT:W_!N+Pp+q?T:W_!O^#VTTTTTT_T:NTʞT> TT2NT:NT*OT> T> T*5VsT|–T}ʙT"OT"5VÙA:NTT:V*V=> T~+T1T> TT> T~0T> T#~#T=T_>2NT͆TU@UUU U U UÙA2VͷV U*V&*Vw"V }U͏U:V*V=> ͨV~+wU1bU> ͨVwU> ͨV~ wU0wU> ͨV#~#ͨV=yUs>L33B~#O!U ^#V"U!U6 #6 #6*#6*###6*#6*#6 #6 !U ~ͨV#U:V<2V7V7VIDF0MPIRFWITEXDOMLDZLGSQIBTLOBDEISBEINOVCNGLGSSNA2IODTBIRCEFB2V2V!4V"5V*+`iQV!?V*5V>2W> ͨV> ͨVP 3B> PZ-K8BUVTs>L33B> PZ-K7BUVTs>L33B> PZ-K6BUVTTV_*V~ V#~"V RV!SV^#6 #> ͨVwB> PZ-K3BUVTs>L33B> P-K2BUVTs>L33B> PZ-K1BUVTs>L33B> PZ-K0BUVTs>L33B> PZ-K/BUVTs>L33B> PZ-K.BUVT8>L33B> PZ-K-BUVTs>L33B> PZ-K,BUVTs>L33B> PZ-K+BUVTs>L33B`=?@|bN9PuQEP w  T#wT:W_!N+Pp+q?T:W_!O^#VTTTTTT_T:NTʞT> TT2NT:NT*OT> T> T*5VsT|–T}ʙT"OT"5VÙA:NTT:V*V=> T~+T1T> TT> T~0T> T#~#T=T_>2NT͆TU $$$$ $ $$ $ $$$ $ $$$$$ $ $$$$$ $ $$$ $$ $$$$ $$$$$$$ $$$ $$$$ $$ $$ $ $$$$$$ $$$$$$$$$ $$ $$$ $$ $ $$$$ $ $$$ $ $ $$ $$ $ $$$$$ $ $$$$$$ $ $$$$ $ $$ $ $$ $ $$ $ $$$$$$$$$$$$$$$$$$$ $ $$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $$ $ $ $ $ $ $$$ $$ $ $$$ $ $ $ $ $ $ $ $ $ $$$ $$$$ $ $ $$$$$$$$$ $$ $$ $ $$ $$ $ $ $ $$ $$ $$$$ $$$$$$$ $ $$$$ $$$ $$$$$ $ $ $$$$$$$$$$$$$ $ $ $ $ $$$$$ $ $ $ $$$ $ $$$ $ $ $$ $ $$$ $ $$ $$ $$$ $$ $$ $ $$$ $$ $$ $ $$ $$ $$$ $ $ $ $$$ $ $ $ $ $$ $ $ $ $ $ $ $$$ $ $$$$ $ $ $ $$$ $$ $ $ $ $$ $$$ $ $$ $ $ $$ $$ $$$ $ $  $ $$ $$ $$$$ $$$ $ $ $ $$$$ $ $ $ $ $ $ $ $ $$$$$$$$$$$$$$ $ $ $ $ $$$$$$$$$ $ $ $ $$$$$$ $$$$$$$$$ $ $$$$$$$$$$$$$$$ $ $ $ $ $ $$$$$ $ $ $ $ $$$$$$ $$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$ CURSE YOU, COMPUTER! $ $ $ $$$ $ $ $ $ $$ $ $ $ $ $ $ $$$ $ $$$$ $ $ $ $$$ $$ $ $ $ $$ $$$ $ $$ $ $ $$ $$ $$$ $ $  * ~#1 A!Hw#!j,!ͯ?KGO!+8og. v  UvDLRX O!F~O!">X!22ͯ:=o&))#1~:OQQ#': S2> V:2^:“:B_!N!H ~ʙ>p!ͯKO!Ho6yOQQ(?,<,~#OQ!BE4<52(# 45(#%4<52F (!B>w#w#wB!Ew#Gx!o6h&))+++!1~!Ho~w f>MRx2!o~2x!o~2x!!o~2y!o:xi&))+++">2*1~2!Ho~:>2:!o::o&))+++"">2*1:²:*">2*1~2!Ho~¤>2:W!o:šzʚ:ʚj&))+++">2*1:*#"!5~!4>MR*#"!58*#"!5!4>M*#"!5 >M«>„2y22G=<2 E=OxG=?<2F=Ox2G Q Q(Q2 Q<Q Y )THREE DIMENSIONAL + + + + TIC - TAC - TOE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(ENTER YOUR MOVETRY AGAIN I AM THINKING !TIE GAME !!!!!!YOU HAVE LOST !CONGRATULATIONS+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(ENTER YOUR+*'&@ 4=1+*     +@*='4 &1*>+?&5*9 &2'3'8+< &6'7*: +;  &'(%*+,)&*."'+/#&+0!'*-$=)@,1"=.1 %4(4#@ /1!4$= -@ 0      4123@=>?=159@48<@16;=47:"2#3%5(8)9 ,< .>/?     "#$!./0-%)-!(,0$6785:;<96:>27;?3 + + + + TIC - TAC - TOE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(ENTER YOUR MOVETRY AGAIN I AM THINKING !TIE GAME !!!!!!YOU HAVE LOST !CONGRATULATIONS+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(ENTER YOUR+*'&@ 4=1+*     +@*='4 &1*>+?&5*9 &2'3'8+< &6'7*: +;  &'(%*+,)&*."'+/#&+0!'*-$=)@,1"=.1 %4(4#@ /1!4$= -@ 0      4123@=>?=159@48<@16;=4;*********************************************************************** ; ; THREE DIMENSIONAL TIC - TAC - TOE ; ; ORIGINALLY WRITTEN FOR THE INTELLEC MDS BY ; TOM ROLLANDER - INTEL CORP. ; ; ; ALGORITHMS MODIFIED AND REWRITTEN FOR CP/M BY ; ; RON WILLIAMS ; 1845 COCHRAN RD. ; MORGAN HILL, CA. 95037 ; (408) 779-8655 ; ; VER 2.0 7/5/78 ; ; Revised for Osborne 1 by Jim Woolley, FOG Librarian, 7/82 ; ;********************************************************************* ; ; ; THIS VERSION OF 3-DIMENSIONAL TIC-TAC-TOE RUNS UNDER THE CP/M ; DISKETTE OPERATING SYSTEM. THE PROGRAM IS INVOKED BY SIMPLY ; TYPING 'TTT'. ; ; THE USER ALWAYS PLAYS THE 'X' AND ALWAYS GOES FIRST. MOVES ; ARE MADE BY POSITIONING THE CURSOR UNDER THE SQUARE IN WHICH ; YOU WANT YOUR 'X' PUT. THE COMPUTER THEN MAKES ITS MOVE ; AUTOMATICALLY AND THEN PROMPTS YOU FOR YOUR NEXT ; MOVE. ; ; POSITIONING THE CURSOR IS ACCOMPLISHED BY TYPING IN ANY ; OF THE KEYS L(EFT), R(IGHT), U(P) OR D(OWN). ; Osborne 1 arrow keys (CP/M setup) will work, too. ; THE CURSOR WILL BE MOVED ONE SQUARE IN THE DESIGNATED ; DIRECTION. WHEN YOU HAVE THE CURSOR WHERE YOU WANT IT, ; TYPE 'X' AND IT WILL REPLACE THE '+' SIGN IN THAT SQUARE. ; ; IF (AND IT'S A BIG IF) YOU WIN, THE COMPUTER WILL ACKNOWLEDGE IT. ; IF YOU LOSE, THE CURSOR WILL ROTATE THRU THE BOARD FLASHING THE WINNING ; COMBINATION. (FOR THE FULL EFFECT, THE PROGRAM SHOULD BE RUN AT 9600 ; BAUD). I RUN MY HAZELTINE AT 4800 BAUD, AND IT WORKS OK). ; ; TO START A NEW GAME, JUST PRESS . ; THE PROGRAM WILL RESET THE BOARD, AND YOU'RE OFF TO ANOTHER DEFEAT! ; ; TO RETURN TO CP/M, TYPE CONTROL/C WHENEVER IT'S YOUR MOVE. ; ; ENJOY!! ; ;***************************************************************************** ; ; SINCE I USE A HAZELTINE 1500, THE CURSOR CONTROL CODES ARE, OF COURSE, ; SET UP FOR THE HAZELTINE. MOST HOBBIEST TERMINALS USE SOME SORT OF ; ESCAPE-SEQUENCE TO ACCOMPLISH CURSOR MOVEMENT, SO IT SHOULD BE FAIRLY ; EASY TO MODIFY THE CONTROL CODES WHICH WILL BE FOUND IN THE ; LIST OF EQUATE STATEMENTS AT THE BEGINNING OF THE PROGRAM PROPER. ; ; Modified for Osborne 1. ; ;***************************************************************************** ; ; ORG 100H ; BDOS EQU 5 ;CP/M ENTRY POINT ; CR EQU 0DH LF EQU 0AH ESC EQU 1BH ;ESCAPE CHAR FOR CURSOR CONTROL BSPACE EQU 08 ;BACKSPACE TAB EQU 09H CUP EQU 0BH ;CURSOR UP CDOWN EQU 0AH ;CURSOR DOWN CRIGHT EQU 0CH ;CURSOR RIGHT CLEFT EQU 08 ;CURSOR LEFT CHOME EQU 1EH ;CURSOR HOME CLRS EQU 1AH ;CLEAR SCREEN DIM EQU 29H ;HALF-INTENSITY BRIGHT EQU 28H ;FULL-INTENSITY ; WIDTH EQU 14 SPACING EQU 3 ; ; SINCE THE CP/M CONSOLE READ ROUTINE DOES AN AUTOMATIC ECHO OF ; THE INPUT CHARACTER, WE CAN'T CALL IT VIA THE NORMAL ; CALLING SEQUENCE. INSTEAD, WE FIND THE ADDRESS OF THE READ ROUTINE ; IN THE USER'S BIOS, AND JUMP TO IT DIRECTLY AVOIDING THE ECHO. ; THIS WAY, USE!RS DO NOT HAVE TO REWRITE THE I/O ROUTINES. ; ; TTT3D: LXI D,WBOOTX LHLD 1 MVI B,9 LDADDR: MOV A,M STAX D INX D INX H DCR B JNZ LDADDR ; BEGIN: LXI SP,STACK ; SET STACK POINTER MVI B,65 ; CLEAR THE BOARD LXI H,MOVEARY XRA A CLOOP: MOV M,A INX H DCR B ; CLEAR ALL 64 SQUARES JNZ CLOOP LXI H,MSG0 ; CLEAR SCREEN AND PRINT BOARD CALL MESAG CALL BDHOME ; MOVE CURSOR TO LOWER LEFT CORNER GETMOVE: LXI H,MSG1 ; PRINT "ENTER YOUR MOVE" GETX: CALL PRINTMESAG GETNEXT: CALL COPYPOSITION ; START BY DEFAULTING TO CURRENT POSITION CALL CI ; THEN GET PLAYERS KEYBOARD INPUT MOV B,A ; RESPONSE WILL BE SAVED IN B LXI D,CHARLIST-2 ; SCAN LIST OF OK CHARS & JUMP GLOOP: INX D ; PRE-INCREMENT  INX D LDAX D ; GET CHAR FROM TABLE ORA A ; TEST FOR END OF LIST GETERROR: LXI H,MSG2 ; JUST IN CASE BAD CHAR JZ GETX ; BAD CHAR -> GO PRINT "TRY AGAIN" INX D ; NOW POINT TO JUMP ADDRESS CMP B ; COMPARE CHAR TO THAT KEY'D IN JNZ GLOOP ; NO LUCK ?! LDAX D ; EL-KLUGE-O INDIRECT JUMP MOV L,A INX D LDAX D MOV H,A LXI D,GETNEXT ; SET-UP FAKE 'CALL' RETURN PUSH D PCHL ; WHITHER WANDEREST THOU ..... ; CHARLIST: DB CUP DW UP DB CDOWN DW DOWN DB CLEFT DW LEFT DB CRIGHT DW RIGHT DB 'U' DW UP DB 'D' DW DOWN DB 'L' DW LEFT DB 'R' DW RIGHT DB 'X' DW GOTMV DB CR DW BEGIN DB 'C' AND NOT 40H DW 0000H ;RETURN TO BDOS DB 'O' DW YOUMOVE DB 0 ; ; ; ++++++++++++++++++++++++++++++++++++++++++++++++ ; ; JUMP TABLE HANDLERS ; ; ++++++++++++++++++++++++++++++++++++++++++++++++ ; ; UP: LXI H,NRP ; INCREMENT NEW ROW POINTER MOV A,M INR A MOV M,A CPI 5 ; DO WE HAVE TO BUMP TO NEXT BOARD ?! JC MOVE ; NOPE -> SIMPLY GO MOVE MVI M,1 ; GOING TO ROW 1 OF NEXT BOARD JMP BDINC ; INCREMENT BD, TESTING FOR WRAPAROUND ; ; DOWN: LXI H,NRP ; DECREMENT NEW ROW POINTER DCR M JNZ MOVE ; OK -> STILL ON SAME BOARD MVI M,4 ; TOP ROW OF NEXT BOARD JMP BDDEC  ; GO DECREMENT BD PTR, TESTING FRO WRAPAROUND ; ; RIGHT: LXI H,NCP ; INCREMENT NEW COLUMN POINTER MOV A,M INR A MOV M,A CPI 5 ; OFF BOARD ?! JC MOVE ; NOPE -> SIMPLY GO MOVE MVI M,1 ; END UP IN COLUMN ONE ; BDINC: LXI H,NBP ; INCREMENT NEW BOARD POINTER MOV A,M INR A MOV M,A CPI 5 ; GOING BEYOUND BOARD #4 ?! JC MOVE ; NOPE SIMPLY GO MOVE MVI M,1 ; ELSE WRAPAROUND TO BD # 1 JMP MOVE ; ; LEFT: LXI H,NCP ; DECREMENT NEW COLUMN POINTER DCR M JNZ MOVE ; OK -> NOT GOING TO BD #0 MVI M,4 ; ELSE WRAPAROUND ; BDDEC: LXI H,NBP ; DECREMENT NEW BOARD POINTER DCR M JNZ MOVE ; OK NO WRAPPING MVI M,4 JMP MOVE ; GO AND WRAP IT ; ; YOUMOVE: POP D ; POP PHONNEY RETURN ADDR JMP STRCALL ; GO CALL STRAT SUBR. ; ; GOTMV: POP D ; POP PHONNEY RETURN ADDR LXI H,BP ; CONVERT BOARD POSITION INTO INDEX MOV A,M DCR A ; 16*(BP-1) ADD A ADD A ADD A ADD A MOV B,A INX H MOV A,M DCR A ; + 4*(CRP-1) ADD A ADD A INX H ADD M ; + CCP ADD B LXI H,MOVEARY ADD L MOV L,A MOV A,M ORA A JNZ GETERROR ; SQUARE ALREADY OCCUPIED ! MVI M,1 ; ELSE LET'M HAVE IT MVI C,'X' CALL CO MVI C,BSPACE ; PRI"NT HIS "X" CALL CO ; AND BACK SPACE CURSOR OVER POSITION STRCALL: LXI H,MSG3 ; PRINT CALL PRINTMESAG ; "I'M THINKING" CALL STRAT ; CALL STRATEGY ROUTINE LDA M3 CPI 3 JP L18 CPI 1 MVI A,'O' LXI H,MSG5 JNZ L15 ; JUMP IF WE'VE WON MVI A,'X' LXI H,MSG6 ;HE WON L15: STA K8 CALL PRINTMESAG L15E: LDA M1 DCR A MOV L,A MVI H,0 DAD H DAD H INX H LXI D,ROW DAD D MVI D,4 L16: MOV A,M CALL PLACEIT PUSH H PUSH D CALL MOVE POP D POP H LDA K8 MOV C,A CALL CO MVI C,BSPACE CALL CO DCR D INX H JNZ L16 LDA K8 CPI ' ' JZ  L17A STA J8 MVI A,' ' JMP L17B L17A: LDA J8 L17B: STA K8 CALL CSTS ORA A JZ L15E JMP BEGIN L18: LDA M1 ORA A JNZ L13A LDA CBP MOV E,A MVI D,0 L14: LXI H,WAIT DAD D MOV C,M MVI B,0 LXI H,MOVEARY ; WE'RE GETTING A WAITING MOVE DAD B MOV A,M ORA A JZ L13 INX D MVI A,21 CMP E JNZ L14 LXI H,MSG4 CALL PRINTMESAG ; PRINT "TIE GAME" CALL CI ; WAIT FOR INPUT JMP BEGIN L13A: MOV C,A LXI H,MOVEARY ADD L MOV L,A L13: MVI M,5 ; CLAIM SQUARE FOR US MOV A,C CALL PLACEIT CALL MOVE  MVI C,'O' ; SHOW OUR "O" CALL CO MVI C,BSPACE CALL CO JMP GETMOVE ; GET OPPONENTS RESPONSE ; ; ; ++++++++++++++++++++++++++++++++++++++++++++++++ ; ; SUPPORTING SUBROUTINES ; ; ++++++++++++++++++++++++++++++++++++++++++++++++ ; ; PRINTMESAG: PUSH H ; SAVE ADDR OF MESAG CALL REMEMBERPOSITION ;WE WANT TO COME BACK HERE CALL BDHOME ; HOME CURSOR TO LOWER LEFT BD POSITION MVI B,24 CALL CURSRT ; MOVE CURSOR TO MESSAGE POSITION POP H CALL MESAG CALL BDHOME ; HOME CURSOR AGAIN JMP MOVE ; & RETURN TO WHERE WE WERE ; ; MESAG: MOV A,M INX H ORA A RZ MOV C,A CALL CO JMP MESAG ; ; MOVE: LXI H,BP ; START BY GOING TO CORRECT BD LXI D,NBP ; DE=NEW POSITION, HL=CURRENT POSITION MBP: LDAX D ; GET NEW BD # CMP M ; COMPARE TO CURRENP B@ # JZ MBPD ; -> ON MATCH JM MBPL ; WE'RE GOING LEFT INR M ; FIRST UPDATE CURRENT BD # MVI B,WIDTH CALL CURSRT ; MOVE CURSOR RIGHT INTO POSTION MVI B,2 CALL CURSUP ; MOVE CURSOR UP INTO POSITION JMP MBP ; LOOP TILL NEW BD # = CURRENT BD # MBPL: DCR M ; FIRST UPDATE CURRENT BD # MVI B,WIDTH CALL CURSLT ; MOVE CURSOR LEFT INTO POSITION MVI B,2 CALL CURSDN ; MOVE CURSOR DOWN INTO POSITION JMP MBP ; LOOP TIL NEW BD # = CURRENT BD # ; MBPD: INX H INX D ; MEM ORGANIZED AS BP,RP,CP MRP: MVI B,1 LDAX D ; GET NEW ROW POINTER CMP M ; COMPARE TO CURRENT ROW POINTER JZ MRPD ; -> ON MATCH JM MRPL ; GO MOVE DOWN INR M ; FIRST INCREMENT CURRENT ROW POINTER CALL CURSUP ; MOVE UP ONE ROW JMP MRP ; LOOP UNTIL NEW ROW PTR = CURRENT ROW PTR MRPL: DCR M ; FIRST DECREMENT CURRENT ROW POINTER CALL CURSDN ; MOVE DOWN ONE ROW JMP MRP ; LOOP UNTIL NEW ROW PTR = CURRENT ROW PTR ; MRPD: INX H INX D MCP: MVI B,SPACING LDAX D ; GET NEW COLUMN POINTER CMP M ; COMPARE WITH CURRENT COLUMN POINTER RZ ; DONE MOVING WITH A MATCH JM MCPL ; GO MOVE CURSOR LEFT INR M ; FIRST INCREMENT CURRENT COLUMN POINTER CALL CURSRT ; MOVE CURSOR RIGHT ONE COLUMN JMP MCP #; LOOP UNTIL NEW COLUMN PTR = CURRENT COLUMN PTR MCPL: DCR M ; FIRST DECREMNT CURRENT COLUMN POINTER CALL CURSLT ; MOVE CURSOR LEFT ONE COLUMN JMP MCP ; LOOP UNTIL NEW COLUMN PTR = CURRENT COLUM PTR ; ; BDHOME: CALL CURSHOME ; POSITION THE CURSOR AT TRUE "HOME" MVI B,9 CALL CURSDN ; MOVE DOWN TO ROW 1, COL 1 BD 1 LXI H,BP MVI A,1 MOV M,A ; BP = 1 INX H MOV M,A ; RP = 1 INX H MOV M,A ; CP = 1 RET ; ; REMEMBERPOSITION: COPYPOSITION: LXI D,BP LXI H,NBP ; COP] BP(ETC) -> NBP(ETC) MVI B,3 COPYLOOP: LDAX D ; GET BP(I) MOV M,A ; PUT NBP(I) INX D INX H DCR B ; LOOP FOR THREE BYTES JNZ COPYLOOP RET ;  ; STRAT: MVI B,1 L15A: MOV A,B LXI H,SUM ADD L MOV L,A MVI M,0 PUSH H MOV L,B MVI H,0 DAD H DAD H DCX H DCX H DCX H XCHG MVI C,4 L15B: LXI H,ROW DAD D MOV A,M LXI H,MOVEARY ADD L MOV L,A MOV A,M ; DROPPED INSTRUCTION ???????!!!!!!!!!! POP H PUSH H ADD M MOV M,A INX D DCR C JNZ L15B POP H INR B MVI A,77 CMP B JNZ L15A ; MVI B,1 ; B = J1 ; DO21: MOV A,B STA M3 LXI H,TSTA1 ADD L MOV L,A MOV A,M STA TST1 ORA A JM END21 MOV  A,B LXI H,TSTA2 ADD L MOV L,A MOV A,M STA TST2 MOV A,B LXI H,TSTA3 ADD L MOV L,A MOV A,M STA TST3 ; MVI C,1 ; C = J2 ; DO22: MOV A,C LXI H,SUM ADD L MOV L,A LDA TST1 CMP M JNZ END22 MOV A,B SUI 3 JC S18 MOV L,C MVI H,0 DAD H DAD H DCX H DCX H DCX H SHLD J3 MVI A,4 STA K3 ; DO23: LHLD J3 LXI D,ROW DAD D MOV A,M STA M1 LXI H,MOVEARY ADD L MOV L,A MOV A,M ORA A JNZ END23 LDA TST2 ORA A JM S17 ; MVI A,1 STA J4 DO24: LDA J4 LXI H,SUM ADD L MOV L,A LDA TST2 CMP M JNZ END24 LDA J4 CMP C JZ END24 ; MOV L,A MVI H,0 DAD H DAD H DCX H DCX H DCX H SHLD J5 SHLD L5 MVI A,4 STA K5 ; DO25: LHLD J5 LXI D,ROW DAD D LDA M1 CMP M JNZ END25 LDA TST3 ORA A JM S17 LHLD L5 SHLD J6 MVI A,4 STA K6 ; DO26: LHLD J6 LXI D,ROW DAD D MOV A,M STA M2 LXI H,MOVEARY ADD L MOV L,A MOV A,M ORA A JNZ END26 ; MVI A,1 STA J7 ; DO27:  LDA J7 MOV D,A LXI H,SUM ADD L MOV L,A LDA TST3 CMP M JNZ END27 MOV A,D CMP C JZ END27 LDA J4 CMP D JZ END27 MOV L,D MVI H,0 DAD H DAD H DCX H DCX H DCX H SHLD J8 MVI A,4 STA K8 ; DO28: LHLD J8 LXI D,ROW DAD D LDA M2 CMP M JZ S16 ; END28: LHLD J8 INX H SHLD J8 LXI H,K8 DCR M JNZ DO28 ; END27: LXI H,J7 INR M MVI A,77 CMP M JNZ DO27 ; END26: LHLD J6 INX H SHLD J6 LXI H,K6 DCR M JNZ DO26 ; END25: LH$LD J5 INX H SHLD J5 LXI H,K5 DCR M JNZ DO25 ; END24: LXI H,J4 INR M MVI A,77 CMP M JNZ DO24 ; END23: LHLD J3 INX H SHLD J3 LXI H,K3 DCR M JNZ DO23 ; END22: INR C MVI A,77 CMP C JNZ DO22 ; END21: INR B MVI A,16 CMP B JNZ DO21 ; ; XRA A STA M1 JMP S17 ; S18: MOV A,C STA M1 ; S17: XRA A STA M2 ; S16: RET ; ; ; PLACEIT: MOV B,A DCR A RRC RRC RRC RRC ANI 0FH INR A STA NBP DCR A ADD A ADD A ADD A ADD A MOV C,A  MOV A,B SUB C MOV B,A DCR A RRC RRC ANI 3FH INR A STA NRP DCR A ADD A ADD A MOV C,A MOV A,B SUB C STA NCP RET ; ; ; ++++++++++++++++++++++++++++++++++++++++++++++++ ; ; CURSOR CONTROL SUBROUTINES ; ; ++++++++++++??++++++?+++++++??++++++?++/+++++++ ; ; CURSUP: ; MVI C,ESC ; CALL CO MVI C,CUP CALL CO DCR B ; B CONTAINS CNTR FOR ALL CRSR SUB'S JNZ CURSUP RET ; ; CURSDN: ; MVI C,ESC ; CALL CO MVI C,CDOWN CALL CO DCR B JNZ CURSDN RET ; ; CURSLT: MVI C,BSPACE CALL CO DCR B JNZ CURSLT RET ; ; CURSRT: MVI C,CRIGHT CALL CO DCR B JNZ CURSRT RET ; ; CURSHOME: ; MVI C,ESC ; CALL CO MVI C,CHOME JMP CO ; CI: CALL CIX ANI 7FH RET ; CO: PUSH B PUSH D PUSH H MOV E,C MVI C,2 CALL BDOS POP H POP D POP B RET ; CSTS: PUSH B PUSH D PUSH H MVI C,11 CALL BDOS POP H POP D POP B RET ; ; MSG0: DB CLRS,ESC,DIM DB 'THREE DIMENSIONAL' DB ' + + + +',CR,LF DB ' TIC - TAC - TOE ' DB ' + + + +',CR,LF DB ' + + + + ' DB ' + + + +',CR,LF DB ' + + + + ' DB ' + + + +',CR,LF DB ' + + + + ' DB ' + + + +',CR,LF DB ' + + + + ' DB ' + + + +',CR,LF DB '+ + + + ' DB ' + + + +',CR,LF DB '+ +  + + ' DB ' + + + +',CR,LF DB '+ + + +',CR,LF DB '+ + + +' DB ESC,BRIGHT DB 0 ; MSG1: DB 'ENTER YOUR MOVE',0 MSG2: DB 'TRY AGAIN ',0 MSG3: DB 'I AM THINKING !',0 MSG4: DB 'TIE GAME !!!!!!',0 MSG5: DB 'YOU HAVE LOST !',0 MSG6: DB 'CONGRATULATIONS',0 ; ; ; ++++++++++++++++++++++++++++++++++++++++++++++++ ; ; RAM BUFFER SPACE ; ; ++++++++++++++++++++++++++++++++++++++++++++++++ ; ; ; BP: CBP: DS 1 ; CURRENT BOARD POINTER CRP: DS 1 ; CURRENT ROW POINTER CCP: DS 1 ; CURRENT COLUMN POINTER ; NBP: DS 1 ; NEW BOARD POINTER NRP: DS 1 ; NEW ROW POINTER NCP: DS 1 ; NEW COLUMN POINTER ; MOVEARY: DS 65 SUM: DS 77 TST1: DS 1 TST2: DS 1 TST3: DS 1 M1:  DS 1 M2: DS 1 M3: DS 1 J3: DS 2 K3: DS 1 J4: DS 1 J5: DS 2 K5: DS 1 L5: DS 2 J6: DS 2 K6: DS 1 J7: DS 1 J8: DS 2 K8: DS 1 ; WAIT: DB 0,22,43,23,42,26,39,27 DB 38,1,64,13,52,4 DB 61,16,49,22,43,23,42 ; TSTA1: DB 0, 4,15, 3,10,10, 2, 2 DB 2, 2, 1, 5, 5, 5, 5,0FFH TSTA2: DB 0,0FFH,0FFH,0FFH,10, 5, 2, 1 DB 1, 0, 1, 5, 5, 0, 0,0FFH TSTA3: DB 0,0FFH,0FFH,0FFH,0FFH,10,0FFH, 2 DB 1, 2, 1,10, 5,10, 5,0FFH ; ROW: DB 0 DB 22,43,64, 1,23,42,61, 4 DB 26,39,52,13,27,38,49,16 DB 22,42,62, 2,23,43,63, 3 DB 23,38,53, 8,27,42,57,12 DB 26,38,50,14,27,39,51,15 DB 22,39,56, 5,26,43,60, 9 DB 22,38,54, 6,23,39,55, 7 DB % 26,42,58,10,27,43,59,11 DB 22,23,24,21,26,27,28,25 DB 22,26,30,18,23,27,31,19 DB 22,27,32,17,23,26,29,20 DB 38,39,40,37,42,43,44,41 DB 38,42,46,34,39,43,47,35 DB 38,43,48,33,39,42,45,36 DB 61, 1,21,41,64, 4,24,44 DB 49, 4,19,34,61,16,31,46 DB 49,13,25,37,52,16,28,40 DB 52, 1,18,35,64,13,30,47 DB 49, 1,17,33,52, 4,20,36 DB 61,13,29,45,64,16,32,48 DB 4, 1, 2, 3,16,13,14,15 DB 13, 1, 5, 9,16, 4, 8,12 DB 16, 1, 6,11,13, 4, 7,10 DB 52,49,50,51,64,61,62,63 DB 61,49,53,57,64,52,56,60 DB 64,49,54,59,61,52,55,58 DB 18,34,50, 2,19,35,51, 3 DB 21,37,53, 5,24,40,56, 8 DB 25,41,57, 9,28,44,60,12 DB 30,46,62,14,31,47,63,15 DB 6, 7, 8, 5,10,11,12, 9 DB 6,10,14, 2, 7,11,15, 3 DB  18,19,20,17,30,31,32,29 DB 21,25,29,17,24,28,32,20 DB 34,35,36,33,46,47,48,45 DB 37,41,45,33,40,44,48,36 DB 54,55,56,53,58,59,60,57 DB 54,58,62,50,55,59,63,51 ; DS 128 ;64-WORD STACK STACK: ; RESERVE 9 BYTES TO HOLD USER'S WBOOT, CSTS AND CI ENTRY POINTS ; WBOOTX: DS 3 CSTSX: DS 3 CIX: DS 3 ; END TTT3D 32,48 DB 4, 1, 2, 3,16,13,14,15 DB 13, 1, 5, 9,16, 4, 8,12 DB 16, 1, 6,11,13, 4, 7,10 DB 52,49,50,51,64,61,62,63 DB 61,49,53,57,64,52,56,60 DB 64,49,54,59,61,52,55,58 DB 18,34,50, 2,19,35,51, 3 DB 21,37,53, 5,24,40,56, 8 DB 25,41,57, 9,28,44,60,12 DB 30,46,62,14,31,47,63,15 DB 6, 7, 8, 5,10,11,12, 9 DB 6,10,14, 2, 7,11,15, 3 DB  This is the release date of the disk. TTT ASM bTT ASM "TTT .ASM 72 7B 25088 196  Fog Library Disk FOG-CPM.061 Copyright (1986) by Fog International Computer Users Group to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribution for profit or personal gain is strictly forbidden. For information, contact FOG, P. O. Box 3474, Daly City, CA. 94015-0474. as part of the description of a file indicates that the program is distributed on a "try first, pay if you like it" basis. If you find the program(s) meet your need, please refer to the author's documentation for information on becoming a registered user. Only by registering and paying for the programs you like and use will the authors of such programs continue development. Often, more complete documentation, additional modules, and new releases are available only to registered users. Games for most CP/M computers. Filename Description -06-00 .86 This is the release date of the disk. -CPM061 .DOC This is the description of the disk contents. ADVENTUR.COM 661B 21K [Adventure 1 of 3] Original cave adventure game with multiple levels, magic words, and much more. ADVENTUR.DOC B9D1 1K [Adventure 2 of 3] ADVENTUR.WRK DCF7 41K [Adventure 3 of 3] CHESS .COM 28AF 26K [Chess 1 of 3] The famous board game. FORTRAN source code included. CHESS .DOC 0A7D 2K [Chess 2 of 3] CHESS .FOR 96C4 25K [Chess 3 of 3] OTHELLO .COM B93A 22K Othello board game. SNOOPY .TXT 72D0 3K A picture for children to color. TTT .COM 96DF 3K [Tic-Tac-Toe 1 of 2] Three dimensional game. TTT .ASM 727B 25K [Tic-Tac-Toe 2 of 2] ocumentation, additional modules, and new releases are available only to registered users. Games for most CP/M computers. Filename Description -06-00 .86 This is the release date of the disk. -CPM&'