IMD 1.16: 29/05/2007 18:45:50 FOGCPM.074 --FOGCPM074AUTOLOADASM AUTOLOADDOCDEMO SCR DEMO SCR-06-00 86 FILETOOLPQS"GENTOOLSPQSKEYS COMc !"#$%&'()*+,KEYS DOC.-./012KEYS PAS&34567PUDD COM89:;<=>?@ABCDEFGPUDD COMHIJKLMNOPQRSTUVWPUDD COMXY-CPM074 DOCPUDD DOCZ[\]^_`abcdefghiPUDD DOCGjklmnopqrPUDD PQSstuvPUDD-01 PQSwxyPUDD-02 PQS8 @? xg@ ?  ?@?j  @  :8 @ @ @  p 0p:0`   @ p 8    `` x? ? @? `ꪪ 0   `ꪪ 0@   ?`ꪪ 8 #&` "@ !@ " `j "  "@ ` "@  "@ `z "  @ " b "@  # :   ?  @ :  0 ` `   ????2 UV 7v15V`x {*?*; UV =$F5V n*?*.@ UV 7v15V {*?*; UV =$F5V n*?*? UV 7v1 {*?* UV =$F n*?* UV 7v1 {*?* UV =$Fn*??UV 7v{*?UV =n*?UV 7v{*? =*? 7v*? * ?|x@=6B|?$@BIB>8"@>IBB< "bAbB@"\>|;j$uU^x UUx UUUU0UUUU` @@`@@=@B|UUUUX "@B|B @B@>BB<UUUUT `` NbBb@ @\<|\>uUUUV "@>j@UUUV UU~ƪ 0B=@ |`@"BB@0 `@B>@<ꪪ0@bb@@\<\|> 8"@H0@ꪪp +~0T@@( `j `>X    `0jPz~   @@P  0  tttxx8|xz8zl8xz $HH|| D|D||@x ĄDDĄĄ@P ttx0|Dxx0Dx0|x|x 0 HH    @@P  0   vxsFILETOOL.PAS_ o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^[&`q^f 5Ԩel_jD$o_JkW=zշKM@FW5DjDSTv_UOZUOSTvL<@z A0r J}ui i`oE %Ew^foevz Am9<ۓQ@L>/F'x%gjZF%6Vߥ$G2F%pϟ]Z6*(oe(wh~0-c7ETBzѝYsk:q<φ~1:on1ڣ0r \Cz Duu>35r2R{4Q GnL(w"ۨйD9ek%)1FDC]X^cnrCSy]5r kmy]5r **u1ȁ(w^WQ Ř[#ܡ:TQ *1FDCyFP`au S6:?0r`.JEγCqQJ(ћܱX ‡[#6F,3mm-P{<,P9 nLԞ#MTbQj%pkeBÛ:cuͭ[Z TU孑_ o>T孑_ Q 0$*l8J#=1$C #`v^f 92<|weF%<]P0U7mT.."γs%ȩyȁ/F%o xe88ȁeuJ3fDȁMP@%5dotDγ@a@ȄDQvK((5ܯcAZ?ء*+-5<ݖ=lP92J(rcuMUsL&d`ϩP*{sjTcA_~KewG;.$*!Q u7R(wfaTJ(Dorb1ıďH=63nbY/!h7ynH$o3A/J @=I9 *{ڬ!ptME gT@&F%`AW=K Q >Ԟ# ڨ38&d`Y/!h71*(8&d Uy7RKċx@qݲcsL<EVpZ OJ:#=4pe J0tEsL<6*_]GocAQ -H=6ă lJ6V]yZ?Q ؛k0sJ<T2.no6*{sVo޴Q u99&d0r`;_z6ă \~ճJ@(wrj~\JPQ %MX,d`S93?Vl\wpeE ﵛev~ճjW=F%AM 7Q 1 QĆJă DCaxW]qUygWȡ7ݣ%Y[|sL<~KiQj%`.%9&b}L<6*m\bCF%`OETp)Q79ȁwUYi7񮚫گzj7g|3o=.Jă DCaxW]qUT=PF%/|87Aa@7STh7(aojĨ3'J؛ZUϨOg%Ԟ#MpL<@z A~D :ITv/Q =G؛Ț(a_mrt&*ĆJȚ(w]HJa+G5Qd%(۾Mav׵_\??@ABCD Þ+XoVmTfrcuf*+e@lVءPF د;TתE6J~lVءj6*+:V}*7?@ABCDEFGHIJKLMNvs,sRl{Y/E׼'U!¿b/@u ￳jI^AtY2Qm.)Qʑ >+^§*a%%b%I:sByp9| pǙW27?{g˨jFJ{b/ (5H[mx)Μ}M"̳ % (sc=TFYJ hlŜDBj# %Ņ],O).쐊 m,Y %sΙkѡ1o:_BXF9*R;O]-CYc;x!`NF9*C#i#zg1ˇ[zz@QAʐ0O4;ט}Gט߲mx{g1\:+^§4&a%%b%Ie9oByp9| pǙW27?{g˨jFJG*B2^tF(:s502PFYS2g1Vt()n|psJ 6~dbN2v?UC*b/gJ 29gbN>>j:jܑøs6*QI;O1q d I;O5fє9f5P~ Y~:jѡ1o:x!`NF9*R/j̾#oa\F9*R;OHB ט߲!Ic{g1\:ωTQ 9&QHJÆo^Qi(FHH5bNn۔$\ݦ@JsL*"ȇ RiiA4Mrb/)i;KϘb;KlUHyԤ-EWi2R45y}*,3g_FX5I,dbfKѱjx)9g}*c$9Ņ+m,X5INq!M2Y̓Rt$j&@,0wS&kca\>jstwUcn:k-0Yav5cO;9Lttp9bƸ}aļ)*Ya4?>֘Ͽ-1Ya:_]xybnzg1Uq5bz՘Gh},0}1^a\/>AQzg1Ӭv?jM#c ôRc\wsW:1o>7hl77/:lUHr^ѧRr:s5@FYIt(>X7>8PR\͜*S\J[} RX7>8 %ѡ4U\ͼ>_֙͜eeP\Y m欳5~ճJx@Op@F ~e W=&j[LH ͫCopyright (C) 1985 BORLAND IncBteleportseries 10/92P= :nEE RT(1)1~7#~= oͦkԄ!!"~#(}:$= +*!5!*!!:(2!5:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k5!{5__o&  :(͠|(  *"x2y( >28!"9!! og2"">~22 9/4*9 Co&ͦͣ} [ (!e{ͦA8Q0G: x@!\w# (͂ ?(*( .( w^. ^!h6# (?( *( ͂( w#>?> w#ͦ 8 !ɿ .,;:=?*[]<>{}a{ |ʹ}ͽƐ'@'7||}>2ͯ*Bڨ  "og"2>2! ""*B"[Ru*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͺw}8' RB0 >' RqRR!+ Ͱ R!+ Ͱ r!+ Ͱ r!+ Ͱ r!# Ͱ r!+ Ͱ T]KB!z> S>))0 = | |̀̀DMgo>jB0 7?= H͒<z5a)a<z {0Gɯgo||~}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } ) W _}8(8J`9{T]=o`9y ) >' ́ ͬ͗ }>' xˆ }} ˸T}ٕ(0D=z ,= ( ͒ 0%{ , 7 ?(8ͬ x ͆ - r 8˸x ͏  ,-xG}r }مM 9r .>#n0͒ { = - nx ͇ ,-(-˸G,-r }ٕ?M 9.> 8ͬ ?= u+-(>͆ 0ͬ ͆ 8 ?x ͇ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցr <(r 7{ = |٤g{٣_z٢Wy١Ox٠G{ ͬ ́ }x>' ͬ}ƀ/ƀo -́ }0͎-́ ͎,}l˸ 8 4 ͗ x( - 8́ - 8,́ }l8;*!͗ ! >4ͬ͗ ͗ ͬ--- ́  ,,,-xGg?+2n*8t z~,->' x' ͘}. ͆́ , ! >4,͢- o&0%,͗ }gr }؉}颋.:}8c~I$I~L*͢ٷx˸ }0G,<},-(-́ !>I0 ͗͘ o8 ͆ >' m.`1pF,t6|!wS<.z}[|%FXc~ur1}͆ٯx(<˸ 8 !~J 0.O!>s 8 =  n s͗ ͆ .n 0 ͎-́ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͬ͗ I× nn ͗ = ͆ nf^VNF!DLT\I!!53!r1!͒!> x #-= o˸x͆(- }(x>8(z ,z `iÃ!>' |r |̀>)=|(DMbo˸88x(0 8> ̀x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#}˸}րogM| .(z = ~> x0w#xG%͇ %͇ ZJDM%͇ = _~65+~hìx-Sx9?+{Η@}|z z gZJDM0{ ,7}o˸? #yO!@9i&?  #?w#?/w#?w#!9! E9!!9~(+Fͺ!"9!(#>2*"| >"2:( Ͷ *w*6 !\$![ (ͦ( #:~CONTRMKBDLSTCAUXUSR>2i:*ˮ~0:*:(@q##pZ* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͺ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('k!0(ˮ]k!8ˮ!]~-#8~>27kˮw>O$6̃s #r$ͣ6̏ k ( (ˮ qk(ˮ ( k ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͺ>2}*|(̓|( ̓6-#[RM8( G> A~#*'C! !TRUEFALSE!9N#Y~#( G~#> >    "~(kѻ(( !0 (ˮ!!>2Sz:0:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͮ*-w#ww##> ͮÁ""~>2:ZR0 *4#4>2:ZR> *4 #4(> >22*f(/˦:G(##~++ :O x yC!ͺ Q*:G(##~._.͚f<\=<͚*##w ͮ +4 #4x >>2:G("ͮ"*nˮ*0 SZѷR8@* N#F#s#r, 0})jS\*##w+ N#FB ͮr+s>2!T]>)j)0 0= ]R!#]*^#V#N#F#^#V>2Ͱ:0:*6 #-Nw#Fwq#p#6#w#w#w"~Á>">!DM!":*B:!>(>2>">!"2"~ʰ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pSZѷR&* s#r$ s#rL <?*L!\  <( !\$>2>2L:>!(* \$\<(!3: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>) 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* uKB!0>' ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#K*K*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!F"" &y*"*>2"*"!F"""!\*: Nr!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͝O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%â}ͦo*!~6o&|:2 2}:__zѯ2*|KB " z ^C User break+=  I/O Run-time error {ʹ, PC=*ͯNot enough memory Program aborted :ʎ'1!d!@2;B>1 !!!:p!p!}2*&!o&"*RW!!A}2!Rk!!B}2!R!!C}2!R“!!D}2!R§!!E}2!R»!!F}2!R!!G}2*&}2!"*&AR!!"f"BR"!"f"͛ͺ- R,*!">- R-*!R">-R(-*!">- R>-*!"*n&*s*! Eb-!"*!Ex-! "*n&!E*n&!Q}o*n&!X}o*n&!S}oEX,**s#r"ݺ"ߺ!!͙!2*ߺ*ݺ+)))))):͛!ͪ !K!"Һ!}2Ժ*Һ!!ͩ!ѺD *Ѻ&RY.*Һ!R"ҺÔ/ Rr.*Һ!"ҺÔ/R†.!}2ԺÔ/R.*ߺ*ݺ+))))))*Һ!!!͙*ߺ*ݺ+)))))):͛!ͪ !d*Һ!Ô/*Ѻ&͛" !d*ߺ*ݺ+)))))):!*Һ!RkA!*ߺ*ݺ+)))))):*Һ!!DkA!M*ߺ*ݺ+))))))!:*Ѻ&e.=!M:=?*Һ!"Һ*Һ!C*Һ!}oEʻ/!}2Ժ*Ժ&E .!!͛ͺ- Function Keys for TeleVideo......... ͛ͺ! (E)dit - (S)ave - e(X)it ͛ͺ? arrow selects keys left/right/del arrow to edit  ͛ͺ= use ^Y to quit edit  E!!!!!y&!:! e.͍E1͛!" 1!*&!:e.͢ =!:=!.e.=!:=o ! !! fz1";!ͺM|!0*;e.=!E*;+)))))):!!Ck=!e.=!ͪ *;#a1!i >/!͚)!"!͑+!!B,*&ER2!*-!!͑++2SR+2!0*&!XE1 a1!i >/!͚)!"!͑+!!B,*&ERE!2ԺÔ/R.*ߺ*ݺ+))))))*Һ!!!͙*ߺ*ݺ+)))))):͛!ͪ !d*Һ!Ô/*Ѻ&͛" !d*ߺ*ݺ+)))))):!*Һ!RkA!*ߺ*ݺ+)))))):*Һ!!DkA!M*ߺ*ݺ+))))))!:*Ѻ&e.=!M:=?*Һ!"Һ*Һ!C*Һ!}oEʻ/!}2Ժ*Ժ&E .!!͛ͺ- Function Keys for TeleVideo......... ͛ͺ! (E)dit - (S)ave - e(X)it ͛ͺ? arrow selects keys left/right/del arrow to edit  ͛ͺ= use ^Y to quit edit  E!!!!!y&!:! e.͍ ****************************************************************************** K E Y S ****************************************************************************** a program written in Turbo Pascal for the TeleVideo TPCi and 803 computers author: Greg Jackson date: 09/20/85 version: v 1.1 major interest: anyone with Televideo 803, 803H, or TPC-1 software required: to run KEYS.COM :none to create new KEYS.COM :Turbo Pascal contains: A nice way to set function keys hardware: None legal mumbo: This program is public domain. If you try to sell it for profit I will find you and break all of your fingers. Very slowly. Please keep the name of the files the same when you pass this program through the RBBS systems. Please share this program with others who have the above mentioned computers updates: Future versions are best shared through the POWER BOARD @ (608) 251-3494 If the Power Board is down or you don't have a modem, you may contact me directly.... Greg Jackson 1616 Capital Ave Madison, WI 53705 (608) 233-0453 The best time to call is early evening. Please remember your time zone. modification: 9/22/85 Greg Jackson v 1.1 - added a number of delays to prevent the terminal emulator confusion. It is now very easy to over-type the key function editor but the editor no longer over-runs the terminal emulator in the TeleVideo. - added all arrow keys to key selection KEYS.......... Keys is a program which will create a file that sets the function keys. Keys itself will not set function keys. The general idea is that you do not want any extra stuff to run when you just want to set the function keys. Procedure: 1: Run KEYS.COM and create a file to save your key version. 2: Exit KEYS.COM. 3: Whenever you want the keys set enter (at the CP/M prompt) A> type filename.key What Happens? As you may know, the TYPE command is a resident function of CP/M. It will attempt to list a text file to the terminal. The file that KEYS made is sort of like a text file but all the text is preceeded by an escape command that tells the terminal to use the text that follows as a function key setting. So What ! As well you may say. There are already other function key setting programs out there. The advantage of this one is that you really don't need to run a program to set the keys. The *.key file is only 2K. The general idea is to make a WORDSTAR.KEY, BASIC.KEY, etc. Then on your wordstar disk, rather than having wordstar auto-boot, auto boot a submit file. The submit file only need have the following lines.... type wordstar.key wordstar If you don't know what a submit file is then read your CP/M manual. It isn't complex and you will find it useful. If you know about SUBMIT.COM but never heard of EX.COM then contact your local user group. EX is like submit only much faster an almost foolproof. It's public domain. details on KEYS..... The keys are referenced as follows: 1: to 10: mean regular function keys s1: to s10: indicates shifted function keys ^1: to ^6: press control with the function key ^s1: to ^s6: press control and shift with key Keys that you do not edit are not effected when typing the keys file. I have not added a function to load and edit a previous keys file. If you call me up and tell me what a great programmer  I am, or maybe just grovel a bit, I'll probably add that feature. I have also been know to accept money. The default file type is .KEY. If you don't want that to be there then just put a period after the file name you enter. Pressing the return will not get you out of the edit mode. This is necessary so that you can put returns in the function keys. You must do a ^Y to quit edit. If need to put a control Y in the key then you are SOL. Please don't complain about the sequence of keys on the screen. I don't know why, but this is the order TeleVideo choose to impliment then in the system. In edit mode you have left arrow, right arrow, del, and ^Y In the key select mode you have all arrow keys. You have 63 charactors available in each function key. All charactors can be edited even though the listing on the lower half of the screen only shows the first 30 or so. CR's and control charactors will be displayed as blank spaces. Don't be fooled, they're really in there.  If you doubt it just program a function key with ^G. Programmer notes: You will notice that there is an include file called FILETOOLS.PAS. I have found this to be a handy thing to use for any number of programs. It contains a number of features and procedures that are not called upon by KEYS. Basically, it will work in any pascal program. All you have to do is pass it a filename variable and a screen line number (1..24). It will use that single line for all kinds of user prompts and will force the user to return a valid filename with defaults of your choice. It's a good example of the toolbox approach to programming. able in each function key. All charactors can be edited even though the listing on the lower half of the screen only shows the first 30 or so. CR's and control charactors will be displayed as blank spaces. Don't be fooled, they're really in there. program keys; type fkey = string[63]; allkeys = array[1..32] of fkey; filename = string[8] ; filetype = string[3] ; fullname = string[14] ; var keylist :allkeys; keynum :integer; i,j :integer; response :char; name : filename ; ftype : filetype ; UseFile : fullname ; drive : char ; X,Y : integer ; diskfile : text; {$I filetools.pas} procedure InitKeylist(var keylist:allkeys); var i,j :integer; anykey :fkey; begin for i := 1 to 32 do keylist[i] := ''; for i := 1 to 32 do begin case i of 1..10: begin str(i,anykey); if i = 10 then insert(' ',anykey,1) else insert(' ',anykey,1); end; 11 :anykey :=' ^1'; 12..20:begin str(i-11,anykey); insert(' s',anykey,1); end; 21 :anykey := 's10'; 22 :anykey := '^s1'; 23..27:begin str(i-21,anykey); insert(' ^',anykey,1); end; 28..32:begin str(i-26,anykey); insert('^s',anykey,1); end; end; {...............case } insert(':',anykey,4); keylist[i] := anykey; end; end; procedure Display(keylist:allkeys); var i :integer; row :integer; anykey :fkey; begin for i := 1 to 32 do begin row := (i div 2) + 9; if (i mod 2 <> 0) then begin gotoXY(1,row); ClrEol; end else gotoXY(40,row-1); anykey := copy(keylist[i],1,36); write(anykey); end; end; procedure PointTo(var keynum:integer; var response:char); var i :integer; row :integer; begin i := keynum; repeat begin row := (i div 2) + 9; if (i mod 2 <> 0) then begin gotoXY(1,row); end else gotoXY(40,row-1); read(kbd,response); delay(50); case response of ^H: i := i - 1; ^L: i := i + 1; ^K: i := i - 2; ^V: i := i + 2; ^M: i := i + 1; end; { case } response := UpCase(response); if i > 32 then i := 1; if i < 1 then i := 32; end; until (response = 'E') or (response = 'Q') or (response = 'X') or (response = 'S'); keynum := i; end; procedure EditKey(var keylist:allkeys; keynum:integer); var quit :boolean; i :integer; response:char; firstPart,lastPart :string[65]; begin gotoXY(1,1); ClrEol; delay(50); write(keylist[keynum]); delay(75); i := 5; quit := false; repeat gotoXY(i,1); read(kbd,response); case response of ^H: i := i - 1; ^L: i := i + 1; ^Y: quit := true; #$7F:begin delete(keylist[keynum],i,1); { #7f is the DEL key } gotoXY(1,1); clrEol; write(keylist[keynum]); delay(100); gotoXY(i,1); end; else begin write(response); delay(100); firstPart := copy(keylist[keynum],1,i-1); lastPart := copy(keylist[keynum],i+1,68); keylist[keynum] := concat(firstPart,response,lastPart); i := i + 1; end; end; {........case} if (i > 67) or (i < 5) then quit := true; until quit; end; procedure Menu; begin gotoXY(1,3); writeln(' Function Keys for TeleVideo.........'); writeln(' (E)dit - (S)ave - e(X)it'); writeln(' arrow selects keys left/right/del arrow to edit '); write(' use ^Y to quit edit '); end; procedure SaveIt(keylist:allkeys); var i :integer; begin NewFileName(drive,name,ftype,1,1); if name = ' ' then write(^G) else begin assign(diskFile,drive + ':' + name + '.' + ftype); rewrite(diskfile); for i := 1 to 32 do begin write(diskfile,#$9B#$7C + chr(48 + i) + copy(keylist[i],4,67) + #$19);  end; close(diskfile); end; end; begin { --------------------- main -------------------- } ClrScr; Menu; InitKeyList(keylist); keynum := 1; Display(keylist); repeat pointTo(keynum,response); Case response of 'E': begin editKey(keylist,keynum); delay(150); display(keylist); end; 'S':SaveIt(keylist); end; {........case } until response = 'X'; end. { I have not bothered to comment this stuff because I have never seen anyone else who actually uses turbo pascal on the televideo. If you play around with pascal I would like to hear from you G.T.J. } ,1,1); if name = ' ' then write(^G) else begin assign(diskFile,drive + ':' + name + '.' + ftype); rewrite(diskfile); for i := 1 to 32 do begin write(diskfile,#$9B#$7C + chr(48 + i) + copy(keylist[i],4,67) + #$19); 2$ͫCopyright (C) 1985 BORLAND IncBteleportseries 10/92P= :nEE RT(1)1~7#~= oͦkԄ!!"~#(}:$= +*!5!*!!:(2!5:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k5!{5__o&  :(͠|(  *"x2y( >28!"9!! og2"">~22 9/4*9 Co&ͦͣ} [ (!e{ͦA8Q0G: x@!\w# (͂ ?(*( .( w^. ^!h6# (?( *( ͂( w#>?> w#ͦ 8 !ɿ .,;:=?*[]<>{}a{ |ʹ}ͽƐ'@'7||}>2ͯ*Bڨ  "og"2>2! ""*B"[Ru*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͺw}8' RB0 >' RqRR!+ Ͱ R!+ Ͱ r!+ Ͱ r!+ Ͱ r!# Ͱ r!+ Ͱ T]KB!z> S>))0 = | |̀̀DMgo>jB0 7?= H͒<z5a)a<z {0Gɯgo||~}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } ) W _}8(8J`9{T]=o`9y ) >' ́ ͬ͗ }>' xˆ }} ˸T}ٕ(0D=z ,= ( ͒ 0%{ , 7 ?(8ͬ x ͆ - r 8˸x ͏  ,-xG}r }مM 9r .>#n0͒ { = - nx ͇ ,-(-˸G,-r }ٕ?M 9.> 8ͬ ?= u+-(>͆ 0ͬ ͆ 8 ?x ͇ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցr <(r 7{ = |٤g{٣_z٢Wy١Ox٠G{ ͬ ́ }x>' ͬ}ƀ/ƀo -́ }0͎-́ ͎,}l˸ 8 4 ͗ x( - 8́ - 8,́ }l8;*!͗ ! >4ͬ͗ ͗ ͬ--- ́ ,,,-xGg?+2n*8t z~,->' x' ͘}. ͆́ , ! >4,͢- o&0%,͗ }gr }؉}颋.:}8c~I$I~L*͢ٷx˸ }0G,<},-(-́ !>I0 ͗͘ o8 ͆ >' m.`1pF,t6|!wS<.z}[|%FXc~ur1}͆ٯx(<˸ 8 !~J 0.O!>s 8 =  n s͗ ͆ .n 0 ͎-́ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͬ͗ I× nn ͗ = ͆ nf^VNF!DLT\I!!53!r1!͒!> x #-= o˸x͆(- }(x>8(z ,z `iÃ!>' |r |̀>)=|(DMbo˸88x(0 8> ̀x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#}˸}րogM| .(z = ~> x0w#xG%͇ %͇ ZJDM%͇ = _~65+~hìx-Sx9?+{Η@}|z z gZJDM0{ ,7}o˸? #yO!@9i&?  #?w#?/w#?w#!9! E9!!9~(+Fͺ!"9!(#>2*"| >"2:( Ͷ *w*6 !\$![ (ͦ( #:~CONTRMKBDLSTCAUXUSR>2i:*ˮ~0:*:(@q##pZ* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͺ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('k!0(ˮ]k!8ˮ!]~-#8~>27kˮw>O$6̃s #r$ͣ6̏ k ( (ˮ qk(ˮ ( k ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͺ>2}*|(̓|( ̓6-#[RM8( G> A~#*'C! !TRUEFALSE!9N#Y~#( G~#> >    "~(kѻ(( !0 (ˮ!!>2Sz:0:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͮ*-w#ww##> ͮÁ""~>2:ZR0 *4#4>2:ZR> *4 #4(> >22*f(/˦:G(##~++ :O x yC!ͺ Q*:G(##~._.͚f<\=<͚*##w ͮ +4 #4x >>2:G("ͮ"*nˮ*0 SZѷR8@* N#F#s#r, 0})jS\*##w+ N#FB ͮr+s>2!T]>)j)0 0= ]R!#]*^#V#N#F#^#V>2Ͱ:0:*6 #-Nw#Fwq#p#6#w#w#w"~Á>">!DM!":*B:!>(>2>">!"2"~ʰ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pSZѷR&* s#r$ s#rL <?*L!\  <( !\$>2>2L:>!(* \$\<(!3: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>) 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* uKB!0>' ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#K*K*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!F"" &y*"*>2"*"!F"""!\*: Nr!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͝O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%â}ͦo*!~6o&|:2 2}:__zѯ2*|KB " z ^C User break+=  I/O Run-time error {ʹ, PC=*ͯNot enough memory Program aborted :ʎ'^!*"HE!zd kÄ :BE:AEĤ-͏-K-%:D=(2BE;"---------------------------------------  *< "D<2D >(!TURBO Pascal systemkV!Version 3.00A V!CP/M-80, Z80 Copyright (C) 1983,84,85 ̈́BORLAND Inc. (! Terminal: !S Include error messages!-2AEĤ-͏-z"{!;"ͦ!`$r$ P$8: z >ogged drive:Aork file:51ain file:D-dit ompile un ave eecute ir uit compiler ptions Text: [DE*FE+8#[FE*HEFree: շR\. bytes (ͯ>-ͯ>)= compile ->  V!!y#>:Da#emory a#om-file a#cn-file :D(]tart address:*Dͯ (min ! ͯ) nd address:*Dͯ (max *ͯ) ind run-time error 1!d!B>" *P!9!9:ͣ"/!^#V[/s#r#"*!*/fz$",!9:*,!k͖ }2.**:.w##"**,#Ó$" *" *"*""*[""*["!^#V[s#r#"!*!fzʛ%"!*+)^#V"*[s#r#"*#i%""*"*"kk[P""""**R"*!E&!"**"*!E'&!"*!*R"*!ET&!"*!*"*!E~&!"!^#V[s#r#[s#r#[s#r#[s#r#[s#r#[s#r*"""!*!**%"""*!**%"""*!**%*!**%"r"t"v*v!*t*r%"b"d"f"h!^#V[hs#r#[fs#r#[ds#r#[bs#r# "T"V"X!^#V[Xs#r#!^#V[Vs#r#!^#V[Ts#r#"F"H"J*J"<*H":*F"8!^#V[-*n&!:e.͢ =*:=!.e.=*:=͟)Eʰ0**͙͛ͺFile exists................  !**͙͛ͺ+(B)ackup, (C)hange name, (O)verwrite .....  !ͩ!D *&}2*&!B*&!C}o*&!O}oE0*&BR0*n&*:*:(.!}2í0OR£0!}2í0CR­0÷0!}28/"""""!}2*&}oE92*****>-*n&!:e.͢ =*:=!.e.=*:=͟)}oE/2**͙͛ͺ$No such file exists................  !**͙͛ͺ (C)hange name or (Q)uit .....  !ͩ!D *&}2*&!Q*&!C}oEʳ1*&QR"2!}2M*M*,2CR,262!}20"""""**%***@'**s#r**s#r**%***&"x"z}2|"}"*}!E2!"n2!"n*|&4R3*z^#V*}*nR*zs#rn47RC3*z^#V*}*nR*zs#r*x^#V*}*xs#rn48Rd3*x^#V*}*xs#rn49R¡3*z^#V*}*n*zs#r*x^#V*}*xs#rn46R3*z^#V*}*n*zs#rn43R 4*z^#V*}*n*zs#r*x^#V*}R*xs#rn42R.4*x^#V*}R*xs#rn41Rn4*z^#V*}*nR*zs#r*x^#V*}R*xs#r*z^#V!Eʌ4!*zs#r*z^#V!Eʪ4!*zs#r*x^#V!E4!*xs#r*x^#V!E4!*xs#r**z^#V*x^#Vͻ&"d"f"h"j"l*j^#V*h^#V%*l*f*d@'*f*d%*l*f*d&*f*js#r*d*hs#r"R"T"V"X"Z*X*V%*Z*T*R@'*T*R%*Z*T*R&>!!͛ͺYour Num-Lock must be on !!! !>MSolid !MWhite !MSolid !!"MWhite !MReplace !!"!"!"!"!" !"**%!:MSolid͍Eʛ6!$!:MDashed͍Eʺ6!$!:MDotted͍E6!$!:MDash-Dot͍E6!$!:M Long-Dash͍E7!$!:M Short-Dash͍E?7!$!:M Dot-Dot-Dash͍Ed7!$!:MLong-Dot͍Eʅ7!$!:MWhite͍Eʦ7!$í7!$!:MWhite͍E7!"87!"8!:MHollow͍E7!**8ͣ'!:MSolid͍E 8!**8ͣ'!:MPattern͍EH8!**8ͣ'!:MHatched͍Ep8!**8ͣ'!:MReplace͍Eʐ8!$!:MFill͍Eʭ8!$!:M OverWrite͍E8!$!:MReverse͍E8!$>!!͛ͺLine Style is  !:͛!ͪ ͛ͺ , color is  !:͛!ͪ !!͛ͺFill Style is  !:͛!ͪ ͛ͺ , mode is  !:͛!ͪ ͛ͺ with and index of  *͛!& !!͛ͺCurrent curser position is X =  *͛!& ͛ͺ, Y =  *͛!& ͛ͺ Speed is  *͛!& !!͛ͺCurrent screen position is X =  * ͛!& ͛ͺ, Y =  *͛!& ͛ͺ Curser is  *R:͛ͺregular );R;͛ͺoff );?R);͛ͺbig !!͛ͺPlease select...... !!͛ͺ# FROM HERE IN GRAPHICS ͛ͺ= (H)elp (R)eturn to main menu c(U)rves  ͛ͺ4 (G)raphic screen (D)raw w/ update point  ͛ͺ4 (F)iles (L)ine w/o update  ͛ͺ4 (C)hange status (P)oint set  ͛ͺ4 (P)rint screen e(X)tensive drawing  ͛ͺ4 (Q)uit (F)ill an area  ͛ͺ4 (W)rite (E)rase an area  ͛ͺ4 (B)lock create/fill  ͛ͺ4 (R)eturn to main menu  ͛ͺ4 (S)peed set  ͛ͺ4 also 5 sets speed  ͛ͺ4 (W)ipe screen  ͛ͺ4 (A)rrow  ͛ͺ4 (T)ext  ͛ͺ4 (C)hange defaults  "*/%>! ! ͛ͺ-Please enter the new curser movement speed... !ͩ!!D *!&e.**!! !͙$"""""****^#V*^#V:2!ͩ! D * &}2 * &!5* &!S}oEe@!c?Ý@*** &**͛2****^#V*^#V4* &!XE@"" * *fz@"!*͙*#@"! !Ͱ@! ! ͛ͺLine styles available....... !! ͛ͺ1) Solid !!͛ͺ 2) Dashed !!͛ͺ 3) Dotted !!͛ͺ 4) Dash-Dot !!͛ͺ 5) Long-Dash !!͛ͺ 6) Short-Dash !!͛ͺ7) Dot-Dot-Dash !!͛ͺ 8) Long-Dot !)!͛ͺchoice ? !ͩ!D *&1RoBMSolid *VC2RŽBMDashed *VC3R­BMDotted *VC4RBMDash-Dot *VC5RBM Long-Dash *VC6RCM Short-Dash *VC7R8CM Dot-Dot-Dash *VC8RVCMLong-Dot *"! !Ͱ@! ! ͛ͺLine colors can be....... !! ͛ͺ1) White !!͛ͺ2) Black !)!͛ͺchoice ? !ͩ!D *&1RDMWhite *7D2R7DMBlack *"! !Ͱ@! ! ͛ͺFill Styles are....... !! ͛ͺ 1) Hollow !!͛ͺ2) Solid !!͛ͺ 3) Pattern !!͛ͺ 4) Hatched !)!͛ͺchoice ? !ͩ!D *&1R8EMHollow *ÓE2RVEMSolid *ÓE3RvEMPattern *ÓE4R“EMHatched *"! !Ͱ@! ! ͛ͺAFill Indices effect style as....... index (pattern) or (hatched) !! ͛ͺ0) Intensity 0 or Vertical  !!͛ͺ1) Intensity 1 or Horizontal !!͛ͺ&2) Intensity 2 or Diagonal positive !!͛ͺ&3) Intensity 3 or Diagonal negative !!͛ͺ4) Intensity 4 or Vert/Horz !!͛ͺ 5) Intensity 5 or Vert/Diag + !!͛ͺ 6) Intensity 6 or Vert/Diag - !!͛ͺ"7) Intensity 7 or Diag +/Diag - !=!͛ͺchoice ? !ͩ!D *&0RG!*s#rÉH1RH!*s#rÉH2RH!*s#rÉH3R0H!*s#rÉH4RGH!*s#rÉH5R^H!*s#rÉH6RuH!*s#rÉH7R‰H!*s#r"! !Ͱ@! ! ͛ͺFill colors can be....... !! ͛ͺ1) White !!͛ͺ2) Black !)!͛ͺchoice ? !ͩ!D *&1ROIMWhite *jI2RjIMBlack *"! !Ͱ@! ! ͛ͺWrite Modes are....... !! ͛ͺ 1) Replace !!͛ͺ2) Fill !!͛ͺ 3) OverWrite !!͛ͺ 4) Reverse !)!͛ͺchoice ? !ͩ!D *&1RnJMReplace *J2R‹JMFill *J3R­JM OverWrite *J4RJMReverse *"*^#V"! !Ͱ@! ! ͛ͺYou can have ....... !! ͛ͺ1) Regular crosshair !!͛ͺ2) Big crosshair !!͛ͺ3) No Crosshair !3!͛ͺchoice ? !ͩ! D * &1RK!"K2RK!?"K3RK!"*^#V**@'**s#r*^#V**&/%!?}2>!!͛ͺ4 Variable Current Value  ͛ ͛ͺ$ 1) LineStyle  !:͛!ͪ ͛ͺ$ 2) LineColor  !:͛!ͪ ͛ͺ$ 3) FillStyle  !:͛!ͪ ͛ͺ$ 4) FillIndex  *͛!& ͛ͺ$ 5) FillColor  !:͛!ͪ ͛ͺ$ 6) FillMode  !:͛!ͪ ͛ͺ$ 7) CrossHair  *RTN͛ͺregular ÕNR{N͛ͺ is turned off ÕN?R•N͛ͺbig ͛ ͛ͺEnter value to change....... !ͩ!D *&1RN!@`O2RN!WC`O3RO!8D`O4R'O!͔E`O5R;O!͊H`O6ROO!kI`O7R`O!J*&́!1͑!2͑!3͑!4͑!5͑!6͑!7͑O}oEL}6/%>! ! ͛ͺ(Are you sure you want to erase screen ?  !ͩ!D *&}2*&!YE$P$***&! !͙$""!O$**^#V*^#V@'*^#V!*^#V!}oEQ!ͩ!D *&!*&!}oEQ*^#V!EP͛!" Q! }2*^#V!R*s#r*^#V*^#V%*&e.^$ÅQ*&! ͒EʅQ*^#V!uERQ͛!" ÅQ*^#V*^#V%*&e.^$*^#V!*s#r*^#V!uEʬQ! }2͛!" *&! EʇPQ͛!" **^#V*^#V&"""""**R!ELR**E9R!hI!yIR!b!yÂR!**R**R F!y**EʲR!I!y, !y!y,!ER!y,!FI !y*!!**4***@'!$!!.fz_T"k!*k!z(\u !s!y,!s, !m!! !m,  "i! !m,͇ "g**iR!**iR!}o**gR!}o**gR!}oEVT**iR**gR%**%*k#%S}6***&"c"e!0}2C!$!$!$*c"G*Gn&}2Q*Q&!R(!R>)!R:!!k!1e.͍ET!"E!1}2DT!0}2D!"I!!PfzbV"O*D&!0*Q&!}o*D&!1*Q&!}o}oEeU*I!"I V*Q&!R(!R>)!!fz V"M!R:*M!k*D&e.͠EU*D&!1EU*E*e%*I!R*e%!0}2DU*I"E!1}2D*I!"I*M#ÄU*G!"G*Gn&}2Q*O!P*D&!1}oEYV*E*e%!*e%*O#U!!!! Ͱ@!!!!! /!:M͍EʰV͛!" öW$!"4!d*&!:e.͢ =!:=!.e.=!:=p!do !!fzʪW".!"0!!fzʐW",*4!͟%*4!"4!!Pfz{W"2!*2*0+!*2+n&s*2#HW*0!P"0*,#W!d!!ͺ *.#W/%!dͰ !!!! Ͱ@!!!!! ͻ0!:M͍EX͛!" &Y! !$!"!d*&!:e.͢ =!:=!.e.=!:=p!dp !!fzY"!"!d!!; !"!!fzY"!!PfzX"!*+!**+n&s*#æX**rT*!P"*!"*!P"*#ÒX*#aX/%!dͰ ""**͙͛ͺCurrent drive is  )}2*&͛" ͛ͺ Change drive to  !ͩ!D *&͛" **͙*&r***͙>! !͛ͺFILE SUB-MENU....... ͛ͺ8 1) Load screen from a disk file -new screen ͛ͺG 2) Load screen from a disk file -overlay on current screen ͛ͺ2 3) Save current screen to a disk file ͛ͺ- 4) Show directory of *.scr files ͛ͺ# 5) Change logged drive !ͩ!D *&1Ri[$$/%ͷWÞ[2Ry[ͷWÞ[3R‰[cVÞ[5Rž[! !'Y*&́!1͑!2͑!3͑!4͑!5͑O}oEY8!!Ae.͢ =!e.=!!ͺ!:!ͪ !"!"*!"!"!!fzʂ\"*!͟%!*+))))))!P*!R"*#9\!!Le.͢ =! e.=!e.=!!ͺ!:!ͪ !!fz\"!ͺ!" *#\!!PfzN^"!!fzL]"!*+!*+))))))*+n&s*#]*!"!!fzʆ]"! *+!s*#c]!!fz^"!*+n&!(!!fz^"!:*!k!1e.͍E]!*R! *+/(*#ú]*#Ñ]!!vzE^"!ͺ! *+n&" *+^*#\!ͺ !,*!͠}oE\!ͺ 8!!Ae.͢ =! e.=!!ͺ!:!ͪ !!Ae.͢ =!e.=!!ͺ!:!ͪ !"*!"!"!!fz_"*!͟%*!E!Eʔ_!!fzʑ_"! *+!*+n&s*!"*#X__!!fz_"! *+!*+n&s*!"*#ß_*#!_!!Le.͢ =! e.=!e.=!!ͺ!:!ͪ !! fzY`"!ͺ! *+n&" *#.`!ͺ !*!P͠}oE_! e.!!ͺ!:!ͪ !!Ae.͢ =! e.=!!ͺ!:!ͪ !!Ae.͢ =!e.=!+!ͺ!+:!ͪ !!fzDa"!ͺ *#&a!"*!"!"!!fz'b"*!0͟%*!E!Ea!!fza"! *+!0*+n&s*!"*#Þab!!fzb"! *+!0*+n&s*!"*#a*#ga!ͺͺ  !!Le.͢ =!e.=!e.=!+!ͺ!+:!ͪ !!fzʮb"!ͺ! *+n&" *#Ãb!!Ae.͢ =!e.=!+!ͺ!+:!ͪ !ͺ !ͺͺ  !!Le.͢ =!e.=!e.=!+!ͺ!+:!ͪ !!fzyc"!ͺ! *+n&" *#Nc!!Ae.͢ =!e.=!+!ͺ!+:!ͪ !ͺ !*!P͠}oEJa! e.!+!ͺ!+:!ͪ !!Ae.͢ =! e.=!+!ͺ!+:!ͪ !e.!+!!fzxd"!ͺ!+:!ͪ *#Qd>!! ͛ͺ2 Please select print style.....  ͛ ͛ͺD 1) Small, horizontal with 17% aspect ratio error ͛ ͛ͺ@ 2) Large, vertical with correct aspect ratio ͛ ͛ͺD 3) Large, vertical. Exactly 8.5" x 10" centered ͛ͺ> on the page. Correct aspect ratio and ͛ͺ2 fractional representation. !ͩ!"D *"&!1*"&!2}o*"&!3}oEYf>! ! ͛ͺMake sure printer is on-line ! ! ͛ͺ.to cancel print press and hold any key........ *"&1R'g[Dg2R7g^Dg3RDg`8"" >!}2!}2*  * Eg!! ͛ͺSection requested not found ! ͛!" !!}2!}2Qh* ͩ!P͎ͫ !:!!kMSection͍EQh!:! !k!!:!!!!! **EQh!}2*&Eng!"*&}oE;j*!͒Eʔh!:͛!ͪ *!"* }oEh* ͩ!P͎ͫ !:!!kMSection͍}oEh!:͛!ͪ *!Eri!!͛ͺ4-------------- press key to continue --------------- ͠EWi!!͙!"!:!!kMSection͍* }oEʔh!:!!kMSection͍* }oEʔh*!͒E;j!!͛ͺ4-------------- press key to continue --------------- ͠E&j!!͙MPUDD.DOC͟)Ek!MPUDD.DOCo ! >!!Hg!!͛ͺ4 Enter the section number of your choice...... !͎ !"!:!!*!͒Ek!*Hg*!EojYk>!! ͛ͺfile PUDD.DOC not found ! ͛!" !SP""!}2*!"I!"G!SP!*I+n&!͒El!"E!*ER!*!+͌(*E*Ek*E!"E*E*Eʳk*I!R"I*I!PE)l!}25l*I!"I*&!*I+n&!͒}oEl!*I+n&!;(!;>)!;:*G!k!1e.͠El*G!"G*G! El!"GM11111111!;ul*!*!}oEl!"m*I!R!*G!R"*P""!}2,*!"!"!-P!-*+n&!͒Em!"!*R!-*!+͌(**Eʹm*!R"**Eym*!Em!}2,m*!R"*,&!-*!+n&!͒}oEm!-*!+n&!}(!}>)!}:*!!k!1e.͠Eʙn*!R"*!EʖnM11111111!}>n*!*"*"&"("***^#V!}2**^#V!E}2*&!͟%*&*&!Zk"*&*&! m"***^#V***^#V}oEQo!*(sÁo*&**'***R!**s#r*"*"!}2***@'!: !MFill !}6*&Ep!!*ͱn*&*!}oEp*!"p!}2o*"*!R"*!͒E=p!}2*&Eʌp!!*ͱn*&*!}oEʂp*!R"Ép!}2=p!: !}6***&""""!!+)*s#r!!+)*s#r!!+)*s#r!!+)*s#r!!+)*s#r!!+)*s#r!!+)*s#r!!+)*s#r!! +)*s#r!! +)*s#r!!3%}2!: !P!: !^MSolid !MWhite !!: !zM OverWrite !}6*"*"****ͭp*"*"!ͩ! D * &}2 * &SR`r!c?ìr5Rtr!c?ìr1 RBҬr*** '*** &!!͛2****ͭp****ͭp* &!B* &!E}oE!r****ͭp**E(s*"*"4s*"*"**ESs*"*"_s*"*"!P: !!^: !!z: !}6*&Eʶs!: !lMHollow !}6***@'****d'*&EʇtMReplace !!: !^MSolid !!: !PMBlack !}6****ͭp!^: !!P: !!l: !!z: !}6***&"N! ;"D*DRtM sliced bread*N1vRtM apple pie*N1vR uMsex*N1vR5uMBeer and cheese*N1vRUuMpuppies*N1vRwuM chocolate*N1vRŸuMindoor plumbing*N1vRuM Mother's milk*N1vRuM toilet paper*N1v RvM Rock & Roll*N1v R1vM no-wax floors*N!"͗t>! ! ͙͛ͺ Enter any integer.... !4͎ !4:!:!2*:!Ew! ! ͙͛!" ͛ͺ Number not big enough ! !! ! ͙͛ͺ Try again..... !4͎ !4:!:!2Çv! ! ͛ͺ Make certain printer is on-line  !ͺ! " !ͺ! " !ͺͺto: Greg Jackson !ͺͺ 1616 Capital Ave. !ͺͺ Madison, WI 53705 !ͺͺ !ͺͺre: Pudd (PUblic Domain Draw) !ͺͺ !ͺͺ !ͺͺ Dear Greg, !ͺͺ !ͺͺLI just wanted to send along this little note to let you know how much I like !ͺͺ0the Pudd program. It's the greatest thing since  !ͺ!":!ͪ !ͺͺ . I am also !ͺͺenclosing a check for $ !ͺ*:!& !ͺͺ3.00 as a small token of my appriciation. I realize !ͺͺEthis isn't much but it's all I can afford at this moment. I'll send  !ͺͺEmore as soon as soon as I win the New York state lottery. I promise. !ͺͺFI understand that since my check is for more than $8.00 I will receive !ͺͺBthe next version of the program in the mail as soon as it becomes  !ͺͺHavailable. I have put my mailing address on the upper right hand corner !ͺͺGof this sheet. I also realize that the program is still public domain  !ͺͺFand I might find the next version on an RBBS sometime, but sent it to  !ͺͺDme anyway just to make sure I get it as soon as possible. I will  !ͺͺOalso feel free to share it with other Televideo people at no cost to them.  !ͺͺ !ͺͺMAs a final note I have a few suggestions and comments concerning improvements !ͺͺ3and/or future features of Pudd. Such as .......... ! ! ͛ͺ&Now fill that sucker out and mail it ! !!)fz}"2!ͺ *2#ë}! ! ͛ͺ press any key..... ͠E}""*!ͥ*!}o*!ͥ}o*!}oEP~!}2!W~!}2!*!&"" " " !O$** R!E~** Eʴ~!hI!~!b!~!** R** R F!** E-!I!, !!,!Eh!,!FI !!,!!,!!""*!!, !, "*!,!,͇ "**}E**%**%""!1!!1!!ͩ! D * &}2 * &SRx!c?Ā5RŒ!c?Ā1 RBĀ*** '*** &!!͛2* &e.M S123456789Ͳ!EE!,!1͈Eʪ****]~!**R!!**R!!,!, !,!, F ! !ā****]~!!,!1͛EE!,!͛E%!!!,  !A!!I !***@'!,!,͈EŃ/%>!!͛ͺDo you want .......... !!͛ͺ1) a full circle  !!͛ͺor !!͛ͺ 2) no circle !ͩ! D * &!1* &!2}oE$* &!1Eƒ!,!!I !**!,!,|!,!, !!,!,ͮEm/%>!!͛ͺ6From the first point given on the arc should I draw... !!͛ͺ1) Counter Clockwise !!͛ͺor !!͛ͺ 2) Clockwise !ͩ! D * &!1* &!2}oEs$* &!1EZ!,!,E!,!!I !**!,!,|!,!, !!,!,ͮE!,!,Eʡ!,!!I !**!,!,|!,!, !!,!,Eʡ***&$* &!R* &!}o}oE!ͩ! D * &}2 * &PRt*! !**:2WR„ͣOURœ**XR*! !!!?DR*! !**4LR** ***g5AR,** ***QTRD!!5PFRT͂oBRh!͕qER|!͕qCR’L8$SR¦!c?5Rº!c?1 RB*** '*** &!!͛2 /%8ʹ5}6***&8!?}2 * &!Q}oEЈ͠EH!ͩ! D !ͩ! D * &}2 * &GRw͈PR‡yd͈FR—Y͈WRª2v8͈HR½' prompt but not know it. To force the machine into the alpha screen just press the 'alt' key while you are holding down the 'shift' key. If you do a reset you will erase the screen. If instead, you start up PUDD again you will probably find the drawing still there. One note, don't use the shift/alt trick to try to find out where you are on the graphic screen by flipping to the alpha screen. The Xpoz, Ypoz positions that are on the main menu are only updated when you do the proper mode change (ie: (R)eturn) from the graphic mode. Section 14 Techniques for drawing The combinations of modes, styles, and functions offer almost endless combinations which provide a great number of techniques. I have included only a few here. I would like to hear more from users of PUDD. To reverse image: Set fillstyle to pattern, fillindex to 7, and mode to overwrite. Now everytime you draw a box you will get the negative of what you had before. IE: white is black and black is white. Overlays: Using the file function of Overwrite screen you can create templates to draw within. This can serve a similar function to the boilerplate approch to text editing on a word processor. Section 15 Curves and other round things The (U) function will draw a circle or some portion thereof. The position of the crosshair at the time you begin the function is taken to be the center of the curve or arc. The curser should then be moved to the point where you want your arc to begin. Any key pressed, other than a curser movement key or curser speed selection, will serve to select the beginning of the arc. This second point also sets the radius of the curve. A third point is needed to find the end of the arc. This third point is used to find the angle but the radius remains the same as the distance between the first and second points. If you select the third point at the same position as the second point (ie: arc begins and ends at same point) then you will be asked if you want a full circle or nothing at all. Respond to your pleasure. Arcs will be drawn ccw or cw, according to your wishes. There is no default. Section 94 How to compile You should have PUDD.COM with the other stuff so it really is not necessary to compile. You will have to do it if you want to modify PUDD or if you just want to see Turbo sweat it out on a medium size program. At last count there was ~2600 lines of source code. to compile 1) have all *.pas files on the default drive 2) load Turbo 3) set (O)ptions to (C)om file 4) set (S)tart address to 2432 5) set (E)nd address to D942 6) set (M)ain to PUDD 7) compile The only thing that is not obvious is the change in the start and end address. These values are used for the TPCI (TelePort 1). I have used a big array in the print2 and print3 routines (see pudd-04.pas) which is put between the pascal library and the beginning of the actual pudd code. See your Turbo Pascal manual under "Execution of A Program File" and "Absolute variables". It explains why you should move up the start address. I have found that sometimes the default end address will be moved down when you use a resident extension on your system (ie: EX.COM or others). If you find that the end address is not at D942 then move it up there. Turbo will look up to find what seems to be the end of memory. If something is in the way it will see a system that's too small. If none of this makes any sense to you, don't worry. Just do it as described and you should not have problems. Section 95 The cartisean set and aspect ratios If you remember anything from high school math you will recognize the screen coordinates are like the coordinates used in the first quadrant of the cartisean set. The lower left corner is (0,0), the upper left is (0,239), the upper right is (639,239), and the lower left is (639,0). You will also remember that lines between the points (0,0), (0,10), (10,10), (10,0) will form a square. This is a fine theory but there is a problem on your computer screen. Since there are so very many dots left to right and so few dots up and down, the points I mentioned will not look very square. The aspect ratio of screen is about 3/4. That means it's about 3/4 times tall as it is wide. In order to make a square square (or a spade a spade), it would require 3/4 as many dots up and down as right to left. Let's see...... 3/4 x 640 = 480 Now the wizz kids out there will be quick to realize that the pixel (dot) height of the screen, 240 dots, is exactly 1/2 of what we want. This makes a square out of (0,0), (0,10), (20,10), and (20,0). Another way to see it is that 2 x "actual horz distance" = "actual vertical distance". For this reason the curser moves two dots over for every one dot up or down. This is true for all curser movements except when the curser movement speed is set to one. If it were always true then you would never have access to half of the screen (every odd dot). You can check this out by using one of the diagonal keys at different speeds. At all speeds greater than 1 the line is pretty much a 45 degree line. At a speed of one the slope is much less. Keep this in mind so you don't muck up your drawings. The stuff you put on the screen can be pretty useful but not in an exacting technical way. Normally any technical work with a computer drawing program will be done from hard copy. Since we don't have any fancy digitizers to play with the hard copy is what comes out of your printer. With this in mind you should be aware that the aspect ratio on the small printout is not perfect. We have stated that a block of 20 x 10 will be a square. Lets call it 400 x 200. On the small printout the aspect ratio is about 17% off. This means you should not take exact slopes or ratios or other relative measurements from the small printout. The large printout has a very good aspect ratio. You should find a 400 x 200 square to be square on your paper within a single printer point. Section 96 Purpose of the program While this program is generally useful, it is not going to put the MacIntosh out of business. Nor is it going to keep me from buying an Amega as soon as I have the $. Drawing is only one of the purposes of this program. I began writing PUDD, not only to get a drawing program, but also to get some practice in Pascal. I hope that others get interested in the program for the same reason. Recreational programming can be a lot of fun but amortization tables get a little boring after a while. Since I find computer games about as exciting as TV's Bloops and Blunders, I had to find another outlet for my programming energies. Pudd works well for absorbing personal energy. I would like to invite you to get involved in PUDD as well. One of the nicest things about a structured language like pascal is that you can add many procedures without having to deal with, or even understand, the main body of the program. While this is frowned on in many circles, it is often the core of recreational programming. There is a lot of room left in the 64k memory. If you want to add a special purpose feature to your version of Pudd you need not read more than half a dozen short procedures in order to gain enough of an understanding to write your own procedures. I invite you to give it a try. Graphics programming can be fun. Section 97 Turbo Pascal Turbo Pascal is the greatest thing since a pocket on a shirt. If you have an interest in recreational programming, or any programming for that matter, but all you know is Basic then you need Pascal. I will not dignify Basic by trying to compare it to anything else. One might as well compare Pig Latin to Shakespeare. If you need to come to grips with real world computing then Pascal is a great first step. Pascal is the best introduction to structured programming and provides an easy step to `C' (the language of Unix). Turbo Pascal is an outstanding value. I started programming on CP/M using MT+ Pascal. MT+ cost more than $300 and is a pain in the butt to run. If you are considering messing with Pascal, don't waste your time on MT+, JRT Pascal, or any of the others. I have heard a number of rationalizations for stealing software. Most of them are based on the high cost or low quality of the software in question. None of these apply to Borland products. Get Turbo but buy it, don't steal it. Section 98 Source code The source code for this program will always be available. If you have PUDD.COM but none of the *.pas file from whence it was created, you can write or call to get the complete set of files. See the beginning of the PUDD.DOC file (that's what you're reading right now) for info. Section 99 Programming notes The source code is an amateur product. I did this as a means to learning pascal. If you, as a more experienced programmer, find fault with the code; I would appreciate your comments. A primary consideration in the code is readability. In a number of places, this objective was considered more important than speed or elegance. Taking a top-down approach, the primitive graphics procedures are usually called indirectly. These are the things in files Tools#.pas. They contain a lot of machine language inline code and are not easy to mess with unless you know a lot about the TeleVideo and machine language. The most extensively commented procedure is the print routine. This was done to help those who need to modify it to work on their printer. If you get a modified version working on your printer, please send it to me. If you cannot do so, drop me a line. I will try to collect versions that run on as many printers as possible. Other notes: There are a number of places where trig is used. If you have not worked with angles in software before remember that all the functions work with radians, not degrees. If it's been a long time I'll prompt you.... there are 2 pi (about 6.28) radians in each 360 degrees the slope of a line is (change in y)/(change in x) the inverse tangent of slope yields the angle in radians While inverse tangent is not a standard pascal function, it is part of Turbo Pascal. Thanks Borland! The code is sort of a hacker special. There are a number of global variables. I tried to point these out where they occur but I might have missed one. Don't be too surprised if you also find an i,j,k or a temp declared which are never used. There is a bit of order to the include files listed in the main file, PUDD.PAS. The procedures generally reference those above them, as the order of the list would imply. The files TOOLS# are the most primitive and contain direct references (through inline hex code) to the graphics procedures. As you look down the list you will see general procedures that you may even want to use elsewhere. The files PUDD-##.PAS contain the procedures that the main program calls.  of a line is (change in y)/(change in x) the inverse tangent of slope yields the angle in radians While inverse tangevBPUDD.PASg o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefUF&JLܢs~$xJt$ViEQk9n$tVZiq[yQO+VO3II%1qm?|}AL4jYǀhLu~j2Cb,:gGBvi$EhZim QHH{T|Q>z#a@RЌ &35% p~$J/7d\z#ax|I4bZD4&NO:L=Z(b9%j$ qK`0<@ >W4D~ 7ǟ(/+,!B :Iqj"K /O|VZiŝ$փK oO೪ㅥp3l\CjhF%j_X* J/4KF€KXo$ {R* $p O+_*Q4XeL[O < dJT-6n=ndgŋ jDX-%xȔZ:4Y;F1غ#R7ʚo< dJT-uhvbk}!/..%xZ>g`hKU46($ Tj0Gi`CP+ dmqiC*QGZipof,)Uz@&4RH`U+ Wda2>[J4)~u8"`bA0 V]K}?M49@7.9ul TZiptWRD+M3W؍~!认t Z/%xȔ K$ bHn'&tюVݕn\rfrO]AX^Qwoɖ@u2ϥO@ˁ K"u4qK,;I} >OLNi&p_*tΠDy4k$m-R qKU7k}a? e >XJi >.g;Zip%]I~$e >߁ߟJ;SOb=61$ KYV31;e4&N/Ouؙz*y s9|Vm۝h`bw.%j+q3FӸk4x.A`bϛD &QiܒOHio\9"G{e䈔_2rDJ7#57&ZF 4xi&Qܒ<+]I(nIiTܕDjlEq0qW€l\CE vb1:zqx$}Jghϯ%#Zy H^i|i&[+]ݞ`(m Z1nNi'RXXoP+ _Q,%~&*+ $ﶴ+O) ?` ZO~ao6+ {ZyWƸZEQ?hkEr_}`C nWi|?]IdklEqKU˽m QwF'qH)V|o4x~%68U<F)JW',om_T-d8Ac(zpd%CaHZi |C?w+ _S;;IR<$WswDwJiNr̓ZEQ?hkYO~unOYhs5j$qPXp_+ WGxg6NWDJMS+]sOO61XED6 obB6baN<Ģ)Q)HF SOO GS)] q  C;:P+a<=U5T, YDC۫ͫ7%&JkXH_>;=UؕĔP+a@6/GdŽ~ tz)?5T, ᵉyƖJ Aiy,(?80d pُ!]K 4Cbbf,J0d |-K{h lv\4mfˍXYdu8N^d5^41[$m.+6n=nzT^̖W#:p2=6n=nzTϮf+wXYdu8NVL7nW* g׳zD+`eMdz8Ymz2ݸ^4-_vi:L'[O+{=Zƭ'Ӎ[JP,;]LJly'7 +r JTZJJ?RiK E4ϖ3Qq`3QW* g͖3Qq`3QW* glCo /(ʚ&֓ivRinʚ&6C6`iڸdqRiPJP/h Uǻ$B4ST* ?@ABCDEFGHIJKLMNOPQRSTUVWF5UGOY-%/ Bг!|ɢq*߼D ,>ExEGggiC>E6Hx RggiC~|цQLde9)]b<r4)hkrU4wag R)9U(hSwagy R0)9UNd9EytA |FDU45*ETW;ڰ3<)Oc|MFQ>o~GvFQ cQtLQ.H~@9U(hSwag R)pADU45*ET~GvFQ c@T}:h R)pADU45*E@(߼*n2(xm lKA nQ5j4xYSu;߼FD%sA(zv6#WWWwyf/'&[ag(_c/=7=;K(oAc=;KG*CX΢<0 ;I&nFm/3.HF7/, Ţ RQ۱m/3.HFq~Fn~@FUѨQ˚'4%/ Bг!ˌĎ0{9!5";FQ~nM҆|4mb@҆*цQ$YYE_E6엙 ZAEXE@囗Vcb)V(6엙 ZAEXEhԨQ˚'slhnFUw4)aj|x&ɮI`tGvFN>}4X}\YYExҲ~ t;8*EE閯nnnV(絏F1vQLvQx-(kNikD[I\(kN靫hD?`b>J~@}߲:tҳT~@ ԬF=EDhA nQ<)F1nQt{h2 Y)AU4JF5:z–.PxU>e[&mm$&QS-ggiC>цQKQ>ٖdh_EӁmmP5F`[rؒ=U4 1v0XKU%{`G˷h\lK[v}gLv]" @m]-9lU4 1v0˝]%-;ZagLv]" @}܉Q-9lU4jSm޳gh*%WEFU~ tz)?5T, ᵉyƖJ Aiy,(?80d pُ!]K 4Cbbf,J0d |-K{h xҲ~ t;8*EE閯nnnV(絏F1vQLvQx-(kNikD[I\(kN靫hD?`b>J~@}߲:tvPUDD-02.PASg  !"#$%o&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefJ*uC1Q.%zciYNI/bwChXL3)80fb)8%ѲFg0|pJe#(N/S5$zah䌙g)S-AqzmryDFPtE0|pJe#(N߰ZWh`lEk|pJe#(869?So ph@s1&0h S`=|pJe#(.&zh~{DFPL28%Ѳ=0U0|pJe#(*8%VЋM )O  YLta{DFP\)lNIlyh\)&YJIhZ6gsblEW+-ALSd+v[4 )^ln8 NIlE)25b[>)^lb=<NIe#(qLJ(~ٻǧ3@FPѣ< cWX\=FyĿR@FPѣ8%lG3~$Bh\%cqENIe#(Q0!P@@FPѣ #$  K@FPѣ3! Y) le=ʟρY($вm(|pJ-AFg< ]=U:΢@NISR 놪c&H&DU&F1!Fc)9M bmAt(O>Eh4VPO8%P LDۂSӔ#S1ѶUÿۧ)^ ~؝$N3) c9M:%VNI%n:f-L)(̒P>;%Qmz(_ ꉝ(6MD/D/1+'NibTF[M)yX%q30K0D/D/SLJBI)U*mpJajbea NI+-G>@3bea~DGVI3 Q Q($*䵞)뢈YPL2L0^^$ʓN'ZX% zbf) lı&2L0bNISRI%'pyhp|GLi4VPO0#`)yX% q 4DGLzckX&8%fS [9%VNI%n:fŒD10fbiՋ&alN*3}Ecv)^ ~w)/%b@&!Ӷ|SzP_$Z6f:$z-b룡>NIlE IEGNIZ&GC}h2F ANIZ&GC$8%ѲyM*-|pJB/6>).nRD^lb}4ԯS-A? uM*:ЋM[pJe#(7Z8%kx^DFPMMCSLOTL-(8%ѤTL-z$k?N/g¸l*Ώ ci&0oRQ坒Xy&{-U) s?N/g¸IEpwJȏ ci&0/nRy$qza,<=,nRy$qza,<=7Z<ܤNIXy&{ m-Sd+nGM*wJJ*uC1f$vq cTg ^'T41TL-c%vJ7VIf+5ݰ;NIZ&C NIlEa,Ys&Yh[>)^ h/S-Ao:#$z-b룡>NIlE 5NIZ&C*8%Ѳ}i>SC50m NI4 0m ^) ڏ cTgo:#;%X:Y3=95OSd+nGM*wJJ*uC1f$.41&癘gohb>"8%bmA.S@J4L_ѬXypJB/6]pJe#(k3fb@bږ|pJB/6>DFPu;n}pJB/6>DFPΦ)^ hS-A_%!NIZ&GC$8%Ѳy$*ЋMh8IB͈]MGU)^ h/S-Av)8%P LDۂSM*LDۂWJޏkc[NI~^ۊqzmr~l+Zcc&Ƕ5=.?VƸǹSG~^ۊ8rJ&Ƕ5=8%܏kc[ϝ [9v[>jRASlTRI%'0#q169yՋ&alN*3}Ecv)^ ~w)Mht\Iږ|pJB/6>DFPu)^ hσS-A~ͩySzP NIlEt4>8%P LDۂSM*LDۂWJ|f{7䝒qzmr>Y3=95OSd+nGM*wJJ*uC1f$ibL߰ZW4|BEpJNLDۂ06]bzci晾Yñ D^lb}?ԻDFPok]QĴ-D^lb}4ԗ)4ɩ!ЋM<8%Ѳ.SzP$Z6 A>8%kX DFPhJ\NIZ&C*8%Ѳ}i>SC50m NI4 0m ^) ڏ7laIN y$w~a#赮읒 AuEa#;%6^0?Д Q d+J*9aPūqYh88%ڙYFcN*O̒0Q%9%qyhpw<8%kX.8%ѲFI]3ЋM28%Ѳ} aЋM<8%Ѳ.Wӣa]]2SzP$Z6 qʺ(d$z-b~hi}pJ)U$TA|*'jgfI8rJ|DrJ~*'jgfIxrDl$ʏ%a)) n&;%WE ,iX0?DaqO̒0ֈE ,iXOrO28%VNI%'0I%+YR4/&FyTL-tJ7VI<ҕ) bmASLJBIg ;%Z&CZ6GtȄd~OS@FPNI-AѣR\K31τe#(80fb)8%lE.X:Y3ʏ>lX:YspJhˀkL3k6NM31Z6G)IrJ*J*JNX7T34S8%bmAtU)Ot+rJ\4D^lb}?)̄>Fq̄>F Nh3|pJ)U$a/TPd*&0+0m ~!:J8Po(ON3%~i9%Qj}DrA(v[4yZLRCS*򙥵wJ|>K{xD쵞 gz928%Q>;4颥NIVJ|I %Q4+XZ |MDZ YYj~nwJ|dVX%~7,g֬ :bk}u$g-Aoec{p)PvK lAtKwJ|vX%QZO酎3gz(ko9Mhi-CnIFDL/1>K ((O 3/xёEv[LE5V!4DG`wNI/$GMDZ NIZ6_$ʗd+$c+LMDZ NIl$(|f5X+4FhF:)!KЌlE\@YwJ-AoSX% 3gzd+JNX7T3̺YҰy=rh88%mWWdE1#` l +Wabz%$S-ަS@tcьdL+uQD) :R@eV+b mW)AtĬ[dm{b4]=AtL4L\I#tdN@38K+uQ :BG* AK'%Lӡ QOWWiS}uEV8P-RQ_]2 S@鍅^!Y%,m+^iEL-NI%m Lo rU EBb-&HOWWi8HFʓmH!B!W+)ĠXA=Szh)yX%aV3|X>@tdn˓)0M q~:@tdDy": oO.QmLa'S\(ODG"a= ʏYۙD+ TS RH${$nD1^>^>0+^;uȢ<ݖ'` LICt=$ʓ*H${\n9ёHv5;[A3.'ȊwJ¡-1[LF(HcwJX#]2 a}L/SlTR,-8%ѲV- I=|pJB/6>v)@tdn˓)0M q~:@tdDy": oO.QmLa'S\(ODG"a= ʏYۙD+ TS RH${$nD1^>^>0+^;uȢ<ݖ'` LICt=$ʓv&PUDD-03.PAS_ o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^e@I"̈0վ|)b)Xh1\4&xB,4ׁ+VS ʗp_tDS3Ԓ;D_`F9dR&j4h`h1z#@"RkOɤLo`P`{,g%X_M؋Zt`{|c4Zt`{|Qc`/kqZҁq3a/bt`{|i3( x%^՘Zq`W7> `W ->nVVL>U*Q7+ՍѨ1z#V9 bNW7F`W(ہFηCVF+]&ӍDml$*]IOVFg嬄;jS+ΉkQkXޏ *ƠbX^> ``WEb{_kC2]]MCL+U53 rwlPopPG|2T)8=S+4g^crRVH.Gw#ہ! dRUE>CBr99 a_ fD1XԿA=Կ-+XE.g{IY$VԊc|;0v`ߊH4U`.Fb6MXmSC`<ΐ{V? Aᧃn+f#OYg^ÌȱyL8VߥA31D9+aFήAB&p`rL8V~kz⻫ ӉN'7g `?> `_Y~,?;S+ΉkhL Zq`?]eC\M ӃϼF=D9+Y$\XԿA=Կ-fOw4 b)b$E <17F FηCՍѯ+Ki 8TH.GWk Q fDn Qc\;ŘZq`wW5TO| `/1<"VXbŊx`քdbZ̈ M`<rGh$dDȩI̠`S>_ûdD4d{!.5HS~>_ۏVS ʗX6t9jqZҁOakqZҁ8g%X\] +P&ѠEr8 Ԋc*C ٤ pJ;4ͩ˵wiN}cS?TKse 3"`+Ҝ)P+`P( Zq`WĴ:MGj#NsCL+UQZםH<\˚p.q [h`JU`Ҵb;xt'UGx }b\Z E_L08=S+SCL+k\D= 3hJG8S+72qmro6MX^lrz8:]qY`{x A= l^wちqTVԊcv4kCl6+yX>#VOQ8V ~Z u'$N.nM+cry`O6)]ԝH< <"VX5O9e|aFXh"rGh$#Ĵt&w^\XԤefHF0)A"vv~+ؕ81NQ`ڈ vbu'$>ײ&ܢK¥9-3RX4E2݉ģ;ɨ `Wg8B= b(7ePāZq`OܜMCHy;eT6;Jyw"N2x4*zI`{x x!}y@aVcjűhbq6Aa/;lP8P*F~+gcjűUہDJ^N.nMJn`+ۈ?ss6 U)v`tn&ہ!lX^lrz8:]qY`{OqI`{I.`qʦ49VE#u'$*@.+VS ʗ0J-kA-PK Ix2xeM@]`OܜhYP1X_AX4,B|XjM ײ&HDYVx2xeMxXj}eMZ uOFO b+Qr-!ײ& )8OܜhYSXaPwJD˚ 7}w EgNiqeM)-k+y?+&V~<_"$Œ$S ʗx 3"4r0@"Vk#3J)HFj_P4!RF|x`5վ| wQ ICSz Qҁ՘ZqBV4dX7}7 Xh1s;~ӿv+`Pg6>刅&rh#!xF2gG B CJX~^aSXh"F9rGh$#|kY;KB CJX~Q1 RkrD#!xF2* Xh1/G~\4|],4(U`,\W ZBۖrZTV)85ũw (R$hS"7S+81NQ`{Qt+؋MGis `/6>%<P>/Oy`|Q֏iMCY?kD˚٤ XwvUH84ũw Yٗ˾|Q嗲/? P7("VXbEt4>8%P LDۂSM*LDۂWJޏkc[NI~^ۊqzmr~l+Zcc&Ƕ5=.?ډN.nMJn`+ۈ?ss6 U)v`tn&ہ!lX^lrz8:]qY`{OqI`{I.`qʦ49VE#u'$*@.+VS ʗ0J-kA-PK Ix2xeM@]`OܜhYP1X_AX4,B|XjM ײ&HDYVx2xeMxXj}eMZ uOFO b+Qr-!ײ& )8OܜhYSXaPwJD˚ 7}w EgNiqeM)-k+y?+&V~<vqPUDD-04.PASo o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn|D-3Pa:epK)!:Ɛvȧ2 )S@4#*sCKM1*9G>9M nLfDJMM2&8S$wO#?ӆ:EjZTp n 1"DuI*s$gxؒQG'X G"a=g/RӢu&_r*07A"<ޣ:Ҵ# 4d)΀-3Pw#"d)xd-!vHu&_r*07/E]t5TFFvnDJM"J9x? '{<3Q~KF$#TR#<|_Ц53Q: O ns m/J(1^6niGE"V 6F(QPjZ<|_vPЙ(n}Q h"ĸ@q|G[2 ܊1q-RcH-EBjG>9tF Q VLD:e$-u4# iN 9Z7Aq:an5̀h#B*!J <Ѻ$H- 7E%CCdISY#@*B3A"*ء8w QvHXϙfOMcG M,5 Mt 7,"i,bJӢQe(2s&)E3a+ۤh)FeF f΄IWZ8bE0OK2t)6|D5TFq|_槇wS#t&>xw]tz_A2Klvr nM`'hWDCg%dh%4&G>#(Әx]\sk\sQ$ޙD❹IJiL|ܸaHZOWMt|V`7 I+!VD aO6%]tz_z[BgL"J;$E2KsY8 [JX%4f'FXϙz a=gz k:'#?{S\s Ylg[p#L}F)#|l;6Y|z0*ءNnp#tSpƢqÐb=\k\,(d2ĄD5nE]X4x#g07BXm;:߮R* Hfi4 C757&Qt\V<|_nM΍FV<iG~FHn4ĸ¶>xj&ȕ&)<54tok1xj QvxfRaF Xm;(ToV{`"_ rK0x#g6؂NP]Gk/9! ݛ3JMy`8w QvHXϙp<3|j-4 иn4JMyy]`%E>=e!kdH$~#fyQvLR7o-zW%E$F(vNk=iG>"=,Out&-6E`=g`D||0˯#i:e2|LyS+Q1YiXl>xDJfi~N[p#LHʔ tqqÐ"">5EG!ij{œ׸IYQD -ɸe Sek0$>xt&ͼ)>xu8x3QnM!6LySWe6#g Vwޣi,(cADW#? }Ǥ5xS*G>^X4x#g6؂i,xRIdTY r3o aΰyg#E<7 I+V\l{|M]:F ӲD5nE<7 I+V\..=f([B%$FiZcb´,wuOZ2 L`"53Q;$ŋ.:wOp(d3aKLݔ1R\ )QS^6[t#CҊ fq=dHcU/(_ 1$"a۝oOQIDžfÖ0- /Fap&D*x" a""a۽pQ$! x^@4SHD%GT127`EǠԴx-c@I+R)Ǘ_[2T2P[  n 1"57*#rbHy2KӇ-3QvSk&DHDq:Pב%v6Ee;&2 02c3D7ix|rn%(EO/T $¦:Ƥ%D1MQ _ߙkNЙ( g䣕(Ә3QnM!Dd}ǝe+Q1YL(tNoaAlHDLySV&#R<Ƣ#9``Mc:"J7[Xm#"o:f|9QjΉ2G~@ZG>&}Hkƈ0xe;=򃆔bQe h0$Xmpq~WW9.,M$RJUa&&Ly׸aHZ}F Xm;Q]ȧk|<1aZȻ3"J7rkG>%}7 I+V\..=YQD -ɸe{p< ӲD5nEY6Giw< Se01aZȻ3l#,?hH N-!U(Nq< CҊp{Ops\NDb-u4\%`b´,wu` [`&&L@( iDq<Ƣ#OL%imDҍZ,OIk< CҊp'qEВ[a&&Ly׸aHZ}&&LE%@~#Y˭DHU`&qӂ[5;0xL`ٙ(768/ kwF1R]qÐbGǃY>.ud`v#gĄiY"7 I . O^ ,EbpK(d2ء(M 0xLL%qÐ.ѸaHZ^`^܃#%3VlQ]ĄiY"7 I|g:5BgG`;jd}kXlcݗ~/11a*x >x|IpRt%4&[?J"J*oNOeJiL|4t*oo#T+Vk %G>c* Jhh1rSXm0J%R< c(H}0ˑ4ТF%TFxr$4 #i,<ݱcn{G;1aZ)RdPV|?[#ߝ0->x仕J/Mb۔1j)#OD xMcR-I!M(-"J% hMc_1 V4/(,_=Je4t;}^#TiYDim>xW2B)6pK<V6`RGSe)>x@`/#S% kܒ|:1a*,:J<|*Xm ¶TFP>-GRH@% QE#)i]E<򩌠"Jܒ|wbTtYDi|*#68?#i,<ݱcrxwx|wb´<(F\8e)cE<]c,4b|wؽ/6ȕ>x仂>xc`,uevwo ^Rlgxr$4 Rl\7_Qmw%5,Np>-GRH@>x@F԰8=4xk|:v}Yn/O'&L˳b5S>9[#uSe)yg#>xӱcr;G>m+}HkI!mI>xS}F~e#QB>ZE6V[[5Eb.ڝ=gl(/Z0(qMXxcTLCG>԰8}:`|(%^RtɢXFxI ӧ؃[KJ/ڽG>*KA }i T"i,{PV|?[#NLE-GRH@% QE#)i]E<򩌠"Jܒ|wbTtYDi|*#68?#i,<ݱcrxwx|wb´<(F\8e)cE<]c,4b|wؽ/6ȕ>x仂>xc`,uevwo ^Rlgxr$4 Rl\7_Qmw%5,Np>-GRH@>x@F԰8=4xk|:v}Yn/O'&L˳b5S>9[#uSe)yg#>xӱcr;G>m+}HkI!mI>xS}F~e#QB>ZE6V?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdtn $ BB@%ڀKB%61JK F\%T0QF|{[c)5)z&dmP2N=)H7wu<{W-f12|' aS2ٮgЊ2d Il'lEFwt=SĈmQڶedjxۊ2d o o; > 6R0uhS5Rmȉ?1vsM2j !'F3Ac]Gw91 U h'ԤLN*C`Nz (S\^n:P؀KBa*ԤL;Q;h'-`i!.`;g=(S&e]Ŷq)5)%wh'<5 ,%` 5)턷wiSx @ows8[F0QtDe,2:a+c{ -$91 l($v5  9bD):n煲T舌N%2JKt{rgQ ṼXuAo >N%x[xwQJ f7pīW-%:E^ qUxHW#$Enؚ` S!3`FQğw7 $s w5(%pI(# TK%Ԡ^CrA\Q]$!.{vk$bAC"dmK5QH°iA͌޻:YX JCxJdVi$[x![<5ʢ B(k_nߴL#m![Boۮg*$.S:q #~j@|. z%:wS$ZQl%hEFw˳Rҩ(mQ*huG2k4r;t OI5;7(mnVgSQ᥌%h';ihS }\u«Rҩ(m pJh'RwЦ.Wg J;HKK>Ę^oa,6TI OI\b7ϳ.EGA%!:E(.*Dwi($h 4ds:MKK>7w2kNs楌%NsxF-H;Ҧ@* (awuY{F\&Ζ.}!p{4Bq!\KBG4gY{{kjjPI ٢6ʢ Bm;ce-C\֤LzulEFwKpnBm~Tx(jR&{v9) 9)CmEvTuns-KBmMJeTEhD%agtMCh'>Za:7 % 4f0N !\\I`FsO(9K4;\Q]vs\@%!`1 y(JB0J^j,ͶTFYtA[dm{|ۏ[pIⲣQ;nWwK;yNrH@ޡ&eh'?;ܠ?wWw 7x%)R.-($);Q] lT9>1j, '{pQJ FYtAh r7OYT*k s{t4zҦ&e׫(.hu- 6Q]Ylno;eGw7h' w($qYeP;)s gtMCvX0R/ ]wg@eIrBsɶ)o+ ;nޭܟa(a06-e&dt%$r EmM3$9`]. ς1XSSwxnfa 9j_?ϭ(Hv[xw8[{(I\x(2Hlm_@;q$q6?@;*C\I@;q$q6 ;e? ?!.$@;\x 8[?@;s2Hlm{vBUx 8[?@;q$q6ϯ޾@;*C\&A6ZI)?3@{wu gtNE8|tnB;ጎùi#>JwT KR?KٜEbTf E@Gw3:wB;AB>PAB> cB0wH;(,vVd?mHR̂a*pI%* vsEW7\xu%nm D 1JSKBglC*Fツ,[(G+L!._rMwO8 SQ>Pé(q;,C|rF Ƣp8&[xp*JOM0g!׏wORghs]dW7Jvu`NV9!>9N8p*JwOcN8c >HwB;ጎ >Za:7 pF4Tx( m Q2$99Yd[9.at~(k;Ҧ__?m~ Izju/DcCGw+^ ނKR_y f01hEy7sc 般,࢔@mkc6Vɮ8l 96Vɮnjcs-0bc) Fa]n `7 e -eHBC(5{<3@X%UsvPUDD-06.PASR  !"#$%&'()*+o,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQM#Rރãl_ mxe5%{pP\FJNPlL~}Sr,AO9l_ ah4(L})bXCXb 6xXr< a!Ȅa$KNqGz!luYl,9B<  Lz!lU&7.B< ~"6%'NTc7?p^bSrBH5u~â tM S&#X#vaRǿ/~:Ʀ)j,16%'NTc)8|r)9ud}M S&#XadB0^:F A<cWŷ}yF\`L)9uT>HxN;#.Q` U:XZLX1'a5%'NTcG\fc}lJNh2Uc$VC0p;|ZLXgmζ)9ud}<vƀy,N ^)6%'NTc\Ъ1p4)6%'NTc<2z?G| H X(F"6%'NTcԄ#pee[AJ0MHXv#c 2aNŦ)j,џZؑXGG| `YoFL~*M S ڍ BowrV O`L3 KP{Ħ)j,q&ٶaV`9 vu :b(#XXbUcĦ)j,1q"289"#(Uy$]'X/1x`i>b*6%'NTc)9ud}|8L` wBZصȲz2aLtyqN3 ؔ:e2R>N+p# ›uu,:Ӻ?CSrB딩/IaL~e05PƷؔp`|N@H5:Ӻ?wM Sőřݫؔh9aV3mGTr"JN9yYX JCxrmf&7A]hؔ:e2R>Ʀ)j,16%'NTc)8|r)9ud}M S&#XadB0^:F A<cWŷ}yF\`L)9uT>HxN;#.Q` U:XZLX1'a5%'NTcG\fc}lJNh2Uc$VC0p;|ZLXgmζ)9ud}<vƀy,N ^)6%'NTc\Ъ1p4)6%'NTc<2z?G| H X(F"6%'NTcԄ#pee[AJ0MHXv#c 2aNŦ)j,џZؑXGG| `YoFL~*M S ڍ BowrV O`L3 KP{Ħ)j,q&ٶaV`9 vu :b(#XXbUcĦ)j,1q"289"#(Uy$]'X/1x`i>b*6%'NTc)9ud}|8L` wBZصȲz2aLtyqN3 ؔ:e2R>N+p# ›uu,:Ӻ?CSrB딩vܪPUDD-07.PAST  !"#o$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSud>OneنO2 sA2u,㡁p Ʉ{"d?܋uOsxXZ7{%.Se(gxhD| q3<4H\; $>Oners2 '72b9.HQ0j?@8I! 𩴉#ID Ʉ` , he%$Ʊq|b{㒸'dO)"D8=ɄU ؈'JqD,/65'udt7^c`Un?iaҲPEYzJ0<$$,=PʲQ9绩)~  $8ngb,NFCw|aj ([$ _~{Z9>u%bd([$ ^M| Mm:Q3d" $a9C$aaj߻ݼOMSݡ_ >`?5LoW`#*OICrb|(pOeo全ld /6;C2I*7el3 \y%6O$QԷĥQ,I&II3H&Ixo_F IRa,='5βlC@ r,8gg؈E $/逝wOhe$H\"qhAb>='w=sOx^:ҲPEH\q%y)0<.,], ǥe|a*Fqier=û9݀5q%k.v@MS], 3͹q%kD]*PFaw?9βw, $l[LK,x:Fŧ:2޵β4Q,QudVنҧ3{"8 } ]OFh]OﻞX_ƞX-- Uh8 60˗0բ~3Ëuzrka9y\;YZFQn3MQV\4p*J;XzJ0 2$ݡS QԷQE不 TY6m)ʊ@X6 7o`o!ǹ/{86劫@X6 R<([Oܗ:FQzHX[Ǒ(>E:3qcA%*MabGKTv%*(Ŵl/{,EOl咓]74[w3ZwFQ=E{CclSlGWw3)qYE}K\Op2 `bZ;Oui\__E 7MsAB?<'LSW0۴RdbษLQ (6D 8E}{Oe(+a9C*P  qu7n(ǒ 3BW0 Bp׺0ѧ#3ĿyJ .뒂 ޣ n]Rt>FQFPd6劫@Xΐ B2Bn_xq \"q'؀mW#ަ/BavJ;Lql#ҳeDimqv##~QQrn>v7ߟ,ۧP gKZQPd@jaX_mand} WwFaw趙(+amWH&6 Se(UhszJ*胏/]7<˦0 PqN,Ժh *'r 8LMa[n15HC@o})]7)8{+-_4Qwa^4QgoЀz@0 SKI}9zHMatb8fXLΣ[Ǒ0bX4QT>0 )#aŴdbo全lm)ʊ@Xΰ4EYq0`-~㩥$FQL8u뉅~쉅af 4Tyl f LSWQ-~3gLSWqmW%. qiB$ʲQ֕T{_P9qnxMa[n? > ZgYPgb8dB=bvPJΛfFTNq(Bbj𳛳_6Ң)]7)8{+-_4Qwa^4Qgo/giFxj)QԷR}/GOu)؀SlG iytb8fX 0 ʧ6FY!8d#qiHFQSe(G6eU |6劫@LlmWairU €50Ezq,K  ø4"EYqhFQf LSW Q-~3gLSWamW o(¨e+qu7n(qYWv9) 9)CmEvWH&6 Se(UhszJ*胏/]7<˦0 PqN,Ժh *'r 8LMa[n15HC@o})]7)8{+-_4Qwa^4QgoЀz@0 SKI}9zHMatb8fXLΣ[Ǒ0bX4QT>0 )#aŴdbo全lm)ʊ@Xΰ4EYq0`-~㩥$FQL8u뉅~쉅af 4Tyl f LSWQ-~3gLSWqmW%. qiB$ʲQ֕T{_P9qnxMa[n? > ZgYPgb8dB=bvPJΛfFTNq(Bbj𳛳_6Ң)]7)8{+-_4Qwa^4Qgo/giFxj)QԷR}/GOu)؀SlG iytb8fX 0 ʧ6FY!8d#qiHFQSe(G6eU |6劫@LlmWairU €50Ezq,K  ø4vфTOOLS1.PAS] o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\1>mD]zTYNIzO5."(;[TYs 0M_IzO7W ˋ%ts06X`at8(˻g9"XOM ?o$Z_˅1c6"H{?.`<߷W8 [@>mC 1|0QW*]?'H)pTxkh:xgZ_˅1c!Td$}ryo} ,NL |֚srq?߷x^eSC*Be ^~ZSp:/VP;CsuW] ~?(56 )3˜tR~M$bX;EqS#;Ӡv1j|BAq~qrCFHwY 5"hvPjlZ_rahH AIHb_^h߷.ƌ4$b_>~[_a| L+Y5.h<߷~ZSp:c|9&!35ƌ_"(56 )%Sboate5nMSS:bg࿶Wx[w1g1|C 1|0QW*WXi4Oe[c%{#Njxk(!+<71WIzO/೷ꜪO$'\3쭡LΩJ{ JJHSTT^%=go %d%N>N>9U1WIzO+[C Y ޙS$ Sbh!bhaP=UNy5v!ͭ mO5mOb6XxeFW>}ۃDo 8|yxGtXb;`^Y!W@~tZ] zC] 1>mD]z^ ]Mt<xH]cK8vZAƚ+k50FWGvH0W+ |GW~GtX]MLiM y7)kl73 ڿ:6 sySS&ɦT6!t^bBn s+Nw6A!wA*,AI{gd TM%.P\|9W+4Aq)J\"lj$=ŰûƖp:k`Bq)"Ii>פ>O&4N8W+4}-~k=NIzO128\P¼"%n !a aV(,] ˋ%6>B1|#Td4P _(8HF xؒ=N1|#Td@_&N1#Td`ÓCqljG2 JIA*w-;ੲ I![O8RJ=A*k^ oTvb@&MMn*PH/  DǍi!T 5 ajj$4 &>4ꦦJ)D65^anD&o|?OS!8&/Ěs+&|r qbPJS/ bqz*ab Sbh! 9)CmEv^%=go %d%N>N>9U1WIzO+[C Y ޙS$ Sbh!bhaP=UNy5v!ͭ mO5mOb6XxeFW>}ۃDo 8|yxGtXb;`^Y!W@~tZ] zC] 1>mD]z^ ]Mt<xH]cK8vZAƚ+k50FWGvH0W+ |GW~GtX]MLiM y7)kl73 ڿ:6 sySS&ɦT6!t^bBn s+Nw6A!wA*,AI{gd TM%.P\|9W+4Aq)J\"lj$=ŰûƖp:k`Bq)"Ii>פ>O&4N8W+4}-~k=NIzO128\P¼"%n !a aV(,] ˋ%6>B1|#Td4P _(8HF xؒ=N1|#Td@_&N1#Td`ÓCqljG2 JIA*w-;ੲ I![O8RJ=A*k^ oTvb@&MMn*PH/  DǍi!T 5 ajj$4 &>4ꦦJ)#vTOOLS2.PASc o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abg|a sDN*2\|bc(]@2A (ԉ<Df@3Zm >-| oA|l' 5&;~ҟT&cIށ/ծn2 `VPu&0ށ/=|Z?^߂'{0J%<׿oWށOo3QL#H2A-VScsQQS(茰wӟ14l09ŷ~{mn3h Fgdi l|$Q?C8Τp,)O * CpӂU5ꈬA4AT#n3ƒ?@3؎N㷣h|zQ F bT@ QQCim,AgQI!iCJ/>X#(BkY3 z^CT&E,R$x> Dnw?(λUִ/,m-|ߌsDI?_ށ/2d>O`|ZzlVʄ(|[Ce0_K| >-o'{JRػyw?(i)_XSōi >( ,U@gK"E w!uOE%QЌVu3fmSEPzlV| ~Z?^߂'{0JRػy]qJ*kZʤ!Yt.JSGv ~X茠C0kNa* w_+#J' wK$@".ژU&m@ee#Z(86ñcO( 8$}L6Q /PQ:,Ul3TFtrD 1 *ԑ-+*]!ZT1F,"6fG#z@]VQlX!s茠C0kTQl@T96D9_,wxZTK|a `駅Xʡ ,.$!ZDȂOK 46j1$@#1%d-]TZ6Dua fd zA]f明HT Z6!zrEu= SOK 47 Fژ|WzQ@eDsT<-<(M;A2:ԑŒ:#$c*Q$ 7 U mL=%E!ށ*DQ#;O%O4ud! f A/kAwR' <-\W& I. *"̚"@z=eFs Fs QPzjV5Mr`9#,5:#<JW)DO24A֨YLk|=o~7iEJW)@'ح|EKt?2b1-8wRcd3B8@6!ZAYj+RVL9xڑAsywQ_)fɼ_OK茐1M`Wzj5e!~%|ռEʁ~2w:#de84ށE ~Yj+_5m]Q1H90Sj'ib[ PQ,PzE2{<6ζȍw!uT&pIIT{Df{]Q"~ϔHCgʈd?ށ/ծnbT H9[3:2AQ:JͻH90O ?++C]eMK~'=E3~z.JSGv r!"lQi"AuDa>λhic\;G#J[(Mٱwߜԑ{wH(LLӟp;(mq1z4cJh֌Vu(R(R\?럌r9"<pKYz4{G*{W;oD&o|?OS!8&/Ěs+&|r qbPJS/ bqz*ab Sbh! 9)CmEv+_5m]Q1H90Sj'ib[ PQ,PzE2{<6ζȍw!uT&pIIT{Df{]Q"~ϔHCgʈd?ށ/ծnbT H9[3:2AQ:JͻH90O ?++C]eMK~'=E3~z.JSGv r!"lQi"AuDa>λhic\;G#J[(Mٱwߜԑ{wH(LLӟp;(mq1z4cJh֌Vu(R(R\?럌r9"<pKYz4{G*{WvGTOOLS3.PASW o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV:[<ѻ,Wd|G #ktƏ+di<=Ot3~p4 L3>p:6/ґzͰqotS{(Pe±7?S% Q:{  cd%l7Tz捳aw! qZ\=J|ůgϐ Sh7 cd%l^7Oy,w_;ΐ qطzy_>Uz捳a| oq?>oUKIKrEؤ| `b΂6}*l~@,YA"# pUtT!}*\lGţW1kvYP?9}*~@, fdKgAu}>=Nt}twaY,UDFfL6wt#X HdTzf$22c ZDFfL6:ߞ٫dd%l&oE6@ Hdh%`KgAu~}H@ @\ tZ!3&@KgAuкjrzS: 6&r5'M$2^DN [: օV#+PkB$ )^%KzY48m^Z /؀^΂E~-Z2c tT! F,W7:nкh/WCznDt .y{H@B4x&>΂|{Jg}^MN۴Wj/X \,ί h]4藫!݂@+ddu,CZZX@oJgAu~&u_TDFԋIdKgAuкjr{-?U^1£7@7:ߞ٫dd%l^$oE6,X e,ί h]4藫!QZ!3&@KgAuкjrzS: 6&r5'KD@YP.\>MGoc,η$*. eM{>0ȕ΂E~-; BfL6^΂=$uՈ tTmZMjHOLHdDAtT! F,WSC+0{,$?M@ߋ&o#E{KgAu ЏTmR:*lu3~p4 <6}gNөV 6(ñl'lxB+gA7Z5Zq$?|N@u`J`Dƃ {,$?M@ߋ&o#E{KgAu ЏTmR: L3t9:?gYvƏ1Ӧs:u~Jxf}ıbHvT[^h,1Ӧ9w~NY g9 )-/bM_}t|ͰAqwcv%d]c[^h,~3mJϜ}tMGoc,η$*. eM{>0ȕ΂E~-; BfL6^΂=$uՈ tTmZMjHOLHdDAtT! F,WSC+0{,$?M@ߋ&o#E{KgAu ЏTmR:*lu3~p4 <6}gNөV 6(ñl'lxB+gA7Z5Zq$?|N@u`J`Dƃ {,$?M@ߋ&o#E{KgAu ЏTmR: L3t9:?gYvƏ1Ӧs:u~Jxf}ıbHvT[^h,1Ӧ9w~NY g9 )-/bM_}t|ͰAqwcv%vsxTOOLS4.PASZ o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY֤mfї5g4Z}elv7J~y&}EsZ5H|P"HtY`ɍ@]z{j@8lwA$^@]zA|lw+ &'9@Wp>\(h)!T ?bR\˚+ ƚ=ZY@+c˘o61 J$4f8seVH$Y*.S逮~,٠l FpsU!T*SjL=KDR9$A6P|T:`S(EI dր{|mN=EuE^fր!_FЋT:`۵R v`0<5"?"hJSx =ˬuU=Ϭiu*0OnAgA9!~'d2k@E>"hjUcAŬś T pQzW-PwۘoRVˣ5))!όw밗\!4 B5)FK3*HkИY;Чvz__3kR"@g ),/B9v_5)K"@g*v];3kR#jN?b tӰg%`Ui]e֤ K;\h`=k5@\ h%XUZ@5)/A9g$zHJؽ}ˬI@WPuZqFK}_5)T$J WhάI@W#p: R+h)+&]@F0*HHB>x̚ tOPo$R+h)3&]݀w~!p: R+h)d2kR+GPoHnCԊ+4ZJ5)*j_V;8R WhzYY!HHa_c · ?u)KeH`u)Krfրά{VR+Ɯ1lb~wA6Hdi&p<<9H T7]]];OX A@$Bf U]Z՘z9Z ץrHl@g5"Aשt~,P= ɬyA)ۮzЋB:̬yCNr-vX@$ AEf OZ/m=B>@2k@E>"hjUcA3k@E~#hJS[YP"a$zH PZZ՘zP1k+C+\U ,T.曻zJ|m"a4U ]*PY*.~P1lb~wA6Hdi&p<<9H T7]]];OX A@$Bf U]Z՘z9Z ץrHl@g5"Aשt~,P= ɬyA)ۮzЋB:̬yCyH];+n C+{PY**֩tFu*m_@ "a$d2k@E=Du >ǶkТN@/3k@Emc~R>^ۮZ@ =ȬiAT:`@ǃVއYf USjL=yf OcSyv : A$D ; Y*qATS*f-Tpbhһjeր|2ާ_ۧt?HAB TdրGзWSYc +hMfXc5zYse2)=lZ /֤h$Cj-%;h̚޳Nr +{Z1tr-%;4K+Чk, KYA, Z+GkZQux5Z1|f%t@"Ml6 A 8Q6yhD5"":yI "a":ժԃ̱J@.Cd:ˬN< ~`R$ـLf ȻNvԃ^TZ ef ȻmoNutJlvVj, V"TUSyꗶZ!xvg5"WN15"?N_-,(0=$Lf USjL=xS.JtY*nx~):J];+X@$ AW5"?"hJSp<h;гPZZ՘zPZ/ؗ"1xQ֙5"WN1OAJ\ށ^fր!T:`۵R v`0~A6TUSyꗶZ!xvg5"WN15"?N_-,(0=$Lf USjL=xS.JtY*M)ާ_ۧt?HAB TdրGзWSY=Z~5)s gtMCmc~R>^ۮZ@ =ȬiAT:`@ǃVއYf USjL=yf OcSyv : A$D ; Y*qATS*f-Tpbhһjeր|2ާ_ۧt?HAB TdրGзWSYc +hMfXc5zYse2)=lZ /֤h$Cj-%;h̚޳Nr +{Z1tr-%;4K+Чk, KYA, Z+GkZQux5Z1|fvTURHACK2.PASe o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdu;j`De$cʄ?$!$O^0sRKcs2 CH.l&E2$yYc' i'gh#7wԘEHG# hB5t(1ClX}WXj3M<!5iY$R#L(ֈNfHH.F Lk1KIu daHڸ@$/ЄRXr_ÏFL<9qyS{GjMz!"e!˜$Ф!cI'6.^ҠvӐ0oj1$I\,l\`cn0I2yQc|.YҤBaG6O$yY#&Jeh##4AƼLCp!I1cH *6_0U{GFCr&} ogowԘ?Qc\H(lپp?~|P$}no!2H3FIL$[)0Q{GS5/-h6BԆ*6r ;jGѽ}K!Z;k<2% QJHY2 wSV-\P; wp]D!h#^H.QI.I9KBl\`6wpN%.C,F8 ۥ\\RT0ϒfJK]XPZ%$\RTB ̫;j̟jϽwy]WOQSVVל%!B*/b#gIȼIٚ* 3悔\ G#+ӆ*6Y_k[-HRdyj31d'gwԘ>}b5[n'9a˵w޻!$ɖA(DKKبPqΒbB¬" W:hQe!,bBBƩU*JYf2hO9KBVyh=e[y^&K{M(%a^h=EG5'w2gur>V c̫.8giE, a6w~avy<fZ-DFa6ƘMg7UyrFSlz0dtI*Fi;fu3l<>ǼB0lV7wc̦3G̛*OҌ.ʝ YǘM>b\(-0{٬3l<>ǼB0lV''c00_V c׎<g@Eܩ`aV'۱1UG:F̴Z0J,{Z=ߏ1Wyܭ h#sڟ1WI0oe!X\aV'c00_: 8[TR;̴ܩО2*$fhiuOwu5}b5[n'9a˵w޻!$ɖA䡴˼J* i, -6,$*.ҀyU*0-6,$TahhQe!򮔅a*$dwSwelф*Y敎St4PsRyژ(sV'c0Ƽq=qV QΒa|fx7^=:Ƙig}\caBmQZ<`|f9c6]qü$ȓ3Fia6ߌ1n2䘫j܎$*{0Ҙq|FieHF%!\a61f9M5,;fuc6]qySIE(-0Ww7c̦ 9檚$!#;fu|6=Tac!A&og냼gYXogfQmY–;niOi\wy$c{wVa/7h#[SnM6t>iv>yɬL; Q-\8[Sd<Œ^;Oo+ﰗ-)| :4a~;[ !H gINe^!ܩT\s[" pICmw/19N򮔅qIӞڼyWy~rL&iN{J\*0_lm|ߩI~rL&i>z0v|Ih =&4L{0xx=|8~}a6v&q[̦Ymǫc̷ܭb6wq?'GVlV?ǫ1[lMf:ǘo>ßiD|lV7c8powjvގ1:>},lV71w`~8?ADz0Oj1[pyfIlV1w};{0xfUǧZk2`ޱBiO9B$+$fk;gINͧ;j / g6 Fh^H.QI.I)w*He ;(4ظx͏F,s)HRdhBZL1WwfST0{a͔k3-\0-fz}wCH&-pNe~TI" /i5ظU]۵L[U*0vҤ򮔅qK{uyKӞU@{aS0Q X%O&i&BR2*sex7^c3<Bm<9cH{yx7^?ogty !H gINe^!ܩT\s[" pICmw/19N򮔅qIӞڼyWy~rL&iN{J\*0_lm|ߩI~rL&i>z0v|Ih =&4L{0xx=|8~}a6v This is the release date of the disk. PUDD-01 PQS w PUDD-02 PQS zPUDD-03 PQS PUDD-04 PQS !PUDD-05 PQS PUDD-06 PQS PUDD-07 PQS TOOLS1 PQS TOOLS2 PQS TOOLS3 PQS TOOLS4 PQS TURHACK2PQS PUDD .DOC BC 35 25472 199 PUDD .PQS C2 4D 3840 30 PUDD-01 .PQS C3 F1 2944 23 PUDD-02 .PQS 48 32 7680 60 PUDD-03 .PQS 0C 29 3712 29 PUDD-04 .PQS DD 23 8576 67 PUDD-05 .PQS 8E 61 6016 47 PUDD-06 .PQS 24 62 2176 17 PUDD-07 .PQS 7B 03 3200 25 TOOLS1 .PQS 71 24 3200 25 TOOLS2 .PQS 28 B5 3200 25 TOOLS3 .PQS 89 79 2304 18 TOOLS4  Fog Library Disk FOG-CPM.074 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. Programs for the Televideo TS803 and/or TPC-1. Filename Description -06-00 .86 This is the release date of the disk. -CPM074 .DOC This is the description of the disk contents. AUTOLOAD.ASM 8FA0 2K [Autoload 1 of 2] ASseMbler source for a program which will set the desired cursor type of a Televideo TPC-1 on boot. AUTOLOAD.DOC EF1C 1K [Autoload 2 of 2] KEYS .COM CD5B 13K ver. 1.1 [Televideo Keys 1 of 3] Sets function keys and arrow keys and also saves the data to a disk file. Written for Televideo TS803 and TPC-1. Turbo Pascal source code is included. KEYS .DOC 0644 6K ver. 1.1 [Televideo Keys 2 of 3] KEYS .PAS 7685 5K ver. 1.1 [Televideo Keys 3 of 3] PUDD .COM 11E5 34K [Public Domain Draw 1 of 16] Drawing program for Televideo TS803 and TPC-1 computers. Turbo Pascal source code is included in squeezed format. PUDD .DOC BC35 25K [Public Domain Draw 2 of 16] DEMO .SCR D47D 19K [Public Domain Draw 3 of 16] PUDD .PQS C24D 4K [Public Domain Draw 4 of 16] PUDD-01 .PQS C3F1 3K [Public Domain Draw 5 of 16] PUDD-02 .PQS 4832 8K [Public Domain Draw 6 of 16] PUDD-03 .PQS 0C29 4K [Public Domain Draw 7 of 16] PUDD-04 .PQS DD23 9K [Public Domain Draw 8 of 16] PUDD-05 .PQS 8E61 6K [Public Domain Draw 9 of 16] PUDD-06 .PQS 2462 3K [Public Domain Draw 10 of 16] PUDD-07 .PQS 7B03 4K [Public Domain Draw 11 of 16] TOOLS1 .PQS 7124 4K [Public Domain Draw 12 of 16] TOOLS3 .PQS 8979 3K [Public Domain Draw 13 of 16] TOOLS2 .PQS 28B5 4K [Public Domain Draw 14 of 16] TOOLS4 .PQS 13AC 4K [Public Domain Draw 15 of 16] TURHACK2.PQS D200 5K [Public Domain Draw 16 of 16] FILETOOL.PQS 7A39 5K [Turbo Pascal Tools 1 of 2] These two squeezed files are examples of the toolbox approach to 'all pascal programming. GENTOOLS.PQS 7344 2K [Turbo Pascal Tools 2 of 2] &diskf.cheklist.crc ENDIF SELE B STOR diskf-fn-"."-ft TO malt STOR SUBST(ft,1,2) TO 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" ? "