IMD 1.16: 31/05/2007 20:30:35 FOGCPM.139 --FOGCPM139BRHYTHM COM BRHYTHM COML-09-00 86 BRHYTH14MSGBR-DD PLI BR-DIY PLI!"#BR-E PLI$%&'BR-GAD PLI()*+BR-GYN PLI,-.BR-MTG PLI^/0123456789:BR14 PLI.;<=>?@CCINE11 PLIABCDISPRT PLIDEFGRGJUL11PLIGHIJUPCASE PLIKLZELLER11PLIMNOPBR DCLQRSBR-DD DCLTUVBR-DIY DCLWXBR-E DCLYZBR-GAD DCL[\BR-GYN DCL]^BR-MTG DCL_`aCCINE DCLbcdDISPRT DCLefgGRGJUL DCLhiUPCASE DCLjkZELLER DCLlmnBR14 SUBoLADDER COMpqrstuvwxyz{|}~LADDER COMLADDER COM8-CPM139 DOCLADDER DATLADDER DOCLADCONF COMLADCONF COM0This is the disk name. BR-DIY PLI !"BR-E PLI#$%&BR-GAD PLI'()*BR-GYN PLI+,-BR-MTG PLI^./0123456789BR14 PLI.:;<=>?BR DCL@ABBR-DD DCLCDEBR-DIY DCLFGBR-E DCLHIBR-GAD DCLJKBR-GYN DCLLMBR-MTG DCLNOPQ!LT>%CG3!R.!!R -!PT>%CG3!>!!R -!PT>%CG3!R>!! S -RR)!Sn(!TT>%CZ!oT>%CZ!T>%CZ!T>%CZ!T>%CZ!T>%CZPRR)>͈+PR R)!Tn(!T>;%CZ!T>A%CZ!U>@%CZ!QU>@%CZ!U>%CZPRR)>͈+P!eXU>G͂C!UeXxͽBQRTR)! Tn(!U>.%CZPqN)!Tn(&!fX(NCP!(XU>< qC!X͐!X>>!XU!"X>>!XU>G͂C!UXxͽB !(XU>< qC!X͐!X>>!XU!X>>!(XV>< qC!X͐!X>>!XU!%X>>!X>>!"X>>AR:R)!Tn(!:V>%CZPRxR)! Tn(!;V>:%CZ!uV>:%CZ!V>:%CZ!V>:%CZPRR)>͈+P!%X>>!X>>ARR)!0Tn(!:V>%CZPRR)!5Tn(!#W>8%CZ![W>8%CZ!W>8%CZ!W>8%CZPRR)>͈+P!XU>G͂Cæ!X RCR)!ETn(!X>%CZP !eX8C(RbR)>͈+P!R-)!R-)! S-)?RX~# |!"X*X~2X*X~2X:Xog:Xog>H:Xog>og4}*Xn "X*Xm "X!X4Ø*X^#V"X*X>>> ;!X>>~@> =>͙?!X>>*X>>!X>>y?!X>>!X>>ʹ<RbR)!Xn(!Y>.%CZP !;^8C!HY;^xͽB}!RRW)!Xn(!IY>>%CZ!Y>>%CZ!Y>$%CZ!Y>>%CZ!'Z>>%CZ!eZ>>%CZ!Z>>%CZ!Z>>%CZ![>>%CZ!][>"%CZ![>>%CZ![>>%CZ![>:%CZ!5\>>%CZ!s\>>%CZ!\>>%CZ!\>>%CZ!-]>>%CZ!k]>>%CZ!]>%CZ!]>>%CZ!]>>%CZ!6^>%CZP^#V"`!9"`!͇Oî͔ÿ!>͇Oÿ͔ÿ*`AK!`z^>G͂C!z^`xͽBJRR)!<^n(*`#CZ!{^>%CZP$N)!H^n(&! `NCP! `n& |9͔G! `͟B%C~:!`>>! `͟B%C~:!`>>! `͟B%C~:!`>>!`>>!^>>A!^>>!`>>A͔G!^>>!d^>>!`>>!^>>y@!^>>A!^>>!d^>>!`>>!^>>A!`^!`>>ʹ<)>>!`>>A;͔G!`^>G͂C!`>>!^>>͙?!`>>!^>>͙?T?!`>>T?!`>>͋K!`>>BRR)!M^n(!^>%CZPR R)!R^n(!^><%CZ!^><%CZ!_><%CZ!P_><%CZ!_><%CZ!_><%CZPR R)>͈+P!5`0`>G͂C!0`5`xͽB !9`ͯ!;`8C!7`K!6`8C!1`6`xͽB!0`6`xͽB !5`1`>G͂C R R)!`n(!2`>%CZP!<`  R R)!!`n(!3`>%CZPR R)!&`n(!4`>%CZPR R)!+`n(!3`>%CZP# !6`>%CáCb~#  E*b>>> G=!b 8C!b> ͫB%C<}2'b!b> ͫB%C<}2&b!b> ͫB%C<}2(b*b>>> G=!b 8C!b> ͫB%C<}2*b!b> ͫB%C<}2)b!b> ͫB%C<}2+b*"b>>> G=!b 8C!b> ͫB%C<}2?b!b> ͫB%C<}2>b!b> ͫB%C<}2@b!RR W)!>`n(*b#CZ!Ca> %CZ:*bog>>Z!Pa>%CZ:)bog>>Z!Pa>%CZ:+bog>>ZP!RR W)![`n(!Qa> %CZP!RR W)!d`n(!^a>%CZP!RR W)!m`n(!ma>%CZP!RR W)!v`n(!a>(%CZP!RR4 W)!`n(!a>)%CZP!RRj W)!`n(!a>%CZ!a>%CZ!a>%CZP:(b!+b— *b"b* b"b!b!b>H"0b :+bog>og4}¸ !n"0bþ !m"0b* b"b*0b!b>H"0b*b"b!b*0b"0b:+b<2b!bw*0b"0b*0bͺ>!b#H!b!arE, !b!a͆E!b#H *0bͺ>!2b#H!2b!arEZ !2b!a͆E!2b#H8 *0bͺ>!|b#H!|b!arE !|b!a͆E!|b#Hf !Aba>G͂C:'b2wb:&b2ub:(bogl "xb*b"b!bͬ2b:(bog>og4} ! a6 ! a6:@b=2b*$b"b*b"b!bw!b!b>H#"b!",b*b"b*b*,b>H>2.b:.bog+++|>2/b:/bog |r!Ab:/boga>G͂C!/b4E![ba>G͂C>2vb!b!aͽC!aD!b#H!b!?aD!bCh!bD!b#H!b! brE!b!b͆E!b#H! b!brE!b!b͟E!b#H!bH͞!b#H!b!b͟E=}2zb!Ab:zbog>a>G͂C:vbog:zbog>HJ:zb2vb!2b!aͽC!aD!6b#H!6b!?aD!bCh!bD!:b#H!:b! brE!:b!b͆E!:b#H! b!:brE!:b!b͟E!:b#H!:bH͞!:b#H!:b!b͟E=}2zb!Ab:zbog!axͽB!Ab:zbog!axͽB3!Ab:zboga>G͂CI!Ab:zbog`>G͂C:vbog:zbog>Hd:zb2vb!|b!aͽC!aD!b#H!b!?aD!bCh!bD!b#H!b! brE!b!b͆E!b#H! b!brE!b!b͟E!b#H!bH͞!b#H!b!b͟E=}2zb!Ab:zbog!axͽB!Ab:zbog!axͽBM!Ab:zboga>G͂Cc!Ab:zbog`>G͂C:vbog:zbog>H~:zb2vbͱ!b!b͟E!b#H!2b!b͟E!2b#H!|b!b͟E!|b#H!.b41!b4:b>2b!ub4! a:wbog~og:ubog>H5>2ub!wb4:wbog |5>2wb*xb#"xb*xb>og4|0! a65! a6!b!arEN! b!bH!2b!arEg! b!2bH!|b!arE! b!|bH*,b#",b!RRW)>͈+P!RRW)',P:.b=!aAbxͽB:ub=y!Abb>G͂C!RRvW)!`n(!`:bogpG>%CZ:ubog>>Z!a:wbogpG>%CZ>2{b:vb2b:bog:{bog>Hs!Ab:{bog>%CZ!{b4BP!RRW)!`n(!`:bogpG>%CZ:ubog>>Z>2{b:vb2b:bog:{bog>H!Ab:{bog>%CZ!{b4Pî:ub=]!RRZW)!`n(*xb> >Z>2{b:vb2b:bog:{bog>HW!Ab:{bog>%CZ!{b4&Pî!RRW)!`n(>2{b:vb2b:bog:{bog>H!Ab:{bog>%CZ!{b4zP^#V"b !b8C!bbxͽB*b!bxͽBRR)!bn(!b>%CZP !b>%CáC^#V"b*bn&}2b:bog |:b_:b`:bQT>b~# Z*b>>> G=!c 8C*b~!c> ͫB%C~:!c>>!c> ͫB%C~:!b>>!c> ͫB%C~:!b>>-!c> ͫB%C~:!b>>!c> ͫB%C~:!b>>!c> ͫB%C~:!c>>!b>>!b>>!c>>!b>>Aʄ!c>>!b>>y@!b>>A„!b>>!b>>!c>>!c>>!b>>!c>>!b>>!b>>A>2b!b<>!b>>y?ʹ<}2c:cog:bog>H!b:bog)>>!c>>T?!c>>!b4!c>>!b>>͙?!c>>T?!b>>!b>>B^#V"c*cn&}2c:cog |/:cog |:cog }3>!cG8Cá*c!c>G͂C!c>%CáC6c~# ±*6c>>> G=!Jc 8C*8c~0!Jc> ͫB%C~:!Xc>>!Jc> ͫB%C~:!Tc>>!Jc> ͫB%C~:!Vc>>Ä!Jc> ͫB%C~:!Tc>>!Jc> ͫB%C~:!Vc>>!Jc> ͫB%C~:!Xc>>!Tc>>>G=̈́8,:!>c#H!Vc>>>G=̈́8,:!:c#H!Xc>>>G=̈́8,:!Fc#H!Tc>>!c>>A+!c!>cD!c͚E!cE͞!Fc!"c͆E!&cCͤ͞E!"c͐E!Bc#H\!c!>cD!*c͐E!c͚E͞!Fc!&cͽCͤ͞E!Bc#H!Bc!:c͟E!Fc͚E!.c͐E!2cHf!"c͚E=}2Sc:Sc^#V^͍#V ͙ð͙"  Later CP/M or MP/M Version Required$*f**f{ozg|g}o!\!l!)3>)͍!;*3>͍K* !{*͍͓ ͓  >  ͍͓͓͓͓͓͓͓͓͓͓͡͡͡͡͡ ͍͡ ͓͡!͓͡"͓͡#͓͡$͓ͪ%͓ͪ(m^#V!9!9^#V"c!{c*cD!c#H!vc*cD!c͋E!c#H>2c!cH="c*cͺ>!c͕E!c#H*c++|:c/<2c*c++"c*c+| :c/<2c!c!c͆E!c#H!c!cH!c!cD!c͐E!c#H:cͶ>!cD!c[DEHc~# `!c!cH*c*c~og))!cH*c~=2c:c!c!cH!c!cH*c!cD!c͐E*c:cog))͚E!c#H!c~wÓ!c!c͆E!c#H!cEH^#VG#^#V^#V#N#~+x!/!c(/!cLOW_G|;||GDM|GG`|`GG"c!9/Hz*c!9!~# †CD͋E*c!9Fyc>7G!9Fyb BJ (>7 ( G H H|/g{/_z/W$zW{_|g=8|g{_zW=I!%"FS”mBZ!9ʌʃ~#%s> %ƒ&9¶x2`Sy £2aS"cͲ<$!*cqx2`S=JA AG:`S=ڷJx2aS"cͲ!cSN6#F6!HS~# !gSq#p$!>E%!gS^#Vz+%->_>Wx%{d_zW<-!dx0%{ _zWZK! x0%{0%*c¯x2`Sy2aS"cͲr!:`S!aS !Gʨ!9~#%×*cʨh(2HS2eS2iS<2_S!9 + ->2eS    .  e" E˜ +2 ; -; Gyx ҷJO  yOOO   O>G 2jSŽ >O>GO>G:jSʧ ·J Ø :_Sҹ ê !cSq#p ~#z0 0!iS_w!_S~ 4_!HSs÷JJ2bSG!cS^#V{_zW{2_S_z·J:HS·Jr!J!:HSJ!!cS^#Vr+s!gS^#Vr+sʷJ:aSG:`SX!!eS >2fS͞!%!`S5d!:aS>!HS>w w>+Ð!!bS~5­!2fS>.!G:fSx0!:bS> !eS~!5!bS4!_S5-2fSx!_S^4{!!!HS~0>0"c*FS~2c:]S"͑$"ͷJ:c2c>V~$!c%"5~/o :`S[">9~$[">*~$I" K"*:c!9q#=R"a$>2c<2c2c!2c:c_:ca$*FS~2c:c9¾":cʮ":c2cq$®":c=O:c$$:cO:c$h$g"Z"*#O:c"y2c:c":c0":cO:c*"> $ #:c2c:cO:c$h$g":cq$§#:c;$X#:c$A#:cO:c$$h$m":c2c:cO> $h$m":cʗ#:c0t#:cO> $á#:c=O:c$$:cO:c$:c2cá#:cO:c$h$g":cV#:c#:c2cq$#:c=O:c$$:c#<2cl$m":cO:cͯ$$:c$:cB$$:c*$> $h$m":cO:cC($D:]S;$> $ $X$:cCO$$ >R$X$$ >B$h$h$m":c*c!c4!c4S+-$G:cOx*FS## ˆ$<>S~$>+~$>-~$>C~$>D~$:/,.B!cN*FS# Ⱦ$G:c_:cO x*FS# Ⱦ$!i#9w$G:]S %x+-%S%x+%-S%>+>-> r( :%x=4%Gͩ%!% a%:SJ%[%!qSx!%[%%!%',!% u%!%> %g% ‡%x%>%!% ’%ͩ%!%xœ%>!%=',Ü%%x!oSҾ%%é%:S%%:oS> %þ%>2c!cÑ+:S%!oS%> &> &&2c!c5,("&y<>)&= )&·&Oh(o'####Wͯ'J&60#p&EQ&>ew#.[&eb&xp&' J&ͺ'GZ+y=&x=&0 ڛ&60$Ý&w §&+6.$y=}&x=}&"'x<&!9' ' & &w# ʷJ&H !9 &+w&xOo>g9x 'ʷJ ' 'w# 'h(=,'<h(<_h(Kh( :'oW'##ͯ'ʔ'K0ڷJ i'0_ҷJ i'·JK0w# v'xʔ'' S'ͺ'GZʪ'+wß'x'ʯ'x'·Jú'o>g9##'ʷJ ' ' ڷJC/'!cL> r( ((C/ ( '(x!(>_(( 0((](x!oSE(](0(:SP(](:oSC/E(>2c!cÑ+!dL()^")^#Vʯ(((r(#FҨ(#N¨(#^#r+s#^#V++r+s~r(5r()5^")q#pr(O)4~ (_")s#r#s#r#q!(L))S)) Format Overflow*S-&S!!d"d!d6)^#V"d*d"d!d6M)ɯY)>Y)>2d"d"d`i"d!9"d!du)(e ~# z)*(e~)*(e~)!"e>%CG3!!!R -!R"6e!4e.)!"e>%CG3!R.!! S -! S":e!8e.***e"e,-*.e^#V!xSs#r*0e^#V!zSs#r*,e^#V2B|*S2B|G +!Ben+*,e^#V}*S}G-+!Den+:SQ+*,e^#V}*S}GQ+!Fen+:Sm+*,e^#V}m+!Hen+^#V"Je!S"Pe*Je"Te!LeL2Xe!VeÑ+^#V"]e:S+:S+*]e+*]e5!_e6:_e ++ø+ç++!`e5,*]e+*]e5!wS6!be5,:wS+*]e6+C/2_e:_e&,!S"he!"le!deL!oS6#6!_e6 :S4,!oe5,^#V"e!kS"e*e"e!e4k,!S"e!qe"e!eLh, -:S -*e~ څ,*oS#"oS -*e~ ™,!oS6#6 -:S -*e~ »,*sS#"sS!qS6#6 -*e~ -*qS#"qS!qS#,!qS6#6*qS*S#>H| -!S"e!"e!eL-',!wS6"e!9"e!e,-! 9^e~# 1-*e^#V|F-*e*e ͔B*e"e*e nb-*e !e>~CÞ-!e>%C*e!B!e8C*e~#-*e^#V)))|-*e6P#6*e~#.*e^#V))|-*e6#6.*e6<#6*e6#6*e6#6*e6#6*e 6*e^#V}j:}2e*e^#V}[.!e44*e^#V}q.>2e*e^#V}.*e~#.*e6#6*e"e*e"e*e"e*e"e!eP3*e^#V|.*e"e!"e!eL^#V^#VP:S.!#/L2SO!S /6/ +~#w!S s#r!S4͋P+/,/S-/// I/O Stack Overflow:wSc/!kS"e!eͽ4`/!e6n/:wS2e!wS6:e }/*oS#"oS:e /!oS6#6:e"6"6*6^#V#"6^#V͛/ͧ/"6ͧ/"6|ͬ/|~͛/ͧ/ya/A =.:;<>[]y *6/ /0/$//1&0 o&))))\xH  C0#w C0//*6#r0Ar0G//:w0 6|0p4/+0ʡ0#/ʭ0#*™06?Ý0w/ˆ0/ʴ0/á0#6 ­0.0/ 00/0#*06?0w/0/0/0#6 0'#60;I1/:61:626!/51w#/1/<1/)16 #51!:6w*6##^ ~?Y1# R1xCON CON RDR PUN LST M!t1 ~/$1//1ҽ1\ʤ1l1$1!~ 1/!a1/1 1/#1x=G1/>ɯ*6-1^#V1#{#z16#61 r+s!eF#~R2!e6P ͰR P P!e^r+s6 #6 !e4^N*6|‚2}=o2"2~2z1z2ͰRO>~ʎ2ʎ2>2N*6|º2Yz1=ʧ2y³2Pö2ͰR>~2=2>2q26*61"62'3{ 21*6ͰR*6#:6OͰR31#s#r3222 2ͰR21r+s{83!64*6+>|G3+}o͑/͛/~26͛/~26͛/"6ͬ/:6ҳ4̓1ʐ3G:6ҳ4*6pŠ34#6Ô6/:6ګ3A3*6++"6ô3}+ʸ3G3}|26"6/A3"63ͫK|ʳ4##"66*6s#rR06{ 6*6:6w36A4*6"6:64!~w+4:6+4!~wͰRÔ6*6w#wÔ6͑/ͬ/ʔ6\2͛/qÔ6͑/ͬ/ʔ6͛/N͕2Ô6*6~" 4#4#4͑/ͬ/ʔ6~5G57ʔ6 2>V5Ô6͑/ͬ/ʔ6~ 2>V5ʔ6*6~>5>Ô6G57Ô6*6!,~!126*6|k5*^#V//{z~5z526zʭ5:6¡5\2qè5N͕2#È5*6|5,~5=!65:6255wÿ54>͑/ͬ/ʔ6|}ʔ6~> Ҕ6<Ô6͑/ͬ/ʔ6|6*6w=Ô6*6ͨQ*6^#V6+6++ALÔ6͑/;/ʔ6>Ҕ6"N#F#~͛/q#p#w>Ô6͑/;/ʔ6>”6,~/!ʃ6=u6>!*6" s#r#w=Ô6*6 ͰR}!Hf6 4ͰR>2Gf*Df!4#4#4~#N#F#y#x#:Gf*Df!!:Ff766:Hf~G~#~O?O7#~O7! p! yͰR! qͰRO>G!$q#p#67"Af"Df2Cfx2FfͶ62Gf6!Cf~5~86 8=K8:FfK8*DfͰR< 86K8*AfͰR:FfO*Df:Hf<8y OͰRW8:Ff6*Afw# Q86:Gfq8*Df!6q8U7*Af"Af7:Gf/2Yf!92Zf"[fJ!="f!"af"_f2f2]f2^f2f: ʰ8+8-8>2f:.8!^f~·J58E 9e 9!f458!:9!fp# 82f!ffI:^f8*_f+"_f8:+2]f09-%9:!:2af:9:9:÷J*af:]f-[9og*_f"af:f@y9!f̓J'Jc91J*af|2cf9ogҟ9!Qf9Í9|ʴ9!If9+ã9:Yfog9eI:cfHKH!:*afT])))og"af!ff\J!f̓J!f̓J!ffI!fÃJ!Zf5K9*[f~#"[f0ڷJ ÷J!9,I!9ͥJc:*f|·J"f!f̓J+G:f怰w!fhJg.>Gx|g}oq:Gœ:!9~.œ:!9~Eœ:+6 xO! 9zD;>o>g9~E(;e(; ʬ:+:³;Wì:-:.:³;ì:0;:;0;G!9~wG# ;+~³;ì:{_O <;~3+1;{_>W! 9+w£;yö;÷J!;;##/<^#V;=<;!9VzwzO#;;AA! 9/GO~AOA~q+"G=*df"ff͗<<*ff"ff͗<<*ffG!9!x = =+<$%·Jg=-<0J:J0T])ڷJ)ڷJڷJ)ڷJo|gڷJ<{0=$%·J}1=|ڷJz-Go&9}O!9 w#U=60#60! 9~ =!97>?'w#u=-!9~=ʝ=~#=Š=! 9~.¯=+60û=0»=6 #£=+r>o&9y>o&90w+=6.!9F}!=J/xGyO>`iG/;<*>!9_6 +=A>DM)X>O>G!́> g>>0v> l>>-3x>T]))ԁ>寕iO>`G>0 Ҥ><Ü> DM0 > og|>G!G>>w#> O~# ?Gx?)? A> 5?A#)?!9!97>?'w#E?!9!'w#`?t?A!9!7>?'w#…?!9H@! 9H@A! y?,@!9o>g~?Gxʾ?@?!9!w# ?Ah@!9!9!'# @!9^{w{W#4@~Wh@~+c@W@7>?'w# k@À@!9[Aœ@yʗ@!9>J!9!fAfA±@y!9qA!9qA!9ͳA! 9͠A!4@5! 9͒A@/A!9́A!9[A/A!9!͠A!9!fA:A!9́AGA!9!9fA!9#^A~#hA~́A7>?'w#„A'w#•A7>?'w##£A^{w{W#·AA!9!7>?'O#AG>!BL BBBB!9MD^#V# + w Bȇ,B)2BWf.RBr~#foRBs#r!>O bB)ZB|W}_ yB|}o|giByx/Wy/_{zW{_ÇByw# ÔB~#ëB~#W #BF#"hfx%CB*hf!9G_>WObk++C~+Cy~#/JG#"kf"uf`i"sfF*kf"kf!jfw`i"mfͷDͺD"of*mf*sf͞D"mfͷD"qf*ufpGͷDG*qf*of|`DG*sf͞DG*mf|xD)))xDxD*sf͞D*mf))sD)xD:kfO:lfGzʘDzD ))҇DÇD:jfGGDM>!=))ҩD ïDͺD|g}oͩEDEDͿEDF2wf"xf!zfr#q#pF*xf"xf!wfw!}fr#q#p:{fG:fͤG:|fG:~fͤG:zfG:fͤG:{fG:~fͤG:|fG:}fͤG:|fG:fͤG IE OE VE|e. `Eo&:wf*xfDMGxE}EͩEFx>ͩEFEFͿEFEFͿEFͩEFEF"f!E^#V*f"f!E^#V!9*f3333"f!E^#V!9*f3333! F^#V!9!33333333>F2f###+++2f@F:f2fEF/<2fF##ͽF!fF~wF:fҶF~FZQHoFʔFoxGyOzW{_-ƒF!fFҤF# DMxFPYGGOWÔFFxGyOzW{_ɯ_>W>O>G###~FGOW_goހ_W+~G~+N+f.zGz#G ))GG}8G$8G8G8GxIGydG>JxYGydG>Jx>JJyƀGOS\{EͤGDͤGzEͤGDͤG\e. ҒG ҘGS\e. ңG.HEg)ҮG )ҳG )ҸG )ҽG )G )G )G )G x>J!>)G G=G)Gɯo>g^#V#N#F!9~ww#w#w#wq#p#q#p###~+~/={ozgͥJwJ>JͱI!f:fw*f*f{ozg"fI7JڑH!ff͚J!f4 ʢH!f̓J|H!ff\JI1JIͥJwJʭJͱI*f*f"f:f!fwI:!f̓JH!ffI HI1JI:f@!f̓J'JI:f!f͍J*f#"ffXJ!f̓J2f!f ̓J*f))|g:fGo"fx@2f*f|>J#|+>J|g}oxG }I"f!f~?w!f ͍J!f:f͍J!fXJfXJ!f̓J2f!f ̓J*f))|g:fGo"fx@2fɷw# I4#I!fp# J!fp# Jf!f+J*f+"f|!f~w!f~~GJww4#JJ~#~#~#~#~#~#~#~#~#~ ~#ɯ~w #„J +~w ‘Jɷ# ›J*f|!"f"f!JLJJJJJ Conversion2J!JLJJJJJ2 Kx2 K!KL K K KK*f|>K^#V"f###^#V#N#Fx:K #~-KAL*f|hK^#V#N#F!9yxhK"fALAK:SʅK!9!zS{z#څKPhK!ÎK!9:SO!S {#z!S5ÐK#}OD*f~K##~#fo´K!KLKKKKK Free Space Exhausted##^#V#{_zWڶL{_zWڹK4zL{dM!S{#z*xS*zSPxyxpMM_!O^#VNM>(MyM>)M|ʥMͷM͌N|ʱMͷMN1N?R>,MM> _P P P0:MMMMM|M}M Nd N NNNxMN #~M!N!NN*f!9{_zRN{RN fNdNM>#M*f>=^#V#MfN}N>: ҇N>?M!NN!N>=M^#V|¼N}ڳN.))kON#F>AxN> #N~ >.}N~ }N=N^#V# File: Traceback:OO'O1OO6# R ͰRͰRQͰR=ɯ ~#fo++ñQ!f~#cR*fͨQ?RRWR ͰR!gR! ͰR||R}0|RÂRlͰR Insufficient Memory$ Invalid I/O List$7S2S"S GRAPH_FILESYSINSYSPRINT           $lst$conBRHYTHM -- Biorhythm Graphsby John J. BowdenVersion 1.4, 05/28/83This program produces graphs based on the Biorhythm Theory.After being supplied with essential information (subject name anddate of birth, and graph begin/end dates) a graph containing thethree metabolic rhythms postulated by the theory will be printedon the CP/M List device.Y For whom is this graph being prepared? Enter the person's Birth DateN Enter the graph Begin Date Enter the graph End Date*** Date Error: The Begin Date is less than the Birth ****** Date. This is not allowed. ****** ****** Please try again. ****** Date Error: The End Date is less than the Begin ****** Date. This is not allowed. ****** ****** Please try again. ***Again? (Y/N) (XXU(XXU(XXUfXXXX"XX%X                 Do you want the Biorhythm explanation? (Y/N) NThe Biorhythm Theory postulates that there are certain meta-bolic rhythms that have a constant cycle time in the humanbody, and are known as inner clocks.Two physicians, one a contemporary of Freud, concurrentlydescribed a 23-day cycle that correlated with physical vitali-ty, endurance and energy, and a 28-day cycle that correspondsto sensitivity, intuition and cheerfulness. A third cycle wasobserved by a professor and others in the 1920's and 1930's,and is a 33-day cognitive or intellectual cycle that relatesto mental alertness and judgement.All three cycles start up from birth or the beginning ofindependent life. Although the cycles begin from zero at thetime of birth, Biorhythm has nothing to do with astrology.The days on which the median (0) line is crossed are calledcritical days, especially for the physical and sensitivitycycles and are when accidents are the most likely to occur.The High (+) periods in the various cycles are the times whenyou should have the most energy, be most cheerful, outgoingand mentally alert. The Low (-) times are regarded as recu-perative periods.A Tokyo taxi company has reported a 60% cut in accidents bygiving drivers an "extra careful today" reminder on criticaldays.   1(1010110101Y (MM/DD/YY): ()N*** Date Error: The value must be an 8-character string ****** in MM/DD/YY format. The individual ****** month, day and year values must also ****** fall within their normal ranges. ****** ****** Please try again. ***NY ;`1`6`  9999            99  3  99 3 9999 3 3*SunMonTueWedThuFriSatEI:JanFebMarAprMayJunJulAugSepOctNovDecPI was born on /Graph Symbols: = Median LineP = Physical Cycle (23-day)E = Emotional/Sensitivity Cycle (28-day)I = Intellectual/Cognitive Cycle (33-day)- (Low)0 (Zero)(High) +8`Y 44HPNb(ba(bbY^C1(1010110101()ff&ffNL|,`]# cz8t maNeƝj]""~zcczccccZcccccccccccccccSccd dS d d Invalid Format Itemdddddd Stream/Record Sequen/Direct Input/Output Keyed Access P< $con6e:ekSeddde&e'eTeXe YeZe[e\ele neUnsuccessful Writeeeeeeee.dateeeeeeeee$@4&k Cgff&ffNL|,`]# cz8t maNeƝj]""~zcczccccZcccccccccccccccSccd dS d d Invalid Format Itemdddddd Stream/Record Sequen/Direct Input/OBRHYTHM -- Biorhythm Charts by John J. Bowden Version 1.4, 05/28/83 BRHYTHM produces Biorhythm Charts. You remember them, don't you? If you can't (or won't) remember, a brief explanation can be obtained from the program. This particular biorhythm maker prints the charts on the CP/M LST: device. A chart will fit nicely on 8 1/2 by 11 paper. BR-DIY DCLFGBR-E DCLHIBR-GAD DCLJKBR-GYN DCLLMBR-MTG DCLNOP /*********************************************************************** * * * DAYS_DIFFERENCE -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-DD.DCL and BR-DD.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * DAYS_DIFFERENCE takes two years and calculates the number of days * * between the years. * * * * Usage: Out = DAYS_DIFFERENCE(In-One, In-Two); * *  * * Input: In-One - a year value less than or equal to that of * * In-Two * * In-Two - a value for a year greater than or equal to * * that of In-One * * * * Output: Out - a count of the number of days difference between * * In-One and In-Two * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ days_difference: procedure(begin_year, end_year) returns(fixed binary(15)); declare begin_year fixed binary(7), count fixed binary(7), days fixed binary(15), end_year fixed binary(7); days = 0; do count = begin_year to end_year by 1; if mod(count, 4) = 0 then days = days + 366; else days = days + 365; end; return(days); end days_difference;  * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * **************************************************/*********************************************************************** * * * DAYS_IN_YEAR -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-DIY.DCL and BR-DIY.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * DAYS_IN_YEAR takes a Julian date and returns the number of days * * that year contained. * * * * Usage: Out = DAYS_IN_YEAR(In); * *  * * Input: In - a date in YYDDD Julian format * * * * Output: Out - a count of the number of days in In * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ days_in_year: procedure(julian_date) returns(fixed binary(15)); declare days fixed decimal(3), julian_date fixed decimal(5), year fixed decimal(5); year = divide(julian_date, 1000, 2) * 1000; days = julian_date - year; return(binary(days)); end days _in_year;  * * Output: Out - a count of the number of days in In * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ days_in_year: procedure(julian_date) returns(fixed binary(15)); declare days fixed decimal(3), julian_date fixed decimal(5), year fixed decimal(5); year = divide(julian_date, 1000, 2) * 1000; days = julian_date - year; return(binary(days)); end days/*********************************************************************** * * * EXPLAIN -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-E.DCL and BR-E.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * EXPLAIN, when invoked, asks the user if an explanation about * * biorhythms is needed. If the answer is yes, the explanation will * * be produced on the graph_file. * * * * Usage: CALL EXPLAIN();  * * * * Output: The biorhythm explanation is printed. * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ explain: procedure; %include 'br.dcl'; declare graph_file file, user_response character(1); put edit('Do you want the Biorhythm explanation? (Y/N) ') (skip, column(5), a); user_response = get_yes_no_response(); if user_response = no then return; put file(graph_file) edit( 'Th Biorhyth Theor postulate tha ther ar certai meta-', 'boli rhythm tha hav constan cycl tim i th huma', 'body an ar know a inne clocks.', 'Tw physicians on contemporar o Freud concurrentl', 'describe 23-da cycl tha correlate wit physica vitali-', 'ty enduranc an energy an 28-da cycl tha correspond', 't sensitivity intuitio an cheerfulness thir cycl wa', 'observe b professo an other i th 1920'' an 1930''s', 'an i 33-da cognitiv o intellectua cycl tha relate', 't menta alertnes an judgement.', 'Al thre cycle star u fro birt o th beginnin o', 'independen life Althoug th cycle begi fro zer a th', 'tim o birth Biorhyth ha nothin t d wit astrology.', 'Th day o whic th media (0 lin i crosse ar calle', 'critica days especiall fo th physica an sensitivit', 'cycle an ar whe accident ar th mos likel t occur', 'Th Hig (+ period i th variou cycle ar th time whe', 'yo shoul hav th mos energy b mos cheerful outgoin', 'an mentall alert Th Lo (- time ar regarde a recu-', 'perativ periods.', ' Toky tax compan ha reporte 60 cu i accident b', 'givin driver a "extr carefu today reminde o critica', 'days.') (skip(2), column(10), a, 2(skip, column(10), a), skip(2), column(10), a, 6(skip, column(10), a), skip(2), column(10), a, 2(skip, column(10), a), skip(2), column(10), a, 6(skip, column(10), a), skip(2), column(10), a, 2(skip, column(10), a), skip); return; %include 'br-gyn.dcl'; end explain; wit astrology.', 'Th day o whic th media (0 lin i crosse ar calle', 'critica days especiall fo th physica an sensitivit', 'cycle an ar whe accident ar th mos likel t occur', 'Th Hig (+ period i th v /*********************************************************************** * * * GET_A_DATE -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-GAD.DCL and BR-GAD.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * GET_A_DATE types out a message on the console and then inputs * * what is supposed to be a date in month/day/year format. If what * * is given by the user isn't valid, an appropriate error message * * is issued and the user is again requested to supply a date. * *  * * Usage: Out = GET_A_DATE(In); * * * * Input: In - the message to be used for the date prompt * * * * Output: Out - a date in MMDDYY Gregorian format * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ get_a_date: procedure(message) returns(fixed decimal(6)); %include 'br.dcl'; declare bad_date_flag character(1), date_out fixed decimal(6), date_string character(8) varying, day fixed decimal(2,0), message character(message_length) varying, month fixed decimal(2,0), table_day (12) fixed decimal(2,0) static initial (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31), year fixed decimal(2,0); on error(1) begin; call date_error(); go to start_of_get_a_date; end; on fixedoverflow begin; call date_error(); go to start_of_get_a_date; end; start_of_get_a_date: bad_date_flag = yes; do while(bad_date_flag = yes); put edit(message, ' (MM/DD/YY): ') (skip, column(5), 2a); get edit(date_string) (a); if length(date_string) ~= 8 then call date_error(); else do; month = decimal(substr(date_string, 1, 2), 2, 0); day = decimal(substr(date_string, 4, 2), 2, 0); year = decimal(substr(date_string, 7, 2), 2, 0); if month < 1 | month > 12 then call date_error(); else do; table_day(2) = 28; if mod(year, 4) = 0 then table_day(2) = 29; if day < 1 | day > table_day(month) then call date_error(); else bad_date_flag = no; end; end; end; date_out = (month * 10000) + (day * 100) + year; return(date_out); /* */ /* */ /* */ /* */ date_error: procedure; put edit(control_g) (a); put edit( '*** Date Error: The value must be an 8-character string ***', '*** in MM/DD/YY format. The individual ***', '*** month, day and year values must also ***', '*** fall within their normal ranges. ***', '*** ***', '*** Please try again. ***') (column(15), a, 5(skip, column(15), a)); put skip; return; end date_error; end get_a_date;  then call date_error(); else do; table_day(2) = 28; if mod(year, 4) = 0 then table_day(2) = 29/*********************************************************************** * * * GET_YES_NO_RESPONSE -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-GYN.DCL and BR-GYN.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * GET_YES_NO_RESPONSE is used to do just that. Only a "Y" or "N" * * (upper or lower case) can be input. Anything else results in * * a BELL and the offending input being erased from the screen. * * * * The question requiring the yes/no response is displayed by  the * * calling routine, before it uses GET_YES_NO_RESPONSE. * * * * Usage: Out = GET_YES_NO_RESPONSE(); * * * * Output: Out - a character equal to "Y" or "N" * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ get_yes_no_response: procedure returns(character(1)); %include 'br.dcl'; declare good_response_flag character(1), response character(1); good_response_flag = no; do while(good_response_flag = no); response = upcase(ccine(yes)); if response = yes | response = no then good_response_flag = yes; else do; put edit(control_g) (a); if disprt(response) then do; put edit(control_h) (a); put edit(' ') (a); put edit(control_h) (a); end; end; end; return(response); %include 'a:ccine.dcl'; %include 'a:disprt.dcl'; %include 'a:upcase.dcl'; end get_yes_no_response; -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ get_yes_no_response: procedure returns(character(1)); %include 'br.dcl'; declare good_response_flag character(1)/*********************************************************************** * * * MAKE_THE_GRAPH -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-MTG.DCL and BR-MTG.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * MAKE_THE_GRAPH (as you might guess from the name) is in charge of * * actually printing the biorhythm graph. * * * * Usage: CALL MAKE_THE_GRAPH(In-One, In-Two, In-Three, In-Four * * In-Five, In-Six, In-Seven);  * * * * Input: In-One - the name of the subject for whom the graph is * * being produced * * In-Two - the date at which the graph is to begin, in * * MMDDYY Gregorian format * * In-Three - a YYDDD julian format date at which the graph * * is to begin * * In-Four - the birth date of the subject, in MMDDYY * * Gregorian format * * In-Five - a YYDDD Julian format birth date of the * * subject * * In-Six - the date at which the graph is to end, in * * MMDDYY Gregorian format * * In-Seven - a YYDDD Julian format date at which the graph * * is to end * * * * Output: The biorhythm graph is printed * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ make_the_graph: procedure(subject_name, begin_date, julian_begin_date, birth_date, julian_birth_date, end_date, julian_end_date); %include 'br.dcl'; declare begin_date fixed decimal(6), begin_day fixed binary(7), begin_month fixed bina ry(7), begin_year fixed binary(7), birth_date fixed decimal(6), birth_day fixed binary(7), birth_month fixed binary(7), birth_year fixed binary(7), count_1 fixed binary(15), count_2 fixed binary(7), count_3 fixed binary(7), crossover_indicator character(1) static initial('*'), cycle_start fixed binary(15), day_of_the_week (7) character(3) static initial ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'), days_in_a_month (12) fixed binary(7) static initial (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31), emotional_cycle float binary(24), emotional_degrees float binary(24), emotional_indicator character(1) static initial('E'), emotional_position float binary(24), end_date fixed decimal(6), end_day fixed binary(7), end_month fixed binary(7), end_year fixed binary(7), first_time_flag character(1), graph (51) character(1), graph_day fixed binary(7), graph_file file, graph_maximum fixed binary(7), graph_month fixed binary(7), graph_year fixed binary(15),  graph_position fixed binary(7), i fixed binary(7), intellectual_cycle float binary(24), intellectual_degrees float binary(24), intellectual_indicator character(1) static initial('I'), intellectual_position float binary(24), julian_begin_date fixed decimal(5), julian_birth_date fixed decimal(5), julian_end_date fixed decimal(5), median_indicator character(1) static initial(':'), month_of_the_year (12) character(3) static initial ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'), number_of_days fixed binary(15), physical_cycle float binary(24), physical_degrees float binary(24), physical_indicator character(1) static initial('P'), physical_position float binary(24), pi float binary(24) static initial(3.1415926), subject_name character(name_length) varying, work_string character(9), zeller_day fixed binary(7); call explain(); work_string = character(begin_date); begin_month = fixed(substr(work_string,4,2)); begin_day = fixed(substr(work_string,6,2)); begin_year = fixed(substr(work_string,8,2)); work_string = character(birth_date); birth_month = fixed(substr(work_string,4,2)); birth_day = fixed(substr(work_string,6,2)); birth_year = fixed(substr(work_string,8,2)); work_string = character(end_date); end_month = fixed(substr(work_string,4,2)); end_day = fixed(substr(work_string,6,2)); end_year = fixed(substr(work_string,8,2)); put file(graph_file) edit(subject_name, ' was born on ', birth_month, '/', birth_day, '/', birth_year) (skip(2), column(10), 2a, 2(p'99', a), p'99'); put file(graph_file) edit('Graph Symbols') (skip(2), column(15), a); put file(graph_file) edit(': = Median Line') (skip, column(21), a); put file(graph_file) edit('P = Physical Cycle (23-day)') (skip, column(21), a); put file(graph_file) edit('E = Emotional/Sensitivity Cycle (28-day)') (skip, column(21), a); put file(graph_file) edit('I = Intellectual/Cognitive Cycle (33-day)') (skip, column(21), a); put file(graph_file) edit('- (Low)', '0 (Zero)', '(High) +') (skip(2), column(10), x(11), a, x(18), a, x(10), a); if begin_year = birth_year then cycle_start = days_in_year(julian_begin_date) - days_in_year(julian_birth_date); else do; if mod(birth_year, 4) = 0 then cycle_start = 366; else cycle_start = 365; cycle_start = cycle_start - days_in_year(julian_birth_date); cycle_start = cycle_start + days_in_year(julian_begin_date); cycle_start = cycle_start + days_difference(birth_year + 1, begin_year); end; physical_cycle = cycle_start; do while(physical_cycle >= 23.); physical_cycle = physical_cycle - 23.; end; emotional_cycle = cycle_start; do while(emotional_cycle >= 28.); emotional_cycle = emotional_cycle - 28.; end; intellectual_cycle = cycle_start; do while(intellectual_cycle >= 33.); intellectual_cycle = intellectual_cycle - 33.; end; first_time_flag = yes; graph_month = begin_month; graph_day = begin_day; graph_year = begin_year + 1900; zeller_day = zeller(begin_date, mmddyy_format); if mod(begin_year, 4) = 0 then days_in_a_month(2) = 29; else days_in_a_month(2) = 28; number_of_days = days_difference(begin_year, end_year - 1) + days_in_year(julian_end_date) - days_in_year(julian_begin_date) + 1; do count_1 = 1 to number_of_days by 1; do count_2 = 1 to 2 by 1; do count_3 = 1 to 51 by 1; graph(count_3) = ' '; end; graph(26) = median_indicator; graph_maximum = 26; physical_degrees = (physical_cycle / 23.) * 360.; physical_position = sin(physical_degrees * pi / 180.) * 25.; if physical_position < 0 then physical_position = physical_position - .5; if physical_position > 0 then physical_position = physical_position + .5; physical_position = trunc(physical_position); graph_position = physical_position + 26.; graph(graph_position) = physical_indicator; if graph_position > graph_maximum then graph_maximum = graph_position; emotional_degrees = (emotional_cycle / 28.) * 360.; emotional_position = sin(emotional_degrees * pi / 180.) * 25.; if emotional_position < 0 then emotional_position = emotional_position - .5; if emotional_position > 0 then emotional_position = emotional_position + .5; emotional_position = trunc(emotional_position); graph_position = emotional_position + 26.; if graph(graph_position) = ' ' | graph(graph_position) = median_indicator then graph(graph_position) = emotional_indicator; else graph(graph_position) = crossover_indicator; if graph_position > graph_maximum then graph_maximum = graph_position; intellectual_degrees = (intellectual_cycle / 33.) * 360.; intellectual_position = sin(intellectual_degrees * pi / 180.) * 25.; if intellectual_position < 0 then intellectual_position = intellectual_position - .5; if intellectual_position > 0 then intellectual_position = intellectual_position + .5; intellectual_position = trunc(intellectual_position); graph_position = intellectual_position + 26.; if graph(graph_position) = ' ' | graph(graph_position) = median_indicator then graph(graph_position) = intellectual_indicator; else graph(graph_position) = crossover_indicator; if graph_position > graph_maximum then graph_maximum = graph_position; call print_a_graph_line(); physical_cycle = physical_cycle + .5; emotional_cycle = emotional_cycle + .5; intellectual_cycle = intellectual_cycle + .5; end; zeller_day = zeller_day + 1; if zeller_day = 8 then zeller_day = 1; graph_day = graph_day + 1; if graph_day > days_in_a_month(graph_month) then do; graph_day = 1; graph_month = graph_month + 1; if graph_month > 12 then do; graph_month = 1; graph_year = graph_year + 1; if mod(graph_year, 4) = 0 then days_in_a_month(2) = 29; else days_in_a_month(2) = 28; end; end; if physical_cycle >= 23 then physical_cycle = 0; if emotional_cycle >= 28 then emotional_cycle = 0; if intellectual_cycle >= 33 then intellectual_cycle = 0; end; put file(graph_file) skip; put file(graph_file) page; return; /*********************************************************************** * * * PRINT_A_GRAPH_LINE is invoked when it is time to print one of the * * four types of lines that comprise the graph. In addition to graph * * data, a line could contain (1) a day of the week and month, (2) a * * line with a Gregorian year, (3) a day of the week only or (4) * * a line with graph data only. * * * ***********************************************************************/ print_a_graph_line: procedure; if count_2 = 1 then if first_time_flag = yes | graph_day = 1 then do; first_time_flag = no; put file(graph_file) edit(day_of_the_week(zeller_day), graph_day, month_of_the_year(graph_month), (graph(i) do i = 1 to graph_maximum)) (skip, column(10), a, x(1), p'99', x(1), a, x(1), 51a); end; else put file(graph_file) edit( day_of_the_week(zeller_day), graph_day, (graph(i) do i = 1 to graph_maximum)) (skip, column(10), a, x(1), p'99', x(5), 51a); else if graph_day = 1 then put file(graph_file) edit(graph_year, (graph(i) do i = 1 to graph_maximum)) (skip, column(10), x(1), p'9999', x(6), 51a); else put file(graph_file) edit((graph(i) do i = 1 to graph_maximum)) (skip, column(10), x(11), 51a); end print_a_graph_line; %include 'br-dd.dcl'; %include 'br-diy.dcl'; %include 'br-e.dcl'; %include 'a:zeller.dcl'; end make_the_graph; **********/ print_a_graph_line: procedure; if count_2 = 1 then if first_time_flag = yes | graph_day = 1 then do; first_time_flag = no; put file(graph_file) edit(day_of_the_week(zeller_day), graph_day, month_of_the_year(graph_month/*********************************************************************** * * * BRHYTHM -- Version 1.4 -- 05/28/83 * * * * <> <> Source File Names = BR.DCL and BR.PLI <> <> * * * * This is a PL/I version of a program from the not-too-distant past. * * Given the proper inputs, this program will generate a biorhythm * * graph (remember them?). * * * * This program is in the Public Domain. * * * * Version 1.4 -- Modified 05/28/83 -- John J. Bowden * * Split the source into individual modules to avoid * * running out of symbol space during compilation. * * Version 1.3 -- Enhanced 01/30/83 -- John J. Bowden * * Spiffed up the date prompt routine, adding stuff * * to trap non-numeric input more effectively. Also * * began using some externally compiled routines. * * Version 1.2 -- Enhanced 11/24/82 -- John J. Bowden * * Fixed up the date prompts telling the user what * * order month, day and year are expected in. * * Version 1.1 -- Enhanced 09/22/82 -- John J. Bowden * * Added a signon message, and put in code so that * * a head-of-form is done on the printer after each * * graph has been produced * * Version 1.0 -- Released 01/22/82 -- John J. Bowden * * Version 0.0 -- Created 01/02/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ brhythm: procedure options(main); %include 'br.dcl'; %replace version_date_literal by '05/28/83', version_number_literal by '1.4'; declare begin_date fixed decimal(6), birth_date fixed decimal(6), dates_within_range_flag character(1), end_date fixed decimal(6), graph_file file, julian_begin_date fixed decimal(5), julian_birth_date fixed decimal(5), julian_end_date fixed decimal(5), message character(message_length) varying, repeat_flag character(1), subject_name character(name_length) varying, sysin file, sysprint file; /* The graph_file and console (sysin & sysprint) are opened so that */ /* PL/I automatic line and page sizing is disabled. This action */ /* prevents "unexpected" CR/LF's from appearing in the I/O streams. */ open file(graph_file) print pagesize(0) title('$lst'); open file(sysin) stream linesize(0) pagesize(0) title('$con'); open file(sysprint) print linesize(0) pagesize(0) title('$con'); put edit('BRHYTHM -- Biorhythm Graphs', 'by John J. Bowden', 'Version ', version_number_literal, ', ', version_date_literal) (2(skip, a), skip(2), column(5), 4a); put skip; put edit( 'Thi progra produce graph base o th Biorhyth Theory', 'Afte bein supplie wit essentia informatio (subjec nam an', 'dat o birth an grap begin/en dates grap containin th', 'thre metaboli rhythm postulate b th theor wil b printe', 'o th CP/ Lis device.') (skip, column(10), a); put skip; repeat_flag = yes; do while(repeat_flag = yes); put edit(' For whom is this graph being prepared? ') (skip(2), column(5), a); get edit(subject_name) (a); message = ' Enter the person''s Birth Date'; birth_date = get_a_date(message); julian_birth_date = grgjul(birth_date, mmddyy_format); dates_within_range_flag = no; do while(dates_within_range_flag = no); message = ' Enter the graph Begin Date'; begin_date = get_a_date(message); julian_begin_date = grgjul(begin_date, mmddyy_format); message = ' Enter the graph End Date'; end_date = get_a_date(message); julian_end_date = grgjul(end_date, mmddyy_format); if julian_begin_date < julian_birth_date then do; put edit(control_g) (a); put edit( '*** Date Error: The Begin Date is less than the Birth ***', '*** Date. This is not allowed. ***', '*** ***', '*** Please try again. ***') (column(15), a, 3(skip, column(15), a)); put skip; end; else if julian_end_date < julian_begin_date then do; put edit(control_g) (a); put edit( '*** Date Error: The End Date is less than the Begin ***', '*** Date. This is not allowed. ***', '***  ***', '*** Please try again. ***') (column(15), a, 3(skip, column(15), a)); put skip; end; else dates_within_range_flag = yes; end; call make_the_graph(subject_name, begin_date, julian_begin_date, birth_date, julian_birth_date, end_date, julian_end_date); put edit('Again? (Y/N) ') (skip(2), a); repeat_flag = get_yes_no_response(); end; put skip; close file(graph_file); close file(sysin); close file(sysprint); %include 'br-dd.dcl'; %include 'br-diy.dcl'; %include 'br-e.dcl'; %include 'br-gad.dcl'; %include 'br-gyn.dcl'; %include 'br-mtg.dcl'; %include 'a:grgjul.dcl'; end brhythm;  else if julian_end_date < julian_begin_date then do; put edit(control_g) (a); put edit( '*** Date Error: The End Date is less than the Begin ***', '*** Date. This is not allowed. ***', '*** /*********************************************************************** * * * CCINE -- Version 1.1 -- 05/28/83 * * * * Console Character Input WITH Echo Routine * * * * This routine uses a DIOMOD routine (supplied by DRI) to read * * a single character from the console device. Printable characters * * are echoed back to the console device. * * * * Optionally, this routine will intercept a CTRL-C and perform a * * warm boot. * * * * Usage: Out = CCINE(Control_C);  * * * * Input: Control_C - "N" indicates that a CTRL-C is to be passed * * to the calling program, without any * * interpretation by CCINE * * "Y" will cause CCINE to type a "^C" on the * * console device, followed by a warm boot * * * * Output: Out - a single character which has been read from (and * * echoed to) the console device * * * * This routine is in the Public Domain. * * * * Version 1.1 -- Modified 05/28/83 -- John J. Bowden * * Added the DIO80.DCL include, which is now required * * by the CPMDIO.ASM routines for PL/I-80 Version 1.4 * * Version 1.0 -- Released 12/31/82 -- John J. Bowden * * Version 0.0 -- Created 12/31/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ ccine: procedure(control_c_enabled) returns(character(1)); %replace control_c by '^C', yes by 'Y'; declare console_character character(1), control_c_enabled character(1); console_character = rdcon(); if console_character = control_c then if control_c_enabled = yes then do; put edit('^^C') (a); call reboot(); end; return(console_character); %include 'a:diomod.dcl'; %include 'a:dio80.dcl'; end ccine;  * * Version 1.1 -- Modified 05/28/83 -- John J. Bowden * * Added the DIO80.DCL include, whi/*********************************************************************** * * * DISPRT -- Version 1.0 -- 12/31/82 * * * * Display/Print Test Routine * * * * This routine is used to test a character to determine if it can or * * cannot be displayed/printed upon an output device. * * * * Usage: if DISPRT(In) then * * true action; * * else * * false action; * *  * * Input: In - the character to be tested * * * * Output: False - the character IS NOT able to be displayed/printed * * upon an output device. * * True - the character IS able to be displayed/printed * * upon an output device. * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 12/31/82 -- John J. Bowden * * Version 0.0 -- Created 12/31/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ disprt: procedure(character_value) returns(bit(1)); %replace false by '0'b, true by '1'b; declare character_value character(1), decimal_value fixed binary(7); decimal_value = rank(character_value); if decimal_value < 32 /* control codes */ | decimal_value = 95 /* hex 5F */ | decimal_value = 96 /* hex 60 */ | decimal_value = 127 then /* DEL */ return(false); else return(true); end disprt;  * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 12/31/82 -- John J. Bowden * * Version 0.0 -- Created 12/31/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ disprt: procedure(character_value) returns(bit/*********************************************************************** * * * GRGJUL -- Version 1.1 -- 09/16/82 * * * * Gregorian to Julian Conversion Routine * * * * This routine takes a Gregorian-format date and converts it to a * * Julian-format date. * * * * Usage: JDate = GRGJUL(GDate, Format); * * * * Input: GDate - a Gregorian date, MMDDYY or YYMMDD format * * Format - 1 to accept an MMDDYY Gregorian date * * 2 to accept a YYMMDD Gregorian date  * * * * Output: JDate - a Julian date, YYDDD format * * * * This routine is in the Public Domain. * * * * Version 1.1 -- Modified 09/16/82 -- John J. Bowden * * Gave this routine the ability to accept Gregorian * * dates in MMDDYY or YYMMDD format * * Version 1.0 -- Released 03/27/82 -- John J. Bowden * * Version 0.0 -- Created 03/20/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ grgjul: procedure(gregorian_date, format_code) returns(fixed decimal(5)); declare count fixed binary(7), days (1:12) fixed decimal(3) static init(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31), format_code fixed binary(7), gregorian_date fixed decimal(6), julian_date fixed decimal(5), 1 work_gregorian_date, 2 work_gregorian_month fixed decimal(2), 2 work_gregorian_day fixed decimal(2), 2 work_gregorian_year fixed decimal(2), 1 work_julian_date, 2 work_julian_year fixed decimal(2), 2 work_julian_day fixed decimal(3), work_string character(9); /* If we aren't told we're processing a YYMMDD Gregorian date, we */ /* will hope that it's a MMDDYY Gregorian date by default */ work_string = character(gregorian_date); if format_code = 2 then do; work_gregorian_year = decimal(substr(work_string,4,2)); work_gregorian_month = decimal(substr(work_string,6,2)); work_gregorian_day = decimal(substr(work_string,8,2)); end; else do; work_gregorian_month = decimal(substr(work_string,4,2)); work_gregorian_day = decimal(substr(work_string,6,2));  work_gregorian_year = decimal(substr(work_string,8,2)); end; days(2) = 28; if work_gregorian_year ~= 0 then if mod(work_gregorian_year,4) = 0 then days(2) = 29; work_julian_year = work_gregorian_year; work_julian_day = work_gregorian_day; if work_gregorian_month ~= 1 then do count = 1 to work_gregorian_month - 1; work_julian_day = work_julian_day + days(count); end; julian_date = (work_julian_year * 1000) + work_julian_day; return(julian_date); end grgjul; 're processing a YYMMDD Gregorian date, we */ /* will hope that it's a MMDDYY Gregorian date by default */ work_string = character(gregorian_date); if format_code = 2 then do; work_gregorian_year = decimal(substr(work_string,4,2)); work_gregorian_month = decimal(substr(work_string,6,2)); work_gregorian_day = decimal(substr(work_string,8,2)); end; else do; work_gregorian_month = decimal(substr(work_string,4,2)); work_gregorian_day = decimal(substr(work_string,6,2)); /*********************************************************************** * * * UPCASE -- Version 1.0 -- 03/27/82 * * * * Upper Case Conversion Routine * * * * This routine will convert a single lower case alphabetic character * * to upper case. A non-alphabetic character will exit this routine * * unchanged. * * * * Usage: Out = UPCASE(In); * * * * Input: In - a character to be converted * *  * * Output: Out - a converted upper-case character * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 03/27/82 -- John J. Bowden * * Version 0.0 -- Created 03/27/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ upcase: procedure(character_in) returns(character(1)); declare character_in character(1), character_out character(1), decimal_value fixed binary(7); decimal_value = rank(character_in); if (decimal_value > 96) & (decimal_value < 123) then character_out = ascii(decimal_value - 32); else character_out = character_in; return(character_out); end upcase; /*********************************************************************** * * * ZELLER -- Version 1.1 -- 09/16/82 * * * * Zeller's Congruence Day of the Week Routine * * * * This is a really nifty routine known as Zeller's Congruence. The * * formula can tell you what day of the week a particular Gregorian * * date fell upon. * * * * Usage: Day = ZELLER(GDate, Format); * * * * Input: GDate - a Gregorian date * * Format - 1 to accept an MMDDYY Gregorian date  * * 2 to accept a YYMMDD Gregorian date * * * * Output: Day - a numeric value indicating the day of the week: * * * * 1 - Sunday 4 - Wednesday * * 2 - Monday 5 - Thursday * * 3 - Tuesday 6 - Friday * * 7 - Saturday * * * * This routine is in the Public Domain. * * * * Version 1.1 -- Modified 09/16/82 -- John J. Bowden * * Modified this routine to accept a Gregorian date * * in MMDDYY or YYMMDD format  * * Version 1.0 -- Released 04/10/82 -- John J. Bowden * * Version 0.0 -- Created 04/10/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ zeller: procedure(gregorian_date, format_code) returns(fixed binary(7)); declare float_day float binary(24), float_month float binary(24), float_work float binary(24), float_year float binary(24), format_code fixed binary(7), gregorian_date fixed decimal(6), work_string character(9), zeller fixed binary(7), 1 work_gregorian_date, 2 work_gregorian_month fixed decimal(2), 2 work_gregorian_day fixed decimal(2), 2 work_gregorian_year fixed decimal(2); /* If we aren't told we're processing a YYMMDD Gregorian date, we */ /* will hope that it's a MMDDYY Gregorian date by default */ work_string = character(gregorian_date); if format_code = 2 then do; work_gregorian_year = decimal(substr(work_string,4,2)); work_gregorian_month = decimal(substr(work_string,6,2)); work_gregorian_day = decimal(substr(work_string,8,2)); end; else do; work_gregorian_month = decimal(substr(work_string,4,2)); work_gregorian_day = decimal(substr(work_string,6,2)); work_gregorian_year = decimal(substr(work_string,8,2)); end; float_month = work_gregorian_month; float_day = work_gregorian_day; float_year = work_gregorian_year; if work_gregorian_month < 3 then float_work = trunc(2.6 * float_month + 25.8 + .05) + trunc((float_year - 1.) / 4.) - 1.; else float_work = trunc(2.6 * float_month - 5.4 + .05) + trunc(float_year / 4.); zeller = binary(mod((float_work + float_day + float_year - 34.), 7.) + 1.); return(zeller); end zeller; ll hope that it's a MMDDYY Gregorian date by default */ work_string = character(gregorian_date); if format_code =/*********************************************************************** * * * BRHYTHM -- Version 1.4 -- 05/28/83 * * * * <> <> Source File Names = BR.DCL and BR.PLI <> <> * * * * Contained in this file are the REPLACE preprocessor statements * * used during the compilation of the BRHYTHM modules. * * * * This program is in the Public Domain. * * * * Version 1.4 -- Modified 05/28/83 -- John J. Bowden * * Split the source into individual modules to avoid * * running out of symbol space during compilation. * * Version 1.3 -- Enhanced 01/30/83 -- John J. Bowden * * Spiffed up the date prompt routine, adding stuff * * to trap non-numeric input more effectively. Also * * began using some externally compiled routines. * * Version 1.2 -- Enhanced 11/24/82 -- John J. Bowden * * Fixed up the date prompts telling the user what * * order month, day and year are expected in. * * Version 1.1 -- Enhanced 09/22/82 -- John J. Bowden * * Added a signon message, and put in code so that * * a head-of-form is done on the printer after each * * graph has been produced * * Version 1.0 -- Released 01/22/82 -- John J. Bowden * * Version 0.0 -- Created 01/02/82 -- John J. Bowden, Chicago IL * *  * ***********************************************************************/ %replace control_h by '^H', control_g by '^G'; %replace message_length by 60, name_length by 40; %replace mmddyy_format by 1; %replace no by 'N', yes by 'Y';  Fixed up the date prompts telling the user what * * order month, day and year are expected in. * * Version 1.1 -- Enhanced 09/22/82 -- John J. Bowden * * Added a signon message, and put in code so that * * a head-of-form is done on the printer after each * * graph has been produced * * Version 1.0 -- Released 01/22/82 -- John J. Bowden * * Version 0.0 -- Created 01/02/82 -- John J. Bowden, Chicago IL * * /*********************************************************************** * * * DAYS_DIFFERENCE -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-DD.DCL and BR-DD.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * DAYS_DIFFERENCE takes two years and calculates the number of days * * between the years. * * * * Usage: Out = DAYS_DIFFERENCE(In-One, In-Two); * *  * * Input: In-One - a year value less than or equal to that of * * In-Two * * In-Two - a value for a year greater than or equal to * * that of In-One * * * * Output: Out - a count of the number of days difference between * * In-One and In-Two * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare days_difference entry(fixed binary(7), fixed binary(7)) returns(fixed binary(15));  * * In-Two - a value for a year greater than or equal to * * that of In-One * * * * Output: Out - a count of the number of days difference between * * In-One and In-Two * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * **************************************************/*********************************************************************** * * * DAYS_IN_YEAR -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-DIY.DCL and BR-DIY.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * DAYS_IN_YEAR takes a Julian date and returns the number of days * * that year contained. * * * * Usage: Out = DAYS_IN_YEAR(In); * *  * * Input: In - a date in YYDDD Julian format * * * * Output: Out - a count of the number of days in In * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare days_in_year entry(fixed decimal(5)) returns(fixed binary(15)); e: Out = DAYS_IN_YEAR(In); * * /*********************************************************************** * * * EXPLAIN -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-E.DCL and BR-E.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * EXPLAIN, when invoked, asks the user if an explanation about * * biorhythms is needed. If the answer is yes, the explanation will * * be produced on the graph_file. * * * * Usage: CALL EXPLAIN();  * * * * Output: The biorhythm explanation is printed. * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare explain entry;  the answer is yes, the explanation will * * be produced on the graph_file. * * * * Usage: CALL EXPLAIN(); /*********************************************************************** * * * GET_A_DATE -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-GAD.DCL and BR-GAD.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * GET_A_DATE types out a message on the console and then inputs * * what is supposed to be a date in month/day/year format. If what * * is given by the user isn't valid, an appropriate error message * * is issued and the user is again requested to supply a date. * *  * * Usage: Out = GET_A_DATE(In); * * * * Input: In - the message to be used for the date prompt * * * * Output: Out - a date in MMDDYY Gregorian format * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare get_a_date entry(character(message_length) varying) returns(fixed decimal(6)); /*********************************************************************** * * * GET_YES_NO_RESPONSE -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-GYN.DCL and BR-GYN.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * GET_YES_NO_RESPONSE is used to do just that. Only a "Y" or "N" * * (upper or lower case) can be input. Anything else results in * * a BELL and the offending input being erased from the screen. * * * * The question requiring the yes/no response is displayed by the * * calling routine, before it uses GET_YES_NO_RESPONSE. * * * * Usage: Out = GET_YES_NO_RESPONSE(); * * * * Output: Out - a character equal to "Y" or "N" * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare get_yes_no_response entry returns(character(1)); /*********************************************************************** * * * MAKE_THE_GRAPH -- Version 1.0 -- 05/28/83 * * * * <> <> Source File Names = BR-MTG.DCL and BR-MTG.PLI <> <> * * * * >>> Note: This routine is designed for use with BRHYTHM, a <<< * * >>> program which produces Biorhythm Graphs. <<< * * * * MAKE_THE_GRAPH (as you might guess from the name) is in charge of * * actually printing the biorhythm graph. * * * * Usage: CALL MAKE_THE_GRAPH(In-One, In-Two, In-Three, In-Four * * In-Five, In-Six, In-Seven);  * * * * Input: In-One - the name of the subject for whom the graph is * * being produced * * In-Two - the date at which the graph is to begin, in * * MMDDYY Gregorian format * * In-Three - a YYDDD julian format date at which the graph * * is to begin * * In-Four - the birth date of the subject, in MMDDYY * * Gregorian format * * In-Five - a YYDDD Julian format birth date of the * * subject * * In-Six - the date at which the graph is to end, in * * MMDDYY Gregorian format * * In-Seven - a YYDDD Julian format date at which the graph * * is to end * * * * Output: The biorhythm graph is printed * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 05/28/83 -- John J. Bowden * * Version 0.0 -- Created 05/27/83 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare make_the_graph entry(character(name_length) varying, fixed decimal(6), fixed decimal(5), fixed decimal(6), fixed decimal(5), fixed decimal(6), fixed decimal(5)); /*********************************************************************** * * * CCINE -- Version 1.1 -- 05/28/83 * * * * Console Character Input WITH Echo Routine * * * * This routine uses a DIOMOD routine (supplied by DRI) to read * * a single character from the console device. Printable characters * * are echoed back to the console device. * * * * Optionally, this routine will intercept a CTRL-C and perform a * * warm boot. * * * * Usage: Out = CCINE(Control_C);  * * * * Input: Control_C - "N" indicates that a CTRL-C is to be passed * * to the calling program, without any * * interpretation by CCINE * * "Y" will cause CCINE to type a "^C" on the * * console device, followed by a warm boot * * * * Output: Out - a single character which has been read from (and * * echoed to) the console device * * * * This routine is in the Public Domain. * * * * Version 1.1 -- Modified 05/28/83 -- John J. Bowden * * Added the DIO80.DCL include, which is now required * * by the CPMDIO.ASM routines for PL/I-80 Version 1.4 * * Version 1.0 -- Released 12/31/82 -- John J. Bowden * * Version 0.0 -- Created 12/31/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare ccine entry(character(1)) returns(character(1));  * * Output: Out - a single character which has been read from (and * * echoed to) the console device * * * * This routine is in the Public Domain. * * * * Version 1.1 -- Modified 05/28/83 -- John J. Bowden * * Added the DIO80.DCL include, whi/*********************************************************************** * * * DISPRT -- Version 1.0 -- 12/31/82 * * * * Display/Print Test Routine * * * * This routine is used to test a character to determine if it can or * * cannot be displayed/printed upon an output device. * * * * Usage: if DISPRT(In) then * * true action; * * else * * false action; * *  * * Input: In - the character to be tested * * * * Output: False - the character IS NOT able to be displayed/printed * * upon an output device. * * True - the character IS able to be displayed/printed * * upon an output device. * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 12/31/82 -- John J. Bowden * * Version 0.0 -- Created 12/31/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare disprt entry(character(1)) returns(bit(1));  * * Output: False - the character IS NOT able to be displayed/printed * * upon an output device. * * True - the character IS able to be displayed/printed * * upon an output device. * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 12/31/82 -- John J. Bowden * * Version 0.0 -- Created 12/31/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare disprt entry(character(1)) returns(bit/*********************************************************************** * * * GRGJUL -- Version 1.1 -- 09/16/82 * * * * Gregorian to Julian Conversion Routine * * * * This routine takes a Gregorian-format date and converts it to a * * Julian-format date. * * * * Usage: JDate = GRGJUL(GDate, Format); * * * * Input: GDate - a Gregorian date, MMDDYY or YYMMDD format * * Format - 1 to accept an MMDDYY Gregorian date * * 2 to accept a YYMMDD Gregorian date  * * * * Output: JDate - a Julian date, YYDDD format * * * * This routine is in the Public Domain. * * * * Version 1.1 -- Modified 09/16/82 -- John J. Bowden * * Gave this routine the ability to accept Gregorian * * dates in MMDDYY or YYMMDD format * * Version 1.0 -- Released 03/27/82 -- John J. Bowden * * Version 0.0 -- Created 03/20/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare grgjul entry(fixed decimal(6), fixed binary(7)) returns(fixed decimal(5)); /*********************************************************************** * * * UPCASE -- Version 1.0 -- 03/27/82 * * * * Upper Case Conversion Routine * * * * This routine will convert a single lower case alphabetic character * * to upper case. A non-alphabetic character will exit this routine * * unchanged. * * * * Usage: Out = UPCASE(In); * * * * Input: In - a character to be converted * *  * * Output: Out - a converted upper-case character * * * * This routine is in the Public Domain. * * * * Version 1.0 -- Released 03/27/82 -- John J. Bowden * * Version 0.0 -- Created 03/27/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare upcase entry(character(1)) returns(character(1)); ; * * * * Input: In - a character to be converted * * /*********************************************************************** * * * ZELLER -- Version 1.1 -- 09/16/82 * * * * Zeller's Congruence Day of the Week Routine * * * * This is a really nifty routine known as Zeller's Congruence. The * * formula can tell you what day of the week a particular Gregorian * * date fell upon. * * * * Usage: Day = ZELLER(GDate, Format); * * * * Input: GDate - a Gregorian date * * Format - 1 to accept an MMDDYY Gregorian date  * * 2 to accept a YYMMDD Gregorian date * * * * Output: Day - a numeric value indicating the day of the week: * * * * 1 - Sunday 4 - Wednesday * * 2 - Monday 5 - Thursday * * 3 - Tuesday 6 - Friday * * 7 - Saturday * * * * This routine is in the Public Domain. * * * * Version 1.1 -- Modified 09/16/82 -- John J. Bowden * * Modified this routine to accept a Gregorian date * * in MMDDYY or YYMMDD format  * * Version 1.0 -- Released 04/10/82 -- John J. Bowden * * Version 0.0 -- Created 04/10/82 -- John J. Bowden, Chicago IL * * * ***********************************************************************/ declare zeller entry(fixed decimal(6), fixed binary(7)) returns(fixed binary(7));  * * 7 - Saturday * * * * This routine is in the Public Domain. * * * * Version 1.1 -- Modified 09/16/82 -- John J. Bowden * * Modified this routine to accept a Gregorian date * * in MMDDYY or YYMMDD format pli b:br14 pli b:br-dd pli b:br-diy pli b:br-e pli b:br-gad pli b:br-gyn pli b:br-mtg pli b:ccine11 pli b:disprt pli b:grgjul11 pli b:upcase pli b:zeller11 xsub link b:brhythm[a,nr]=b:br14,& b:br-dd,b:br-diy,b:br-e,b:br-gad,b:br-gyn,b:br-mtg,& b:ccine11,b:disprt,b:grgjul11,b:upcase,b:zeller11,& a:cpmdio DISPRT PLIDEFGRGJUL11PLIGHIJUPCASE PLIKLZELLER11PLIMNOPBR DCLQRSBR-DD DCLTUVBR-DIY DCLWXBR-E DCLYZBR-GAD DCL[\BR-GYN DCL]^BR-MTG DCL_`aCCINE DCLbcdDISPRT DCLefgGRGJUL DCLhiUPCASE DCLjkZELLER DCLlmnBR14 $$$$ $]Tx2$(#6~+%5HA$.%a."/#!9"$ v$v$+~#G#P$+GO>#ͳ&`iGí$*$ ʢ$.&""$/@$#~+$!"k+s#r#&$$/$/"%͜*s#r#"%/!]>#ͳ&q#p!w+~F%a./~GO#^#Vz>a>0ͳ&xGxʬ%^#V#O"/yk+F(6s#r#s#r#&¡%k%ü%>¾%¼%s#rw+>a/a..%2.#6+>1ͳ&s#r>w+a.)a.>#V>Æ(&F(F('O&3%`& `& &%?A#"$"a.]&7#yͿ*.&X{&&>a*6#~ž&3&s#r>#+6#6#6#6@="#wɧø&7?'w##&4##p#.2b ** "|& } +++:~?'4'`':,X/~2,?'**s#r"*##s#r:/*}o|g"*>(G}|v'!"(!("**"*}|ڄ'"6# x…'* ">a:y|ʽ'z+ï'*yr,##~>'> ͳ&s#r w+.>2 (#w+>3ͳ&s#rw+ͳ&xDM"/(*(s#r#(! C(>2ͷ&@(ͳ&(&~#Z(#~+Z(~+x ͳ&s#rw+ɯ2(x_Oͷ&Ô(2(x_Oͳ&9w#w+xʭ(+r+s=¤(w>#w+&~7^#V((!~ѧ7.&.~7!~#fo~)7)#~+~w}D#wx#a.&G!)!9*?>a:c)2>2:o) L))K:)!uLҘ)͑M!)bM)*xʸ)ͳML)͇M!8L͇L)@]T}_|))).&">4W*/y=*/#~+)*x *xG>k+x8*>k+xG F*>k+x#~+>k+>Xͳ&s#r+&W!x*G^#V#~ì*3 < E N !3> ì*!<> ì*!W> ì*!`> ì*!i> ì*O?'yG !T+GF.*x2j+*(+#N+.*N+x +#~++k+ +yk+ (w!~#fo#~#w:j+,+6~+;+~ ;+6 H+~H+6ͤ/P+ɀ @ PPPPPP X#ʌ+̏+~̏++(w#w+*R#~6+´+&6#s#r>6###s#r#6@"R=#w:G+!<,####~#+F#N#~#fo~#fo,CH+##~>O3)6#p#6 ####yGS)+w~!_,H~͞.>a"n-:ʗ,ͤ/͔*ͤ/>Ϳ*.&v,ʪ,w-`i)9^#V!~)y~-#~#fo##A:-ͤ/x>Ŀ* ,^#V#F(ͤ/> Ϳ*,#~U,o&">2+F(ͤ/> Ϳ*"3-xGO>$ͳ&H"-s#r# (-H +V+^F(s#r# =-U,w*-w+ͤ/yOn-n-n-**}_|WҚ-\H7I Bytes Free ͞.-::g .>a~>a:-###^#V*{z-">?W*/>?W*:b *c ;2b "c **5H +V+^"&D.J.F(N.'~=w2_.~#fo&~#!y.H~aX[&#~+>>2e .>2e &|½.!T~#.~#fo..##~#~#..Ô+.„*&""> 2q"/y2/2/O&#s#r+++++~5/ }|x]/!^#Vz<̕/z̝/͚Hĕ/DM!/55/xʌ/~U,! ܕ/=w/DM͒'+r+s:/OÕ!*s#r#"#~+*++"!9"/!/"h 0W1*"!"(""h !("*2,?'"/!(~#fo_0"9##~#fo9990 111'0~YA0=f0 8: >*/ćI#r+s++0*/>ͦ0!~#fo~~Z̫9 ' ͳ& >G>G!N#F*9~#fo##^#VX!~#fo"1++~+ng##^#V~4#####~#~*9w#w#~#fo>wq#p>1>1>*d02e0&12e0~q199>1&121L1x?1:e0=e1h1q141̀22N2q142~Ҕ1¾1^#V>ʾ1>þ19ڠ1>þ1#~ʛ1ʛ1####^#VҾ1>###w~2ʐ99GB2N#^#V#~#fo (B2(1F6Fx B2~B2O!~#fo(A2"J2"L2~#F!E2w#p+6! s#r`iF~ !N#F# }25! F+N+p+q 1s#r ~ ʉ2 22^#V#~#fo7(2"2!N#F#~#fo(2"2!q#p!ðfeaga!^p!"*|/g}/o"!7at!"!"!"!"! "!"!"!"  !3at!%at!at!at!`t!"T!"V!"X!"Z!"\!"^!"`!"b!"d!"f 35 1000,5!& "  V $"di " H"ç " H H" " =========H=================================================="  " H"', " H"jo " H H H" "================H==========H================== ========H====================="  " & H H"HM " H"Ë " H H" " =========H==========H========= =======================" " H"  " H"IN " H H"Ú "======================== ====================== =========H==============" " H" % "  H"x} "* g H *" "===============================================================================" 45 750,89> " $"Í " & H" " H |V V| H"9> "====H======================= ========================= ========================"GL " H"UZ " H"é " H & | . . H" "========================== ====== ==================== ===================H===="UZ " H"é " H" " H | . . H"UZ "====H===================== ====== ================ ========================"ch " H"qv " H" " H | . . H"" "======================== ======== ============== ==================H===="qv " H" " H" " g * | * H"qv "==============================================================================="z 35Æ 900,5 " V V V $"+0 " $$$"à " g H H $$$$$ H" "==========H=== =H==============H"38 " H  H H"Ë " H & H H" " ============== ==== = ====== = ==== =====H===== H";@ " ^^^ ^^^^^ ^^^^ ^^^^ ^^^ ^^^ $"Ë " |" " | H & |"/4 " ======================H============================== ==========="Y^ " & H"à " H" " | H H H"* / " ==================H=================H===================H======="z  " H H" " H"!! "  H"r!w! "* H *"!! "==============================================================================="!! 36!! 800,5-"2" " V V"6";" ""~"" " H H | H""" "=====H=====--======H========================== ===----====H==========="## " H H |&& H"a#f# " H H ================== H"é## " H H H H"#$ " H =======---===----=================H= H H"Q$V$ " H | H H H"å$$ " H =========---& -----============H H H"$$ " H H H | H H"Q%V% " H H=========----===----================ H =============="Ù%% " H & H"%% " H | H")&.& "====---==== H | H"q&v& "| | ================---===---=================== H"&& "| === | H H g"'$' "| $ | H ===H======="p'u' "|* $$$ *| * * * *H *H"'' "==============================================================================="'' 35'' 750,7'' " $"7(<( " H V"J(O( " H"Ý(( " HHHHHHHHHHHHH .HHHHHHHHHHHHHH H g"(( " & V H ==H=========="C)H) "  H H"Ñ)) " H H . H")) "===H==============-----------============H==== H"-*2* " H H H"** " H =====H=============="** " H H H"+ + " H &..^^^.....^..^ . ^^ H==--------- H"Y+^+ " H ============================H & H H"ñ++ " H === === === H ---------=================H======",, " H H H"U,Z, " H & H & H"ç,, " ==========-------------------------=======----------=================="ð,, ""- - "^^^* ^^^^^^^^^^^^^^^^^^^^^^^^^* *^^^^^^^^^^* *^^^^^^"`-e- "==============================================================================="i-n- 37u-z- 700,6þ-- " HHHHHHHH V"-- " HHH HHH"(.-. " H () []"v.{. " H=============== ==================== H".. " H |===== \ / V =====H=========="/!/ " H \/ H"j/o/ " H | $ H"ø// " H H | H H"0 0 " H ====H======== g |&H H H"T0Y0 " H H ======================H ======"æ00 " H H &| H H"01 " H H &| H H =====H===="N1S1 "===H===& H =====================H H H"à11 " H H H H"11 " H H & H"D2I2 " ======H=== ======= H <> & H"Ü22 " H========== ===== = ============"22 " H"3$3 "* H *"w3|3 "==============================================================================="À33 32Ê33 0,633 " =========== V ."*4/4 " == _ == ."}44 " g H | [] |_| | & . H"44 "===========H | |_| | H === ===================H"#5(5 " V H ============= H====== H"v5{5 " H H & H"55 " H H | | H"6!6 " H H ^^^&&^^^ & ^ ^^^ H H | =============H"o6t6 " H======H =======================H===========H===== H"66 " H H H | H"77 " H H H | H"h7m7 " H H H | =============H"÷77 " =====------================= H | $ $"8 8 " | H | $$$ $$$"X8]8 "====------=== | H | $$$$$ $$$$$"é88 " | = | ============= ============"88 " | $ ^ &")9.9 " |^^^^^^^^^^^^^^ $ ^ ======"Á99 "* . & ^ H*^ ^ ^ ^^^^^^^^^^^^"99 "==============================================================================="9da -1:o&"!`t*"!:*!n&͵unpt*!#"!*!*z|1:}|:͓!`ʹ`! ܊!m#! m!-!t|/g}/o|/;!!`ͯo!>a͒no!>a͒no!`͒n!`ʹ`! ܊!m#! m!-!t|/g}/o|;!!`ͯo!>a͒no!>a͒no!`͒no!~`͒nͻh!o!>a͒no!>a͒no!X`͒n!N`Tg#!Mtq"&#*&t(t!-#!Mtq"&#*&t+t!-#!Mtq"&#*&t.t!-#!Mtq"&#*&t1t!-#!Mtq"&#*&t4t!-#!Mtq"&#*&t7t!-#!Mt:t#!t=t#!tp"@#!tp"B#!tq"D!-#!MtFtF!btF!MtnpFt!A=*!-#!Mtq"&*&|=*!)s#r*!͎vK`u==#bktp*!)s#r*!͎v#*&tu*!#"!*!|Q=)ڽ *!!t$s#v"P!.`Vq"!*!|>?go*N|g}o"N*!|=>* "RW>*!!t$s#v"R!"`Vq"!*!|n>?go*N|g}o"N*!|>!"Tï> *!!t$s;tYa#v"To!7͒n!puVto!Vnno!_͒no!Vnno!_͒no!Vnno!_͒no!Vnno!_͒no!Vnno!\_͒no!Vnno!*_͒no!Vnno!^͒no!>a͒no!^͒no!^nn!͒no!^nn!(͒no!>a͒no!^͒no!^͒no!|^͒no!i^͒no!W^͒n!("Y! "[[!Ykbo!O^nnF!Mtnn!C^nnF!tnno!7^nnF!tnn!*^nnF!tnn! "[[!Ykbo!^nn!("Y!"[[!Ykbo! ^nn!ð@*[#"[[!Ykbo0*!͵unn!^nn*!)^#V)ڬ@*!)ͨao!^nn*!͎vnn*!#"!*!|@)P@*|@@*[##"[[!Ykbo!]nn!ͨao!]nn!("Y! "[[!Ykbo!]nn0*͵unn!1ltQa!qsMav"]W!"[!"Y[!Ykbo!]nn!_}a*_|A*]+"]*]|ځA`A!1l]sIaAa!]tãAa!]tW*_|#A!"[!"Y[!Ykb*_͵udtd!]͙sd!]͙s|g}o|Ao!z]͒nͻhd!v]͙sd!r]͙s|g}o|oCd!n]͙sd!j]͙s|g}o|š:d!f]͙sd!b]͙s|g}o|yBd!^]͙sd!Z]͙s|g}o|`CBAo!7͒no!>a͒no!]͒no!\͒no!\͒no!>a͒no!\͒no!=\͒no![͒no![͒no!>a͒no![͒no![͒no!A[͒no![͒no!Z͒no!>a͒no!Z͒no!>a͒no!>a͒no!>a͒no!Znn!8dt! ͵u!d͸s?Cï>*Fv#"@*R"g!"i*T"!"k!d"m*P"o*"q!"s͙r!"u!w>r*w|C!"o*q##"q*q|C)C!"qßC*u*ozzC{zD*o#"o*s##"sßC*s*w}o|g"w*w"y!{>r!}>r*q$u|D;DTDbDvD*{͎vvtEav"{|D*{u"{|D*{vtEav"{|D!"{!"o!7nn*"!ÕE!#Xro!#͒n!D*!͎vQ*) s#r*#"*|D)ڬD!#q"!yE#*!tVq+"*|E*"*!"*|'E!"*!͎vQ*) *s#r*|uE*#"*)*s#r*!s#r*#"**z|E}|D*!#"!*!*z|E}|җD*u#"u!E*!) s#r*!#"!*!|E)ںE*"! F*!͎v s#rs#r*!#"!*!*z|!F}|E*"*"*"*"*""!"!"*}"!pF*!)s#r*!#"!*!*z|F}|^F!""*"*y"w!"!kbo!Znn!gͨao!Znn!iͨao!Znn!ͨao!]nn!<"!kbo!Znn!wͨao!]nnWa!vZtW**}zz)G{zG!1lu*vt!qsUav"*}"!xG*!)^#V|ʓG*!#"!*!*z|G}|^GG*)^#V*!)"hs#r^#V*~s#r*#"*!)s#r*"*}"!K!}a*͵ut*|ʰH*|HoXðH*|ʯ>! ͽsa͒no!>a͒no!>a͒no!>a͒no!>a͒no!Z͒no!>a͒n*|S)So!Y͒nÉT*w|T)To!Y͒nÉT*;|T),To!Y͒nÉT*|9T)HTo!Y͒nÉT* |UT)dTo!pY͒nÉT*|qT)ڀTo!VY͒nÉTo!/Y͒no!>a͒no!YnnW!>a͋l!dͮl!dq|¿T*"jU*|-U*"!U*)^#V"*s#r*͎v"*u*+"**zz)U{zT*)*s#r*͎vdujU*#"*|gU)QS*|/g}/o|¯>o!>a͒no!>a͒no!>a͒no!>a͒no!>a͒no!Y͒n!`ʹ`! ܊!m#! m!-V*!͎vq͵u*!)^#Vqnp"*npdt#!dp*!*!#"!*!|=V)U!!`ʹ`! ܊!m#! m!ï>*}"!üV*)h^#V*}o|¸V*)~^#V*}o|¸V*##"*"*#"**z|V}||V**}o|V**}o|V*##"*"!$"!kb!ͨao!Inn**mzz5W{z:W*k#"k*k͎vd"m*g#"g!"!kb!gͨa!G"!kb!wͨa*{"!ÏW*#"**z|W}|ҋW*"!øW*#"**z|W}|ҴW!}a*|WW!"W!"GX*"!X!_}a*_|.XͨW*#"**z|*X}|X!kbo!aqpunn*L|/g}/o|VX!"!kbo!ann!Xt!"!kba!Xto!ann!8dt!͵u!dͽs>! ͵u!d͸sX!kbo!aqpunnͻhXType RETURN to continue: YYUpdating high scores...YEnter your name: $2YYou really don't deserve this but...YYNot bad for a young LadsYAmazing! You rate!!YLooks like we have a Lad-Der hereYYeh! Now you are a Lad-Wiz!YWow! You are now a Lad-Guru!YYou are a true Lad-Master!!!: Z YAHOO! YAHOO! YAHOO! YAHOO! YAHOO! YAHOO! YAHOO!FZYOU CHEATED!!! You don't rate.hZHooka!qZouZ* yZGet ready! ZBonus time Z Score Z LevelZLads$ZType RETURN to return to main menu: ZGood luck Lad.!ZType an ESCape to pause the game./[that are left when you have finished the level.=D[statues (shown as &). You will receive the bonus time points.[Extra points are awarded for touching the gold2[A new Lad will be awarded for every 10,000 points.[bonus time runs out.<\You must find and grasp the treasure (shown as $) BEFORE the@@\typing SPACE. But beware of the falling rocks called Der rocks.>\You control Lad by typing the direction buttons and jumping by\treasures and riches.>\dark corridors never before seen by human eyes and find hidden=]You are a Lad trapped in a maze. Your mission is explore the]]la]Le]ii]Im]cq]Cu]py]P }]Exiting...]e]E]You eat quiche!]Come on, we don't have all day!]Enter one of the above: ]Play speed: ]00 ]Last Score: ^00  ^) ^High Scores ^Jump = Space -^ Right = :^ Left = F^ Down = R^Up = Z^E = Exit Ladderl^I = Instructions^C = Configure Ladder^L = Change level of difficulty ^P = Play game ^Terminal: ^Version : ^(c) 1982 Yahoo Software/^LLLLLLLL aaa aa ddd dd ddd dd eeee rr/-_LL aa aa dd dd dd dd ee rr/__LL aa aa dd dd dd dd eeeeee rr5_LL aa aa dd dd dd dd ee ee rr rr4_LL aaaa ddddd ddddd eeee rrrrrrr"`LL dd dd %`PRO SCORE1`PRO MEN ;`PRO LEVELG`J`YN`Q`LADCONF#[`Linking to configuration program...$`Ladder configuration program missing`Unable to link to LADCONF.COM `LADCONF.COM`Ladder not configured `LADDER.DAT`R` apbdqPbdbPpo-_agpbqp a -=$|VH*^.& (ag-=$|VH*^.&6a :a1.10Aa@PCzףp= #zͻh(c)1982 Yahoo Softwareaڑa{ґa w#w |ʣa=w#w^#V"b b2bog*b|a "búa>0_:ba{0a a>2b¸a*b]>0_$$"~2sc/bG#^#V!tcw#'b~2sdG#^#V!tdw#>b~2seG#^#V!tew#Ub~2sf2tf 2uf~G:tf2wfG:uf2vf:scʋb!tcG c:sfʸbʯbʦb:vfcþb:wfcþb:vffcþb:wffc:sdbG!td c:sfbbb:wfcb:vfcb:wffcb:vffc:seG!te c~fc# c_!|+c c>0Ox:cy0?cfc!|Pc AcxZcy`c>0fc>0fc_ ^ ^ ^^^^^^^^^^^^"99 "==============================================================================="9da -1:o&"!`͊*"!:*!n&9*!#"!*!*z|1:}|:!``! !#! !!|/g}/o|/;!!`!>à:!>a͆:͉:!`͏:!`<:`! H:!N:#! W:!`:!f:|/g}/o|;!w:!`}:͒:!>a͘::!>a::!`::!~`:!::!>a;;!>a;;!X`;!N`#!"&#*&(:!:#!6;9;"&#*&H;+N;!W;#!`;c;"&#*&r;.x;!́;#!͊;͍;"&#*&͜;1͢;!ͫ;#!ʹ;ͷ;"&#*&;4;!;#!;;"&#*&;7;!;#!<: <#!<=8<#!D<"@#![[[[ BASLIB #500203 5.2 - OWNED BY MICROSOFT, 1979 <ýfýfF!͒2f2f*^#V"f##^#V"f 2f!g!!""f!9h"6h6#6P>2=h>22;hʹfMgͷfMgDg_lhg!Q6C#6O#6M!\>!͖H!\> w\<ʟ!9%.g>Aw.gʲgotçg!#&\ѷ!>/ *OUT OF MEMORY* $ *!!6="P!.`="!*!|>?go*N|g}o"N*!!9"h* *Wh!6#}Wh|Wh6! h6#zjh* |ʋh> h6#s#r#=€h>2g>2h>2g2h"h!Qg"hfyFz STÖ́kûh l*h.. . ........x*h|h:h+i*h|+ik* s#r* {w#6"h*h*h>2h lFzError -!Xi~Input Past En?Bad Record Numbe@Bad File NamCToo Many FileUnprintable Erro!9N#F*~#~Ak~+Gk~#~Ak+^#V###k###k|Sk~#fo![kFz Internal Error - No Line Number Qg*~#kFz at linek͢k l>k<ڻkk¥kk<ڻk0͢kҷk}_|W!kr~#fo>Fz at address|Gp}Gp l> ͢> â!9"g*g){l|*h*hbl))܈l) )܈l ܈l ܈l"h"hK!"]bl!1l~2l#~#^#V8z++x͹ڬh:ll*h|l!lͷxxt*(h͹B![ͿBB![BB!>aBB![BB![BB!A[BB![BB!ZBC!>aC C!ZCC!>aCC!>a"C%C!>a+C.C!Z^A!dA! A!dͨ=?Cï>*#"@*R"g!"i*T"!"k!d"m*P"o*"q!"s!"u!w*w|C!"o*q##"ql}Aʐ! ~#fo"m! "ml|h*m}o|gڢ"m*m"mWy#s#r++sl͛n|olͦn|olͱn|olqn|ol͛nÙolͦnÙolͱnÙoloçol͛nLolͦnLolͱnLoloLoünün"nH~# ½nx2z:1hsoConu~ͷx<ͳo~n#nu~~n #n>2z:1hsoF#~#foxCo̳o:o1o~#%o:oxCo>"G:5hxCoʶ*6h+~ Co>,W*6h#^ oo+=oͶz{o{_o!9h"6h!"h21hp!4h~6#w~! p5pNp!li&h G~#Ep#7p++Pp0:[pâ|h}h!:hwlh^x͏p͏pxx~#~#fowp#N#fip~#N#fiwxFOpG#~#fo#~#foxwypx6 #p~h#~#fo~#fox>q>=-q#~#fowxh2w*v#V#NX!"2_qxhűjq y<2UqF~ڴqڴq#~#foyrO #~#foxʸq¨q#—qøq!Uq4 ”q2Uqxx*Uq&~xo&~h#^#V++xo&>"q!q r> r>lxlrʹz>Orlr͠|rz>Orlr|>wlr~,"lr#"~ʃrʃr# or!lh"‰r#ryxt*^#V#{ªr!!h" h" h>2!h͙rN#F#* h~=r}|rsrrͧ|r:!h̙r* hf~=!lhf~, s#" hɧs* h" h+V+^" h!lhl~ss>ss>ss>ss>ss>^#V#!ΐ>Ûs>Ûs>Ûs>Ûs>Ûs>ͦv!+>ÿs>ÿs>ÿs>ÿs>ÿs>ͦvs~#fo##7^#V#l|s^#,s7^#V#l}t^#,tD^#V#l*t^#,0tl|hBK͇tPYl|hBK xt o_[tlzhzʏt ҕt_қto _ W}xxDM7:t2#h:t2#hl͠xu~##++Wy>w+V+^+ u+r+s͡ylt~#^#Vx#*u>2#u|eu+})N#au~#fo :#uTu!9"h! h4 ~r#hl ͓u~h#~#fon&xlz¯u}^x~ڬus#âu!lhl|h!9>x^#V#lul}lu^#Vu^#,T]l.vl:v!-l|ߖ!)l\ä^#V#lfvlfvlzʀv|ʀv|}^#VNv^#V#͞vɚGNvyv#~#fo~#fov#v v yvy<.v)v)xx^#Vvwww w w"wwwwww!w|$w}'w|_!v4:w5*v"v~#N#F#zwTw r=wyx_w =w+++6@#yw#xw+++6###!v~6ڋw͠w:ww*v#~#~:w!lh!*v"v~#^#V#wwríw|wíw++~_w#~Ww#íw͠w*vDM~#^#V#Dxxw+z y+{ y##{z~#q#p_wy9xx9xDMw~#9xwYP+++"v6@###{_zW+r+sɷʓx*v|qx!lh*w^#V+"vw#s#r+++r+s##!xx*2z{z*4z?ҵx}|~# »xyG^xxw͠xWyáy*2z*4zͅyyyWy͡y###x,yFz during G.C. Qg,yFz QgFz Internal Error - String Space Corrup#N#F*vyxڜy*vyxҜy++`i+V+^ͅ!y##6+6+~6  >@++*v"vs#r+w*v#~_#~Wy!lhr+s##6"v###!v~#foyͅy<*v"v*v}o|g6@#s#r#6"v*4z*2z"v}w>#w##ͅz++6+6v*w~͢#=:zLz~͢#Lz*"*PQ*) ^#V"*|žP*Ճz*}/o|/g#"|z]çz!~wɯ2Ճzͭz*z]Ճz͍>>}|~9g#z9gvz!z>!2{# {!!{͟>>${>|}+!|ͪ{+6!>P2!|!|!~_#~W#~O.!Y|/}{ɇ<o&z]**ͭ{"`i"!^#V#N#F#!|}x{!6wg>y5{:zGw#{{{!{ՃՃ{*||<Ճ*5|{!U{ {ͻz8|o{:2:Ҳͼ{:Y|^|d||/g}/ox|!:ҁ|ͼ{">2zu{ajw| L}ͯzz>2Xz`hx|~&-|+|+ͻڶ}.\}e|E }ͻl|L|q|Q }:z$}>$}~%i}#z}!{}d$}D;}̈́}ͻͻ)~;}_{_}}?}̆zՃ!{́|Ճ ;}܄}|ͻ!{!|;}̈́}ͻ;}̴zzՃ{Q{=ՃK{.{DG""`i"#~+ʚ-q0OxGҚ#~X`xEy C>2Zzß|CÇC"`i"͟{#Wͨ:ZzG60̴{n+~0.Ĵ{Ճ>"w#6+ 6-/</ :#p#w#6!\z#zҝ:?z{,{=ͮ~Rp#6![z#:z~ W*W+kͻ-+$0•#ͻҕ++wʋXʕ6%Aʹ]{ǀu~+6%u{{Ĩ_x2n+Z?_yġ}}{_x2&y^OGOn1*z=PHzѯG{7Ĩyġ}OzWO}gu/< Z/>zҗ>zp#=Ž!͜{ʂo{>ͼ{͟{?Zͪ{/{_#zW#yO++ނ]{#͟{p#Ђ> >ZN#F#*/}o|g"p#= Zw1_cƤ~@zZrN vH Tʚ;@B''d #~: ʻ ʻ ʻ0?<=:z7-++ͻxOH+ x|H#B!lhM!.,}0?)))صo.M!TR}x0? j? ))))صoTa{ |Ճ::i{:Xz2Yz2Xz!lh!lh l}Aʐʍ!' ~ʯ ʯ#~¤`i͋Å>O #~goPY!' ůwͿ:fͅʫ=ʥ=ѯÖ<ʫ!% ^#Vr+sl}!"k}A8 PY.!%`i>Ç!' ~ĺͿߋl}Aʐ!&V! ~+ngl}Aʐ! n&*h~ʊʟDM'~̷4N#V pʫzw w+s#r#6#6DM:fֆ!" s#r#6! {zVw<<ʫ!! {w:z(͋!! ~!) IͷIÁ~#L*h~͍( ~v+~#5O ~+~ʂ͈X7>*hT]% N#F+q#p###6  Ϳ:fͅ>¸>w+w!(V7?*h' 6#67~ʨ#^#fk_N#~: ++@ʨy@ڨҨH #]~.6I7"##2Txz ʨڨ> I=> b=lH<ʟ!8H> w:H!8®H<™8*i~ʍ#N#F++x OIR*k|!"k}_A ߋ{Aœz "h#H> w66Ϳ~U<ʫj.ۏ 6:9h W::he> ۏۏ؏H&~*6?# }O!!4#4#4y"²ʫ><"i>2h!"h:h<2h*h"m!"hl"kͽ*"h|##n.*mll2o="p=l1l2o>"p>ʐ<ʐ=_!"h~#foe##{{++Q*"ḧ́""hq#p#s#4#5++###DM !$h"r~#foʽ+V+^##*k{zډBK^#V+*rs#r! DMϋ*k DMͰys#r# 6# xҋ !"hT]~#foʐxy~#~+*$h"$hs#r*k|+! s#r#w52}A! ^#V:o`*p{ʓ+s#r! w#w! ~#fo!{ΌBK>!)ң)#ä))Ҳ ұ#=™}_}la)ڮɌ#x®"! "!) "!}o|g{bk:>{ [DM**͒"PYZ}o|g*#"ی[DM**͒"PY#2z*! ~#fo{s#r:zʎ!!& ò~# x“DMʢ! w!( V6 ȍzwʢ! ~!! ^#V! s#rDM{}Aʐ`i"h!+"hXЇ!l!>hl|h,R-:hʐ*h!0g"h{^xf$%v!o*ha|}!"h>6>4>?>=>:>7>5>2>3>@>C>!lo&h!"h!l"mώ:lFz?p:׏>\2׏ߎۏ+~ۏ"+ۏ"ۏ؏!l2׏%O:׏;>\ۏ2׏yʥޏ7 ̏ ʥ _åޏ}ۏ> ۏ>‡># 6؏!l" "x<>ʰyq#ۏ "> ۏʽ "%:l؏w lâ>^ۏ@ۏ؏~ > ۏۏ#0g *6h %#~+<$=ܶ ̍̐ 64+~#hGb9gU:h~<2h*h" !"h ʔ@g**h654> ~=”*6h!9h"6h"6h> > > @g> @g* ِ G~#fo##> ~+~?~+#!+ !&))) ^#V#!T^#V#!QTw#w#w#w##~ e eɅo$ɧGw#{{zɯ_{_}}?}̆z|!{́|P ;}܄}|/}!{!|;}̈́}j};}̴zz]}{Q{=͖}K{.{Pj2:ͷ5x/F+N+=֓!!>q#p#=!"Гͼ*–:!N#Fՙ9qLG~|x 5,÷!XDj0 TeB׳]h!I.k Ͷ͍ÓͶ̈́! p!q#~++w+q®5DNn"~`35zr1{r1h!I–5yO2 –5:ʙ/<͙95:OG2!P:2x!͇V4|:j!~++w5!4#o4ʙ+6!# ‡ɯ# ”͔ҷ/!Oyw#¯G:!Vwz# ŕx¸!ؕxV!wV~w# Ͷ͍Ͷ̈́!Ͷ͍0Ͷ͙̈́!y2!~q+FqgNsY+\R W~w+qj!n]Í!w#“5ͤ}ٖͭߖٖ!F#^#V#N̛ߖ}~#ǖG++Ny=Ŗ!> p.$!6g>y|Բ>akww5&ʅ5ʍU/|a!wr̓Ô>O!~+>w5QY5:˗h×Ɓ˗!ԗQJÇQY5û|Yt&wz^Pc|u~r1 p>2!Qog] }}{(qnz ̓QÃ~#=x̀&͂\o&5:Ғ/<5gy!Ę~_#~W#~Ơ#4ʻ.͏̛G~_#~W#~Oܬo&5>OÂo&ʠ5ȯG!"ny2pFoͷ!D*:O14ʻIYg.*n:pOz2Yg.*:?x<=p{_zWxG)yOHG̛oÀ&5ՙy+F+F+Fw`h|͙gyұ:O|g}oxG-|¥} ElaOß!~Gxƀww+ɷx{!6wgz >y|ޛ{>2/))ߚ =ך!~7w?##wy7O**""ajSXUJS\E!/` _7>{_zW}o|g=V|g}oڈCZQ{ o-yOzW{_xGË*DM^#V#N#F#xy=::7|/G}/O!>` _7>{_zW}o|g=V|g}oڈDEC VT-100 (VT-52) Y <[?2lG HJ YY 2135 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ This is a game not unlike Donkey Kong. It is one of the best public domain games that I have seen. LADDER uses ASCII charictors as graphics, thus alowing it to run on most machines. Included is its configuration program, LADCONF.COM +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ To run the game, FIRST run the LADCONF.COM program to configure it to your machine. It is menu run. Just answer the questions. IMPORTANT ==> Every time you reconfigure the program, the high scores are erased. The game is pretty much self explanitory and does include built in instructions option. Have fun, THE SHADOW $ $]Tx2$(#6~+%5HA$.%a."/#!9"$ v$v$+~#G#P$+GO>#ͳ&`iGí$*$ ʢ$.&""$/!!%r $!Pv. !02f0 30FK "Adds Viewpoint","ADM 3A","CPT 8000 (CompuPak)"} "CPT 8000 (PSI)","DEC VT-52","DEC VT-100 (ANSI)"ù "DEC VT-100 (VT-52)","Eagle II","Hazeltine 1500/1520" "Heathkit/Zenith H19 (ANSI)" "Heathkit/Zenith H19 (Heath)"AF "IBM 3101","IBM Displaywriter","IBM PC","IBM Memorywriter"MR "NEC"Ê "NorthStar Advantage","Otrona Attache","Sharp YX-3200"í "Soroc IQ 120","Super Brain" "TeleVideo 912/920","TeleVideo 950"  "Toshiba","TRS-80 Model II (Cybernetics)"16 "TRS-80 Model II (Pickels & Trout)"uq "Vector Mindless","Xerox 820","Xerox 860","None of the above"!"*|/g}/o"! 32! 0*"!ø*K3 %0*#"**z|}|ҥ /.! ͪ,.!kͪ,!"*"!*K3 !-b1*2(͆.!Ͷ1!#͆.*K3 ͆.2.!͆,!͢/!(}o|g͛2͆,**K3 ! ]1.!kͪ,.**2(͆.!Ͷ1!#͆."K3 *͆.ͪ,*#"**z|}|.!kͪ,.!͆,!J2! 3!]1,'!%1!*1|g}o|:.!͆,.!͆,!2!J2! 3!]1m,'! 3!b1!%1!*1|g}o|ʧ.!͆,!͆.2.!͆,!043"*|)go**z|}|go|g}o| .!͆,*K3 2!2!2!2!2!"!"!"!2*|g)҈*S2  3 6 9 Q o *|ڕ)Һ*S2 0Ncknqy*S2 &)>ehk!2 /!2!2 /!2!2 /!2!2 /!2!2 /!2 /.!ͪ,.!Gͪ,.!ͪ,.!ͪ,.!ͪ,.!kͪ,.!p͆, /*|!2.!kͪ,.!kͪ,.!kͪ,.!0ͪ,.!ͪ,.!kͪ,.!͆, /*|L!2.!k"ͪ,.!kͪ,.!kͪ,.!ͪ,.!Eͪ,.!ͪ,.!ͪ,.!ͪ,.!>ͪ,.!ͪ,.!ͪ,.!kͪ,.!ͪ,.!kͪ,.!y͆, /0 *|¦!2.!ͪ,.!^͆, /0 *|¦!2.!ͪ,.!C͆, /0 *|¦!2.!ͪ,.!(͆, /0 *|¦!͆.!͆.!͆.2.!ͪ, *"!$2!! 3!*1!~ 3!%1|g}o*|/g}/o|g}o|ʙ !J2! 3!>1"? !a 3!/1!z 3!41|g}o| !ͬ/ 32/.!kͪ,.!kͪ,.!kͪ,.! ͪ,!qG! ͙G!+! ,!͢/ 3!͆..!G!͢/ 3!͆..!G!͢/ 3!͆..!G!͢/ 3!͆..!G!͢/ 3!͆..!G!͢/ 3!͆..!G!͆.*/͆.*/͆.* 3͆.2!.!G!.!G! 3.! G! 3.! G! 3.! G! 3.! G! 3.! G!ͱB!qG! ͙G!+! ,!ͱB.!kͪ,.!kͪ,.!kͪ,.!ͪ,w1 !%.!kͪ,.!kͪ,.!kͪ,.!ͪ,.!ͪ,,'!2!2///!2! "! "/!v2!2!h2/!Q2!"!I2!D2!>2!2/ /Q !2/ //!2!"!2!"!"!2/!2!2!"!"!"!I2!D2!>2/!2!2!2/!2!2/ /N/// //!2!2/!2/!o2!"!2!_"!_"!2/!g2/!`2!2!T2/ ///!D2!"!2!_"!_"//!2!2/!2!"!?2!"!"/// /.!ͪ,.!ͪ,.!ͪ,.!uͪ,.!Oͪ,.!ͪ,.!kͪ,.!ͪ,.!kͪ,.!ͪ,!ͣ*!* /;!2.!kͪ,.!cͪ,.!Uͪ,!ͣ*!* /;!2.!kͪ,.!ͪ,.!ͪ,.!͆, /*|k!]1]!".!kͪ,.!vͪ,.!;͆,!kͣ*!*!043".!kͪ,.!ͪ,.!;͆,!kͣ*!*!043".!kͪ,.!͆,!kͣ*!*!(͡12/! .!kͪ,*#"*|)/*"!J2! 3!]1L*"/!]1`!2!]1t!2!]1.!ͪ,/!]1.!ͪ,/%!2!͢/|¼/!͆.2!͢/|/!043"*|)!"* 3͆.2!0/"*|$/*#!12!2!͢/"!Ç*!12!0/|ʃ!͆.2*#"**z|}|S!2/,'0123456789,&Hh,NoYesnYyEnter name of terminal type: 8Enter the offset for the second coordinate in decimal or8>hexadecimal as above (assume upper left corner is 1,1): 7yEnter the offset for the first coordinate in decimal orNorder of ROW, COLUMN? (Y/N): ?Does the direct cursor addressing accept the coordinates in the<The coordinates must be in ROW, COLUMN or COLUMN, ROW order. Xaddressing:?fNext, enter the ASCII codes for the prefix of the direct cursor> .First, enter the ASCII codes for clear screen:5Separate the codes with commas and end with a RETURN.92) Enter the ASCII code in hexadecimal, preceded by '&H'.#R1) Enter the ASCII code in decimal.xmethods:?addressing. To enter the ASCII codes, use one of the following9ASCII codes for clearing the screen and for direct cursor>To define your own terminal characteristics, you must know theB27 G126,18,126,28 W27,126,68c1,12j27,42 r126,28,126,18430,1527,7627,69(27,91,63,50,104,27,62,27,117,27,71,27,92 27,91,50,74 27,60,27,62126,6126,17126,2827,60,27,91,63,50,108,27,71!27,60,27,62,27,40,66,27,91,48,109A102G59L27,91T27,91,50,74,27,91,72 k27,60,27,71 y27,72,27,7427,8912(The Ladder game program file is missing.Unable to link to LADDER.COMLADDERLinking to Ladder... LADDER.DAT RConfiguring Ladder...' +Enter button for RIGHT: FEnter button for LEFT : aEnter button for DOWN : |Enter button for UP : <The buttons to move in these directions must now be defined.'will only send a single character each.>If you wish to use your FUNCTION keys, please ensure that theyAAcharacter. Special FUNCTION keys often send multiple characters.;case characters. Each direction character MUST be a single>Lower case characters will automatically be converted to upperAThe characters must be visible and may not be CONTROL characters.>Hthe player to move in 4 directions (up, down, left and right).ALastly, the game control keys must be defined. The game requires7Do you wish to play with wise crack remarks ON? (Y/N): )remarks, the option should be turned off.=3The second option is for wise crack remarks. To suppress the*sDo you wish to play with sound ON? (Y/N): "sound option should be turned off.>the effect of the game. If the sound is not desired, then theAof interest occur, the Ladder game will sound a 'BELL' to enhance>Jit can be played. The first option is for sound. When eventsAThe Ladder game contains 2 options that must be configured before2627,61091/Enter terminal #type number followed by RETURN: #&) + 083 ***** Ladder Configuration Program V1.10 *****n,' (2<FPZdnxF}AM1"u,u6@JT^hr|?^:CL[&m0X|:DNb l v$-6?EKQZZj 3 46 \9 Q o  ~ d  0 N@ c| k n q y: v    R    &V)~>eh<kd*4>HR5\LfLpLzQZclu~X$.8 B L( V1 `: jC tL ~U ^ g p  0 Z            ( 2 <$ F- P 0 d0 n6 x? w               " , 6 @ J T ^ h r |           : Y x    & 0 :) D> NS Xh b} l v               ' 0 *3 >3 H3 R6 f6 p6 z9 9 9 B H N Q Q Q Z c l  o  o $ o . x 8 ~ B L V ` j t   ( 2 < F P Z n x      $ - 0 0 0 9 9 9" B, K6 NJ NT N^ Wh `r c c c c h k k k n n n q q q& v0 yD yN yX b l                * 4 > H \ f p z           $.8B#L&`&j&t)))2;>>>GMV\b ee(e2hFhPhZknkxpy;H" ,6@$J-T6^?hDrL|]fox&0:DNbl%v4L`t   *$48>;R;\DfSpfzt[[[[ BASLIB #500203 5.2 - OWNED BY MICROSOFT, 1979 <.%.%$ɧGwDM*"3*6##"3ð&>2%%2(%*^#V"&%##^#V")% 2+%!y%!!"",%!&"&6#6P>2&>2&>2&%%þ%(%þ%õ%_͈*ͨD%!B6C#6O#6M!\>!ͼNB!\> ͝MͩGuA\<\K!9%.+&>A͝M.'&#&ot&!#&\ѷ!>/ *OUT OF MEMORY* $=I~#=IRI0:]Iw#zII{II!zIII+~w+=I0|!9"t&**&!6#}&|&6!z&6#z&*|&> I'6#s#r#=&>2n&>2q&>2p&2s&"v&!%"&G%î67 STO),'~**&.. . ........͞5*&|3':&œ'*&|ʜ'́)* s#r* {w#6"&*t&*&>2&~*7Error -!'~<'='#~#'î'# 7&'Syntax Error in DATRETURN without GOSU Type MismatcOut of DatIllegal Function CalOverfloOut of Memor Subscript Out of Rang Division By ZerOut of String SpacString Formula Too CompleRESUME without Erro2Field Overflo3Internal Erro4Bad File Numbe5File Not Foun6Bad File Mod7File Already Ope9Disk I/O Erro:File Already Exist=Disk Ful>Input Past En?Bad Record Numbe@Bad File NamCToo Many FileUnprintable Erro!9N#F*~#~Ҳ)~+ʸ)~#~ڲ)+^#V###Ð)###Ð)|)~#fo!)7 Internal Error - No Line Number %*~#`*7 at liné)*~*>G*<,*@**G*<,*0_M@*(*}_|W!V*͘M~#fo>7 at address|_.}_.~*> _M> _M!9"l&*l&"~2*#~#^#V6++͔5vK':*͈**&|*!*t5̓5 2*&ʺM!"">>tMúGOW_5LWLgM>cJ|6JOJz< KNKNK9NʺbM!~:~M6{yI!~]NO+~+IN!\NoMóMy5LWL+6+qN:O!>ͶPnP2"P!~5#ʎN!xʳN>)ں)үN ں=¡N|G͈*}GMKJK! ~#fo"+! "+͈*|I'*+}o|g_K"+*+"+6#s#r++s͈*ͳ,Ô-͈*;,Ô-͈*,Ô-͈*͉,Ô-͈*ͳ,ñ-͈*;,ñ-͈*,ñ-͈*-ÿ-͈*ͳ,d-͈*;,d-͈*,d-͈*-d-N,N,"N,H~# ,x2<7:&‹-[- -2;t5<-~-L#,2;~- L# ->2<7:&‹-F#~#fox[--R-I-~#L=-R-Ô5[->"LG:&x[-sM*&+~<ʇ-=ʇ-###~‡-*&sM!-*&*&~=қ-/<-ͺ-=ç-Ϳ-:&> L[->,LW*&#^ --+=-sMz{.{_-!&"&!"&2&.!&~6#w~!8.M.N/.͒*i&T' G~#].#O.++h.0:s._M|I'}I'!&w͈*I'5ͧ.ͧ.͔5͔5~#~#fo͝M.#N#fi/~#N#fi͝MÔ5FO.G#~#fo#~#fox͝My/Ô56 #/!z&4!9"t&^#V#!z&~w4'!9"t&9/xI'űD/ y<2//F~ڎ/ڎ/#~#foy͘MO #~#foxʒ/‚/#q/Ò/!//4 n/2//͔5͔5*//&~͔5o&~I'#^#V++͔5o&>"/!//>/>͈*Ã5͈*ͫ0q7N>0͈*ʹ0]90͈7N>0͈*ͫ08N>͝M͈*ʹ0~,"90#"~P0P0# <0͒*I'"V0#0y̓5 2*^#V#{w0!&"{&"}&>2&f0N#F#*{&~=ʦ0}|Ҧ00Ñ0ʹ0d90:&f0*{&͌M~=͒*L'͌M~,0#"{&ɧ0*}&"{&+V+^"}&͒*R'͈*~@1>@1>@1>@1>@1>c3!+>d1>d1>d1>d1>d1>c3s1~#fo##^#V#"&!"&:&*&*nT'͈*|I'BK1PY͈*|I'BK 1 o_ï1͈*zI'z1 1_1o _ W}̓5͔5DM͈*]5C2~##++6>͝M+V+^+62+r+s^6͈* 2~#^#VÃ5 U2>2N2|2+})N#Ҍ2~#fo :N22!9"t&!z&4 ~͘M#I'͈* ;2~I'#~#fon&͔5͈*z2}5~2s#2͒*I'͈*"N>3͈*N>3͈*N>͝M2<72;~#3x̓5͈*|I'!9>̓5͈*?3!*-Q͂OR^#V#[3VGNʏ3yʏ3#~#fo~#fo˜3#ʎ3 ~3 yʘ3y<.ڢ3)ʢ3)͔5͔5p33E3C33I3q3I3k3333E333T_!3435*3"3~#N#F#744 ͘M3yx4 3+++6@#yw#xw+++6###!3~6H4]43ͧ4*3#~#~3͒*@'!*3"3~#^#V#ڤ44͘Mj4|4j4++~_w#~Ww#j4]4*3DM~#^#V#54ð4+z5+{5##{z~#q#p_ʰ4y4x4DMð4~#4ð4YP+++"36@###{_zW+r+sɷP5*3|.5͒*C'3^#V+"3w#s#r+++r+s##!W5\5*6{z*6?r5}|~# x5yG5x͝M]56^6*6*6ͫM5͗6ʽ56^6###ä557 during G.C. %57 %7 Internal Error - String Space Corrup#N#F*3yxY6*3yxY6++`i+V+^ͫM5##6+6+~6  >@++*3"3s#r+ͧ4*3#~_#~W҇6͒*O'r+s##6"3###!3~#foʫ6ͫM›6<*3"3*3}o|g6@#s#r#6"3*6*6"3}w>#w##ͫM6++6+6ɺ33X~_M#=6 7~_M# 7 (H^^___`%`t_ `i#aO $\͒@d7*N}/o|/g#"N|͕7̓Vd7!N~wɯ2N͒@7R͕7*N͕7ÃV͒@7ͳR>>:9~ͪ%#Ú7ê%37!Nø7>!NN27# ¾7!N-Q!N͟8N>>7>|}+!U95Pg8 W+6!N>vR2N!Q9U!M95P!N5P~_#~W#~OTXåT!@âTUV:8ɇ<o&͕7ÃV*N*Nj8"N`i"N!N^#V#N#F#!Q9ãUBXx{7X!N6Wwg>͟X[Xã8:<7Gw#£88ø8!N8N͒@N͒@8*N||<͒@*N8Ͳ8!@ͬ87x78,8:N2N:NoAy8:N99!9|/g}/o59!oA:N>9y8"N>2<728aj49 L}l7͒7ZA>27`h59~&ʭ@-ʌ9+ʌ9+x@s:.:eʞ9E9x@lʶ9Lʶ9qʶ9Q9:<79>9~%&:#7:!8:d9D9A:x@ͣ@x@:9_{_P:`:9C7͒@!A8>9͒@ 9A:Ì9x@!A8!89A:x@9q7Ĉ7͒@s88=͒@87DG;"N`i"N#~+W<-.<0OxGW<#~<`xEL27\<|:7<Ô<<Ҙ<?60q8+?+~0ʧ<.q8<͒@>"w#6+<6-/</ <:#p#w#6!7#zZ==>z>?{7=>k;=p#6!7#:=7~ =*=+(=x@-+$0R=#x@R=++wH==R=6%=v=@7=2;+6%28m=͖8e>=_x>>+?>?<_y^:=`:={_x=>>=>y?O>GO+?=*=7=>P=7ѯ>͖87e>y^:OzWO`:$>2>/<?U>7~.q8"=7\>ͷ<=կ͒@>:N҉>?!N͟88 n>ͻ>͒@>CO28ä>@7>Q:Ì>`:ͻ>͒@>t#28> @7>=60#>>?60#=>{O:?7@O?"=76.#60 ?#H#?6."=7#H 6,#͒@z?Ͳ8!@ͬ877"@> ?/>͵7T?>͵7p#=K?!NY8Ç?,8>y8\8h@??g8/{_#zW#yO++қ?8#\8p#ڍ?>?n@>?N#F#*N/}o|g?"Np#=??w1_cƤ~@zZrN vH Tʚ;@B''d #~: x@ x@ x@0?<=:<7ҟ@7-++x@5AOʾ@Hʾ@+@@59H#@@͒*F'M!@@}0?)))صo@M!AA}5A0? 'A? ))))صoAa{ 8͒@:N:N&8:72727͒*F'͒*F'rd c~zd#~[dzd~#fojd&>=bØd#~!eb/bØdͨbHb*"i/b_\xeDM**5Hʽd+x+¨dy¨d}7?!~ee6Rdr*i|d###~db!9ya͈*}GMKJK!' ~lB lB#~aB`iHDBB>O #~goPY!' ůw|D:-%BGhK=bK= BѯSKDC!' ~wB|D͜H͈*}GMK!&C! ~+ng͈*}GMK! n&*&~GK\JDM'~tB4N#V phCzw w+s#r#6#6DM:+%ʓC!" s#r#6C! {zVCuAwK~# D*&~ʊJ( ~3D+~#5O ~+~?DEDD7>*&T]% N#F+q#p###6 ]D|D:,%BG>uD>w+w!(D7?*&' 6#67~eK#^#fk_DN#~:D++@eKy@eKeKB #E~.DE7D#D2B%͔5z eKeK> ED> ED͈*ͨDuAB<\K!AB> ͝MͨD:B!AkKB ͝M66|D~F.͘L F:& W:&"G> ͘L͘LܕLBF~*6?# :GO!!4ZG#4ZG#4y"oGhK><"&B>2&!J"&:&<2&*&"*B!G"&͈*"(BzE*&|ʻG##n͹BêG.ʹB**B͈*G͈*2,BH"-BH͈*G͈*2,BH"-BHMK!)`I)#aI))oI nI#=VI}_}la)kK҆I#xkK"H! "H!) "H!}o|g8KڵIbk:HI8KIJDM*H*HOJ"HPYJ}o|g*H#"H˜IJDM*H*HOJ"HPYI27K*H! ~#fo8Ks#r>J:7KKJ!KJ!& oC~# xPJDM͸J_KͭJ! w!( V6 ʅJzwͶJ_KͭJ! ~!èJ! ^#V! s#rDMͥJ͟J8K}GMKJJK`i"&!J"&K͍D͒*!>T'͈*|I',K-:&MK*&!%"&{5f$%3K!,K*&KɅ|}!"&>6>4>?>=>:>7>5>2>3>@>C>͒*o&T'!"&!*"+͌K:*K7?ÝKpLK:L>\2L·KʜK͘L+K~͘LK+͘LK͘L͕L!*2LKLOʣK:LK>\͘L2LybL̛L7 ʉL bL LʝKbL̛LʝK:LʝK͘L> ͘L>KDL>#K]L6͕L!*ͭLK Kx<>mLyq#͘L K> ͘LLzL KK:*̕Lw~*_M>^͘L@͘L͕L~ ¼L> ͘L͘L#íL͡%!*& L#~+ L~=QM*&!&"&L"&> L> L> ͱ%> ͱ%*L#~ ʋM ʋMɅo$ɧGw#¡M{z/Zenith H19 (ANSI)" "Heathkit/Zeith H19 (Heath)"AF "IBM 3101","IBM Displaywriter","IBM PC","IBM Memorywriter"MR "NEC"Ê "NorthStar Advantage","Otrona Attache","Sharp YX-3200"í "Soroc IQ 120","Super Brain" "TeleVideo 912/920","TeleVide6#ҹNRNN[XON!cX!Ny#N+N[X?cXO+XͳROOͪRͿO!NR~O:N[X:N/vRQ2N:NQ[Xx/F+N+=O!NP!N>q#p#=P!N5P"MPOO*MRX:NX!NN#FU_RqrPGܤQ͢Rx [PRPQ!N~RjPj0 TeB׳]h!I.k O+XͳRùPOͪR!N5P!.!Nq#~++w+qP[XDNn"~`35zr1{r1h!IR[XyO2N3QR[X:NʿOEQ/<ͿO9[X:NO WG2N!NvR:N2Nx!NNQͭQ|Q4͢R:NQ!N~++w[X!N4#•Q4ʿP+6!NN# ­Qɯ# ºQͺQQ/!NOyw#QG:NR!NVwz# QxQX!NRQx|Q!NwX|Q~w# RO+XͳR:ROͪR!N-QO+XͳRVROͪRͿO!NQy2N!NM~q+lRqڍRNsY+‚RxR W~w+—RÐR!NÔR̓VóR+X!Nw#¹R[XR}RRSR W!NF#^#V#NWS}N~#RG++NycXNR!N+X>͟X|V>Sak+XSVS[XLXʫS[XʳSW{SVUV|7X҇S!S̘SWTͩUúS>O!N~+>w[XQY4XV[X:NShSWVƁSV U!SwTJíUQY4X[XXW|Yt&wz^Pc|u~r14X!T!.>2N!>TwTWog̓VèT }}{(qnz WBXͩUwTéUW~#+X=xͦULXͨTÂT͕VåTLX[X:N4XҸT/OèT͕VULXV[XȯGU"Ny2NFoVV!D*N:NOWUN4WoUUg.*N:NOzXUUg.*N:NeUx<=U{_zWxG)yOHGW͕VæULX7X[XUy+F+F+Fw`h|UgyU:NO|g}oxG-|U}U4WElaOU!N~GxVƀXw Ww+ɷWXBXx{7X!N6Wwg9Vz8V >͟X|X{>2N4W/))W =V!N~7w?##wy7O*N*N"N"NajSX{WXJS\E!NX/ÆX ҅X7>{_zW}o|g=|X|g}oڮXCZQáX o-yOzW{_xGñXN*NDM^#V#N#F#xycX:N:N7|/G}/O!>ÆX & This is the release date of the disk. BR-DD DCL TBR-DIY DCL WBR-E DCL YBR-GAD DCL [BR-GYN DCL ]BR-MTG DCL _ CCINE DCL b DISPRT DCL eGRGJUL DCL hUPCASE DCL jZELLER DCL l BR14 SUB oLADDER COM pADDER COM @CCINE11 .PLI 2C F2 2944 23 DISPRT .PLI 45 49 2560 20 GRGJUL11.PLI FB D1 3584 28 UPCASE .PLI E7 36 2048 16 ZELLER11.PLI 09 DA 3968 31 BR .DCL DB EE 2432 19 BR-DD .DCL A1 FC 2176 17 BR-DIY .DCL FD 16 1920 15 BR-E .DCL 93 51 1792 14 BR-GAD .DCL DE B2 2048 16 BR-GYN .DCL 62 39 2048 16 BR-MTG .DCL 07 80 3072 24 CCINE  Fog Library Disk FOG-CPM.139 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. Biorhythm & a Donkey Kong game for all machines. Filename Description -09-00 .86 This is the release date of the disk. -CPM139 .DOC This is the description of the disk contents. BRHYTHM .COM 7367 26K ver. 1.4 [Biorhythm 1 of 27] Biorhythm produces a printout of your Biorhythm. Also included along with the compiled version is the PLI source code, and some information on version 1.4 BRHYTH14.MSG 6DB7 1K ver. 1.4 [Biorhythm 2 of 27] BR-DD .PLI 084E 3K ver. 1.4 [Biorhythm 3 of 27] BR-DIY .PLI ED63 3K ver. 1.4 [Biorhythm 4 of 27] BR-E .PLI 47D4 4K ver. 1.4 [Biorhythm 5 of 27] BR-GAD .PLI E414 4K ver. 1.4 [Biorhythm 6 of 27] BR-GYN .PLI DAF4 3K ver. 1.4 [Biorhythm 7 of 27] BR-MTG .PLI 0C00 12K ver. 1.4 [Biorhythm 8 of 27] BR14 .PLI DD31 6K ver. 1.4 [Biorhythm 9 of 27] CCINE11 .PLI 2CF2 3K ver. 1.4 [Biorhythm 10 of 27] DISPRT .PLI 4549 3K ver. 1.4 [Biorhythm 11 of 27] GRGJUL11.PLI FBD1 4K ver. 1.4 [Biorhythm 12 of 27] UPCASE .PLI E736 2K ver. 1.4 [Biorhythm 13 of 27] ZELLER11.PLI 09DA 4K ver. 1.4 [Biorhythm 14 of 27] BR .DCL DBEE 3K ver. 1.4 [Biorhythm 15 of 27] BR-DD .DCL A1FC 3K ver. 1.4 [Biorhythm 16 of 27] BR-DIY .DCL FD16 2K ver. 1.4 [Biorhythm 17 of 27] BR-E .DCL 9351 2K ver. 1.4 [Biorhythm 18 of 27] BR-GAD .DCL DEB2 2K ver. 1.4 [Biorhythm 19 of 27] BR-GYN .DCL 6239 2K ver. 1.4 [Biorhythm 20 of 27] BR-MTG .DCL 0780 3K ver. 1.4 [Biorhythm 21 of 27] CCINE .DCL F7B4 3K ver. 1.4 [Biorhythm 22 of 27] DISPRT .DCL 2943 3K ver. 1.4 [Biorhythm 23 of 27] GRGJUL .DCL 106E 2K ver. 1.4 [Biorhythm 24 of 27] UPCASE .DCL EF6E 2K ver. 1.4 [Biorhythm 25 of 27] ZELLER .DCL 8ABB 3K ver. 1.4 [Biorhythm 26 of 27] BR14 .SUB B178 1K ver. 1.4 [Biorhythm 27 of 27] LADDER .COM 149E 39K [LADDER 1 of 4] Similar to Donkey Kong.. Uses ASCII characters for screen graphics. Also includes documentation, and another program to configure LADDER for your terminal. LADDER .DAT A10B 1K [LADDER 2 of 4] LADDER .DOC 0753 1K [LADDER 3 of 4] LADCONF .COM 9F8B 22K [LADDER 4 of 4] mdate SET ALTE TO &malt SET ALTE ON ? filedesc SET ALTE OFF SET ALTE TO SELE A STOR diskf-"-"-SUBST(dfile,5,3)-"&mdiskno"-".DOC" TO malt SET ALTE TO &malt SET ALTE ON DO WHILE diskno="&mdiskno".AND. .NOT. EOF() IF diskno="000" IF dfile="FOG-DOS" ? " '