' JJJJ ?\>' L-=l>  ԠéԠˠ#~?  xDIR ERA TYPESAVEREN USER!yO#< Ty#O 3ǯ21y_͸2y2ͽ:ķ˜1͘A͌>>͌92^ :˷¥.!_~#fow]ɭʎʥ!v"!çREAD ERRORçNO FILE^:˷#͘*~ "Ʒ"͌#>?͌͘ =_.:;<> Oƅo$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6"  Ň!˶2:2a{_:˷ʖ:˷>Ľʖ:=2–!B!6#5ʖ:˷Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!\X COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<į2: ::>:(y2E!|"*wɍ`JX^>EE??++ ԩ  [\ ĭ ?  JL ``LLL $Lq<`ΧԠĠڸčԠԠ͠Ԡ؍2>o:= gw8H<8H=` }Hx / hJ Leh<> > @A @A>i =<>+ LeÍڍh@(L>*// -П( ( $8` %  ZNx`. }x$50x.$50xL JJJJ`Hjf5 }h $50x`  Ȍ` Hx  -(hL(h8֩`Lx (`H݌hHhHh݌>?F؅G(jf5(  ;  R( FGj 0x j $xxH` ( Rh RL.xxH h  !"#$%&'()*+,-./0123456789:;<=>?x&& 8 , P ; ' / \ ; & ; x)*++`FGG8`0($ p,&" cI꽌ɪVɭ&Y & &Y &   꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`V0 ^ *^ *>`+*xS&x'8*3IxiU ,>J>V J>V `8'x0| &HhHh V Y V '&Y V x ꪽV ' `Hh` ! ~ 3#0 Wx x ƀ Ƃ G ~ # 3x~#B!Y~ɯ2:˷=!˾ý:˷=!˾:ý^T!~  6?#ˆ:`O> K{͘A͒>:͒͢>:͒͢xK > K > ͒x  ͢ØÆ^ BRͧ9!5‚#~Y‚#"T<ÆALL (Y/N)?^ Tʧ͘!6!~ڇ ɯw4!Y~ʆ͌†t=ʆf ^ T ɯ2o&)|+!<ͧЯ2*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄi6}2ExN! ~态O>G~G!~G} *C!r#r#r ^ͥ_y#x#{2>2T*CGͻ:ẅ́n>2;O ^DM;}H>"*C :ٷ:ddslO s#r:EϷ͊:==»y==»*Ww#*"͸*:G#š"͸:!پw4 iw:Z!E~=26 w ~>2!E5T*C!"C"C!w# F! w͌xѯ2͢*C ~<wʃG:٠!٦ʎì 4~ʶ¬:<ʶ$ʶïZͻЯx>2>2ͻ:!پZկ2:EϷẅ́͊Ͳ> *C ^OT *C~wD -'  -@ͦ~^*C Ox! N!Fwyxʋ>ڋ>*Cw~#+w#w+ɯ2E22i^ *C :ٷ~w~͔͔# # ::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | sӖ-|N-# S:2E!~Яw>T D^6k-äPYy 5*{zBK5:AϾ#~$=2Ek͌ ):BO!yoxg*:BO}!N#F "*#*s#r^ ~!J! J*:مo$*C~i6iw**{#zr+s{ozg**͕** Ѿ,w͜͸Ͳ!!N#F$**O!~#O: \зSЀ*C :ٷqn& ^#V>O^"*}:*)=":O:١o"*C *C!ͮ~2~2ͦ:٦2ͮ:ЯO:فw:w |g}o*ٯ# 2E>! ^#V w#P:BO|^#V#"##"##"##"!O*!O*|!6ʝ6>گ*w#w*w#w'û*ڷ! J*""!N#F*^#V*~#foyx*{_zW+*x: 2 p&x~+é7ͯ2 H! >w_: ! Ͼ5ͤNkͱ¦ͱxʊ#Nx: Ϸ! ϖ2 ͤ! 5™#wO~x½p Hy<< ڷʑ :!qMD# O͐  :ϷE B 2>: Ϸb# : Ϸy! 4 5~yy5 6yҐ^H@Oy H H: –ͬ  #H: ! Ͼ Hù H H $O͐: 2 *CN# ʽ̙̥̫̱"C{2!"E9"1Aϯ22!ty)K!G_^#V*Cΐ~؃E؜إث ,&-AGMSϛ!!ô!ô!Bdos Err On : $Bad Sector$Select$File R/O$:BA2!~6=qf^!~2>`~2˯2\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOADCOMf^: !˶ Â$$$ SUBÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Yʸpsp2mÆÆf ͧÆFILE EXISTS _: É: :˷ʉ=2)ͽÉ T!@k!}|qs+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:!BϾw!>2*C~=2u:B2~2wE:A*C϶w>"!""ٯ2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*٤W}_*"}o|g":ٷʑ*C6:ٷʑw:2E**E}DQ>2C0T"I !>"H>2J: !͢:d:d!s~B#1!P!J߇o~,foɷp:BB Apple ][ CP/M 56K Ver. 2.20 (C) 1980 Microsoft >>EE??++B#1!P!J߇o~,foɷp:B:޷ Apple ]~6(*} *:޽ y(3:޷s:2G<2x/a2:oa":޷zޯ2{![:޷ <2:>sɯ2>!>2!;:*     1>2>2*"?ۯ2:08 !"Y"BT"->2:8Y"/:8Y"F~!xq!;`~0,~!M;!x~1.~8[q>:޷ 2y2!!{o!:=8 ~y!3w.y2Cɯ2>!w#w#wOa."y .:g"*"!~((5:# :*޽ :޼ $| 8g,"ޯ2!"_!ޅoN!޷((+! ~O#O:x >2ޯ2:޷*(*D*:wk*(:$_"~28 ?@wx( !;!܅ony 2$8!2E!y>>?22!ɯog"$2E!.B...X&*}(8.|8&"$պ`~(,qy2E[22G: 2:O*:)!O#~#'۹~y/:02?"2O: K*:*(0**:8'(*:08* *: 8(*7!w˹#~(=5:!( +_ywɷ+ͱ*:]lc_O{- OMG!~_ :( 6>83! ~èPCfuÇKmVÉÎÓãݯ`iޓښ:ޓڦJޓڲZޓھjޓzޓߊ / !~ `66= !; !{g1:Q!;͢گ22>2!"2!"͎>2RUN COML80 COML M80 COM M80 COMLIB COM% !"#CREF80 COM$%&'COBLIB REL()*+,-./01234567COBLIB REL89:;<=>?@ABCDEFG{*DMI"[Begin execution]:ʹ:ʪ**  ʪ~`~@w+++V>GOK ~+[>q6 #=j*!J 5 2W *~O_+++y++:2{:2W *>[Aͥ ?! >G~# ~@ +^+Vͤ*  &/¿C>2oM$G@RSUXYEZ !I"Oe2H@2G:2:>`ʿxʿҿ˜" _2:ą24!~w:W ~w:2) 2*|_|W>2*!*#-** :- A** W{_*#" "":GO0ڈ iڈ)))҇}҇)o>gUy +%Overlaying areaDataProgram͸{!! ~#fo!ü   }<COBLIB RELHIJCRTDRV RELKCDAPPL MAC(LMNOPCDANSI MAC#QRSTUCDANSI RELVCRTEST COBBWXYZ[\]^_CRTEST REL#`abcdSQUARO COBefgx+#-~: {>*A > A:!o>g6 7}} ¿ j:+j#P¿22! >:¿MGO:"#"'"!"%**""** LBK** I"2G<2z6#zµAyȷ"~@(" / *|*~ ::]X G@x JX N Link-80 Vers. 3.41 Copyright (C) 1980 by Microsoft Created: 28-Dec-80 ?Command Error~A#~#  `{ +!~G#~ =IJ yy7yM7/,/# !> _!>?A~#A!j\!pö Not Found> A> A>2,2:_<2!,~,­! w#! w |!m!!*+""" "" go""2222222!&""" """!"#"!"'"%22!"?No Start Address?Loading Error?Nothing Loaded?Out of memory!ö!!!2*!/~4!e>22:2|ڿ ʨ,ʨ:O% l!yQyBKIO! s#r!! s#r!% s#r Բڝ!% s#r! ڲs#ryQ!! ~#fo!ѵ!} s#rͥ ?**  G 2͕ͤ:< x/Gy/O~w#~w :b  b |͋ >]A{: >2*"0o&'ͱ ͱ dͱ  ͱ >0G /}o|gҳ x0  > xA$MEMRY*!w#  ~@ +^+V" ! ~#fo Ґ!{_{_~ʐ! ^q#Vp!~s#_~rW}n:l#̹ I>{_!6)`i{!#¡** 6*" **"* "!y! ^#V >"""~ ~w#~wPYͺ>BKԃ~@^:C~@w+~_q+f͝:=P>Cw+p+q+r+s !oB{ %Mult. Def. Global ~@*+"PYͺ>BKů~+N+F@:z 7 | :r#s :| ͤ]z #͝:=*  |}!6S#6Y#6M[ >**  s ~O~@` +^+V > w!+~w! F > w!=_ ͛ >~g <</O " ě A"9!|̈́ }͕ ͕ G w!> w!> w!: )0A) ¹ 0A¶ | } A0:{! ~#fo?´q#p͕ͤ^q#Vp{ ͕#~@+^+VL{r#sͤ^#V{;r+s ͕~O@wy@+Ns+Fr{ ~2͕*:w+r+s+p+q+"~+V+^+F+N+*#@ DM!`iͥ ?* *ͥ A?!ͥ ?*ͥ {%%Ba>2g}|! s#r yQ !SB>/A{ ~W+++~A+I%2nd COMMON Larger /*") |2-* On > ~@w 7͝:>ʷ:=ʬ>G:=ʶ>@ww ã y : ͋ ! *͎ !  Undefined Global(s) Bytes Free 2 yhXE:;n"+*>2.* L *>ڭ+^+Vͤ" ͺ:={<2= : * PY7*#ң"#!*"* !"}2.<2 :ó** |G}~OA++++>Bw+r+s+r+s *#"!~#4-ͧ6+wxG 6ɯ2P274^ͱ4wʠ4ͱҠ4!w4#6 _2w#Ñ!¬"O<22X2PO! N#F 2:2 B##ͥ ?ͥ ?>>A{RQUEST/ ) *:~ *  ~ ~_~@s +++~#s * BK\" 9 +++9 222:go"")"+2"-<2:** ** *A A ! ~#foBK#:=:-*|d fixup offset entry, will be ignored Value Loc Entry A Entry rel. >>>>\<2=O! l! ^#Vxyڅҝy?ڤ ?ڤy!ڱ! ҽs#r^#Vڳʳ=!p#*!N#F#~#fo!^#V "ͺ!) ^#V!%!y :** @*#"!*#ڋ*O* *BK* "  I>""""'"% ڛ*#* * !*L**BK*#*!* *I*#"!* *BK* *"  ͅ ~O~>- >  >/A+^+V+~A /A?~ C !" F ͥ ~b ?+^+V>>A?:<2{>w :ȯ2{ Š ~++GOŸک H+ ¾ © y >Ç Ç * 7~ ~~ <</_~ y/O Ox_FOw#=2+w+w+w+ DXw+w+" 7Pqq#:2** DM* "* "*BK" >""#"'*"f#* |}~_!`^#V*" ü#͕ͤ~#+<6Ly[$0$A :$ [ ] @ \ ^ _ Oͺ:s:2gBK| ~_q#Vpͤb ͝:=ʄg>@w+r+s+@;Ͱ:2gr+s :=*>/o/g - ~@w:2+++~ 2q+p:O! }#Op#:.*|38}#L:=m:m͝w+p+q+p+q#gB ++s:7>“[?@2x ڡ ʴè> 6 #=x2y.x!~ 6R#6E# F#fh!^#V ^#Vy! ^#V^#V`! s#r GyxC!͈s#r#yxʛ|W}_x2*  I2yoxg*"*"*PY ":=*!"ÿ́  Ÿ́ ~#̈́ "̈́ ͛ !>:w!G̈́ * >̈́ ̈́ ͛ >w!!"N#!"N#!"N#!"N###b"##N###o"#N#!*#N#!5#N#*"9#*"7#*!";#* "?#*"=#*#"A#"m"C#"#"##,###,## V >"*#*!"#"!*" *" !W ~R#~E#~LS :H V w+H COMHEX ,<ʡ!2:ʞ ʜ *#*! ڞ !~ʫ  ~ : : *ͤ""!Ϳ!yO:Ŀ!'"9!*|! ! **  **{OzG**!DM7xw# > +x~+ Oxw+ \:7=Oʆ:7’?Intersecting ҿO* <2~g:?O:’ Ғ Ғp# $!N#`&~# $ r#sͼ%͟%{5${ƀ_5$zN$w%5$S%ͼ%͊%!%d%!%V#^ͦ$ڝ$ͮ$!ͦ$ڎ$d%s$zʠ$!%d%ͮ$S%z{7%z w#ñ$0:ww:^&!$ͼ$+ͼ$!$?Segment , file not foundc#,#!7# N#F#^#V#~#fo|} +x~+ !#xw# ,#xw# C#~#fo"q#p:#*  ~l#P͕#:2#*"2-͝6+:#w ͕z#2##:##*":#2#*r#s+:#$*R$"2#2#!`& A2!:^͸͸ yL*!*# (*3  ›* 3y* 3ó * !!!!2YWbelow!>w!*}w!|w!M!a!:9!yO9!M!a!:đ!<ʡ!سȯw!zV!z~#w!k!!,:_w{!y!O>:w!!>,A*~&xM^#Vy(G!F#~#A->(AG>)A:å Start = External Public = Xbm&an't create fileread errorDisk is full$!$ö$!$ö$S%!%ö$S%!%ö%_&_&;%_&G%%_&<)%%_&_&<2%2^&!j&ͼ$+ͼ$##2_&w# %" z7*"*"**HJKP*"!,>*BK*>* *‹ҋO** >"* *BK* >*",>4PY*"* " ÷* * BK* *aboveOrigin loader memory, move anyway(Y or N)? O c 9! cyr:v*ʟڀO Ÿy*Ÿ!# Ҧ!9;;;;;;  z"7 " ! ôAMAC":2d82:29282k82l82\92m82:2Y9!H9 w#•<2828282G9> 2i8:Q;2b8>128<28!"8+":+"8*:!!*21:2828282:-!8"8 ~#,:_807,:`88O)yVZ:_8 ?,(2:`8ċ>z:`8ԋ O)͆yHy:":GxG͹±*P9*T9M ͹##4zC<‹xx)zů2a8͒ (2a8):_80̋o:a8&&&&&&&32120(#k(|' 0''43 ( 5('43?(!(((((!'"''(0(8((@  F"  (8 [MR3_orT*8~#"8 ʵ oA 0 : 7}ɷ[ a { }ʹ ʹ 4ͯ!8"8*8| :8Z$!]9f9 Nwy#!!{9"o9!q9 q#9 ͒ C Z;Zͻ:d8…:q9VyMyDyX21:e͘ACDEMNOPQRUVX!q9~ pNO END STATEMENT ENCOUNTER!:q9 *8#ʩ :8!*8~*8#~wxGã>y yOyy)VOv̋Oy)V ʹ ,įɷËRIsTDRsTIR*UTR UTsUTDsUTIAGECHLOPR"OP UBLICUSHS$USHALARC!EPTZ&ESETR(ETsMETIsEETN IMY*LjLALCZ,LCkLCAroLDMNCNZPPEPOY.RjRARCZ0RCkRCArgRD"STR2STZBB*BIR4BCj7CFZ6ET"ET3"HLD0IMZ8LAPHLZ:RAZ2:2:͊ 7ͺ7` 7ͺ707w#7!8 ʂ rw# ‚w:8=28͊e:8ʜRIЯ28͒IbGڣ!͔A> 28LE> LE7:* !"828=2:*P9"T9:8*>$28$28 :|:8:]9=: w# !]9~ 6!]9N zʋ ^#V#^#V#~=E _9GX #: #~=… "8#~+?@:!=:w#l w#s#r  +>] <*8~*:####~7_"::^9$.?=O "8S *D:zʎ :C:O s#rw# "8]9 >wG#*8+"8*8#"8ʹ a ͒ !^9 q#+ !]96#{ 2^8aI w# yi { B ͤ a B Gy2]9x{ i ͤ a i a ʹ $.@?_//ʹ ʒ ʒ //ʮ &4::· { ʸ &ʸ { 7ͤ G!H::]9 2]9~!:ͩ  "F:^#V!=ED IN INPUT FILEï:^9.ʉ$ʑ[:`8 >2`8‹:`8<=‹<2`8ů2a8͒ (2a8)yUBR>UB#UBTTL*UI$ITLECHGR@ORRA*RITHL680807Z80%COMMENT&CREF'DEPHASE(LALL)LIST*PASS2+PHASE,PRINTX-RADIX5REQUEST.SALL/XALL0XCREF1XLISTEJECT8INCLUDE4TITLE9@O^jy7:=94B$:)[$$%%p$ &_&:*3&0|'0))& !]9~ 4#>$Nwy#*8+~# ʭ r~r#~"FF r*8+"8:8YdͿ "*z3)"8í:8ʧ̀Ϳ "8͹ :£@ʹ ͛   :8ʽ =4:8Z`Y#~! _^#V#Ǹ! ; w#w#w###w# "8####p*:M ܇6*8|>!9 ͔ASymbol table full |}:U;4:84:d84*8~@4y >>F!]9F#~Fƒ *F: G~8 #~ +~w#~w#s#r#*T9s#r~w:b8̻#é ~!~!#^#V#M *T9x{!#zOBALkvALTvLTF2FBFEFF3FNBFTaM)NQNRNC8NCLUDErNDsNDRrNIsNIR"NRNXF1F2FDEFFNDEFRPRPC1C1M2MP2NC2NZ1PQP2PE2POQR1ZQD2:DA DAXrDDsDDRrDIsDIR3*HLDOCALJXI8ACLIBACRO:@OVBVIAMErDEGOPjOPQRRARG*ALLSALL1Cj?CF1M/MA?MCMP2NC2NZOMMONOND1PQ PrPDsPDR2PE*PIrPIsPIRj/PL2POSEG1Z'AAj'AA ADBC"CR CXR ECEFB"EFLEFMEFSEFWIiISJNZSSEGWIiILSE ND NDC NDIF NDM NTRY QUQXjXXXITMXTXTERNALXTRN L}(z{%ԋ:`8ċ::`8=ċ%ԋ:>:EAk%ԋ:E2:_8ċ>ċ {:`8=ċ>@k%܋͏):`8=̯|=yWx=z; z; ; ; ; į>G͙G"/:zW  ͯ "V9"+:y2*:ͤ ʦ 2.:ʐ ʐ ʐ ʐ ʐ ͯ :.:*/:! o>g~#fo:*:O*/:įʻ y“"T9  !(!2!<C\B\y*8~GW><######F\#1W>L_xFGxGwLɯwxGw _7wxwx!$:~w#4‹;G>2%: r6 ʍ ʍ'"()+-*/;, į>>>> > > >!G :a8ʒ:`8jԋ::`8ċk2:::":::_8̋ ڂ:`8Or>yCk2":2:V:_8(>"f:`8ċ>2f:`8:_8 ċ:a8`ƝkVċ::`8ċ>2`8Oy@>*V>yK :^9X* 'ʹ 'Ý$͹ OXOR AND NOT MOD SHL SHR OR EQ NE LT LE GT GE LOW HIGHNUL TYPE :_8 :`8:^8A '̴ ɯG og2':2:2:2c82_82`89"(:*:M /͍7v|O2&:͙=y  :8:8>C29:1:E:8':q9 !84:8̿:1:E:U;E>F!q9 ~#ͳJ:8©::=rk::r:8ʩ!8~#0څͳw>’:8ʗ> ͳ!8~# ʩ ijÚ> ͳ> óO:1:yFLE>28:8> F!9$!F$*8#|+:8.*8#"8:8ċ2%܋::_8(:`8ċ>:%܋͏ċ>:%܋:_8 ċ:`8ċ>ԋOB7:_8(>ڑ{:_8̋ :`8«:ċ>24B:_8̋(:`8:a8:y  :`8k:`8k! G$0 ))))_Hé:j8c! _0 GܩO:i8=ܩ<_P" 5ll à :]92:= !: ʞ#Ö^9‘#£!} ~»2c8͒ ; ʹ &̴ ʹ  *8ʹ #ʹ # ( o2:  x# eo Ý:2=x#*8+ ;2:*8++"8 "8*Gwg:i8*o|DwB*} *|BʦDHOʓQįOʠQį ! Bʠ0ԩ)ʩ#éDÝHÝ! 0)T]))_! 0ԩ)))_kV::`8N:_8/:a8• k{:_8 D:`8ڣ񇇇@Os:`8ċ>Gk:`8:`Ɲp:_8ʴs@{ċ>:V2ċ:`8 k :>6K@{y:`8O:_8ċ>yWk:_8ĻG:d8 *H9 D y2*:ͤX#:&:X̯X͙:*:O|G:&: ʹ ,T:':T2':>õ:*:O:&:k| x͙G:*:O|_y{*T9YG! _~x´ͯůG|2#:D y2*:ͤ":*:O|þ 2*::*:G2":*8+N{*(:2&:z̯| >-F.ͩ!9$ͩé>SF~#F$PX 3|1>:ó MACRO-80 3.37 12-Oct-80 PAGE :q9 Qx*e8#"e8*g8#"g8͹:d84:s9 4!s9"o96O! ~*o9w!{9"o9 '"!*H9:Y9*Z9ѯ:G9x*R9*T9M "8"R9kA>>{:_8@7(2:`8ċ>:`8>F {%::_8ʋ ċ:`8ċ>yBO%ċ͏̋::`8ċ %::_8ʋ(ʹ:`8ċ y:`8%܋͏̋::`8̋Gxċ> k:_8ċ:_827Ϳ ͺ)#~G ģxw+P"8 ʣ:b83:c8L7S P*:wP7Ϳ Gxa2:" :ė:b8>r~8x##^#VOʀ‘#^#V"T9y y7S "8~8:_8į2_8##~2`8͏̡+~+P#~+P3#^xOB! ~2': 4::2":::4x z 2:* :#~2":*o99M Ԙ*o9:W;u)0) ^0["o9D́Élx͊x0:ڕe:8«:q9 :q9 :|;<21:21:<28-̀::=::>+29:8:q9 :s9#"H9Xͻ$*o99M Ԙ*o9:W;P`))0) 805#"o9́F:d86*H9##"H9:":G:":G*o9Š#"o9CXBXx¡xʯ6!ô6** :##~#fo6"6'##"o9xkC\B\x*H9++* :#:G9G~w#s#r#*R9s#rCXBX""###:#-#R!G#S#b#q####"zW{_"zW{_"zW{_:*:*+: |/W}/_*+::*:ĝ|/W}/_:*:O"z!)u!"#+}zW{_Å!*+::*:y͒!y³!:*:ʾ!;!yO2:."͒!:*:y!2:!yO:*:!yO͟# {_zW switches &:q9 0":p,.0> J)0 : ͺ,O085 D0ɯ5%6!*:*:!!q00M  0::‰0x 0*:5,2:*:5086ͣ/ «0*:*:*:":":": bkv0::2:0ů2: ï::U1"8~w|28)x*8ͺ)#~£~@ w#s#r#*T9s#rÃF::+:k8,!d84~=*!3:~j*!9~j*!;#3:~# ʌ* ʌ*ʌ* ʌ* p*!-:p"8ͅ$!I":͑ *"8~w#~@+~ʡ*#^#Vá**N9  *L9{l*8Ԫ͘!"8"8Ϳ!f,$!:G9G*P9"T9:d8"H9 :\92$:d8:2:̅$:2:ȯ22: ʻͅ$̀>G2G9<22:2\9*J9$ͅ$̀>22:G2G9*L9$ͅ$̀>22:G2G9*N9$:2:Ā):G9J9ʳ$o& ^#V*H9M s#r2\9*P9##Þ$:d8$:\9$*J9 2\9̀͒ "$'o%G *8++.C--{ -.{ -C-.ʹ ;9.+.M6C- %6ʹ +.M6M6 <. <.t6":%6 %6> 5%6::q.*:4.*:~ʪ.G+ʕ.~/_Æ.~ʸ.=G+~ʸ.ͣ/Ü.+<=ʵ.+í.~>.ͣ/ͣ/?*:O #*:M .":+D́É /]928 >28 28 >28 >2b8 2b8 >2j8 &2j8z‹:q9 {=ʋҋ<2i8gkà &z‹:d8{ʎ( ܋:q9 Ž({28͘-ÿ ‹:]9ګ(ͻ>!X9w:d8"8,ʗ(:8¯͒ *8+H(͒I=28*8~#"8!(͒ (‹ '‹"DM!>="))"" :*: *+::*: F"y :*:O*V9"T9*+:"z̯zB"|G|r"|"u""|/G}/O!>Ð" ҏ"7>{_zW}o|g=†"|g}oɯO_yW"z"|"|M"">OG#M "#M ?"#M W_ /IRPC/MACROUnterminated ?,!O,B,x> ͩ> ͩ:|;<> LE> LE! ,$:|;<ÔAConditionalSymbols: Macros: !9*:M /::!":":*:•,*:+<2:2:2:*:$M Ұ,":%6à,~<=,::<2:::::=2:<#~,::,::,7"::H:>7ͩ![,$!:>7ͩ&,*e8|<+.:|;<21:.21:B+!+B,!+B,*g8|w+>,F:|;<>,LE.:|;<21:.21:!+B,&,҅+*$:|ʝ+wÍ+\:U;ʴ+>F9FyFNo Fatal error(s) Warning(s):G9Gá*?,!+B,x&,REPT/IRP% %%ʹ % ͒ ,0%;0%0% "8o%yo% G R% ȸJ% i%ʹ ,$$::4y,$ͪx̀͒ "ʡ%'ċO G ʷ%xâ% %xʹ ,ʑ%xy è%̀ &ͻ$:Y;&z*H9#"H9:d8X . ;Ë+͒ 'R/"R/

{/,ʅ/ ʅ/ ʅ/;ʅ/! ʘ/w+ʹ /Ow+ʹ d/ ʝ/S/w+ʹ S//w/w+L/L//J/J/{=*8+~ʊ/Ê/!@9M Ҷ/#6 +Ͱ-&̰-:ʰ-! /4ð-!/3 ?Stack overflow, try more P ‹'‹ )‹ :d8:]9$)>^9!3:G~£w#0)p̀)͒ /‹ x)/‹ Ϳ #~£~$wͅ$+"P9>2G9!"H9$>2]9:Y9õ «)Ϳ ͺ)#~d±)~w,ʉ)͋å)wͣä)~8~w#w#w#w"8):q928Uxx 28*8"8͛ xÃͪ:#:û###M "#M 7"?":*:͟#*+:> O2*:*+:\W> O2*:*+:]W"}_"}_"}_"}_"}o{_"}?_*T9*V9M :*:_ :q9 O#> 2q9̀)ͪx 2\9xG$:G9$*P9*T9M :=2:ʹ &C-*8~ A- A- O-"8A->&2:ð-&C-::H->&52:*:~}-]9r-O+r- b-x+~r-T-::*:~ʮ-]9£-O+£- •-x+~ң-Ç-<*8 O--G~# - -C--xC-G5-&5- "8ʹ . . 'Ù&?Ù&:8 &!K "8Ù&7͒ <ċ D'ʹ &D'ʹ ,'*8+#~>T'T] K'#*8z̋:q9 x'M "8 ''' Oċ7Ϳ #~@w ~ģwy,|'9Oõ'9;͒ *8+~# ''ʼ'ü'#"8͒ (‹ '‹OͰ' )ċ >28%*H9:G9G$ͅ%:d8:q9U<2q9̀ͻ$ͪVy, &:k8=[&G2k8:l8=I&2l8:l8<28͈&2m8 ͑:m8đ:k8̑!l8ʄ&= 4=28<2m8 5z&:k8_2>W!n87~͈&m8ҥ&w!k84:8428!l84'zÙ&'z/ʙ&Ù&:d8 =Ù&:d8 Ù&7:8' & ' : O)1y11y 91y@F1::=2:::<2::::k83&::#~>Ù&!ɷp,":.O:q9 {1*:,y6+,ċʷ1 <ċw+:q9 2G1/ 2>2æ1 <2:̴ Ñ1ʹ 2::12 ;,2<1>222QAQBQCQD+ 36":,3":":5%6*:*:#s#r*:,!7S p,6+6":+/ ͒ l4;l4,ĻP4##^#V6ʉ4ʉ4ډ46+ {46+͠,*:*:!40":":2:5485`.t6ͣ/ ¾4*:*:ø0*:#2:Ñ0}_|W:Y9µ &:q9 2Y>UF7*8#{G#^#V#^#V"T9"8#~ >IF!q9"o96*o96!q9$~G#^#V2 w+1::2ͻ6+͠,xċ":&i":82'0>_1)0*:>2:ͻ/ͺ,|2 (.;.'l2"l2Ͱ-R2G- (.f2m2":5%6!*:*:*:!!20>2:":M 2::2x2*:##~#2+Ì05285`.t6ͣ/ 2*:ø0 RELCRFPRNQEQHQLQMbSPcPSWQIQR bBCbDEbHLbAFjIXDjIYdrNZqZrNCqPrPOrPE9*H94"Z9:Y9̻2Y9 !:Ns#Fr-565q#p*:^#V+*:##^#V+*:}V565":Â5*: ":*:M 6*:%::M 6*:4-5*:{_{–5s#r#>w#w65ʬ5s#rñ5":*:-5s#r{_*:{A5*:w{55":{_65zA5*:}bkü2͒ ʋOLE !3LE3> LE> LE:q9 ͒ ʋ2:Oʹ O3 @3X3'0)0!8::O~p3 #d3!ɷ͔ ‹3##^#V5#":~(wp,":. ,ʛ3w+2:7'7:":ĩz4^#V{G7}l7+V+^{Q7w#w+++G7 ~"8@w#~L8+F#~#^#V###~#FŽ77788_7{7{@8{8{_!~F!":57:#:wͩ!84:8̿7*8~@w> F>*>M>C 6}o~5{65{_65{ȯw#w*:s#r5*:-5q#p*:{h6*:":~{_-5{_{ʀ65*:*:::™6*:%40 z0 W{_*:*:4BK*:":x6+w ÿ6":6V5*8*:40 z0 W{_*:4BK*:P?Command error?File not found?Can't enter file~LE#ÔA!cAîA!rAîA!A͔AA";*+++"K;*;:V;2N;*K;D:A A2Z;2R;2X;2W;2Q;2U;2T;2Y;<2S;Aů@7~ DM:/1^+V:-+++++;#x+;y;@" { J+~+ng~w*+r+s w@f" +1+w+w+p+q+r+s+/ 7* }̊*" +1+++: ,:-Ͳ/ >@w ҴxIJ:w+ :/;@~*!@" DM+1:  p+q+r D6 #=Dy.2M;̫D;x&D3D5E'Dy/y5ELLD2R;5EO4DNWD2X;EDObD2W;EDRmD2T;EDC{D2U;2R;EDM†D2Y;EDI‘D2Q;EDZD2Q;EDP7:S;<2S;ED5E[D0DAD:DîDO!~6GD#~ DDAx+#D~D2V;E2V;:"ͤ:=!_^#VRJ:5:($W[[0[AW:[;O8*-l>w#p#}y+>‚͖wxʒ‰y:ұ0ڱOxGÙx+N#^,>. . *4 ^*44,> *xxH͔A@@H> LE!%H͔AyEDISK FULL!+H:>H@NIw#2M;.I!Iw#2J;oC2J;![;FC> 2;2;2;y,2T;EB:J;2T;oC<:U;RB =½B&C:R;B:O;B:P;2R; _E̓E͙E*K;##N;EyE>*LE A> LE:A!A"aAo>g6 #> w~# 5E 5E sE#"aA_*aA+~ #D#"aA+~7ȷ> LE> LE =!" =!|;:R;ìE &8:7>I@*6#6 #w#8xc2jzn> ڋ6 #=y.8xڢʯã"yɯ**͓ ~OA: ,,++: H2M;.I!II6 #I:M;.)Iw#)IpOH+HNI2KH2LH:LH=yIOH+HڎI!OH"MH>2LH*MH~‰I7ÎI#"MH:S;2N;G7! SS[ɩS`; ~@C@Cw# 6C #6C w#IC:M;!;~ mCw#cCͫD:7>“CxoC5EOx=y´C[A@2;ԫDx ڡC ;C5EèCTC5ET75EY7ÓCLC5ES75ET7>ÓCR75ED7R7>ÓC>!zs# x>2*"0"> 2*022 m~ (!2"!6=h!26# p#6#> w#\"!2,l 2$*"*"%"2:G : !3F#N#~ :!!y~#!~6L#~6I#~6B: :!!!2 =!|;>G = G! <>![; G:T;>C:[;KE* <|=0G#" < <w:;<^EG* ?|̃G#" ??qE?>;=ʬG!=ˆG!>èG_!Z; G G F~GG7ȷ! w#Fw;6F?:R;>C:|;<6FF> F> F>F* = =|;ͬF =|;-F:T;>C:[;6F>;G* < <[;ͬF <[;-F|}ʷFƀ)`i G> F> F> F:R;>C:|;/O ü++++:-w+:!w7_ > >:!o>g6 !~6Gʞ#~ …wx+#ʖ~Ë2\ͬ>*>O> >2> >:ʬ<2> >~>#G~>+ú~#  ` / +2ɯ2 _: c< 2c!" ! w#j w: <2_!~w:#ʾ: _<2!~*w#"*/ *'~#"':= !~# !w#!aͷ~!q ͹* >2/ !y !~#>@>>:> 7 ͹!^ *͂ ͬ!I *͂ ͹2*͓ ʚ~̃, j:A  ͂ ͺɯ2*͓ ~@Ҷļ, à:T  ͞ ͺɯ2*͓ ~@, :e  GxG; : ; "*͓ گ "*$͓ *%^#V+*{ʯ :+<2+ͨ ͨ xr ~# e * "*' "'*%^#V{ʟ r+s*͓ ʟ Ä *w#w}_|W! >?>ͬ(Out of memor! ò Command erro! ò File read erro! ò Fi#2 : ;U@L CERO7H 2:22 "JJyʈʕJ2**͓ ʬ~ĩ~/_jͷ~wßͷ~w+++r+sJ:̽~,+<2͹!ͬUnsatisfied external request(s)" yͯ@/*%<=-^#V$% :,OxF$ =+#>2x2-#"'a:,<2-2,2#:+_<2+!" *"'##"ͼ ppyʳp?**'s#r2#w#wڣ~:-=2-2,2.>@͸p#~!G#N#~>@2/͸>2/+~F$ * ~Ÿ,: w#2:$Hͼ y?=2$>@͸ɯ2$go" :"cG:-˜2"ͤڟʒʌͻͤͻ2"GO "ͻ"\c:-<Æy*%*2*͓ 7~#N#F#~ 6R#6E#6Lxģp#ģw# #N## "G:+W~++~2!+V+^+++V+^ ~,+ ,~/_~>#7 <2ͬ!v ͹<2͹! O <2͹! O Common block(s)Entry point(s)External reference(s)2)7~  ʵ 2) ͞ ͺ/ 7~ ( ͓ ~ ~ͬ´ óle not foun! ò Can't enter fil!* ò Module name/number not found in fil!U ò First module in Until clause after las! ò Library write erro>2c< >2< } ͯ  :  /C B ɯ;xG; #7;x;x! ~w#4Pv!" >2 *!""aay  a!͹͹**͓ O ~@ҳ® , ÝͬìSymbol Value Defined Reference"a"a>͸~w+1+r+s ,+++~++O#N+>O+~>O:.O<2#FA2#:.G~x:*͗ !*w#k*%"w#w**͓ ~~w/_: ,~|2*FORLIB REL!w 4#6 _ ͭ w# !( "O:!G<2!ͭ Xͭ P:d )0>) S 0>P |i }Gt x0: >PX ڇ |ą >:> '"!? ! :!O ~>/A> y > C B y :GW> !F # W> _x:)  ͺͺ  ͺͺú/ ,+V+^ : Length of Data areaLength of ProgramModule ofڐ ~ 7,+++~+ng~|}!~#4¨ ͎6+w͙ xG ± ɯ2!͙ ͭ 7ͯ 1 Gͯ   ͯ 1  ͯ !  CR"*!"!"6t``9tP*#"> ͨ6t"ͨ JG!6y yw# f P"*!|”}~» ³# ¨»7~O  Í͆ }*s#r*xyw#*s~ # !  !  ! ; "`*+++"*`:2*͠ :} ; 22222222<2 ů22͞ r:ʄ ó a:`2 2¡ :@2!u y=7͞ 7ó `  7!?u :!U !: 'o> = U :RELCRFPRN:m :< > ͨ> ͨ>ͨ*wỳy:m : >*uẁw|}ʋƀ)`i> ͨ> ͨ> ͨ:m :< *w|#"wxwy!> =#r#w#w#yw# "A:O>4G> ͨ+ͨ 72!"PX R|P>:*w#":<2*KB!~ʒ}|o|g>o|g}}}""*%T]##ó*++"ê*|}  ~GO S7 T7> R7 D7R7> > = 6 #=5 y.2 ixU b V <2y/y L72 Oh  [ҝ 0ڝ Aҙ :ҝ  O!~6G #~ ¸ ê | x+# ~þ 2 2: M >*  { > :| !} " o> : :2 _Ͷ W *##:2G7!OS[ɩM`` ~o o w# e #e  w#x :!i~ œ w#’  :7> xʞ Ox=y [A@2` x  a,  T T7 Y7 L!w>!:m : *u|=#"uvw:?<2 *y|W#"yzE {>?=ʀ!=\!>|_! ҥ ʣ<ʣ~=w4{ º> ͨ~¬ý7ȷ! @@> ! M DISK FULLP?Command error?File not found?Can't enter file 7#~#foN#F+w#wxy+͌*"*++## ~O#^#V"#^#V"#yn2͜~ͨ #eͲ*>#ͨ*|4A>22͜> è:<32Ԍ> ͨ> è: ھ͜<2> è͌  'g6 #> w~# G #" _* +~ #̠ #" +~7ȷ> > y!"w!:À w!"u!:ʱ ~ < < !"y{!?~ å  w# w? {SRDDD8Z$DIVT bDT%5=Y 2$MULTUbE$T8M=IR$SRTCXԕbE5%DMIQ1>$SRTMXԕ bE5%E5MU $SUBVT bE54DMeM$SYSOPTԑ bE55$MeM]JP55ԕP"3>daic@ ?*L#b@[s!$#/b bí T@@w  nø`ê;JMͦ ::@JP;U_ax,p889 f0m=9+{V( /TxE[Aܬ!@+àFS`q#u:ݒ7dET4).`|,pC'C@µZʵFx[H8#;+h:f ]PpYVr⳸uAWpGs x@ e7X#+:YU@",pcVGc`V6'6)8FFEXcK##XW]gZ||,L_2XY.x _W ln;6ف k b @1/6;R)>:+vKUw@j+rX{sH=-WlP؀wO I!؀w@V6 '1YȈk@ H0ĊjJ 1 H1ĊjJ0LH/ĊjJkJHjJђHĊk*hip\"1FaޠG zYThaѠ XF^Cb |eA Wfe^1UuꇀT`eGT\m[`&U U mt !1YVP>Of7Yn»A@w "P3hlP⳸+<qYwX@!'qXذü g1YVq !CvⳀ^wgYVswü nP0Cvgʜ`A\uG#*^qm+8 la5 WgŒGXa&- WP rXeT!=3sP%>@3_3 KMT MT aְ6m4eS00Z`{dٵ, pڬl*0#g$ 6~ulҪ``xuU<_U, # *?-U ¯jxuk>a0Yb²`l:>82\1V4HR)ug!eA+WgqX9LT (+jET,{s VuE.꤃+Dv'bKnzyUezI;Txu] eXcӘ cblP Vp+g!YvmP ETlYVbܭSۘ>_ %?+ ͽ`YVp`"#lQ08|ZB-#KI%ݐ@[v@QP^b*J!eSA9Q "5Db2TIDg3># AT#s&PPʃٵX): vX+αHz92ã ,~ͬ2 uB@UP¯#=PmmX {FT$2@ U!rET\| 1~,YDUP@31EB?p!`,*ɠūB2(4xx=g 3ØYD UHNb3$+3'9GVEt"#,~* VHc|aS`F#Og\<f[d +Y:0³.x#sp\eBJ񀗄ea :Y YfuTF~s?8.W#s&GPPʃWw@,n!UJ:b*3@[YWDOY VP1lT<:)è ڸN:@eQ6n8Xu#/9DnHZfݠw x (Uxb33@/ý b*Q0QQ%ɠ rL\)Ĉ(II`JH(іHĈihɑ:HĈɑP8HBĈJjJ ,Hm)HcĈ誉8H+ĉK10:Hs(ĉIJH@8Yݐ>92Vhd-%-$|udՐͬ l'1|FzGgq={BH¹'Oib+){$/sxOd`X0ˀ2y@R$A) G#Y$R)Dq@A)2IE)%@@ q\t.<K% \.G$Ks*w $uA@¦B P`0!0)aQUEg+8 bl ( Tl!Y0@CmRU(x+9B{q"+;KUw@gY+8Vzs ۘ@ʫ<U|! /gWH`fX0Ġ!'0DOεʵ2\ HXF^uE"xȍ!(TaQ=a_@ /C.Q WT#9Dg :U4^*<UuI@V+<SxFn;`VUd@0+7+6GWn´`/Uʲ ;":@ p0@#r< 0 X/UiWFeXxx *ǀOc*Á? sZ`@ W :@ձQFURFRG: 20ꖂG0UL#Xwd ʼ@CZ=aP!U0 ݒqeO`ʕ O`ʖ.p*<:@ʕnc\#r@(p@&pip @!eW F#? #Wb*PKuE"(\Pp&0STc 9R3 ?`t 5AJ2 Ԕ1 X%IQf3 S#.IM3TVc7UI=B2U#< !%1%R3U# @95R2U#0IQ ;ԒS'M IQ 2 Uԣ?MEA=NpSQU bDTEI@,~nW0g##s*"1KS`Xո[XOUH ݅]G³Vz2#̀ jʳ !PV PEgNp5d0܀U#9@g0" Fr@1":*zfL"$i1" ze<)+Fhq"!f)FlY" d*"!dUdÃ@:+uL*:vDW QGTn¨#^2::vUQE x ʏ"݅C@Gam? Ah"ݕI@GTxn¥`#^2BaSe~tO4hè,ͬB5aR`mf0&maJ5aW@U(@CHF?b*P:+@ i@Z9 9GT$@P a(ꄀ=*ay)>9 u3=eaFN $F~PC* 22uB6U iZ eH2pͿ `  Y'O? KP$CNDITDU45̀$EUROPDUd$EVAL1DtUDp$MONEYbDTEHP$PADE%5D#ͨ$SAVB0Sd5T9@:S%axF{sV)u@+7Xuc+v~ un@+ +z!Vͣ ͹`+|͹`+~R*  U ^<RC˘>2@\aW1*ҰD*0iX"YT`2Xq.X ,TuK,W 0#h@ :٠D7T D084RA* ʗU&U Tr@`-D$UD(0$CHGB0D4t#f ͤ` PS U+1<0D@Be[oUQY+U}Y!4UK@bLb**` *!4U^h"E^tUdbͮ+@YUfXDVL@Ufa$ANEDTbD$UD($CHLRD4P$EVALbDUdɰ$G#eW=# F@ @b xsUxͩ.#rWtTeXJ2{s8퀬WlHR) evGWpj2#36WV7+>2#a^ s>0`2`#pVmp=|: )VU}[xùR)E"K@q" "pjg! f" 3%jAKr¶` s%Ry[Od8,#f`#¢C@ E+w >9쫶G< P d07ap0z@0|}s,+<@ x_T(SZʦAO*?^2SʦO{*l;y[Db0=I„daH x¯h{a0#f`L +2>Ut@vUn@Db+r͠@,;î@ ڶ: v+zfܰfܰfܰr 83nٴrv3jh[x< %egX[0 BEVuoW̪ͩ@,+é ,ڔʩ #z2߀R@GVUEW«騀4@D 0 *H Db1" SQQ bDTEI@|*Z2`*D2 *@2*<2*f<RA%f 2eg[W` q( ([@ :m+`-Ux2^2 eHuCH~è"F4f'QG¡a@-[ꗂ h#60 ?T> 6o՛W@GT-eT@e~uETOP2Dh$LBрRDdX$PADbE4etH0$SVWD2bEDT U!54UI@Հ: U'FU|F~F@L7C%axu@F)fay",*`=}TPUBahD&2 ug1Sadp!$FV1"zrd)+FU1"je !&FK)"* dd ;"xUWLl+'d%I@-#4 8 ! 5B3P#+4Y23V!@8 IAQJ34Iӑ#38 9%R3H-,Q"pS RD4@tTDIxFVueXFuʪ bsb*X:#P3JeaT#+ɤGU 2389]=I$OFFSTPРbE4etHMY]$SIGN BE4M=UJ$TAITbEDT Q$TH BEDQI 6$VECTRP`bD$UD( U5@$CHCMPIT RD4( 5A $ESCP1IUS bDUdQ=B$LOLSTISՑ`BEHM!QJ$SAVB0Ќ bD4t#IMQ$RETABԕZ<F3m83m68Y#XbM 7ĈiF HĈip HaĊh*F H8PU bD5EI@(#?qT}UULTJbr`D`0a@t &#L ¦FwaҀ|@hé@FVnf+\1x%*!$#+:U F#W1U{+Ǡ;jl9BUh^ë+p? 0Wn"n#rB+ "n2g0#?9t@+nW3:@ 39Ev@U #/oFr\`70!v@%axFY7[6xUd@ȄXX@W eP @ FqB!guop /Tw *\\0XUuCW ʇx<4L2N<9  .Whq5[D44@h{4 ?W,UCYX@Ep(x@ 6P 。1le[kXv#{@hY5\ 3@ EĈ(IIHĈi[8-X" ĈJJ Q*HLi Q.V]ՅSPX3@=eSP%᱀գ 3lp*€ ²sͩ e" ڤU[`d\K&2FPc !%:2< /  5A23S#, Y23ISՑc)MY]2Օ 1Q=A=6:IP`BD4Q=A=6$OVSEGђS`bD5U%4x=Y P5jY!.݅i(84%8lڨ! 6&miapt0b8^/ # AR2BTVc!@Y22Q.@Q=B2ISՑgPRSbD4a !:P5#f7+6260Yifs u\aP͡  ?AI\U6f UDaҀʗ>*1@#un 8O` |FVVp ^nWXce\!U{+ªͪ +*eax&sU #/ 60ꎀ 䁈XX1 0偟VL +7Xue偳@ͦl*:n`C*XF^V hu8e* dBhÀNy^8 *nh* .U hɁWMV)HĈJJhPH2ȱ HĉH0H Ċhiހ H8SРbE%T4( IAQJ$CBIT BD4 =9$CNDITӑ bD4TH = $DLCOBTbDUU$ %R$FLAGSIU 2D 1 $LINUM bDU95 $NPAD2DTUtU)@:Tgʡ ~sqs>+Vd7XR)^3h20|:ge}eXF_YxFVWE{WET#?XoE"H9A^0}j2@s?*:@.`e@]eaxFuh EwF3@ f Cw!` Zö@ UY" 2n 6UQ04m[ e@t&* !6QˬU^@! (eSaՠf!)(*)F_1"j f!)F_1"r"Jf!"*F]@1"" zel"&!FU@)"* dd#'FI@!"rjg)Fl1" $gH)G@1"rhP+EM]g0eIDnQU@>-XTx$us\FU [`U'$⠀P"!AIL RTS!%A* I8U* R@Tq<-'IR$ "JF'yXR&JL%" 4T"bI0E#IDI0E#IHT"I0E#IR$R$8 )H$BU'$⠀L'Ȣy.B(R)B1T*8M(9<@T'[@4\l#eaU9C=T W@倸O+Vg0|eq]bHzsWHA6 W,A\pH6 W H1f0App §",:^nWX@ em u  8:.` l 8YUhUPEb* ~lB #X(X)z2@* Ef*@öaxF#l ~٠۔ >3n+$eL@D7` nGTzxA!pAET"3n(TxI31#9h3r 4Pt+ܬ;pFW$"p EG\"*@@H&#3%^2 UGA%YO "eM@\xFS`mIuOvIS[SP;JjH+UmC"+h:`.`#* UOC"*x*%fmaܰ5PxX@͵!*ù` *3mH{ *.UfۀXETM[`m[`IbA1,YFøaF2,".#rAʓl S`eJGTeRU6"EV~#.4 5AJ; PX1R3n IUS#-ؑY02b U# 8-e%N24 SSc- AI%9R;I#:IMQ3> U# MM5:D T#=`ؑY QJ;ԒUgPPՠbDDT49@ ~%s@d9%qx#s@ ͢ @L@@ꊀV S@P`ppme< *~sU fgDfސfmBeT0'+`ʫC =aU' F#ٷ8ý"1: qF#eU@!è ND 0ʹ1ù1_@G Pu`u@UpB" etb[68B 63j0ʁ9Yu@+h?=vCU` P` NQ 028:J #7ؑ 112:TP 5A2: IT8 9%R:Rӑ 4 =9:TS#7 ؑ UI=:2r T㥠8 = 3^ P> 53P#=1R3xIUc81 = 3c;`9 2:bTIIM; Tԕ#8M @2\#T @8UI=B; IUS# YdYHdYHxG a B1FdJV#jj ͳ3rDb3rXL `t:VuBA6H %fʼg 8\ ½ |>GUB,ۜ zY3"@16:TT9D4ûa`gD4 *: !n¤`#6ii3 F~eUP`qUA*?9 LOn3f g f[`eĶ0=bwp+s6eTrF#kf@[#98B 63j0ʁ9YW@F#,+~s<U?󻅇s\.PPAxX++ N@$sT Na\W(ٕEA1@Z,0Vs 2 ʣ"*B xX TUGTa]4s C tA !WD h!], T2~aQU?V+e[AmUaUudV~aU?VUMEb*l>t ꐈ?oh =ʶ :B *$Bh,~!TAoG[@`{nٶxͿzAv 7mb3V+sW  -2>wa6mpCmf e* ݕcA a*YU.1[x+sn6p`@ʂwL* #rn3ͼ@` ̶0:ฑ=UQ "2z ՐQ6X=YM; ͼ@ $6mpL bn0 `{`w<-#0" etۜ hPA.Qslۦ aaS'͹αVsT^l#dg!$#9"1x2\u@,ۜ j.QUٷLmpc7ؑ 9I63 7 !;2 Smâ@ Yg0HG 169]nVm?9uXUtF~*@mffrb3wѐp8F#/6heXPh\Xv4^wgqYã.(D n1a^`ۘ`ʼ,ۀ !-Mjn0? +zs;nmqlۦ PAc@/%wAwh.VpDg8"0< ʾSʐ0Ѓ" Kʪ,:B O`:CH@x$#+:#kݠ[v vn-6TE:eYpn`y\#rTr#@ 9I63 Pӕ#> AR3 P# 89R:TU8 IAQJ:\ ST c7 12:DIВU#7a !%::F 8 ! 5B:P Ќ#ฑ !w<|Qh! s^1* 4L'+4+ł8Dlki,T("\;'|>&a;U{%Y֯\S˘ʧW(ꄀ9+r82mSQThg6]hb8ꄀ9  \'w uB@T uA*8àg0 , [ j+^:.e,Q;IT㹀8Q5@;,Q";#@0Q92;Pc8 U9MQJ;P9]I%3ԒUc6`a !:pPВSbE4U4X-e%N$WRITEI bDDTUH 112$STARTPQ0pZ-KA% hH(Z- h qQ#@A I.: PT9a8A=]J3I#;I Z;XUP6IQI:3f PTIMQ:SУ8M = :. U#8MY]2RԒS8M IQ 3 IS#<MM52  U#@M!QJ;IQӣ,M2; ӓ#6 M=IR;IT"@8MQIR3~ I#7MQI9;lՕ xX(<?9k*l:>gx<sluRR2U$W*Ԁ ĀYVeg@u:UZ+aڠ>#SzU#]`~W~&]0uf  p:`H:*U ThF:@HDXdñ "J" 2 aYUh · ",+P0!k@Eb*0:) )axHmET(U nb*逃$ Nb*#fqU P¾"1>$UB` C2``: <20 T(3nH8@:``* jSp\'1!@aV'0U- * _7)|CIpB 3@YeH@TLn誖N;: 1 "[w0uH@::`L/ZR΂iчgA*&ýACK"*RRѐpʍTLeGTLnʳ@!`RX* ݕ^AD4|ï >5/RWQʁݕuY`CDUJf #& e@":*zg)Fnq" $d)#*)F`"J:te )&Fs)"zf4 )+FM" f* #n"rdP!dDT4 @D";P% 0 h Z -KB% hLZ*-KF% Ѡ hpZ:-KH%  iZJ-&KJ% Ұ ih[ͽ 8M-f$CRPOSTeRy IQIXb ` h8 Z- KC% hXZ0-KG% iZH-%xiiX*bZnI'$I@N*H"I @I' AZ (@R" %*eA#àNʮ@aeHR@@Nʰ*h9p("`x gԦ>27C92CFʩ`n :ٷ;>({T,uA@4D#u 2 TLeG@Q hꉀ%TL^wQ |+eZ1:@ ql"PuH@쫞͸+火TCA@͸B5B"+QXX灈h! /ZOG*H>c6=S0UTa0mf 8UPz2,:~:+vUj8XꪀFUOGTnʰ,;@/*c ZGTH 'l$#+:6| .l@mvUW@EcwaِUa۠U?? +>=8  wZkO 퀏;w8uZV+>2G+ _Ƕ /  :DU-rOª&+Q0dõª+PXȎUxUJ$Kk4hP0*k@:ݕA4h*`Q0XN; !@ c H xʋ ʂ eSqeF`*@eW122 0^4phïc*eWPqʊ+#dFT UC@'u*قh͇lGT| a^Q "*&ýB>5/VWʂ4 | K T^2`P2eH@TxuH@* :q(PeC ͺ`ۊ HiXlyTpf0(h;x0ꐀ-TdCG:2 !`X*; uJT4| Pxʐ_VXtʁ0ͼ i@чBTLeG@>2 +@** 8sTF#fquop8hh0;+* fpq  5xD0 TUAb??+!E{4GT`eF0K@GTeRU uxdP J =9 * 02ͽ VmQPx\kP0!X@Dcg*;\F̀Vx3C9 V|ZT(`4@ pP ʪda8F"͵*,:@gʅ9 ͠ : :@` ʅ H>T(@aQ@`0 <0\PБ)WUEPm }TpYN,2pEb*8÷.U=O n`C TXueLUV" ۘ°"?il uHH>9O YU&~sUuAfUD !ȊLe@V: v`0P -&UjW#^;*:2QRPR`RpeG@T nʪ`:5? eH@eG::*:*,:*: vU0fـrX:0>tk `Kt@C+4#+xd(=  [ 0'eͼ , }U&Qfp!+[V x@Y0eV! e_XuuIETx,;T Y&U<y;v:@CѕdH" rle !"$FP"zrt""N)"* db*Pp0}Y0w)>[(8eE[**uHd>;`[8eE*F ݇Q@TnʽC22@ 2 @UK@#&G+/ݕv@m`HxýJ*5BCH0ʪ!P ʭa02~sT 2 T2 u F#?9 f`0!`Dcg+;ix*:2`"`" 2v*`d#+:7<p \*(ꌀ;#*2!Q@4 #CT f0ʾ"H4T *s T2wa݀ "/lwa݀![`zs T26`-;!`ٕg@(*@ ۄ:@p\'0Au@d*,͸A#DQ(9GT aY!eHT* 60hܣ6ETfЦrXvh 2@ *1a01U?ٷ$UCQm pw#?ۄ*UfЦpP¥b8#QU Q@U0xb+  $UN1;pY"~"`[ f@P8Tnáǀ5\p 8Z,a[p6(o5; ۀ HLf!+G@1"JrBvt$$Gn@1"JrZ*v<'!Gf)"zTbE$H=A9AJP5[d\2OkP劷~S eRYPE@v)aSСfЀhõ!O  6@KªL*QU_u;6Df D&ûAGd ~ +*VfГʫ`*0P;6_ÆUYUl*UfЦ%8TH|f Uu64@(ʹ "` sUlGBOK*P8 Q+UG 2#u2uۄPm eYQ#'Vm h0(9X"pohSj킂6)<|f QpET* ڻ`qVʽb>@D Xv|4"PHz|b[ z,R <\UR82 +* ۄۄ* $G@BÌ" 23~2@ 0,cW@1" e' &Vq"bJd.!&FA"b*tt!('B"J$d+!!%T"z4e$+!'GA'ۄ>~3nK UD)hAUfЦ D&ٷ)i XfcFwY(|f  *B*UfЦa_iA6 EJTP* ڷ l:>m(0܁XUG)DBGVmЀQ+t,J !*VfqU)t¦A!oSj :ͰA,HHohSJxꑀ0`݇M,nQX8DTPUCl:*2xED϶m P0AbTEG!РaY1b0!k@6mې1+tJ !*VfГpʱ@K*L* : vUPX3ohS*􁊨8|f "'ۄ*1YCBDT: vU|Q@X3oh62`X,6ûeluHLʲ P0 E-+eQpFT@Fwf`5eADeS66`:T8ht\0UCnQUrhc366a{BUx0 \:hcZ±Q sV1QC xòm nv-] dٷ)ʶ0l$aI sWhhX%+P6#K%B) 6@p #XXd|bh[¤lHX1ٷ,(Mpެڪ!o%Q%rk$F#SPpGT(P1]ٴ|0aU^ UeHDZT(@a_бUu`4YW(,ͽM+N#a@ s V-evTeBUPX3mcڅPʲ¶m eYPb-*FO?%pGT(̀eXaU ue* u660lMPm iQ`a0bduHLʰ P1YTP* ҬQ s &] h0@QpGpp\"*(ͷ@a:T@6fЦՁ 3oSJL: *1 s &ۄ>|nH9X`:D4#S1""Jv3")& Yq"* ,t"Z1"*zd6" Fmq"2bJf|#'FGñ"JrBdx'$%d1"bzbtT/&""~q"zDg7()$*GB"zde7)+Fi±"*d/)#*)G~"ze/)+FaBq"bJӔSbD4(=UQ "$STOPSV`RDI@SꏆInDg;*U,$K@. I f pX<8a֐"eW%zP@K6́H8!̫:̫: baY0kV%:782A!~[L:#0Kʺ!/*脿*.=O,:``yG¦ W% m_P}Gh*U_ fЦ QaڐKT SJ UEX3ohS*1HݛoTP* ҩ6THU@TxuBFUp$YCmAT>dm(0XuB@pETHwUC)n@TN§@DO?$|efPa RHꅀ9 :@`#*pEDT*@ ʼ@N?Y$uH 6J !1PPY>W|{N` ]xeayzsu >)W0e_ {T(>}3nKDuB, p{ʣ*@:@dʅP¥0Mæ!7[68T(@eT5aր0#SP s Uh4CH|f sU4U@9L*aܐU qGT(aY 8F=Y%@m aY׋䆸ܬ;VPeBw+eZpwuT@FeZcV¶9^0>nKĞ>3nHf T, uH@+B *@ۄ*UfС"'(CUG)qBweR!S0ꂀ)U!aR sU UDb(ͽM+B ͸A"4Pm eSЁ W UCb$ͽL:`q$¶`a[`p`#*9D4qmx?9, pmZ% Pm h b=WͿALUkr0|"@PJNymS p é vU:@0x؀'q `FaQ7 "2F?9 zs D@?9r8V+=eXp3Ә`ʰo*ÁZ(h# XU,"3khQ0[XL ꋀ1DuyFaVбUA@b(#`#83#Dguz@Jx"` dEC'sU iT0Z'38$Bb3ʋ3nqPY$"O}/2~(FPI:Drv£@3tʨêaS@fxFVQm FU\* 1UD@D[6Y""D lY23Hf8 hO**1Z" hO *1Z6ȇZ,6ȇ-!r.O r9>_'ջ̓9 @ 06ecͅxAeX&rb2pxXh3Uͻۄh1Vsƌ+ #+WX"` KfKf n%x <,XWtuUC%d##2g!U/Dž Wl`pJUfUuFf7@[h 6ٴl8ͣa̪ 1evg ͼa"($F#eaꈀ.V@uDL+ u(F#DgFrf0Uun§`h U`jʻ.U=/V$e] jPH P4 `Oˁ[j터Irڻa"+^ ExT%CZ0`Y#+"9^P ?22Vb*!%Y" 2"2" 2" 2^b*&!h?'& qe]СU U  W )aZ`'%i,@%k!%mB'%o#dH$+0"@*" 6: `!< brxq}5p^wXT$@+D&n(*D*+|[ [T$2"j<4aT5NXv%f U\D6hqCV$4w **`+0U mmZ&#H u@ 4`\+pz a@R<d,)0TX| f0N 2e\7(dg .* (+s TX0eQ`GA~ڮPͮn(D d`8@ lâ u! ;m u@ 68\·/Hxh ! <#@ :@08 2``x %'h$XT0eSxH& aSmud`DD f8-YT*g]psV0mW` >V 0uzv+u3j+6@³A!KvMR>aS@GX2Y0uC+xf6l <,XW1* 1>$UAUuFf7HDXݕKXPQU d8 "1#*2D&V fЂp`4-W$e^sED`͸A+`@ʯC* d## `D Dga֠p* b: v}Q* b*`!4Uul<|6mB`GT,Xu(UD+v4 #+:TLH%>-YMf݀0f´"%axV9bʹ:>oH9lͶ:>oK6醰!ey&rD`х~EcGͼa#6V*XD@IFsaPA!xY0UCb*èm fPT Tmm 5tu|f0maAxYtXt|a !%XC+>3oK6UGquZ** 1;T #u`FC*.ͺa0 j6؆X!0+ 0XT#P}+lTlCXt,|+(4@0k tt," (6`2[`ʣao*(ͤab !uA1$#u,|PPx P0 8@ m pET f0P@`pBeUTLMf݀V^)ͨ@Bk*Xg&9 *l* :*8n·oAET Fx_ V8e[PRdu@%hET|Cj :C ڂ` aRFDgK6Ⴐ(-^T^2` ;b ]p[6V8'@`KKQPXͬKuEByMdCTP x `F:qU ?9>ET0'GWl#wPH:qu` qX#jK2UsBTL|#aPQ_0`+D+9WX3nhCUD.#G%xʫ F#?.l+~]0#pDb29 g*n@ D&n(X,SUp dxʫ3n( XИh¢~a_pmTͣameUpLxXh?*&ͣa*PQ PQU/3* `(?eS@G5Fß>`ŅUØtL8/+\vq^<#B\r+CK 4-+6 p$RҴKJE-+^ p$Rҷ!KJH:QQSd4%CI@:S!d4%CY@:Ж RD4@h)d4%Cy@:Sd4%C@:STd4%C@:TЖ`bDT$ 9R$RECVIh8, !^f߀&B'Z!,*J axL4W,(  f@ vUpB-e @$8W̫^x8h#BgLF~ L$(hd*> P8 F6q#?a2ɖYx& L*ͮ!6mTVN00fڐU@H8͵*tt!+GL1"\t!'GO1"ztu"GO@1"* ,t$#&$GQ1"BJbJu0&'$FY1"zDtL)!GC@1"bJV-@a6 QSYyRpoxPpPæ;2G&Nu8|a!KЦNyV0.fӠGM1" b lt!$G@1"b@X 1M23IT`812:"#. 0A:I#8M 9:3^8]IQ2pԒQ REu$I@#dx? *$#*jyZT's˘O?90|aɘ$GETOPREu$IISadTD @Ԭ:ISX*T|Z(eRP!4BXҤ % $CFT\_0b0k 2GT\/PY#**P,Pmd=,W8*X?f@EuTTͬǥ@ c! IAQJ22 ѓ#x 1=N;Sc89aR;S8=]I&;S8MQJ:DԐSX]I%R;PX%1:SV# X%=A::SԒcX%I9JՐQ=YMpЖ`bE45$@ĊhjI)Ӏ'NЖ bDe4Tx=%1$CURSGՐQP :T=%1:q H8ЖbD4a !:P5G@1"B Jtt,!'NЖ bDe4Tx=%1$CURSGՐQP :T=%1:S%P@bD44H$ENABLRE$T5h$SENDЖRE4%HI1N$RETRNT P0Ĉhj HĊI*q H8ЖbD4a !:P5G@1"B Jtt,!'NЖ bDe4Tx=%1$CURSGՐQP :T=%1: *DF ZP3@ FmfpY!6Pp-|ʲ "0k À $T,c~[.-p2YlN0k! d.Vͱ@ vE ٴ nWY !l'0 aV&:T<4YU @hf &Ucj8uCb< 'p@+A0k 4EU: x.YT ATd >2]n7X娰0Y2Ұ UQ`RDDc%ZP5Eu9j>:ج"uO9^O@Eaҥ`{ Ar.o> 9>od@)""JtD$+NP!d4%C @:PSQ!d4%C@:SQ U!d4%C)@: UQQ!d4%C9@:TTX%]I:;\UԒU#$x=A922`I#7]IQ2pbEu%DdI2$OPNFLѓ bE44d12P5a@61aа1Z- KD@(nf`[Tf@  ?"Pe0 ̀eW`m[2xXPiS,:eV05SY«@ M!,dT bD5$T I]%$CLISTT bEDĕ5HMQ J$CURBKST`bD5U$h UI=:$ERASE S bDĕH1=1%RP5f V-@a6 QSYyRpoxPpPæ;2G&Nu8|a!KЦNyV0.fӠGM1" b lt!$G@1"bY ٠PDB!I23pY dB$dEX"3lY,+U\ hè@dBj݅[@Kvf ~@ ڮVmp.d.O?40n#C{EjO!s\ys2~\2 "F 3@ E@ʹ@a(2PbFB(]l¼``4 `B$dEX! 2`c84-VmaR  3@T0@ʷL ʩC&Z-cqܠ4 hY o@&K63o*ށ?l f0n?"+v 3@ eBg egXXE:T<*`NLB&]b9L(D hX8 얨ꄀ٠PEnjP=4V얨8# ٠PEͽB4[ ; TITLE CDAPPL.MAC -- APPLE ][/COBOL CRT INTERFACE .8080 ;********************************************************** ;* ;* COPYRIGHT (C) 1980 MICROSOFT ;* ;* (SEE THE SOFTCARD REFERENCE MANUAL, VOL. I, PAGES ;* 2-13 THRU 2-16 FOR MORE INFFUNCTION 3 JMP SCRFUN ;******************************************************* ;* ;* SET HIGHLIGHTED (INVERSE) VIDEO MODE ;* ;******************************************************* $HILIT: MVI A,5 ;PERFORM SOFTWARE SCREEN FUNCTION 5 JMP LDA SXYOFF ;GET THE CURSOR ADDRESS OFFSET ANA A ;SET THE CONDITION FLAGS JP NORVS ;SEND COORDINATES AS USUAL ? PUSH PSW MOV A,H ;(NO) SWAP [H] WITH [L] MOV H,L MOV L,A POP PSW ;RESTORE OFFSET NORVS: PUSH PSW ;SAVE OFFSET ADD 7H ;AUDIBLE ALARM BSPACE EQU 08H ;BACKSPACE CHAR. ;********************************************************** ;* ;* SCREEN DIMENSIONS (CHANGED TO 24 X 40 IF USING APPLE VIDEO) ;* ;********************************************************** $CRL********************** $CURON: $CUROF: RET ;JUST RETURN ;******************************************************* ;* ;* ERASE FROM CURSOR TO END OF SCREEN ;* ;******************************************************* $ERASE: MVI A,2 ;PE(CONTROL-B) DB 1BH ;ESCAPE DB 09H ;TAB (CONTROL-I) DB 0DH ;CARRIAGE RETURN DB 0AH ;LINE FEED (CTRL-J) DB 00H ;END OF LIST ;******************************************************* ;* ;* $SETCR - POSITION CURSOR AT SPECIFIED X,Y COORDS ORMATION) ;* ;********************************************************** EXTRN $OUTCH ENTRY $CRLEN,$CRWID,$CLIST,$FLIST,$TLIST ENTRY $SETCR,$CURBK,$ALARM,$CUROF,$CURON ENTRY $ERASE,$EOL,$HILIT,$LOLIT ;*************************************** ;* ;* BACKSPACE CURSOR ;* ;******************************************************* $CURBK: MVI A,BSPACE ;SEND BACKSPACE JMP $OUTCH ;******************************************************* ;* ;* AUDIBLE ALARM (BELL) ;* ;*************H ;ADD OFFSET TO COORD CALL $OUTCH ;OUTPUT THE FIRST COORDINATE POP PSW ;RESTORE THE OFFSET ADD L ;ADD OFFSET TO COORD POP H ;RESTORE [HL] JMP $OUTCH ;OUTPUT THE SECOND COORDINATE ;******************************************************EN: DB 24D ;LINES ON TERMINAL $CRWID: DB 80D ;COLUMNS ON TERMINAL ;(MAY BE CHANGED AT RUNTIME ;TO 40 IF USING APPLE VIDEO) ;********************************************************** ;* ;* FUNCTION CHARACTER DEFINITIONS ;* ;************RFORM SOFTWARE SCREEN FUNCTION 2 JMP SCRFUN ;******************************************************* ;* ;* ERASE FROM CURSOR TO END OF LINE ;* ;******************************************************* $EOL: MVI A,3 ;PERFORM SOFTWARE SCREEN ;* ENTER WITH X IN [L], Y IN [H] ;* ;******************************************************* $SETCR: PUSH H ;SAVE [HL] MVI A,7 ;PERFORM FUNCTION 7 (ADDRESS CURSOR) CALL SCRFUN DCR H ;MAP 1..24 TO 0..23 DCR L ;MAP 1..80 TO 0..79 ******************** ;* ;* EQUATES: ;* ;********************************************************** SSFTAB EQU 0F398H ;SOFTWARE SCREEN FUNCTIONS SFLDIN EQU 0F397H ;LEAD-IN CHARACTER SXYOFF EQU 0F396H ;SOFTWARE CURSOR ADDRESS OFFSET BELL EQU 0****************************************** $ALARM: MVI A,BELL ;RING THE BELL JMP $OUTCH ;******************************************************* ;* ;* CURSOR ON AND CURSOR OFF FUNCTIONS (NOT SUPPORTED) ;* ;********************************* 2DH ;MINUS SIGN (-) DB 00H ;END OF LIST $FLIST: ;DEFINES FUNCTION KEYS DB 11H ;CTRL-Q GENERATES 02 DB 03H ;CTRL-C GENERATES 03 DB 1AH ;CTRL-Z GENERATES 04 DB 00H ;END OF LIST $TLIST: ;DEFINES TERMINATOR KEYS DB 02H ;BACKTAB ********************************************** $CLIST: ;DEFINES EDITING KEYS DB 18H ;LINE DELETE DB 08H ;CHARACTER DELETE DB 15H ;NON-DESTRUCTIVE FWD SPACE (--> KEY) DB 04H ;NON-DESTRUCTIVE BACKSPACE (CTRL-D) DB 2BH ;PLUS SIGN (+) DB SCRFUN ;******************************************************* ;* ;* SET LOWLIGHTED (NORMAL) VIDEO MODE ;* ;******************************************************* $LOLIT: MVI A,4 ;PERFORM SOFTWARE SCREEN FUNCTION 4 ;FALL THROUGH TO S**************** ; $ERASE: MVI A,"J" ;ERASE EOS CODE ERASE: PUSH PSW CALL SETUP ;SEND ESC [ MVI A,"0" CALL $OUTCH ;SEND 0 POP PSW JMP $OUTCH ;SEND EOS/EOL CODE AND RETURN ;**************************************************** ; ERASE TO***************************** ; TERMINAL SCREEN DIMENSIONS ;**************************************************** ; $CRLEN: DB 24D ;24 LINES $CRWID: DB 80D ;80 COLUMNS ;**************************************************** ; TERMINAL OUTPUT CODES ; NOLDIN ;IS LEAD-IN REQUIRED FIRST? PUSH PSW ;(YES) SAVE THE CHARACTER LDA SFLDIN ;GET THE LEAD-IN CHARACTER CALL $OUTCH ;OUTPUT THE LEAD-IN POP PSW ;RESTORE SCREEN FUNCTION CHAR NOLDIN: JMP $OUTCH ;OUTPUT FUNCTION CHAR END ******************************************** ; CURSOR ON/OFF ;**************************************************** ; $CURON: MVI A,"l" ;RESET MODE JMP CURSW $CUROF: MVI A,"h" ;SET MODE CURSW: PUSH PSW CALL SETUP ;SEND ESC [ MVI A,">" CALL LINE DELETE (CTRL-U) DB 7FH ;CHAR DELETE (DEL,RUB) DB 06H ;FORWARD SPACE (CTRL-F) DB 08H ;BACK SPACE (CTRL-H) DB 2BH ;PLUS SIGN DB 2DH ;MINUS SIGN DB 00H ;END OF LIST $TLIST: ;TERMINATOR KEY DEFINITIONS DB 02H ;BACKTAB (CTL-B) CRFUN ;******************************************************* ;* ;* SCRFUN - EXECUTE SCREEN FUNCTION. THIS IS THE INTERFACE ;* TO THE APPLE CP/M SCREEN FUNCTION TABLE ;* ;******************************************************* SCRFUN: PUCURSOR POSITION ; [H] = ROW NUMBER ; [L] = COLUMN NUMBER ;**************************************************** ; $SETCR: CALL SETUP ;SEND ESC [ MOV A,H CALL SEND2 ;SEND LINE MVI A,";" CALL $OUTCH ;SEND SEPARATOR MOV A,L CALL SEND2 ;S**************************************************** ; ESCAPE EQU 1BH BSPACE EQU 08H BELL EQU 07H ;**************************************************** ; O U T P U T F U N C T I O N S ;**************************************************** ; SET TITLE CDANSI - CRT DRIVER FOR ANSI STANDARD TERMINAL .8080 ;********************************************************************** ;*** *** ;*** COPYRIGHT (C) 1980, MICROSOFT $OUTCH ;SEND > MVI A,"5" ;MODE NUMBER 5 CALL $OUTCH POP PSW JMP $OUTCH ;SEND SET/RESET ;**************************************************** ; ERASE TO END OF SCREEN ; [HL] = SEQUENTIAL CURSOR POSITION ;************************************ DB 1BH ;ESCAPE KEY (ESC) DB 09H ;FORWARD TAB (CTL-I) DB 0DH ;CARRIAGE RETURN DB 0AH ;LINE FEED DB 00H ;END OF LIST $FLIST: ;FUNCTION KEY DEFINITIONS DB 01H ;CTL-A DB 03H ;CTL-C DB 18H ;CTL-X DB 00H ;***********************SH H ;SAVE [HL] LXI H,SSFTAB-1 ;[HL] IS ADDR OF TABLE - 1 ADD L ;ADD INDEX INTO TABLE MOV L,A ;UPDATE POINTER MOV A,M ;GET THE SOFTWARE CHARACTER POP H ;RESTORE [HL] ANA A ;TEST THE SOFTWARE CHARACTER RZ ;IF ZERO, JUST RETURN JPEND COLUMN MVI A,"f" JMP $OUTCH ;SEND END CODE AND RETURN ;**************************************************** ; BACKSPACE CURSOR ;**************************************************** ; $CURBK: MVI A,BSPACE ;BACKSPACE JMP $OUTCH ;********EOL,$HILIT,$LOLIT ENTRY $CLIST,$TLIST,$FLIST EXT $OUTCH ;**************************************************** ; KEYBOARD CODE DEFINITIONS ;**************************************************** ; $CLIST: ;EDITING KEY DEFINITIONS DB 15H ; *** ;*** *** ;********************************************************************** ENTRY $CRWID,$CRLEN,$CURON,$CUROF,$CURBK ENTRY $SETCR,$ERASE,$ALARM ENTRY $ END OF LINE ; [H] = CURRENT ROW NUMBER ; [L] = CURRENT COLUMN NUMBER ;**************************************************** ; $EOL: MVI A,"K" ;ERASE EOL CODE JMP ERASE ;**************************************************** ; SOUND AUDIBLE TONE LIGHTED.". 03 COLUMN 40 VALUE "THIS SHOULD BE IN NORMAL VIDEO.". 01 BLANK-LINE-SCREEN. 03 LINE 10 PIC X(80) FROM ALL "X". 03 LINE 11 PIC X(80) FROM ALL "X". 03 LINE(xfװ `)e@;1ՠ HĈi*j HĈjJ(Ҁ H2ĈjI HU` H Ĉɉ*j Hdĉ* HĊhjQp H83iXjͧ`@>3j ŇSĶHuL|7a`ͮ`m]Xu|fm]********************************************** SETUP: MVI A,ESCAPE CALL $OUTCH MVI A,"[" JMP $OUTCH ;**************************************************** SEND2: CALL BTOA ;CONVERT BINARY TO 2 ASCII DIGITS PUSH B ;SAVE RESULT MOV A,B SECURITY. NONE. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 ACCEPT-FIELDS. 03 IN-FIELD PIC X(6). 03 IN-CHAR PIC X. 03 E;**************************************************** ; $ALARM: MVI A,BELL JMP $OUTCH ;SEND BELL CODE AND RETURN ;**************************************************** ; SET/RESET HIGHLIGHTED VIDEO MODE ;*******************************************CALL $OUTCH ;SEND HIGH-ORDER DIGIT POP B MOV A,C JMP $OUTCH ;SEND LOW-ORDER DIGIT ;**************************************************** BTOA: MVI B,"0" BTOA1: SUI 10 JC BTOA2 ;IF < 0 INR B ;INCREMENT HIGH DIGIT JMP BTOA1 BTOA2: ADI SC-CODE PIC 99. SCREEN SECTION. 01 BLINK-SCREEN. 03 BLANK SCREEN VALUE "HIGHLIGHT ($HILIT/$LOLIT) TEST.". 03 LINE 3 BLINK VALUE "THIS MESSAGE SHOULD BE HIGHS`bD5%tH I1:$CURONTѠbD5U$$MQ J$ERASEST`BDT!%1%R$LOLITT bEDĕ5H1%MRP5 X A |fY|fa!I4>3iXjͧ`@>3j ŇSĶHuL|7a`ͮ`m]Xu|fm]********* ; $HILIT: MVI A,"7" ;REVERSE VIDEO CODE JMP LITE $LOLIT: MVI A,"0" ;STOP REVERSE CODE LITE: PUSH PSW CALL SETUP ;SEND ESC [ POP PSW CALL $OUTCH ;SEND SET/RESET REVERSE MVI A,"m" JMP $OUTCH ;SEND END CODE AND RETURN ;****** IDENTIFICATION DIVISION. PROGRAM-ID. CRTEST. THIS PROGRAM TESTS THE FUNCTIONS OF THE CRT DRIVERS USED WITH COBOL-80. AUTHOR. MICROSOFT. DATE-WRITTEN. 01 JUNE 1980. 10+"0" ;RESTORE & CONVERT LOW DIGIT MOV C,A RET END ****************** BTOA: MVI B,"0" BTOA1: SUI 10 JC BTOA2 ;IF < 0 INR B ;INCREMENT HIGH DIGIT JMP BTOA1 BTOA2: ADI 12 PIC X(80) FROM ALL "X". 03 LINE 13 PIC X(80) FROM ALL "X". 03 LINE 14 PIC X(80) FROM ALL "X". 03 LINE 11 COLUMN 20 BLANK LINE VALUE "B". 03 LINE 12 COLUMN 40 BLANK LINE PERFORM DELAY 2000 TIMES. EDIT-TEST. DISPLAY (1, 1) ERASE " * EDIT KEY ($CLIST, $CURBK) TEST *". DISPLAY (3, 1) "THE FOLLOWING ABBREVIA DISPLAY (24, 61) "BOTTOM RIGHT CORNER". DISPLAY ( 1, 65) "TOP RIGHT CORNER". DISPLAY (24, 1) "BOTTOM LEFT CORNER". DISPLAY (12, 30) "CENTER (MORE OR LESS)". DISPLAY ( 1, 35) "TOP CENTER". DIS STOP RUN. INITIAL-SCREEN. DISPLAY " ". DISPLAY " +++++ CRTEST +++++". DISPLAY " ". DISPLAY " THIS PROGRAM TESTS THE CRT DRI, 1) "THE TEST WILL TERMINATE WHEN YOU ENTER " "ANY NON-SPACE KEY BEFORE THE TERMINATOR.". MOVE SPACE TO IN-CHAR. PERFORM GET-TERMINATOR UNTIL IN-CHAR NOT = SPACE. AIT-FOR-INPUT. POSITION-TEST. DISPLAY ( 1, 2) "* GENERAL CURSOR POSITION TEST *". DISPLAY ( 2, 1) " ". DISPLAY ( 3, 1) "THIS TEST DISPLAYS TEXT IN THE" DISPLAY ( VALUE "B". 03 LINE 13 COLUMN 60 BLANK LINE VALUE "B". PROCEDURE DIVISION. MAIN. PERFORM INITIAL-SCREEN. PERFORM ERASE-TEST. PERFORM POSITION-SE " * TERMINATOR KEY ($TLIST, $FLIST) TEST *". DISPLAY (3, 1) "THIS TESTS WHETHER THE TERMINATOR " "AND FUNCTION KEYS ARE RECOGNIZED CORRECTLY.". DISPLAY (5, 1) "EACHPLAY (24, 34) "BOTTOM CENTER". DISPLAY (12, 1) "LEFT CENTER". DISPLAY (12, 69) "RIGHT CENTER". PERFORM WAIT-FOR-INPUT. TERMINATOR-TEST. DISPLAY (1, 1) ERAVER". DISPLAY " (24 BY 80 DISPLAY ASSUMED)". DISPLAY " ". DISPLAY " ". ERASE-TEST. DISPLAY "**********************************". DISPLAY " ". GET-TERMINATOR. DISPLAY (11, 1) ERASE. DISPLAY (10, 1) "ENTER TERMINATOR KEY: ". ACCEPT (, ) IN-CHAR WITH PROMPT. ACCEPT ESC-CODE FROM ESCAPE KEY. DISPLAY (11, 1) "ESCAPE CODE IS " ESC-CODE. 4, 1) "POSITIONS DESCRIBED BY THE" DISPLAY ( 5, 1) "TEXT ITSELF." PERFORM DELAY 5000 TIMES. DISPLAY ( 1, 1) ERASE. PERFORM DELAY 10 TIMES. DISPLAY ( 1, 1) "TOP LEFT CORNER". TEST. PERFORM TERMINATOR-TEST. PERFORM EDIT-TEST. PERFORM ALARM-TEST. PERFORM BLINK-TEST. PERFORM BLANK-LINE-TEST. DISPLAY (23, 1) "END OF TESTS.". DISPLAY " ". TIME THE PROMPT IS GIVEN, ENTER " "ONE OF THE KEYS FROM $TLIST OR $FLIST.". DISPLAY (6, 1) "THIS PROGRAM WILL RESPOND WITH THE " "ESCAPE CODE FOR THAT KEY.". DISPLAY (8ORNER) AND THE FULL" DISPLAY "SCREEN SHOULD BE ERASED." PERFORM DELAY 10000 TIMES. DISPLAY (12, 1) ERASE. PERFORM DELAY 5000 TIMES. DISPLAY ( 1, 1) ERASE. PERFORM WDISPLAY "* CURSOR POSITION AND ERASE TEST *". DISPLAY " ". DISPLAY "FIRST, LINES 12-24 OF THE". DISPLAY "SCREEN SHOULD BE ERASED. THEN" DISPLAY "THE CURSOR SHOULD HOME (TO THE" DISPLAY "TOP LEFT CTIONS ARE USED " "TO REPRESENT THE EDITING KEYS:". DISPLAY (5, 10) "[LD] = LINE (FIELD) DELETE KEY" (6, 10) "[CD] = CHARACTER DELETE KEY" (7, 10) "[BS] = BACKSPACE KEY" ALARM-TEST. DISPLAY (1, 1) ERASE " * ALARM ($ALARM) TEST *". DISPLAY (3, 1) "THE AUDIBLE TONE SHOULD SOUND " "WHEN THIS MESSAGE IS PRINTED.". DISPLAYAY (20, 1) "TYPE ANY CHARACTER TO CONTINUE ". ACCEPT (, ) IN-CHAR WITH AUTO-SKIP. (8, 10) "[FS] = FORWARD SPACE KEY". DISPLAY (10, 1) "ENTER ABCDE[LD]+-XXX[CD]" "[BS][BS]W[FS]YZ ". MOVE SPACES TO IN-FIELD. ACCEPT (, ) IN-FIELD. I (5, 1) "TYPE ANY CHARACTER TO CONTINUE.". ACCEPT (, ) IN-CHAR WITH AUTO-SKIP BEEP. BLINK-TEST. DISPLAY BLINK-SCREEN. PERFORM WAIT-FOR-INPUT. F IN-FIELD NOT = "+-WXYZ" DISPLAY (15, 1) "*** RESULT WAS " IN-FIELD DISPLAY (16, 1) "SHOULD HAVE BEEN +-WXYZ" ELSE DISPLAY (15, 1) "RESULT WAS CORRECT.". PERFORM WAIT-FOR-INPUT.  "FOLLOWING THE 'B' CHARACTER.". DISPLAY BLANK-LINE-SCREEN. PERFORM WAIT-FOR-INPUT. DELAY. WAIT-FOR-INPUT. DISPL BLANK-LINE-TEST. DISPLAY (1, 1) ERASE " * BLANK LINE ($EOL) TEST *". DISPLAY (3, 1) "LINES 10-14 WILL BE FILLED WITH X.". DISPLAY (4, 1) "THEN LINES 11-13 SHOULD BE BLANKED " ԕT d5%DU5Hy = 1% Z- b5P A@ (P €@P A@,(#%Pb5dddh`#GFEEE$Ha$H*BA$I* Ąy0T RP\ `CH$)LA#D2A 20 DISPLAY 'CONV IDENTIFICATION DIVISION. PROGRAM-ID. SQUAROOT. * REMARKS. CALCULATIONS BY NEWTON-RAPHSON METHOD. ENVIRONMENT DIVISION. CONFIGURATION SECTION. DATA DIVISION. WORKING-STORAGE SECTION. ACCEPT A. R. IF A IS NOT NUMERIC DISPLAY 'ILLEGAL DATA' GO TO P. IF A NOT GREATER THAN 0 DISPLAY '0 IS EOJ.' DISPLAY SPACE STOP RUN. S. IF A LESS THAN 1 COMPUTE A = A * TEN-THOU TEN-THOU COMPUTE ROOT = ROOT / 100. MOVE A TO A-OUT MOVE COUNTERX TO IT MOVE ROOT TO ANSWER DISPLAY RESULTS GO TO P. 0000. 02 COUNTERX PIC S999. 01 FLAG PIC X. 01 RESULTS. 8 FILLER PIC X(15) VALUE 'SQUARE ROOT OF '. 8 A-OUT PIC Z(7).9(9). 8 FILLER PIC XXXX VALUE ' IS '. 77 NUM, PIC 9(7)V99. 01 NUMBERS. 02 Z PIC 99999V9(13). 02 A PIC 9(7)V9(11). 02 OLD-ROOT PIC S9(10)V9(7). 02 ROOT PIC S9(10)V9(7). 02 TEN-THOU PIC S99999 VALUE 1