IMD 1.16: 29/05/2007 12:25:39 FOGCPM.030 ååååååååååååååå--FOGCPM030AUTKYS60COM4 AUTKYS60WS  CLOCK COM"CLOCK DOC CLOCK C COLDBOOTCOMCOLDBOOTDOCCURS-KAYCOMCURS-KAYDOCCURS-KAYASMDB19 COM€ !"#$%&'()*+,-DB19 COMv./0123456789:;<-03-00 86 £DB19 DOC)=>?@ABDDRAW COM€CDEFGHIJKLMNOPQRDDRAW COM%STUVW-CPM030 DOC¤¥¦§DDRAW DOC9XYZ[\]^_DDRAW NOT`DUMP10 COMaDUMP24 COMbDUMP1084DOCcdeK4TIME COM fgK4TIME DOC hiKP-CHARSCOMKjklmnopqrsKP-CHARSDOCtKP4TIME COMuKP4TIME DOC vwKP4TIME2ASM€xyz{|}~€�‚ƒ„…†‡KP4TIME2ASM+ˆ‰Š‹Œ�SETPAD COMfŽ��‘’“”•–—˜™šSETPAD10WS $›œ�žŸCURSOR COM CURSOR DOC ¡¢ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååThis is the disk name. ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååÃÕ>�2 Í Í:þîÊ6*1ë!c#~þÿÊ3Ã'ÃO!cBñ#~ Â>?ð!¿ÃZ*]ë!v#~þåÊfÃZÉ:]þ ÊÎ:/_!06 \:\þÄM#þ Ê�w xþ‹#eþ ʶ6. #w# w# w#6!:/o##Y}2/##"  ÙÍÃé Executing -> $!/#~þÊùÍWÃì*.|Ög"-/ *-.Í"*-.ˆ>w#|w*-éw# x±Â"É3#Æ@w#6: ÉÅÕå_ÍáÑÁÉ0123456789-, .ÿåÿ !"#$%&'()0123456789-, .ÿÿÿÿÿå - END OF CODE - !9"“1ùÍ/Í€ÍÔ Enter Name of File to Create --> Í 'Í:(þÊâ!(#~Íwþ Â%ÍPÍÔ Which drive is the file to be created on --> ÍÍþAÊêþBÊêþCÊêÍÔ ÍÔ That Drive is not on line Hit ÍÃ3Ö@2\ÍÔ (P)arallel or (S)erial printer --> Í!ͬÍÍþPÊ?þSÊ7ÍÔÃ>2ÃD>�2ÍÔ Autoboot Another Program ? (y/n) --> Í!ͬÍÍþYÊ‘þNÊÿÍÔ ÃtÍÔ Enter the name of the file to AUTOBOOT --> Í 'Í:(þÊ‘(!/#Íþ Êöþ.Êöw þ Âßy2/>2fÍ'ÍÔ Use CTRL-J to move the cursor block and when it is over the correct key, hit the ESCAPE key. You will then be asked how many KeyStrokes this key is to submit when pressed. Hit -X- in order to exit. CP/M 2.2U will only allow 1 key.Í!>2’!ãÍÒ!D:’þÌÈ:’þÂ,!d"¨!w"ªÍ/!r:’þÌò! :’þÌò!Î:’þÌò!r:’þÌÈ:’þÂo!e"¨!{"ªÍ/!D:’þÌò! :’þÌÈ:’þœ!f"¨!"ªÍ/!r:’þÌò!Î:’þÌÈ:’þÂÉ!g"¨!ƒ"ªÍ/! :’þÌòͬÍÍþXÊE þ ÊïþÊÃÔ:’þÊÿÆ2’à >2’à Í/ÍÔ=2AHow many keys --> ÍÖ02‘:þîÊV:‘þò :’þÊaþÊtþʇþÊšà :‘þ Ã<!d:‘þʪ6!wê!e:‘þʪ6!{ê!f:‘þʪ6!ê!g:‘þʪ6!ƒÍ„ÍÔ=4AEnter keys --> åÍ/ÿÍþÊÈ2�Í'á:�w#þ üº:�å_Íá:‘Ö2‘þÊ ÍÔ ÃÄÍÔ=6DAll Keys Have Been Entered Hit .ÍͬÍÔ à Í'Í€ÍÔ Use CTRL-J to move the cursor block and when it is over the correct key, hit the ESCAPE key. You will then be asked how many KeyStrokes this key is to generate when pressed. Hit -X- in order to exit.Í!>2’! ÍÒ!½Íò!ëÍò!Íò!Íò!3Íò!aÍò!MÍò!{Íò!©Íò!×Íò!�Íò!«Íò!Íò!G:’þÌÈ:’þÂÎ !h"¨!‡:þîÂÈ !‰"¨!ü"ªÍ/!:’þÌò!½:’þÌò!ë:’þÌò!½:’þÌÈ:’þÂ" !i"¨!‹:þî !‰"¨!"ªÍ/!G:’þÌò!ë:’þÌÈ:’þÂ` !j"¨!�:þîÂZ !‰"¨!"ªÍ/!½:’þÌò!:’þÌÈ:’þž !k"¨!“:þî˜ !‰"¨!"ªÍ/!ë:’þÌò!:’þÌÈ:’þÂÜ !l"¨!—:þîÂÖ !‰"¨!$"ªÍ/!:’þÌò!3:’þÌÈ:’þ !m"¨!›:þî !‰"¨!."ªÍ/!:’þÌò!a:’þÌÈ:’þÂX !n"¨!Ÿ:þîÂR !‰"¨!8"ªÍ/!3:’þÌò!M:’þÌÈ:’þ– !o"¨!£:þîÂ� !‰"¨!B"ªÍ/!a:’þÌò!{:’þ ÌÈ:’þ ÂÔ !p"¨!§:þîÂÎ !‰"¨!L"ªÍ/!M:’þ Ìò!©:’þ ÌÈ:’þ  !q"¨!«:þî !‰"¨!V"ªÍ/!{:’þ Ìò!×:’þ ÌÈ:’þ ÂP !r"¨!¯:þîÂJ !‰"¨!`"ªÍ/!©:’þ Ìò!�:’þ ÌÈ:’þ ÂŽ !s"¨!³:þîˆ !‰"¨!j"ªÍ/!×:’þ Ìò!«:’þ ÌÈ:’þ ÂÌ !t"¨!·:þîÂÆ !‰"¨!t"ªÍ/!�:’þ Ìò!:’þÌÈ:’þ !u"¨!»:þîÂ!‰"¨!~"ªÍ/!«:’þÌòͬÍÍþXÊeþ Ê0þÊHÃ:’þÊ@Æ2’Û >2’Û Í/ÍÔ=2AHow many keys --> ÍÖ02‘:þîƒ:‘þ òKÍ�ÃÝ:‘þòK:’þÊ×þÊêþÊýþÊþÊ#þÊ6þÊIþÊ\þ Êoþ Ê‚þ Ê•þ ʧþ ʺþÊÍÃK!h:‘þÊÝ6!‡ÃÝ!i:‘þÊÝ6!‹ÃÝ!j:‘þÊÝ6!�ÃÝ!k:‘þÊÝ6!“ÃÝ!l:‘þÊÝ6!—ÃÝ!m:‘þÊÝ6!›ÃÝ!n:‘þÊÝ6!ŸÃÝ!o:‘þÊÝ6!£ÃÝ!p:‘þÊÝ6!§ÃÝ!q:‘þÊÝ6!«ÃÝ!r:‘þÊÝp!¯ÃÝ!s:‘þÊÝ6!³ÃÝ!t:‘þÊÝ6!·ÃÝ!u:‘þÊÝ6!»Í„ÍÔ=4AEnter keys --> åÍ/ÿÍþÊû2�Í'á:�w#þ üº:�å_Íá:‘Ö2‘þÊ8ÍÔ Ã÷ÍÔ=6DAll Keys Have Been Entered Hit .ÍͬÍÔ=2@=4@=6CÛ å6# ‡áÉ:’þÊÙþÊãþÊíþÊ÷þÊþÊ þÊþÊþ Ê)þ Ê3þ Ê=þ ÊGþ ÊQþÊ[:‘2Ä!üÉ:‘2Æ!É:‘2È!É:‘2Ê!É:‘2Ì!$É:‘2Î!.É:‘2Ð!8É:‘2Ò!BÉ:‘2Ô!LÉ:‘2Ö!VÉ:‘2Ø!`É:‘2Ú!jÉ:‘2Ü!tÉ:‘2Þ!~É:þîÂÐ!à"Œ!ü"Š"Ž*Œë*Š~þÊ’#"ŠÀÕ*Ž "Š"ŽÑë"Œë~þÿʯÀ*Œ>ÿw#w#w#w!ÅÄ F€##wåÑ ÂÃÍÔÍ8ÍÔ=*4Writing New File to Disk !ÍF>222 ÍÍ\ÍþÿăÍ\Í<¤Êœ!ÕÍý€Í|µÊD!€Å€åëÍ\Í·ÓœáÁ x±ÂG\ÍÍÔ File has been written !Í/*“ùÉ ÍÔ No Directory Space on Destination!$ No Space Left on Destination!$}“o|šgÉÕ{/_z/WÚ ÑÉþaØþ{Ðæ_ÉÅÕåÍÔB6áÑÁÉÍÔ=.;=. *¨~þÊs2�þ üº:�ÍWÉ*ª:þî‚ Åå~þÊ¥2�þ üº:�ÍWÍÔ áÁ# ‚ÉáÁÉÅÕåÍÔC6áÑÁÉ:�Æ@2�ÍÔ^ÉÍTÍòÍjÉ+è#~þÿÈ ÂØåÍÔLáÃÓ+#~þÿÈ ÂøÍÔ=Ãó¯2h2|É!:'~þÿÈ#à ÿ ÿÿÿÿ!\> #w ÂW(!\#þ Êwþ.Êww Âe!e6C#6O#6MÉÍ/ÍÔ That file already exists. Overwrite ? (y/n) --> ÍÍþYÊÍÔ Want to start again ? (y/n) --> ÍÍþYÊ ÔÍ\ÍÉáÃâåÕÅ Í7?ÒÍÁÑáÉÍÔC4É> Ó>LÓÉÅÕåÍÔB3áÑáÉÅÕåÍÔC3áÑáÉåÅÕ cÍÑÁáÉB0B1$åÅÕ yÍÑÁáÉC0C1$ÍÔ B3AutoKeys 6.0 Gary Conway Infinity Design Concepts 1985,86C3Éã~#ã·Èå_ÍWáÃÔ###R0#0R##0##.0.#/0/#:0:#;0;#F0F#G0G$R0Rÿ;#x#x#xRxR;R;R;#;.k.;/k/;:x:;;x;;FxF;GxGH#HRK#KRX#XR[#[Rh#hGk#kGÿ'" '# '$ '% '& (" (# ($7(% (& )" )# )$ )% )& ÿ'( ') '* '+ ', (( () (*8(+ (, )( )) )* )+ ), ÿ'. '/ '0 '1 '2 (. (/ (09(1 (2 ). )/ )0 )1 )2 ÿ'4 '5 '6 '7 '8 (4 (5 (6-(7 (8 )4 )5 )6 )7 )8 ÿ+" +# +$ +% +& ," ,# ,$4,% ,& -" -# -$ -% -& ÿ+( +) +* ++ +, ,( ,) ,*5,+ ,, -( -) -* -+ -, ÿ+. +/ +0 +1 +2 ,. ,/ ,06,1 ,2 -. -/ -0 -1 -2 ÿ+4 +5 +6 +7 +8 ,4 ,5 ,6,,7 ,8 -4 -5 -6 -7 -8 ÿ/" /# /$ /% /& 0" 0# 0$10% 0& 1" 1# 1$ 1% 1& ÿ/( /) /* /+ /, 0( 0) 0*20+ 0, 1( 1) 1* 1+ 1, ÿ/. // /0 /1 /2 0. 0/ 00301 02 1. 1/ 10 11 12 ÿ3" 3# 3$ 3% 3& 3' 4" 4# 4$ 4% 4& 4'05" 5# 5$ 5% 5& 5' 3( 3) 3* 3+ 3, 4( 4) 4* 4+ 4, 5( 5) 5* 5+ 5, ÿ/4 /5 /6 /7 /8 04 05 06E07 08 14 15 16N17 18 24 25 26T27 28 34 35 36E37 38 44 45 46R47 48 54 55 56 57 58 ÿÿ3. 3/ 30 31 32 4. 4/ 40.41 42 5. 5/ 50 51 52 ÿ!" !#/!$|!%\!& "" "# "$|"% "& #" ## #$|#% #& ÿ!( !) !*|!+ !, "( ") "*|"+ ", #( #)\#*|#+/#, ÿ!. !/ !0 !1 !2 ".<"/-"0-"1-"2 #. #/ #0 #1 #2 ÿ!4 !5 !6 !7 !8 "4 "5-"6-"7-"8>#4 #5 #6 #7 #8 ÿ0123456789-, .ÿ )8 ÿ+" +# +$ +% +& ," ,# ,$4,% ,& -" -# -$ -% -& ÿ+( +) +* ++ +, ,( ,) ,*5,+ ,, -( -) -* -+ -, ÿ+. +/ +0 +1 +2 ,. ,/ ,06,1 ,2 -. -/ -0 -1 -2 ÿ+4 +5 +6 +7 +8 ,4 ,5 ,6,,7 ,8 -4 -5 -6 -7 -8 ÿ/" /# /$ /% /& 0" 0# 0$10% 0& 1" 1# 1$ 1% 1& ÿ/( /) /* /+ /, 0( 0) 0*20+ 0, 1( 1) 1* 1+ 1, ÿ/. // /0 /1 /2 0. 0/ 00301 02 1. 1/ 10 11 12 ÿ3" 3# 3$ 3% 3& 3' 4" 4# 4$ 4% 4& 4'05" 5# 5$ 5% 5& 5' 3( 3) 3* 3+ 3, 4( 4) 4* 4+ 4, 5( 5) 5* 5+ 5, ÿ/4 /5 /6 /7 /8 04 05 06E07 08 14 15 16N17 18 24 25 26T27 28 34 35 36E37 38 44 45 46R4 AUTOKEYS.WS (c) 1985,86 Infinity Design Concepts 1052 Parkway Drive Louisville, Kentucky 40217 Gary Conway (502)634-0054 .pa Š O V E R V I E W Thió  prograí wilì creatå á .COÍ filå thaô wilì configurå thå keypaä oî � anù  Kayprï  computeò  usinç CP/Í 2.2Æ 2.2Ç 2.2È  oò  2.2U®  Thå  prograí � automaticallù checkó tï seå whicè versioî ió beinç useä anä createó thå .COÍ � filå  accordingly®  Thå F,Ç anä È versionó wilì allo÷ uð tï fouò keyó tï  bå � generateä  bù  eacè oæ thå vectoò anä numeriã keypaä keys®  CP/Í  2.2Õ  wilì � allo÷  onlù  onå keystrokå peò vectoò keù anä uð tï 8° keyó peò numeriã  keù � witè á totaì limiô oæ 24° keys® Autokeyó wilì allo÷ onå keystrokå peò vectoò � keù aó well¬ buô onlù ninå keystrokeó peò numeriã keypaä keù foò 2.2U. NOTE: A .COM file that is created under 2.2G MUST be run on a machine using 2.2G. That is, the .COM files created with each run of AUTOKEYS can only be run on the system that they were created on. Thå prograí wilì alsï allo÷ settinç thå :LSÔ devicå tï eitheò seriaì oò � parallel®  Thå  useò alsï haó thå optioî oæ creatinç thå ne÷ filå oî anù  oæ � thå  driveó  available®  Anotheò optioî availablå ió thå optioî  oæ  bootinç � another program. FOR EXAMPLE: Creatå thå filå WSKEYS.COÍ witè AUTOKEYÓ.� Wå telì AUTOKEYÓ thaô thå filå wå arå goinç tï booô ió WS.COÍ anä  theî � configurå thå keypaä tï ouò owî likinç (jusô aó yoõ woulä witè CONFIG.COM)® � Theî wheî wå ruî WSKEYS.COM¬  thå keypaä wilì bå defineä aó wå tolä AUTOKEYÓ � tï  dï anä WordStaò wilì bå loaded®  Therå ió anotheò optioî availablå  herå � also® Iæ wå type: A0>WSKEYS B:PRINT.TST The following will occur; WSKEYS will run, configuring the keypad for WordStar WordStar will then be loaded and executed WordStar will open the file B:PRINT.TST Thå configuratioî routinå ió abouô thå samå aó witè CONFIG.COM® Uså thå � LINEFEEÄ keù (CTRL-J© tï movå thå cursoò blocë arounä thå keypaä tableó  anä � wheî thå blocë ió oveò thå correcô keù tï bå configured¬ hiô thå ESCAPÅ key® � Yoõ  wilì  theî  bå  askeä  ho÷ manù keyó thió  keù  ió  tï  generate®  Upoî � answering¬  yoõ wilì bå askeä foò thå keyó themselves® Wheî finished¬ hiô aî � uppeò  oò  loweò  caså  "X¢ tï movå tï thå nexô  screen®  Wheî  alì  oæ  thå � configurinç  ió  complete¬  thå ne÷ filå wilì bå written®  Iæ thå  ne÷  filå � alreadù existó oî thå selecteä drive¬ yoõ wilì bå prompteä whetheò oò noô tï � overwrite the old file. Š Alì  oæ  thå  changeó  thaô thå ne÷ .COÍ filå  makeó  arå  iî  RAM®  Iæ � permanenô changeó arå desired¬ uså thå CONFIG.COÍ program® Permanenô changeó � arå noô thå purposå foò thå AUTOKEYÓ program®  AUTOKEYÓ waó designeä sï thaô � á prograí thaô requireó differenô vectoò oò numeriã keypaä valueó caî bå ruî � withouô coldbootinç thå machine®  If¬ foò example¬ yoõ arå usinç WordStaò iî � drivå  Á anä á dBASÅ commanä filå disë iî B¬  onå maù ruî WordStaò witè  thå � keypaä configureä foò WordStaò anä then¬  usinç thå Ò option¬  ruî á prograí � thaô wilì seô thå keyó foò thå dBASÅ prograí tï use®  Wheî yoõ arå readù  tï � gï  bacë  tï WordStar¬  yoõ maù theî ruî thå prograí thaô  reconfigureó  thå � keypad back to WordStar. - - - - End File - - - - ù existó oî thå selecteä drive¬ yoõ wilì bå prompteä whetheò oò noô tï � overwrite the old file. Š Alì  oæ  thå  changeó  thaô thå ne÷ .COÍ filå  makeó  arå  iî  RAM®  Iæ � permanenô changeó arå desired¬ uså thå CONFIG.COÍ program® Permanenô changeó � arå noô thå purposå foò thå AUTOKEYÓ program®  AUTOKEYÓ waó designeä sï thaô � á prograí thaô requireó differenô vec*+%"J%"H%"FÜÿ "— "• "“yÿ 6"C+6„+ù!€^6 ÅF+N+ò<!* å!å!9~#·Ê—þ ÊROþ"Êkþ'Êk +Ñ}|Õå+#~·Ê‚¹Âu6#ã~#þ<Ê·þ>ÊÉ!4áÃRá6ÿ#6ÿ*å!åͼ* |µÊ´åÍ•Ãå!Åå͸"ÇÃÔrå! å͸" ÁÁÚááÑÕÃRî ÍÍCan't open > or < file.$èwÉÑÁÅÕ*6ååÑ ååÍÑÂ)! þ9ÍÑÁ!ÿÿÀë"6ÅáÉþÉ*ÇåÍ'ÁÉ:B<*C¾ØÈë ͯ2B Í�ÃF Í·ÈÍþÊþÊþ €> _*C~+¾Ð#4N s> »ÌÉÍ> !¬Í-ØÅ:E¹ÂºÍF2B_~ÿÿÍÁþ ÂÔ ÂÐ Í! É ÂÝþʘþÊæo&É!ÿÿÉÁÑÕÅ* ÕåͬÁÁÉë> å!°Í-ÑØÕë}þ  ÅÍÁ> _ÍáÉcon:rdr:pun:lst:Ö Ú?þò?_~O·À7ÃæÉÿÿÿÿÿÿÿ !"# ÁáÑÕåÅ! Õåö ¾ÂÚ#ÂÇÑái&ÉáÑ ~·ÂÃ!j~þÿÊù#ÂëÃÁÑÕÅë~#Fë÷ÿ6,6ùÿpùÿw#62B¡ëÍDå!9ÍYÁÅy=åÍ`áÊÕëÍÿ>þwÂSÑÕÍÑÍÑ<Ê!is ¯w#6âÿ w+wòÿ ~#¶Â’ÕåÅÍÁëás#r{²ÑÊë¯ÉÁÑÕÅ{þ Úµ!°Í-#Ø^{·Ä!É!i~<Ê6ÿÍ!~~þrÊ!…N!pÕÍY}·Êëõ*gyþbÊõ>w#Âî%ñå!€=òÿ)åÍ1ÁÁÑ{=ÕÍ`Í<áÀ!7É!DN#FÅá"gÉÍ…·Ê›þ Ò�¯¹+ÂWåÕ*gå!åÍaÁÁÑÕë¡ s{²ÑáÊæÕåÍY#Í^+ë*gF!…Ñ>b¾Ê�xþ Ê'þÊæ·Ê'h&ÉáÁÑÕÅå{·Èþ ÐÍ!¡~!pN#F¹{Àp+pH#ÉÍ…·Â¼ÁáÑÕåÅÃùþ ÚÊÁÑáåÕÅÃü+å!9~þ Âôå!…~þbÊñ!î5Âï> áÃô6á> *g wãåå`i#Í^᯾áÂ"ÁÑÕÅÕ%,å!åÍ1ÁÁÁ|µ!ÿÿÈø!9n&:î·Ê¬ɯ2ç>Ãhå!9ÍYëáå):ç¤õ|!R†wÒY#4!`ñwáÉ>ÿ2ç>2::E·ÄcÍèÅx±ÊÔÕåÅÕëÍÑ::OÍÁ·Â¡!€ÿ DMá€ÑÃváÑ::þÂÔẠÍ!ÿÿÃÚWrite error - Disk full $Ñ`iÍDå€ÍáÃ;!9~=+åÍ`áÕV+^+F+NáëÉ "V> w+ ¯w w##w wàÿ ë#~+þ:Â3~##ÍXÖ@~#·Èþ.ÊDÍXÃ3ë*V++·ÈÍXw#ÃJæþaøÖ ÉO!“ ~_#V²Àå!$åÍëáár+sbk#|µÉÁÑÅ}³o|²gÉÁÑÅ}«o|ªgÉÁÑÅ}£o|¢gÉ|µÈ!,ÉÁÑÅ|º}!º»Âº,ɯÉ|µÊ¦!¯ÉÁÑÅ|º}!À»À-Éëz¼Âæ{½Âñ!,Éëz¬ú÷z¼Âñ{½!Ø-É|§!úõµÉ|î€gÉë|ºÂ}»!Ò-ɵÉëz¼Â!{½!Ø-Éë|ø|g}oÃ(ë¯Ã*ëø)Ã;ÁÑÅ{•ozœgÉ+|/g}/oÉ~oŸgÉ~#foÉëáãs#rëÉëáN#F#x±Ê~#»~#ÂhºÂh`iéDM!z·>Â�S\)ë)ëÒ— =Â�ɯõìz¬õ¬ëüKë|·ôKMD!x<ÂÀz�>ÚÅjS\>)ë)ëÒÍ#å áÒÕ =ÂÅëñðëÍKëÃKÉ!9"åÉ*å++"åÍYåÍz Á!9ë*åÍÊ+ *ååÍ2 Áà É*å++"åÍY"ç*çå*å++"åÍYåÍŒ ÁÁà É*å++"åÍY"ë*ëå*å++"åÍYåͤ ÁÁà É* å!9ÍYåÍŒ ÁÁÉ!9ÍY"ç!9ÍY"éÍÀ É!9ÍY"ë!þÿå!9ÍYåÍŒ ÁÁÉ*éÍSÍ ÊÙ *éÍSÛÿÍ Í Êò *é#"é+ÍSåÍó ÁÃÀ É*ç##|µÂ *ë#"ë+å!9ÍSÑ}*ë6É!9ÍSå*çåͬÁÁÉ!9å*åÍ^*å++"å!"ï"( !ÿÿ"* *é#"éÍS"ñͼÊh É! }2ó*ñÓÿͼ"ô|µÊ� *é#"é+ÍS"ñ*ñÐÿ|µÂ° !0}2ó*é#"é+ÍS"ñÍ "í*ñÒÿ|µÂÒ *é#"éÍ "ï"* *é#"é+ÍS"ñ�ÿÍ Êó *ïÍåÍ Êÿ !"ï*ñÃò !9åÍY++Í^". *. å*. #åÍñ ÁÁà !9åÍY++Í^ÍYå! åÍ ÁÁà !"( Ã[ ! "( Ã[ !"( !9åÍY++Í^ÍY", *, å*( åͲ ÁÁà !9åÍY++Í^ÍY". "0 *0 #"0 +~·Ê¤ Ô *0 +"0 å*. ÍAë*ïÍäÊ¿ *ïÍ ÊÐ *. ë*ï"0 *. å*0 åÍñ ÁÁà É*ñåÍó ÁÍÀ ÃE à Íf c& dC oL uU x~ sà Ãá ÍÀ É* å!" *éÍS"ñ0ÍÕÊA *ñ9ÍÔÍ Êh *  Í€å*é#"é+ÍSÑÐÿ" Ã& * ëá" ëÉ!9ÍY"r !9ÍY"t !9åÍY+Í^å*r öÿͼʲ *t ë! Íœëý *r +å*t Í–å͉ÁÑ}*r øÿͼÊß *t ë!Í5à *r öÿͼÊù *t ë! ͜à *t ë!Í5"t *t |µÂŠ !9ÍYÉ!°ÿ9ù!T9ÍYÍäÊ: !T9ÍYÍKÃA !T9ÍY" !9P"øå* å!V9ÍYåÍv ÁÁÁ"ö!T9ÍY€ÍÚŸ :óÍTàÿ|µÊ– !-åÍó Á*í+"íß *ö+"ö6-*öå*øåÍñ ÁÁ!P9ùÉ!°ÿ9ù!9P"øå!V9ÍYå!V9ÍYåÍv ÁÁÁ"ö*öå*øåÍñ ÁÁ!P9ùÉ!9ÍYå!9ÍYÍA"ï *ôͼÊ:óÍTå*ï åÍaÁÁ*ï +"ï #|µÊK!9åÍY#Í^+ÍSåÍó Á*í+"íÃ*ô|µÊ`! å!åÍaÁÁÉ!9ÍYë*íÍåʈ!9ÍYåÍó Á*í+"íÃaÉ!9ÍY ÍÔÊŸ!0â!7ë!9ÍYÉ!"å!åÍ›ÁÁ! å! åÍ›ÁÁ!$åÍ©ÁåÍ:Áãÿ|µÊúÍú!³åÍ Áͨ! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"¬! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"®! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"°! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"²! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"´! å! åÍ›ÁÁ!$åÍ©ÁåÍ:Á"¶Íú!ÐåÍ ÁÍú!ÒåÍ ÁÍ9Íú!êåÍ ÁÍjÍú!ÐåÍ ÁÉ;!9å!9ÍYë! Í¡Ñ}!9å!9ÍS Í€å!9ÍYãÍAÍ^!9å!9ÍS))))Ñ}!9ÍSë!9ÍY3É*8å!9ÍY&}æo"8!9å!9ÍYë!Í¡ Í€Í^!9ÍYë*8ëá"8ëÉ! å!åÍ›ÁÁ!$å*¬åÍÛÁåÍ›ÁÁ! å!åÍ›ÁÁ!$å*®åÍÛÁåÍ›ÁÁ! å!åÍ›ÁÁ!$å*°åÍÛÁåÍ›ÁÁÉ! å!åÍ›ÁÁ!$å*²åÍÛÁåÍ›ÁÁ! å!åÍ›ÁÁ!$å*´åÍÛÁåÍ›ÁÁ! å! åÍ›ÁÁ!$å*¶åÍÛÁåÍ›ÁÁÉÍú!íå*¬åÍ ÁÁÍú!íå*®åÍ ÁÁÍú!óå*°åÍ ÁÁÉÍú!øå*²åÍ ÁÁÍú!øå*´åÍ ÁÁÍú!óå*¶åÍ ÁÁÉÁáÑÕåÅ{2§}ÓÉ}2®Û&oÉThe clock is not intialized ! The time and date are: %02d:%02d%02d/ÍA"ï *ôͼÊ:óÍTå*ï åÍaÁÁ*ï +"ï #|µÊK!9åÍY#Í^+ÍSåÍó Á*í+"íÃ*ô|µÊ`! å!åÍaÁÁÉ!9ÍYë*íÍåʈ!9ÍYåÍó Á*í+"íÃaÉ!9ÍY ÍÔÊŸ!0â!7ë!9ÍYÉ!"å!åÍ›ÁÁ! å! åÍ›ÁÁ!$åÍ©ÁåÍ:Áãÿ|µÊúÍú!³åÍ Áͨ! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"¬! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"®! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"°! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"²! å!åÍ›ÁÁ!$åÍ©ÁåÍ:Á"´! å! åÍ›ÁÁ!$åÍ©ÁåÍ:Á"¶Íú!ÐåÍ ÁÍú!ÒåÍ ÁÍ9Íú!êåÍ ÁÍjÍú!ÐåÍ ÁÉ;!9å!9ÍYë! Í¡Ñ}!9å!9ÍS Í€å!9ÍYãÍAÍ^!9å!9ÍS))))Ñ}!9ÍSë!9ÍY3É*8å!9ÍY&}æo"8!9å!9ÍYë!Í¡ Í€Í^!9ÍYë*8ëá"8ëÉ! å!åÍ›ÁÁ!$å*¬åÍÛÁåÍ›ÁÁ! å!åÍ›ÁÁ!$å*®åÍÛÁåÍ›ÁÁ! å!åÍ›ÁÁ!$å*°åÍÛÁåÍ›ÁÁÉ! å!åÍ›ÁÁ!$å*²åÍÛÁåÍ›ÁÁ! å!CLOCK : A program to read the internal clock in KayPro 4-84 and 1985 versions of the KayPro 2X. To call up the program just type CLOCK at the system prompt. The program will give you a reading of the time and date as stored on your internal clock. The major source of this program is from the KAY*FOG bulletin board in San Francisco. I have modified it to run under C/80 (Software Toolworks) by adding the assembly language functions inp() and outp(). Functions are included to set the clock but are not implemented at this time (i.e. you can hack it yourself). For owners of other computers: You can alter this to work with your machine by changing the port assignments, etc. The #defines are at the top of the source code. You will need to know/change: a) PIO Initialization Port (if clock is attached to processor via the PIO, otherwise .. ). b) Clock function Port. c) Clock data I/O Port. Also, the functions numbers given are for the NS-MM58167A clock chip used in the KayPro's. If your machine uses a different clock chip it is your responsibility to check to see if these codes are correct and to chnage them if not! - Rick Warner - 415-321-9446 The major source of this program is from the KAY*FOG bulletin board in San Francisco. I have modified it to run under C/80 (Software Toolworks) by adding the assembly language functions inp() and outp(). Functions are included to set the clock but are not implemented at this time (i.e. you can hack it yourself). For owners of other computers: You can alter this to work with your machine by changing the port assignments, etc. The #defines are at the top of the source code. You will need to know/change: a) PIO Initialization Port (if clock is attached to processor via the PIO, otherwise .. ). b) Clock function Port. c) Clock data I/O Port. Also, the functions numbers given are for the NS-MM58167A clock chip used in #include #define sec 2 /* clock functions */ #define min 3 #define hour 4 #define day 6 #define mon 7 #define year 9 #define func 32 /* function definition port */ #define clock 36 /* clock port */ #define init 34 /* pio init port */ #define initch 15 /* pio init char */ #define initval 29 #define clkstatus 12 #define military 0 #define civilian 1 #define am 0 #define pm 1 #define tme 0 #define dte 1 /* variables */ int bcdtoi(), hours, minutes, seconds, months, days, years, n, i, inp(), outp(); main() /* read the real time clock & display time & date */ { /* initialize and check the clock */ outp(init, initch); outp(func, clkstatus); if (bcdtoi( inp(clock)) != 29) { printf("The clock is not intialized !\n"); exit(); } outp(func, hour); hours = bcdtoi(inp(clock)); /* then get the value of that function */ outp(func,min); minutes = bcdtoi(inp(clock)); outp(func,sec); seconds = bcdtoi(inp(clock)); outp(func,mon); months = bcdtoi(inp(clock)); outp(func,day); days = bcdtoi(inp(clock)); outp(func,year); years = bcdtoi(inp(clock)); printf("\n"); printf("The time and date are: "); Write_time(); printf(" "); Write_date(); printf("\n"); } /* end main */ char Bcd(intval) /* convert an integer value (intval) to byte in packed BCD format before sending it to clock. Not used in this program. */ int intval; { char hinybble; /* hi nybble of packed bcd byte */ hinybble = intval / 10; intval = intval - 10 * hinybble; hinybble = hinybble * 16; return (hinybble + intval); } /* end bcd */ int bcdtoi(bcdbyte) /* convert packed BCD byte read from clock to integer value that can be displayed as an ASCII string. */ int bcdbyte; { int lonybble; /* low nybble of bcdbyte */ lonybble = bcdbyte & 15; bcdbyte = 10 * (bcdbyte / 16); return (bcdbyte + lonybble); } /* end ascii */ Set_time() /* just for example, not used in this program */ { outp(func,hour); outp(clock,Bcd(hours)); outp(func,min); outp(clock,Bcd(minutes)); outp(func,sec); outp(clock,Bcd(seconds)); } /* end set time */ Set_date() /* just for example, not used in this program */ { outp(func,mon); outp(clock,Bcd(months)); outp(func,day); outp(clock,Bcd(days)); outp(func,year); outp(clock,Bcd(years)); } /* end set date */ Write_time() /* display the time */ { printf("%02d:",hours); printf("%02d:",minutes); printf("%02d",seconds); } /* end write time */ Write_date() /* display the date */ { printf("%02d/",months); printf("%02d/",days); printf("%02d",years); } /* end printf date */ int outp(value,port) int value, port; { #asm ; ; function to output a byte to a data port ; POP B ;get return address POP H ;get data for port (variable value) POP D ;get port number (variable port) PUSH D ;restore machine stack PUSH H PUSH B MOV A,E ;get port number STA outp1+1 ;save port number MOV A,L ;get data to send outp1: OUT 0 ;send data to port #endasm } int inp(port) int port; { #asm ; function: to input a byte from data port ; MOV A,L ;get port number STA inp1+1 ;save port number for input inp1: IN 0 ;input data from port MVI H,0 ;zero high byte of number MOV L,A ;put data in reg for calling function #endasm } /* int inp(device) int device; { #asm POP D POP B PUSH B PUSH D LXI H,0 DB 0EDH,068H #endasm } int outp(value, port) int value, port; { #asm POP D POP H POP B PUSH B PUSH H PUSH D DB 0EDH, 069H #endasm } */; ; function to output a byte to a data port ; POP B ;get return address POP H ;get data for port (variable value) POP D ;get port number (variable port) PUSH D ;restore machine stack PUSH H PUSH B MOV A,E ;get port number STA outp!úí°ÃúÛËÿÓÛËÿÓÃCLOCK DOC CLOCK C COLDBOOT$$$åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå coldboot.com coldboot.com allows you to reset your Kaypro without having to reach all the way in the back and press the reset button. syntax: A>coldboot åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå> Ó>lÓÉCLOCK DOC CLOCK C COLDBOOTCOMCOLDBOOTDOCCURS-KAY$$$ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååJUST A TINY PROGRAM TO MAKE THE KAYPRO CURSOR A BIT TINIER ;BLINKING SLOWLY BUT TAKING ONLY 3 LINES ; Arto Kytohonka, SF-16100 UUSIKYLA, Finland ;CURS-KAYCOMCURS-KAY$$$åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå;JUST A TINY PROGRAM TO MAKE THE KAYPRO CURSOR A BIT TINIER ;BLINKING SLOWLY BUT TAKING ONLY 3 LINES ; Arto Kytohonka, SF-16100 UUSIKYLA, Finland ; ORG 100H START: MVI A,10 OUT 28 MVI A,108 OUT 29 RETS ; Arto Kytohonka,CURS-KAYCOMCURS-KAYDOCCURS-KAY$$$åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå ÈF€'DB19 ŠD2þÊDþÊH2Ã!ÿ"|Í–* È ÁùÅ ·À="ë"Á6#}“|šÚBÅÍD!ÿ"| Í"}æ0Ö0-ÿÔ!€~·ÈG#~þ Â}ÈÃq+påh#å#Íh"ÁÑp#w Â�É*}"}ÉÃ"}É" }É* }É*}l&É*}}´Èå!ÍhÁå6€#6#q#páÉ* }" }*}|µÊçë`i"}*ùëéÅ 3ÍÑÕÍÁXÍ< ÍÁ ÅxÍá}ÍHÍÇõÍ%ñæÆ�'Î@'_à ERROR $ AT PC $"DM6#6#ë!"*ë{‘w#z˜w!"É>2ÚÚDM}Öý|ÞÒÚüÿ*Ú‹"^#V{²ÊÒÕë^#V{‘_z˜WáÚ‹{ÖzÞÒÅåë*w#wáw#w#Éå##s#ráq#p#É!5#Ê‹OMÃÍ+F+Në*}“|šÚò!"~#fo´Ê"{•zœÒòÕë }“|šáëÂ"~#~#~#�O~ˆGÃ(}|*åÕ##^#VÑ}“|šáÒFs#rë##q#pÉw#w#~�w#~ˆwÉî7õ!N#F#~#foñõÚoÃv}“|šÚwë`i}´Â^ñëÉ:þ0ÉëÁ!øÿ9ùÅëBKÃ¥ DM!9Í¥ Ñùëé!9ë! 9N#F#ëÍ¥ ëÑùëé;Ã�BKåÍ~ ÁÉå!9DMÍ~ ÁÍ�áÑÑÑÑéDMÍ~ !9DMÃÑ! 9DMÍ~ !9DMÍ�áÑÑÑÑÃÕ;͵Á!øÿ9ùÅDMÃ’ Í͵ÁÃ’ DMÍ~ !9DMãéÍ1Ã!9DMÍ~ ÑÁ!9ùÅDMÅëé;Í»ÃÍÍ»ÃÍ1ÃS;ͲÃÍqͲÃå!9DMÅÍ~ áÁãéÍÃkÍ“ͲáÑùÕÃ! 9DMåÍ~ !9DMáãé;ÍŠÃÍqÍŠÃÍò͓͊ÌDMÍaÃ!9DMÍ~ ÍÈ ëÁ!9ùëÅÉ!9ÍöëÁ!9ùëÅÉDMÅ ÒÍ~ Á͵ÃÈ @PÀPëá"6}ë͇*6}å!9~·Èî€wÉáÑ{æ_ÕéÑÁáááÕ!y·È+ø##É!}åÅ•2*9}Í  |æg"9}ë!HÍ\ >™Æ'-òsÁáw# ÂT>@2}¯2}Í %}ÅÍ’ áÇ*%*}®%}›Í*(}"9}É>€þ¯28}:}W·ÂÍÍ~ !}:8}®wÉ ·ÈæºÅÒç%}Í’ ÁÍ~ !}Ãñ%}áÍ¥ !%}:8}®w:%}æW!}–Ê9þ%}Ò~ r26}Òõ¯ÍëñæÊ9}o&ëG>�Ow# Â+q#Â3:%}!}®ú]&}ÍÆ ÒT>ÍëÍ|}Ín Ãi!,}ÍC }!&}™Ú‚7>ˆ–ë†ë' #Âpà ë+>ˆ–Æ'w#>ˆ–ë†'ëw #Â�:%}æ€2}Í !}~þPÂT:6}þÚT6É!}~·È ·Ê\æ€+®w# æÖ@†òÝ ‡ú„6ÉwÅ{28}&}!}~#Âí!&}~#ÂøÍÌ!}q#Â!}"6}á~#å·ÊTõæÊ6G&}*6}ÍÉ Ò2#4?Â#ñæÊTG-}*6}Ž'w#ÍÉ ÂA!8}5*6}#ÂÁÍ }Ín !$}~·È¯w+6+wÂv:}<2}ðOFÃÍ!} 怮w æÊQ_#~·È“ÆAúWw>28}`i"6}¯2-}ÿ}*6}>š–ë†ë'™#>‰–ë†ë'#>‰–ë†ë'#>‰–ë†ë'#>‰–ë†ë'#>‰–ë†ë'#>‰–ë†ë'>‰ë†'wÚµ*6}ëÍÆ #~Î'w!-}~€w:8}=Ê?28}ÍÏ!}ÍÌó}Í¥ Í }Ín ÃiDZÃÍÖAò„¯2}Éxæ€2}Êp—‘O˜‘G>F2}!}r#Â{i`)ë!!}~�'w#ÂŒë Â…Ã !} ¶È æ€+¾Â æ#¾?¼! ÍC È!}®Úȯ=É>�‡É pT]®æð®w+ ÂÔ~‡‡‡‡wÉ!}}G®æð®# Âôæð°É:#}þзÊ( !}ÍÏ!}5ðqÉ!#}"}w+Â0 p!}55ò pÉ#} ¾À+ ¾À+ ¾À+ ¾À+ ¾À+ ¾À+ ¾É Æ'Ãt ÆP'>Ð Î'Ãt æ€o æg"}`i}é *}|·Âœ ɵ!}é ~#~#~#~#~#~#~#~#É!}Ž'w#Ž'w#Ž'w#Ž'w#Ž'w#Ž'w#Ž'wÉ!9~æþAÒ 6É/ÆOÐGæÊ #6= xÐ>ð#¦wÉ|ºÚ" ëDM!x·Ä- y)Ò3 )Ò9 )Ò? )ÒE )ÒK )ÒQ )ÒW )ÐÉ|µÊQ|ªõªü› ë|·ü› Ê¢ z·Â| ³ò® xõ)yOxGy“xšÚ” Gy“O#ñ=€ ñð—•oœ•gÉeo²Â| ³ú| —)»Ú· “#¯ OÙ ÁÑÅÍ\ `iÉ!:}·ÈÖAø}·Ê-¯2?}:N}·Â­ Á2>}Í]NNÃÍ:[}þ#Ê7 þ$ÂÍ Í³þ$Ê/ >$Í:[}ð þ*Âß Í³þ*Ê/ >*ÃÄ þ.Â÷ ͳþ#>.ÂÄ ¯2P}Ã_ þ- ͳþ#Ê þ.>-ÂÄ >2E}¯2P}OÃ_ >2E}Ã7 þ\̳·Äͳð 2G}Ã? > 2G} ͳþ#Ê> þ,ÂT >ÿ2O}Ã> !P}qþ.Âp >ÿ2?}ͳþ#Âp Ãd !A}qþ^ƒ ͳÿÃv !C}qþ-” >ÿ2F}ͳ>28}\}Í’ :}O·ÂÐ 2B}2D}!}r#³ :P}·ÊÁ =2H}:E}·> Äî :E}·ÊÝ Í7Í:C}·!D}6ÂC yÖ@GÊ÷ Ò /%ͯ2O}2E}2F}\}Í~ Ã>:P}2B}GyÖ@�w:E}ë!F}¶ë>Âk Í7>Êk 4!B}5<2H}:B}!A}†G:C}·Â„ :D}Ox‘GxþÒ® $}W?< =‘ zÜg zÔn !$}~·Ê® ÍiÔ :H}·ÂÜ :F}!E}¶ÂÍ7Ê:B}·Â+ :P}þÚ+ >-ÍÃG:G}OWþ*Êð þ$Âð $ :F}!E}¶ÂÍ7ÊOÊ zÍÃyÍ:P}·Êµþ£:E}·Â£:}·Âµã:}·Â>> Í>0Ã> 28}}Ín Íi!>}~2@}6Í7Í:}Ö@2D}!C}þ Úx<Êww>Ã~6!D}p2B}/Æ€O!}¯ ¶#ÊŠ æʘ y2A}=Ÿ/2?}:B}·>0ÌõÍßÍ:8}=!B}5¶ò¯:B}Íü¯2O}!?}~>.Ü:>}!?}/¶Ê:C}·Âÿ:D}G:A}¸Ò÷G¯Ãø�2A}xÍü:8}·Ê!A}5úÍßÍÃÿ:A}Íü:C}·ÊY>EÍ!D}:>}·Â35~· ò>/<-GyÍx/ Ö òFÆ GyÍxö0Í:F}·ÊjÍ7ͯ2F}2E}:>}·À:@}2>}É2ë"<}ë|µÂ–:>}·È:M}·ÊÇåÃ×å~æW#^#:>}·Â¿z³Êµ~#åÍ)áÃ¥á|µÈ~ÐÃà:M}·ÂÓÁ2>}Í]NSÃÍ"K}ë"I}:[}þ/Êûþ!Ê þ&Êþ\̳·ÄͳÃÝÍëͳ·ÊÆþ/ÂûÍëͳõÍàÊ Í×ÍÃÍU Ã+Ís :>}·À> !|4O:;}·ÂF* éYÃÍU ÃUÍs Íö>2|> Í6> Ã6ÍU ÃpÍs :>}·À:|ÖÈÒxõ> Í2ñ<Â~ÉÍyÃUÍy:>}·ÊuÉ*|&É|·TLÂ͵ÊÍ:|•Ú~ÈåÍXá>•ÈÃ~Í¡ÃuÍ¡ÃU!;}¾Èõ:|=ÄUñ2;}É!8}~5*Q}~Òó+"Q}Ã÷æö0ÉGø>0ÍÃýÍ)þ0Ø:O}·È:C}·À:B}ÖÊ'ÖÊ'ÖÀ>,õÅÕÍ3ÑÁñÉ*<}é:}·> È>-Éë*W}|µPUÂÍë|µÊ›>ÿ2>}~æG#N#"W}"Y}ë`i"S}"U}±Ê›!þ#€&ÿéþ/ʧþ&ʧþ!ʧþ\© x±Â©2>}Í]UNÃÍ.ÿ x±Âu"M}*U}|µÂÇ*S}"U}*W}ÃÐ+"U}*Y}~#"Y}2[}É*K}~#"K}É*I}|µÈ+"I}ÉÍà> Ä×Ã2ë"<}!>}45È4!]å:[}þ#Èþ/Èþ!Èþ&Èþ$Â*ͳþ$È>$ÍÃþ*Â:ͳþ*È>*Ã$þ-ÂMͳþ#Èþ.È>-Ã$þ\̳·ÈÍͳà *W}++ë!"W}ëöë:æ0Ö0!Ø{懇‡‡õœÍ~æGñ°w¡ÍogÉ:æ0Ö0ØŸÃ! !*éå|µÊÑF#N#ÃÌÅåNÍ©áÁ# x±Â ͩáÃr"‹}2…}Í�Òö Í·*}#"}Êà |Í Í© Í©>2|:…}·Ê†¯2Š}2d}GWÿ2Š}͸Íä~þ"ÊdÍð͸ÃU͸~þ"Ê[¯2Š}Íÿ~þ,Ê€͸ÃtÃ#*‹}Íc:|·Ê±o&##Íhå6#|Gw#¨Ñ*‹}s#rÉ:|#ʸÐÍÿ:Š}·+~áÊÔþ"ÂÙ:…}»È  ÍÃàåÕ!e}qÑáÉ~åÅ!| wÁá ÉåÕ!u}ÑráÉimproper input - reenter $åÍcÍ{|µåÊIÕ##ÍhÑÁåp#q#w x±Â?Ñás#rÉåÍc͉x±ÊdÅÕ! Ã6áw#wÉåÍ{DMáà ͉à åÍ{DMáÃ͉Ãë*}DM*}}‘|˜Ú¡ODááÃÍF#N#å "}áëÉͬÆÿŸgoÉͦþ ÚÄõOÍ©ño&Éͦo&É}2ÔÛo&ÉEáÑ{2âxÓén&É}áÑéëÁ!øÿ9ùÅÕæÊ>ÿ OÍ áÃr"‘}>ª2�}y2Ž}¯w# Â+ë¯2�}2�}ÍMþ Ê)þ+Ê@þ-ÂC>€2�}ÍMþ0Ê@þ.Âr:�}Úø/2�}yþµÍMþ0ÂH:�}=2�}Ã`þEÊ»þeÊ»ÍYÒ‰yþÈÃøG¯±Ê§ :�}2�}Ò£x‡‡‡‡ç°:�}Úµ:�}<2�}ÍMÃHyþÈÍMþ Ê»GÖ-_ÊÔÆxÂ×ÍMÍYÚøGÍMÍYÚñOx‡‡€‡�G{·Âø�G:�}Æ@€*‘}wɯ2“}y2Ž}åëÍMþ+Ê1þ-Â4>ÿ2“}Ã1ë)DM)) O ëÍMÍYÒ%:“}·ÊHz/W{/_ás#rÉ:Ž}·È=2Ž}~#Éþ0Øþ:?ØæÉ^#V* }“|šëÚàÉ|µÈ~ÚàÉ!d}N q!e} ^!|ë!u} n&É*è}ëÍ"}É*è}!4À#é!DEåÍ—Á<ÀÍ�ÚÍ|·ÊÍEXÃÍ!CEô×!Í—â"Í—âÃÍ�Ø*è}2ëÃéÍ�Ú|µÂ8Íõ ÍWÍ�Ú!IEÊÍÑZÍ"}WEXÍ�ØÊÍÉë%ÍIE<ÊÍÉ*è}Ãà¯^w#Vw* }“|šëÚàÉ!"~>2~·zW{_!~5Ê–*~Ò~ |g}o"~*~|g}o"~Ãi*~ë*~DMÉ*è};ÉÍ "ê}ëÃé€*ê}"ê}ëÃéBN|µÊÍ>€•>œÚÍå>)=ÂÔ; åÍh"è};p#z³ÂéÍ Á *è} "ï}"ñ}á}2õ}Í èì}*è}$ ~#ÂÉ$*è} ì} w#Â,ÉÅÕÍ áÍm”}~#¶DFÂÍë*è}ër+sá"ì}:õ}= |µÊ !î}~ö@wà "ø})|µÊ}>(•>œÐNFáÃÍ|µÊª~æªå#~#·Ê©Gë*è}:þʪÍ�Ò å6#> 6 #=°áxþÚÓþ:ÂÓæþÒªw#¯2)~ÍUÊÚì ÂÚÊþ.Âè¯2)~ÍUÊ Âùá~ÚàÉ" ~! ~"~xþÒ©w#Âp˜~Í|µÂ©*è}ë!DM!:å+ wÂAáÖ ÊQ>€wÃ:)~Ú|þ.Âi# Âb7Éþ*‚:~>*Ò‚>ÿ2)~6?#·Éþ`ÚŽþ{ÒŽæ_þ:Ê©þ*Ê©þ?Ê¢w#·É:~Ú¸áá:~·Ä½IFÃÍ>?Ã�ÍF*ø})”}—w#wÉ*ê}ë*ñ}}“O|šGër# x±ÂÞÉ*ñ}ë*ï}#{•zœØ"ï}É2*~ÍÀáÑÁãåÍ5>ÿ2~áÍ„—2~Í�ÚC:*~Ò,*è}ë!~ö€w:*~Ò@*è}ë!~ö€wÍîÍ—<Êf*è}!¯^w#Vw*è}. s#rÃÍåͽÁÍ�Úyx·EXÂÍ*ø})¾}^#f|³OEÊÍkÑé2*~ÍÀáÑÁãåÍ5á>ÿ2~Í„—2~ÍîÍ—Í�ÚÕ|·ÂÜ*è}ë!:~·ÊÕ!~ö€wÍîÍÔ<ÂÍåͽáMEÍ�ÚÍ|·ÊÍEXÃÍëáãÍm¾} s#rÉÍm”} ^#Vz³FUÊÍë"è}*ø})¾} ^#Vë"ú}Í *ì}"þ}!9"ü}èî} æûö€ÚY:õ}RB=Â7"RUÃ7"|µIRÊ7"+DM*ì}ëÍ^*ê}{æ…o>Œg+å{z_yWÕÍÏÑ!*è} s#r!î}~æýwá"ï}*ñ}"ó}à ÁÑÅÍ�Ò±!ÉåëÍ!9"ü}áåÍ;Í#*Í—·ÑÀÕëÍ;Í#*Í—·ÑÈåëÍ;Í#+Í—áÉÁÑÅÍ�Òú!ÉåëÍ!9"ü}áåÍ;Í#+Í—·ÑÀëÍ;Í#+×*ö}ë*ê}s#rÉͨ*è}ë!0ë! ~#~!î}>¶w:õ}2+~ÍÙ·Âe!+~5ÊwͲÃQ:î}ö2î}*ê}+"ó}ÃÍ*ñ}"ó}!î}~æïwÉÍçÒ—ÍÏÍ "ï}Í.:î}Ô.*ï}~þÀÃ7 Í…þ À*ì}|µÊ©REÃ7"Í!9"ü}*ó}ë*ï}#{•zœÚë"ï}:î}Ô.Í *ï}n&É:î}æÂ7 ÍÏÍ "ï}Í.Ãáå!|ÅåÍ©þ Ê áÁþ,Ê5þ Ê+Gyþ2Ê p#Ã*ì}|µÅÌ…Á|áÉ!",~þ Ê`Í©þ"Ê`!3~6,!0~6!|"1~Ã23~!|"1~¯20~:3~þ €Í…þ Â�ÿÍ©!3~¾Êªþ Ê·*1~w#"1~!0~~ Í:ëás#rà ~#fo´ÊpF#Ny“Oxš±ÁÊ“ÅáÕåÍL*ì}Íhëás#rëÑr#sÓÕåÍ…áÑ#wz³Â‰Í…Í…à ÍÃÍà åÍL>"Í:ëás#rÉ*ì}|µÊ Í…þ ÂÄà !î}~Їwæ‚þWRÊ7"õͨ*ï}ë*ê}{•_zœW{z<õÍá·ÂͲñ=Â÷ͨñÒÍ!î}>ý¦wÉÍ *ü}ù*ú}|µDWÊ7"éG:>}xÚ6þ Èõ*ì}|µÊN*þ}|µERÊ7"+"þ}ÍçÒ]ÍÏ*ê}"ï}:î}æ‚þ€Â{Í.*è}! N#F p+q*ï}ñw!î}>¶wÉÑëãÕÍ!9"ü}á}Í6à :>}Ú©>"åÍ6á6Í|:>}>"Ô6ÃÊ*Ív ÃÊ*ÍX :>}>,Ò6É:>}Úâ>"åÍ6á6Í|:>}>"Ô6à *Ív à *ÍX :>}6Üù*þ}|µÊ' ++Ã" å> Í6á+|µÂ > Í6> Í6Íùà *è}ë!0ë! w#w*ï}+"ï}!î}~æýwÍ *ü}ù*ú}|µEFÊÍéÍmå”} ¯^w#Vwz³CUÊ>"ë"è}ͨÍ ÍÏͨÍÌá¾} ¯w#wÃF!ù ”}å)~#fo´áÄk *4~#"4~{•zœÒ¦ ÉÍm”}å ¯^w#Vwz³DUÊ>"ë"è}ͨÍÌÍîͯÔ ë!9"ü}áãÕå!ÍÀá̈́͗<FRÂ7"*è}"6~!ÍÀá̈́͗<Êd!*è} ë*6~~# Â6!ÍîÍ—Í�ÚT!|·EXÂÍÍF*6~"è}ÍF!ÿÿÉÍF*6~"è}ÍF!Éå!ÍÀ>ÿ2~áÍ„*è} 6?##6?!"8~Í_Õ*è}~·Ê·!=_Í"}<EXÊÍÍã]Í"}<EXÊÍá##FNÅÍ—þÿÊ%"æ`Æ*ê}O ÁyÅ·Ê "~#¶#Ê"Âý!Ã"~#·Ê"Â"*8~"8~ÃÛ!ÍF¯2~*8~ÁÈ)Ã0"É*ü}ùÃÍáÃÍÕåÍ)%åÅëPYÍ)%åÅë |æÀÂ}"å##Íh":~ÑÍ7%ÁÑÍ?%ÁÑÍ?%áÍ�%áÍ�%*:~É! 9ùSLÃÍåÕz³Ê×"|µÊá"Í)%åëPYÍ)%y“_xšW³Âí"Ñx±Ê¼"ë¾Â¼"# x±Â¯"ÑáõÕÍ�%áÍ�%ñÊÑ"ÚÓ"ö€É¯É>�‡ÉÍ)%ʼ"7ü"ëÍ)%ʼ"7?ü"ázü"ëN#Fy»Âÿ"xºÈ+åÕÍ~%á|µÊ#~Ô�$~æwëás#rÉåÍ)%Ê*#n&ãÍ�%áÉACáÃÍå!ÍhÍ7%Áq++É*ÉÁëáÅzSSÚÍåÍ)%y“xšÒ`#PYåÕë##Íh"<~ÑÍ7%BKÑÍ?%áÍ�%*<~É|µÈÍ)%Å++Í�%áÉëáãzSSÚÍåÍ)%y“OxšGÚÁ# åÕë##Íh">~ÑÍ7%BKÑÍ?%áÍ�%*>~Éá|µÈ~ØÃ�$DMáÑãx²ú%$z³Ê%$|µÈ~æ#¶+Âí#Í�%!ÉåÅÍ)%y“OxšGÚ+$Ñy“xšÒ$PYåÕëÍh"@~ÑÍ7%BKÑÍ?%áÍ�%*@~ÉSSÃÍ!"@~áÃ$É!>}~2B~¯w2|j$Ív *|&å##ÍhÁåxö€w#q#|Í?%á:B~2>}Éþ È!|4^wÉ|µÈ~Ô�$åÍ)%Ê›$a~“ºÒ”$~æ_w# x±ÂŠ$áÉÍ)%åÅ! ÍhÑÍ7%BKÑåÍ?%á++ÉÁã"E~|·òÉ$ÅSSÃ͵ë!"C~áÅåÊ!%Í)%Ê!%åÅ`iÍ å##Íh"C~ÑÍ7%ÁÑ x±Â %Gë*E~ëp#z³Â%Ã!%ÕÅÍ?%ë*E~+|µ"E~ëÁÑ %áÍ�%*C~É|µDMÈ~æG#N#±Ézö€w#s#Éx·ÊP%Å@Íi%ÂE%Áy±ÈæÊb%ÅOw# ÂY%ÁyæüÈOw#w#w#w# Âi%É^#V* }“|šëÚàÉ|µÈ~ÚàÉë!9ÁõÅ þÊÀ%þÊ»%Õå~#foÍó"áÑ##ÃÊ%ÃÂ%~#ÂÂ%Áñ=œ%ÑùÕ`ié"G~^#V* }“|šëÒò%Íà*G~¯w#wáã}þÊÿ%þÊ&>Ã&>2L~!\~"z~!9N#F# y2Q~ÃG&2I~+~+ång#ÅÍ ë*z~s#r#"z~áDMá:I~=Â&&+~+ång#ÅÍ :L~_Í Á "R~ÅÍh"T~ë*R~"X~á)"V~*T~+F+N ##6# x±Â…&á~#åfo#:L~_Í ¯•oœ•g"Z~:Q~Ãõ&2I~*z~+V+^"z~ëÃØ&*X~ë*Z~"X~ë*V~+r+s"V~*J~+"J~|µÂ¾&á#~#åfo#)¯•oœ•g"Z~:I~=­&á*T~ë*G~s#r:Q~áÑÑ= 'éÉD2þÊDþÊH2Ã!ÿ"|Í–* È ÁùÅ ·À="ë"Á6#}“|šÚBÅÍD!ÿ"| Í"}æ0Ö0-ÿÔ!€~·ÈG#~þ Â}ÈÃq+påh#åÿ1.9(Portions (c) 1983, 1984 Digital Research( The rest is (c) 1984 Steven L. Sanders a:startup.dbB0C0B1C1B2C2B3C3B4C4B6C6B7C7=8  < M A I L I N G L I S T D A T A B A S E v : Copyright (c) Sept 1984 by Steve Sanders 1 M A I L I N G L I S T D A T A B A S E v  M   =$DB.COM (c) 1984 by Steven L. SandersReading file A:STARTUP.DB ...C This program is part of a FREEWARE effort by the author.C I have spent many hours writing, improving, and changingC this program to get it where it is now. If you use thisC program on a regular basis and appreciate the time andC effort involved to create, please send a check for $15.00C to: Steve Sanders 14 Cypress Drive Palm Harbor, FL 33563 [hit any key]&Can this Kaypro display inverse video?:::: (Y)es or (N)o :::> YYesNNo*If Kaypro 10 - do you have a Legacy clock?:::: (Y)es or (No) :::> YYesNNo%Enter drive and filename of data fileor = b:database.dat- [______________]B:DATABASE.DATData drive and filename is --> Data drive and filename is --> & Current data drive and filename -->  *I will now create the A:STARTUP.DB file. Do you want % to be used as the auto-default file?es or o : NNoYYes3 [ creating A:STARTUP.DB ] There is no  file currently on disk.; You MUST use option 'A' first, and add new member. info before using the other options. [ press any key ]8 Enter today's date (MM/DD/YY) [________]M A I N M E N U=================,   Current data file --> 4 Add new member to database.5 Change existing member data.1 Delete a current member.< Change current data drive/filename.7 List current database members.> MAIL - generate labels (All members).= Scan database (print single lables).2 Telephone number roladex.6 QUIT - exit & return to CP/M.1  Enter your choice [ ]ACDFLMSTQ ENTER NEW MEMBER DATA ENTER NEW MEMBER DATA7Enter Company (c/r to quit) [_________________________](Enter first name .......... [__________]2Last name ................. [____________________]7Street address ............ [_________________________]2City ...................... [____________________] State ..................... [__](Zip code .................. [__________]*Business phone ............ [____________]You have entered the following: Company: Name: Address: City, St: ,  Zip: Bus phone: 1[ es = add the info o = re-enter info ] YN Company: Name: Address: City, St: 0Member is currently listed in database as shown.0================================================ CHANGE MEMBER DATA CHANGE MEMBER DATA7Enter company (c/r to quit) [_________________________](Enter first name .......... [__________]2Enter last name ........... [____________________]1. Company name: 2. First name: 3. Last name: 4. Address: 5. City: 6. State: 7. Zip code: 8. Business phone: , Enter field (1-8) to change (c/r=quit): :Enter company name ........... [_________________________]+Enter first name ............. [__________]5Enter last name .............. [____________________]:Enter address ................ [_________________________]5Enter City ................... [____________________]#Enter state .................. [__]+Enter zip code ............... [__________]-Enter business phone ......... [____________]'Requested member not found in database. DELETE EXISTING MEMBER DELETE EXISTING MEMBER7Enter company (c/r to quit) [_________________________](Enter first name .......... [__________]2Enter last name ........... [____________________]Company name: Name: Address: City, St, zip: , Business phone: Date entered: 5[ es = delete o = search for another match ] NY+Requested member not found in the database. CHANGE DATA DRIVE/FILENAME CHANGE DATA DRIVE/FILENAME5Enter new data drive and filename (i.e. B:MYDATA.DAT)3or a leaves data drive/filename unchanged. [______________] & Current data drive and filename -->  #New data drive and filename is -->  LIST DATABASE MEMBERS LIST DATABASE MEMBERS-For an alphabetically sorted listing, run the)SORT.COM utility on your data file first.1. List by company name only.&2. List by company, name, and address..3. List entire database record of each member." Enter your choice (c/r=quit) [ ]2This option will list ALL the database members by: Company name(LIST TO PRINTER INSTEAD OF CRT? y/n > YN.This option will list ALL database members by:- Company name, firstname, lastname, address'LIST TO PRINTER INSTEAD OF CRT? y/n > YN0This option will list the entire record for eachmember of the database.(LIST TO PRINTER INSTEAD OF CRT? y/n > YNMEMB ER LISTING as of # page#MEMBER LISTING as of # page#uit or any key to continue,  ,  ,  Business phone: Date entered: ,  Business phone: Date entered: %[ End Of File to continue ] GENERATE MAILING LABELS GENERATE MAILING LABELS;Be sure that you have run SORT.COM first if an alphabetical:print-out is desired. This option prints ALL the members.0[ Press to print sample for alignment ]ACME EQUIPMENT SUPPLY CO. JOHN JOHNSON475 EAST MAIN STREETANYWHERE, USA 000006es if aligned properly and ready to begin printing,3o if you desire another sample for alignment, oruit and return to menu. :::::: (Y/N/Q) ::::> QNY Now printing out mailing labels. >> Be sure printer is on-line <<!Enter --> to abort printing.A[ PRINTING aborted ],  # SCAN DATABASE - SEARCH FOR MEMBER !SCAN DATABASE - SEARCH FOR MEMBER7Enter company (c/r to quit) [_________________________](Enter first name .......... [__________]2Enter last name ........... [____________________]Company: Name: Address: City, St, zip: , Business phone: Date entered: G[ ont search, enerate label,

rint info, or eturn to MENU ] CRPCompany: Name: Address: City, St, zip: , Business phone: Date entered: G, #[ No such member in the database. ] TELEPHONE NUMBER ROLADEX TELEPHONE NUMBER ROLADEX=This option will list names, companies, and phone numbers for6any given beginning letter ( A - Z ) of the last name.'Enter lastname letter to scan ..... [_] PHONE ROLADEX FOR LETTER '' PHONE ROLADEX FOR LETTER ''uit or any key to continue: ,  Phone: &[ End of file - to continue ]( DB.COM (c) 1984 by Steven L. Sanders , DB.COM (c) 1984 by Steven L. Sanders::SundayMondayTuesday WednesdayThursdayFridaySaturday//19001January02February03March04April05May06June07July08August09 September10October11November12December++++ ERROR ++++ Error Code "" occurred in line number REEF)Attempt to read past end of a fixed file..Have you been using Wordstar on the data file?DWME8Operating system error while creating or appending file./Is there FREE space available on the data disk?|Í!ƒ'"}"}!ƒ'"}|~!„'Íó"~~!‰'Íó"€~!³'Íó"‚~!Ý'Íó"!"„~*„~Í1#†~Íó"!"ˆ~*ˆ~Í1#Š~Íó"!"Œ~*Œ~Í1#Ž~Íó"!"�~*�~Í1#’~Íó"! "”~*”~Í1#–~Íó"!Í1#˜~Íó"!"š~*š~Í1#œ~Íó"!"ž~*ž~Í1# ~Íó"! "¢~*¢~Í1#¤~Íó"*Š~ë!ë'ÍB"¦~Íó"*Š~ë!ï'ÍB"¨~Íó"*Š~ë!ó'ÍB"ª~Íó"*Š~ë!÷'ÍB"¬~Íó"*Š~ë!û'ÍB"®~Íó"*Š~ë!ÿ'ÍB"°~Íó"*Š~ë!(ÍB"²~Íó"*Š~ë!(ÍB"´~Íó"*Š~ë! (ÍB"¶~Íó"*Š~ë!(ÍB"¸~Íó"*Š~ë!(ÍB"º~Íó"*Š~ë!(ÍB"¼~Íó"*Š~ë!(ÍB"¾~Íó"*Š~ë!(ÍB"À~Íó"*Š~ë!#(ÍB"Â~Íó"Ä~!((Íó"Æ~!+(Íó"!"È~!"Ê~*È~"Ì~*È~"Î~*È~"Ð~*È~"Ò~*|~-(ÍB"Ô~Íó"Ö~!k(Íó"*¦~ë!§(ÍB"ë*¨~ÍB"ë!´(ÍB"ë*|~ÍB"ë!ç(ÍB"ë*¦~ÍB"ë!ì(ÍB"ë*¨~ÍB"Ø~Íó"*¦~ë!ù(ÍB"ë*¨~ÍB"Ú~Íó"Ã3I>!Þ~Í–%*Š~ë!H)ÍB"å*à~ Í1#ÑÍB"å*Þ~ Í1#ÑÍB"Íy*Ü~É*Ü~ÉÃlI>!ä~Í–%*ä~Í}#P{•ozœgë!Í\ "æ~*æ~Í¡*ä~Íy*â~É*â~ÉËI!å!åÍöHÍy*œ~Íy*è~É*è~ÉëI*†~Íy*Ô~ÍŠÍU*Ö~ÍŠ*ê~É*ê~ÉÃÎI*†~ÍŠ*Ú~ÍŠ*Ø~ÍŠ*Ú~ÍŠ*ì~É*ì~ÉÃJ!"ð~ÃøI!"ò~ÃêI*ò~#"ò~ïØÒãI*ð~#"ð~úÿÒÚI*î~É*î~ÉÃ@J!"ð~Ã1J!"ò~Ã#J*ò~#"ò~ß±ÒJ*ð~#"ð~úÿÒJ*ô~É*ô~ÉÃyJ!"ð~ÃjJ!"ò~Ã\J*ò~#"ò~ÏŠÒUJ*ð~#"ð~úÿÒLJ*ö~É*ö~É!­yÍ *‚~Ít!|µÊ¶J*†~ÍŠ!K)åÍ6I"ø~ÍUÍUÍU!q)åÍ6I"ø~ÍCJ"ø~ÃüxÍŽI"ø~ÍUÍU!‘)ÍŠÍU!Ö)ÍŠ!*ÍŠ!`*ÍŠ!¥*ÍŠÍU!ê*ÍŠÍUÍU!/+ÍyÍÈ"ø~ÍoI"ø~ÍUÍUÍUÍU!G+åÍ6I"ø~ÍUÍUÍU!o+åÍ6I"ø~*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ë!‰+͈"ÂaK!Œ+ÍŠ*Ê~"Ì~Í®I"ø~ÆK*ú~Í1#Íw$ë!‘+͈"ÊwKÃ-K!”+ÍŠ*È~"Ì~ÃLÍoI"ø~ÍUÍUÍUÍU!˜+åÍ6I"ø~ÍUÍUÍU!Ä+åÍ6I"ø~*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ë!Þ+͈"ÂãK!á+ÍŠ*Ê~"Î~ÃL*ú~Í1#Íw$ë!æ+͈"ÊùKõK!é+ÍŠ*È~"Î~ÍoI"ø~*Ò~|µÊLÃÃLÍUÍUÍUÍUÍU!í+åÍ6I"ø~!,åÍ6I"ø~ÍUÍU!2,Íy!"ü~Ã[L*Ž~Íy*ü~#"ü~ðÿÒNLÍ5z*þ~Í}#{•zœòxLÃL*þ~ë*Æ~͈"¤L!a,Íó"ÍU*q,ÍB"åÍ6I"ø~ÃÃL*þ~Íw$Íó"ÍU*’,ÍB"åÍ6I"ø~*Ì~|µÊM*º~ë*¾~ÍB"ë*Â~ÍB"ë* ~ÍB"ë!³,ÍB"ë*¦~ÍB"ë!¿,ÍB"ë*ÍB"ë!ç,ÍB"ë*¨~ÍB"ë*¼~ÍB"ÍŠÍ J"ø~*Ð~|µÊ(MÃpNÍoI"ø~ÍUÍUÍU!ë,åÍ6I"ø~ÍUÍUÍU*-ÍB"ë!%-ÍB"åÍ6I"ø~ÍUÍUÍU!L-åÍ6I"ø~*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ë!^-͈"Â¥M!a-ÍŠ!e-Íó"ÃÐM*ú~Í1#Íw$ë!g-͈"Ê»MÃtM!j-ÍŠÍUÍUÍU!o-Íy*‚~Ít!|µÂïM*‚~å!å!å!>Í�!Í*Ì~ÍÄ*Î~Íý!Í*ÍÔ!Ík Í J"ø~*Ít!|µÂpNÍoI"ø~ÍUÍU*˜~ÍŠ*¤-ÍB"ë!¼-ÍB"ÍŠÍUÍU!Ö-ÍŠ!.ÍŠÍUÍUÍU!C.ÍyÍÈ"ø~*Î~ë*Ê~{•ozœµÂ†NÍbpÃàNÍoI"ø~ÍUÍUÍUÍUÍU!`.Íy!"ü~÷N*Ž~Íy*ü~#"ü~öÿÒªNÍ5z*þ~Í}#++++++++|µÊ×NÃpN*þ~Íó"ÍoI"ø~ÍUÍU!š.åÍ6I"ø~!­.åÍ6I"ø~*Î~|µÊHOÍUÍU*ë!À.ÍB"ë*ÍB"ë!Ä.ÍB"ë*ÍB"ë!Ç.ÍB"ë* ÍB"åÍ6I"ø~ÍUÃaOÍUÍU*Ê.ÍB"åÍ6I"ø~ÍUÍU!â.ÍŠ!/ÍŠ!O/ÍŠ!‚/ÍŠ!À/ÍŠ!ù/ÍŠ!90ÍŠ!x0ÍŠ!¬0ÍŠÍU*˜~ë!ä0ÍB"Íy*Ž~ë*Ž~ÍB"ÍyÍÈ" * Í1#Íw$ÍŠ* Í1#Íw$ë!1͈"ÂßOÃ’P* Í1#Íw$ë!1͈"ÂõOÃV* Í1#Íw$ë!1͈" PÃ\* Í1#Íw$ë! 1͈"Â!PÃH_* Í1#Íw$ë!#1͈"Â7PÃp`* Í1#Íw$ë!&1͈"ÂMPÃ8g* Í1#Íw$ë!)1͈"ÂcPÃÑi* Í1#Íw$ë!,1͈"ÂyPÃÁm* Í1#Íw$ë!/1͈"Â�PÃpÃàNÍoI"ø~ÍUÍU*Ì~|µÊ½P*¦~ë!21ÍB"ë*¨~ÍB"ÍŠÃÃP!K1ÍŠÍU*˜~ÍŠ!b1Íy!"ü~ÃèP*Ž~Íy*ü~#"ü~åÿÒÛPÍ5z*þ~ë!›1͈"ÂQà àN*þ~Í}#{•zœòQÃ’P*þ~Íw$Íó"!�1Íy!"ü~Ã=Q*Ž~Íy*ü~#"ü~ôÿÒ0QÍ5z*þ~Í}# {•zœò`Q*–~ÍyÃ!Q*þ~ë!Ç1͈"ÂvQ*–~ÍyÃ!Q*þ~Íw$Íó"!É1Íy!"ü~ÞQ*Ž~Íy*ü~#"ü~êÿÒ‘QÍ5z*þ~Í}#{•zœòÁQ*–~ÍyÂQ*þ~Íw$Íó"!ý1Íy!"ü~ÃéQ*Ž~Íy*ü~#"ü~åÿÒÜQÍ5z*þ~Í}#{•zœò R*–~ÍyÃÍQ*þ~Íw$Íó"!62Íy!"ü~Ã4R*Ž~Íy*ü~#"ü~êÿÒ'RÍ5z*þ~Í}#{•zœòWR*–~ÍyÃR*þ~Íw$Íó"!j2Íy*Ž~Íy*Ž~Íy*Ž~ÍyÍ5z*þ~Í}#{•zœò—R*–~ÍyÃcR*þ~Íw$Íó"!Œ2Íy!"ü~ÿR*Ž~Íy*ü~#"ü~ôÿÒ²RÍ5z*þ~Í}# {•zœòâR*–~ÍyãR*þ~Íw$Íó"!¶2Íy!"ü~à S*Ž~Íy*ü~#"ü~òÿÒýRÍ5z*þ~Í}# {•zœò-S*–~ÍyÃîR*þ~Íw$Íó"ÍoI"ø~ÍUÍU!â2ÍŠÍUÍU*3ÍB"ÍŠ*3ÍB"ë*Ä~ÍB"ë*ÍB"ÍŠ*3ÍB"ÍŠ*-3ÍB"ë!;3ÍB"ë*ÍB"ë*Ä~ÍB"ë!?3ÍB"ë*ÍB"ÍŠ*G3ÍB"ÍŠÍUÍU!U3Íy*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ÍŠ*ú~Í1#Íw$ë!ˆ3͈"ÂøSÃT*ú~Í1#Íw$ë!‹3͈"ÊTÃÊSÃ’P*Ít!|µÊ"TÇTÃÍ�!"!Í*Í;*Í›*Í›*Í›*Í›*Í›*Í›*Í›*Í›*ÍÔ!Ík Ã’P*å!€å!å!>Íø!å!9UÍõ!"Ã1U!Í*Í;! Í­!"Í­!$Í­!&Í­!(Í­!*Í­!,Í­!.Í­!0Í­ͼ*"ë*͈"ÖŸõ*$ë*͈"ÖŸÁ õ*&ë*͈"ÖŸÁ Ò'UÄU*#"îT*Ê~|µÂ®T!Í*Í;*Í›*Í›*Í›*Í›*Í›*Í›*Í›*Í›*ÍÔ!Ík Ã’PÍoI"ø~ÍUÍUÍU*˜~ÍŠ*Ž3ÍB"ÍŠ*œ3ÍB"ë*Ä~ÍB"ë*ÍB"ÍŠ*ª3ÍB"ÍŠ*¸3ÍB"ë*Ä~ÍB"ë*ÍB"ÍŠÍUÍU!Æ3ÍŠ!ø3ÍŠÍ J"ø~Ã’PÍoI"ø~ÍUÍU*Ì~|µÊ+V*¦~ë!*4ÍB"ë*¨~ÍB"ÍŠÃ1V!@4ÍŠÍU!T4Íy!"ü~ÃPV*Ž~Íy*ü~#"ü~åÿÒCVÍ5z*þ~ë!�4͈"ÂjVÃàN*þ~Í}#{•zœò}VÃV*þ~Íw$2Íó"!�4Íy!"ü~Ã¥V*Ž~Íy*ü~#"ü~ôÿÒ˜VÍ5z*þ~Í}# {•zœòÈV*–~ÍyÉV*þ~ë!¹4͈"ÂÞV*–~ÍyÉV*þ~Íw$4Íó"!»4Íy!"ü~ÃW*Ž~Íy*ü~#"ü~êÿÒùVÍ5z*þ~Í}#{•zœò)W*–~ÍyÃêV*þ~Íw$6Íó"*å!€å!å!>Íø!å!ý[Íõ!"ÃßW!Í*Í;! Í­!"Í­!$Í­!&Í­!(Í­!*Í­!,Í­!.Í­!0Í­ͼ*"ë*4͈"ÖŸõ*$ë*6͈"ÖŸÁ õ* ë*2͈"ÖŸÁ ÒÕWÃçW*#"Ã\W*Ê~|µÂ\WÍoI"ø~ÍU* ï4ÍB"ÍŠ*"5ÍB"ÍŠ*$5ÍB"ÍŠ*&.5ÍB"ÍŠ*(C5ÍB"ÍŠ**X5ÍB"ÍŠ*,m5ÍB"ÍŠ*.‚5ÍB"ÍŠÍU!—5Íy*˜~ÍyÍÈ"8*8 {•ozœµÂ}X!Ík ÃàN*8Í1#:Íó"*:Íy*:ÍíÍå"8*8+|õ*8{•zœÁ°Ò·XÃYX*8+)ÅX~#foéÕX3Y‘YïYMZ«ZþZ\[ÍoI"ø~ÍUÍU*˜~ë!Å5ÍB"Íy!"ü~ÃY*Ž~Íy*ü~#"ü~åÿÒ÷XÍ5z*þ~Í}#{•zœò!YÃÕX*þ~Íw$ Íó"ͺ[ÃçWÍoI"ø~ÍUÍU*˜~ë!6ÍB"Íy!"ü~ÃbY*Ž~Íy*ü~#"ü~ôÿÒUYÍ5z*þ~Í}# {•zœòYÃ3Y*þ~Íw$"Íó"ͺ[ÃçWÍoI"ø~ÍUÍU*˜~ë!.6ÍB"Íy!"ü~ÃÀY*Ž~Íy*ü~#"ü~êÿÒ³YÍ5z*þ~Í}#{•zœòÝYÑY*þ~Íw$$Íó"ͺ[ÃçWÍoI"ø~ÍUÍU*˜~ë!e6ÍB"Íy!"ü~ÃZ*Ž~Íy*ü~#"ü~åÿÒZÍ5z*þ~Í}#{•zœò;ZÃïY*þ~Íw$&Íó"ͺ[ÃçWÍoI"ø~ÍUÍU*˜~ë!¡6ÍB"Íy!"ü~Ã|Z*Ž~Íy*ü~#"ü~êÿÒoZÍ5z*þ~Í}#{•zœò™ZÃMZ*þ~Íw$(Íó"ͺ[ÃçWÍoI"ø~ÍUÍU*˜~ë!Ø6ÍB"Íy*Ž~Íy*Ž~Íy*Ž~ÍyÍ5z*þ~Í}#{•zœòìZëZ*þ~Íw$*Íó"ͺ[ÃçWÍoI"ø~ÍUÍU*˜~ë!ý6ÍB"Íy!"ü~Ã-[*Ž~Íy*ü~#"ü~ôÿÒ [Í5z*þ~Í}# {•zœòJ[ÃþZ*þ~Íw$,Íó"ͺ[ÃçWÍoI"ø~ÍUÍU*˜~ë!*7ÍB"Íy!"ü~Ë[*Ž~Íy*ü~#"ü~òÿÒ~[Í5z*þ~Í}# {•zœò¨[Ã\[*þ~Íw$.Íó"ͺ[ÃçW!Í*Í;* Í›*"Í›*$Í›*&Í›*(Í›**Í›*,Í›*.Í›*0ÍÔÉÍU*˜~ÍŠ!Y7åÍ6I"ø~Í J"ø~!Ík ÃàNÍoI"ø~ÍUÍU*Ì~|µÊJ\*¦~ë!‚7ÍB"ë*¨~ÍB"ÍŠÃP\!œ7ÍŠÍU!´7Íy!"ü~Ão\*Ž~Íy*ü~#"ü~åÿÒb\Í5z*þ~ë!í7͈"‰\ÃàN*þ~Í}#{•zœòœ\Ã\*þ~Íw$<Íó"!ï7Íy!"ü~ÃÄ\*Ž~Íy*ü~#"ü~ôÿÒ·\Í5z*þ~Í}# {•zœòç\*–~Íyè\*þ~ë!8͈"Âý\*–~Íyè\*þ~Íw$>Íó"!8Íy!"ü~Ã%]*Ž~Íy*ü~#"ü~êÿÒ]Í5z*þ~Í}#{•zœòH]*–~Íyà ]*þ~Íw$@Íó"*å!€å!å!>Íø!å! _Íõ!"Ãþ]!Í*Í;! Í­!"Í­!$Í­!&Í­!(Í­!*Í­!,Í­!.Í­!0Í­ͼ*"ë*>͈"ÖŸõ*$ë*@͈"ÖŸÁ õ* ë*<͈"ÖŸÁ Òô]Ã^*#"Ã{]*Ê~|µÂ{]ÍoI"ø~ÍU* O8ÍB"ÍŠ*"a8ÍB"ë*Ä~ÍB"ë*$ÍB"ÍŠ*&s8ÍB"ÍŠ*(…8ÍB"ë!—8ÍB"ë**ÍB"ë*Ä~ÍB"ë*,ÍB"ÍŠ*.›8ÍB"ÍŠ*0­8ÍB"ÍŠÍU!¿8Íy*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ÍŠ*ú~Í1#Íw$ë!ö8͈"¿^*#"Ã{]*ú~Í1#Íw$ë!ù8͈"ÊÕ^Ê^!Í*Í;*Æ~Í›*Æ~Í›*Æ~Í›*Æ~Í›*Æ~Í›*Æ~Í›*Æ~Í›*Æ~Í›*Æ~ÍÔ!Ík ÃàNÍoI"ø~ÍU*˜~ÍŠ!ü8åÍ6I"ø~Í J"ø~!Ík ÃàNÍoI"ø~ÍUÍU*Ì~|µÊs_*¦~ë!)9ÍB"ë*¨~ÍB"ÍŠÃy_!G9ÍŠÍUÍU!c9ÍŠÍU!š9ÍŠÍU!Ï9Íy!"ü~í_*Ž~Íy*ü~#"ü~ðÿÒ _Í5z*þ~ë*Æ~͈"ÂÇ_ÃàN*þ~Í}#{•zœòÚ_ÃŽ_*þ~Íw$Íó"*Ì~|µÊ?`*À~ÍŠÍ®I"ø~*º~ë*¾~ÍB"ë*Â~ÍB"ë!ï9ÍB"ë*¦~ÍB"ë!û9ÍB"ë*ÍB"ë!#:ÍB"ë*¨~ÍB"ë*¼~ÍB"ÍŠ*Ì~ë*È~{•ozœµÂU`ÍoI"ø~ÍUÍU*':ÍB"ÍŠÍ J"ø~ÃàN!"B!"D!"FÍoI"ø~ÍUÍU*Ì~|µÊ­`*¦~ë!L:ÍB"ë*¨~ÍB"ÍŠó`!e:ÍŠÍU!|:ÍŠ!«:ÍŠÍUÍU!Ö:ÍŠ!õ:ÍŠ!;ÍŠÍUÍU*˜~ë!M;ÍB"Íy*Ž~Íy*Ž~Íy*˜~ÍyÍÈ"8*8 {•ozœµÂaÃàN*8Í1#:Íó"*:Íy*:ÍíÍå"8*8+|õ*8{•zœÁ°ÒQaÃù`*8+)_a~#foéeaäacbÍoI"ø~ÍUÍU!q;ÍŠÍU!¥;ÍŠÍUÍU!Á;Íy*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ÍŠ*ú~Í1#Íw$ë!ë;͈"ÂÅa>ÿÍÍ!"BÃâb*ú~Í1#Íw$ë!î;͈"ÊÛaÃŒa!"BÃâbÍoI"ø~ÍUÍU!ñ;ÍŠÍU!!<ÍŠÍUÍU!P<Íy*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ÍŠ*ú~Í1#Íw$ë!y<͈"ÂDb>ÿÍÍ!"DÃâb*ú~Í1#Íw$ë!|<͈"ÊZbà b!"DÃâbÍoI"ø~ÍUÍU!<ÍŠÍU!±<ÍŠÍUÍU!Ê<Íy*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ÍŠ*ú~Í1#Íw$ë!ô<͈"ÂÃb>ÿÍÍ!"FÃâb*ú~Í1#Íw$ë!÷<͈"ÊÙbÊb!"FÃâb!"H!"J!"L!"N!"P!"R!"T*B++|µÖŸõ*D++|µÖŸÁ°õ*F++|µÖŸÁ°Ò@cÍoI"ø~ÍUÃ_c*ú<ÍB"ë!=ÍB"Íy*TÍLÍUÍU!"*å!€å!å!>Íø!å!ðfÍõÃèf!Í*Í;!Í­!Í­!Í­!Í­!Í­!Í­!Í­!Í­!0Í­ͼ*ë*Æ~͈"Ââc*#"Æc*J7{•ozœµÖŸõ*N {•ozœµÖŸÁ°õ*R {•ozœµÖŸÁ°ÒWd*¤~ÍŠ*T#"T*7=ÍB"ë!O=ÍB"Íy*TÍLÍUÍU!"J!"N!"R*H {•ozœµÖŸõ*L++|µÖŸÁ°õ*P+++|µÖŸÁ°ÒãdÍU!t=ÍyÍÈ"ú~*ú~Q{•ozœµÖŸõ*ú~q{•ozœµÖŸÁ°ÒÅd!Ík ÃàNÃãdÍoI"ø~ÍUÍU!"H!"L!"P*B+|µÂe*ÍŠ*J#"J*#"Æc*B++|µÂ$e*ÍŠ*H#"H*#"Æc*D+|µÂ†e*ÍŠ*ë*Ä~ÍB"ë*ÍB"ÍŠ*ÍŠ*ë!“=ÍB"ë*ÍB"ë!—=ÍB"ë*ÍB"ÍŠÍUÍU*R#"R*#"Æc*D++|µÂée*ÍŠ*ë*Ä~ÍB"ë*ÍB"ÍŠ*ÍŠ*ë!š=ÍB"ë*ÍB"ë!ž=ÍB"ë*ÍB"ÍŠÍUÍU*P#"P*#"Æc*F+|µÂcf*ÍŠ*ë*Ä~ÍB"ë*ÍB"ÍŠ*ÍŠ*ë!¡=ÍB"ë*ÍB"ë!¥=ÍB"ë*ÍB"ÍŠ*¨=ÍB"ÍŠ*0º=ÍB"ÍŠÍUÍU*#"*N#"NÆc*F++|µÂÞf*ÍŠ*ë*Ä~ÍB"ë*ÍB"ÍŠ*ÍŠ*ë!Ê=ÍB"ë*ÍB"ë!Î=ÍB"ë*ÍB"ÍŠ*Ñ=ÍB"ÍŠ*0ã=ÍB"ÍŠÍUÍU*#"*L#"LÆc*#"Æc*Ê~|µÂ†c*B+|µÖŸõ*D+|µÖŸÁ°õ*F+|µÖŸÁ°Òg>ÍÍÍU*˜~ó=ÍB"ÍyÍÈ"ø~!Ík ÃàNÍoI"ø~ÍUÍU*Ì~|µÊcg*¦~ë!>ÍB"ë*¨~ÍB"ÍŠÃig!5>ÍŠÍUÍU!N>ÍŠ!‹>ÍŠÍU*˜~ÍŠ!Ç>ÍyÍÈ"ø~>ÿÍÍÍU!ù>ÍŠ!?ÍŠ!"?ÍŠ!8?ÍŠÍU>ÍÍÍoI"ø~ÍUÍU!M?ÍŠÍU!…?ÍŠÍU!º?ÍŠÍUÍU!Ö?Íy*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ÍŠ*ú~Í1#Íw$ë!÷?͈"ÂhÃàN*ú~Í1#Íw$ë!ú?͈"Â,hÃ�g*ú~Í1#Íw$ë!ý?͈"ÊBhÃègÍoI"ø~ÍUÍUÍU!@åÍ6I"ø~ÍUÍU!"@åÍ6I"ø~ÍUÍUÍU!D@åÍ6I"ø~!"*å!€å!å!>Íø!å!ÃiÍõ>ÿÍÍûi!Í*Í;!Í­!Í­!Í­!Í­!Í­!Í­!Í­!Í­!0Í­ͼÃJiͶ"V*VÍ1#Íw$ë!g@͈"ÂJi>ÍÍÍoI"ø~*Ž~ÍŠÍUÍUÍUÍU!j@åÍ6I"ø~!Í1#ÍŠÍ J"ø~!Ík ÃàNÍ­|µÂòh*ë*Æ~͈"Âii*#"êhÍU*ÍŠ*ë*Ä~ÍB"ë*ÍB"ÍŠ*ÍŠ*ë!€@ÍB"ë*ÍB"ë!„@ÍB"ë*ÍB"ÍŠÍU*#"êh*Ê~|µÂªh>ÍÍ!Ík ÃàNÍoI"ø~ÍUÍU*Ì~|µÊüi*¦~ë!‡@ÍB"ë*¨~ÍB"ÍŠÃj!¬@ÍŠÍU!Ï@Íy!"ü~Ã!j*Ž~Íy*ü~#"ü~åÿÒjÍ5z*þ~ë!A͈"Â;jÃàN*þ~Í}#{•zœòNjÃÑi*þ~Íw$XÍó"! AÍy!"ü~Ãvj*Ž~Íy*ü~#"ü~ôÿÒijÍ5z*þ~Í}# {•zœò™j*–~ÍyÃZj*þ~ë!4A͈"¯j*–~ÍyÃZj*þ~Íw$ZÍó"!6AÍy!"ü~Ã×j*Ž~Íy*ü~#"ü~êÿÒÊjÍ5z*þ~Í}#{•zœòúj*–~Íyûj*þ~Íw$\Íó"*å!€å!å!>Íø!å!œmÍõ!"ðk!Í*Í;! Í­!"Í­!$Í­!&Í­!(Í­!*Í­!,Í­!.Í­!0Í­ͼ*"ë*Z͈"ÖŸõ*$ë*\͈"ÖŸÁ õ* ë*X͈"ÖŸÁ Ò¦køk*#"Ã-k*Ê~|µÂ-kÍoI"ø~ÍU* jAÍB"ÍŠ*"|AÍB"ë*Ä~ÍB"ë*$ÍB"ÍŠ*&ŽAÍB"ÍŠ*( AÍB"ë!²AÍB"ë**ÍB"ë*Ä~ÍB"ë*,ÍB"ÍŠ*.¶AÍB"ÍŠ*0ÈAÍB"ÍŠÍUÍU!ØAÍy*˜~ÍyÍÈ"ú~*ú~Í1#Íw$ÍŠ*ú~Í1#Íw$ë!!B͈"Âtl*#"Ã-k*ú~Í1#Íw$ë!$B͈"Â�l!Ík ÃàN*ú~Í1#Íw$ë!'B͈"Â+m>ÿÍÍÍU* *BÍB"ÍŠ*"ÍÍ!Ík ÃàN*ú~Í1#Íw$ë!˜B͈"™m>ÿÍÍÍU* ÍŠ*"ë*Ä~ÍB"ë*$ÍB"ÍŠ*&ÍŠ*(ë!›BÍB"ë**ÍB"ë*Ä~ÍB"ë*,ÍB"ÍŠÍU>ÍÍ!Ík ÃàNÃ?lÍUÍU*˜~ÍŠ!ŸBåÍ6I"ø~ÍCJ"ø~!Ík ÃàNÍoI"ø~ÍUÍU*Ì~|µÊìm*¦~ë!ÄBÍB"ë*¨~ÍB"ÍŠÃòm!àBÍŠÍUÍU!úBÍŠ!9CÍŠÍUÍU*˜~ë!qCÍB"Íy*Ž~Íy*Ž~ÍyÍÈ"ú~*ú~A}“|šõ*ú~z{•zœÁ°ÒInÃ#n*ú~Í1#Íw$^Íó"*^ÍŠ*å!€å!å!>Íø!å!pÍõ!"H!"ÍoI"ø~ÍU*Ì~|µÊ¾n*¦~ë!šCÍB"ë*^ÍB"ë!·CÍB"ë*¨~ÍB"ÍŠÃÑn*^»CÍB"ë!×CÍB"ÍŠÍUÍUÃùo!Í*Í;! Í­!"Í­!$Í­!&Í­!(Í­!*Í­!,Í­!.Í­!0Í­ͼ*"ë*Æ~͈"Â6o*#"ÃÚn*H {•ozœµÂšoÍU!ÚCÍyÍÈ"ú~*ú~Q{•ozœµÖŸõ*ú~q{•ozœµÖŸÁ°Ò…o!Ík ÃàNÚoÍoI"ø~ÍUÍUÍU!"H*$å!ÍG#ë*^͈"Âïo*$ë!ûCÍB"ë*"ÍB"ë!ÿCÍB"ë* ÍB"ë!DÍB"ë*.ÍB"ÍŠ*H#"H*#"ÃÚn*#"ÃÚn*Ê~|µÂÚnÍU*˜~DÍB"ÍyÍÈ"ø~!Ík ÃàN*Ì~|µÊLp*À~ë*†~ÍB"ë*¦~ÍB"ë!8DÍB"ë*¨~ÍB"ÍŠÃYp*†~ë!bDÍB"ÍŠÍUÍ  Í�*Î~ë*È~{•ozœµÂspÉ! å!å!å!`Í×%!ÍÇ!bÍ•Ãq!yÍÇ!jÍ•!{ÍÇ!rÍ•!jÍöå!ÍÙ!rÍöå!ÏÍÙ!rÍöå!ÍÙ!jÍöå!bÍöÍÙ!jÍöå!€ÍÇ!bÍÍåÍÙ!jÍöå!bÍöÍÙ!jÍöå! ÍÙ!rÍöå!ÏÍÙ!rÍöå!ÍÙ!jÍöå! ÍÙ!jÍöÍÏ{¥oz¤gÍÇ!zÍ•!bÍöë*`ë)))ë!zÍ�!ÍÇ!bÍ!bÍ•! ÍÇ!bÍÚò”p*`ë)))͇!ÍÇ͆!0ÍÇÍ+ÍåÍ1#å*`ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!�DÍB"å*`ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"å*`ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!“DÍB"å*`ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"å*`ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"‚Íó"*`ë)))͇!ÍÇÍè™r!–DÍó"*`ë)))͇!ÍÇÍè¼r!žDÍó"*`ë)))͇!ÍÇÍèÂßr!¦DÍó"*`ë)))͇!ÍÇÍèÂs!¯DÍó"*`ë)))͇!ÍÇÍèÂ%s!ºDÍó"*`ë)))͇!ÍÇÍèÂHs!ÄDÍó"*`ë)))͇!ÍÇÍèÂks!ÌDÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!ÖDÍB"å*`ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"å*`ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!ÙDÍB"å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"Íó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÜDÍB"å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB" Íó"*`ë)))͇!0ÍÇÍ+ÍåÍ1#ë!àD͈"ÂÞt*`ë)))͇!0ÍÇÍ+ÍåÍ1#Íó"Ã#u*`ë)))͇!0ÍÇÍ+ÍåÍ1#å*`ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"Íó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!ãD͈"Âuu!çDÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!ðD͈"ÂÇu!ôDÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!þD͈"Âv!EÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë! E͈"Âkv! EÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!E͈"½v!EÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!E͈"Âw!!EÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!'E͈"Âaw!+EÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!1E͈"³w!5EÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!=E͈"Âx!AEÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!LE͈"ÂWx!PEÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!YE͈"©x!]EÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!gE͈"Âûx!kEÍó"É*Ê~"Ð~*‚~å!å!å!>Íø!å!;yÍõ!Í!Ì~Í¡!Î~Í¡!Í­ͼ!Ík *ë!uE͈"ÂWy*È~"Ò~Ã]y*Ê~"Ò~*Ì~ë*Î~{¥oz¤g|µÊ{yÍ®I"ø~ÍbpÃL*Î~}/o|/gë*Ì~{¥oz¤g|µÊœyÍ®I"ø~ÃL*Ì~|µÂ­yÍŽI"ø~ÃLÍU*˜~ë!wEÍB"ÍŠ!ˆEÍyͳÍy!–EÍyͨÍLͳë!²E͈"ÖŸõͳë!¶E͈"ÖŸÁ°Òz!ºEÍŠ!åEÍŠͳë!F͈"ÖŸõͳë!F͈"ÖŸÁ°Ò/z!FÍŠ!WFÍŠÍ  Í�*„ë*Æ~͈"ÂHz*˜~Íy*„ë*Æ~͈"ÂXzÍkz*„þ~Íó"*Æ~„Íó"ÉÍÈ"†*†ë*Œ~{•ozœµÂ„zÃêz*†ë*�~{•ozœµÂ—zÃêz*†ë*”~{•ozœµÂªzÃ&{*† }“|šõ*†~{•zœÁ°ÒÊzÃkz*†Í1#ë*ˆëÍB"ˆÍó"*†Í1#ÍyÃkz*ˆÍ}#+|ÒùzÃkz*ˆå!å*ˆÍ}#+ÍË#ˆÍó"*Ž~Íy*Ä~Íy*Ž~ÍyÃkz*ˆ„Íó"*Æ~ˆÍó"ÍUÉÍ  Í�õÅÕå ÍáÑÁñÉÝáÁÑÝåÅÍÁÝáÑ>yþ (þ(þ( þ(þ(Ýé}|ÝéL@0246†xQL@0247†ÔQL@0248.†ÚQL@0249>†øQL@0250N†RL@0251^†*RL@0252n†RL@0253~AEÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!LE͈"ÂWx!PEÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!YE͈"©x!]EÍó"*` ë)))͇!0ÍÇÍ+ÍåÍ1#å*` ë)))͇!0ÍÇÍ+ÍåÍ1#ÑÍB"ë!gE͈"Âûx!kEÍó"É*Ê~" D B v1.9 A Name/Address/Phone/Mailing Database by Steven L. Sanders All rights reserved (c) 21-Jan-85 ================================================================= Thió  softwarå ió herebù placeä intï thå publiã bù thå authoò foò � alì  tï FREELÙ use¬  copy¬  oò exchange®  Thå authoò assumeó  nï � liabilitieó  foò anù damageó causeä bù thå uså oò misuså oæ  thió � program®  Portionó oæ thå objecô codå arå (c© 1982¬ 198³ Digitaì � Research¬  thå  sourcå  codå iî Cbasiã compileò ió  (c©  198µ  bù � Steven L. Sanders. ================================================================= "What's a DB ??" É  waó  á happù Kayprï owneò buô waó  constantlù  frustrateä � witè  mù  attemptó  tï  creatå á 'decent§  databaså  formaô  witè � PERFECÔ FILEÒ - so¬  É madå DB®  D doeó noô requirå á multitudå � oæ .OVÒ oò .OVÌ fileó tï operate¬ jusô thå DBxx.COÍ anä á startuð � file called STARTUP.DB, and your database file. DB19.COÍ  ió  KAYPRO-ORIENTED¬  foò eitheò  thå  earlù  non-videï � capablå  modeló  likå  thå KPIÉ anä KP´ (prå '84©  oò  anù  modeì � Kayprï  1°  oò neweò '8´ models®  Foò eitheò KP1° oò  neweò  '8´ � modeì  owners¬  D  haó aî excellenô videï screen®  Iæ  yoõ  arå � tryinç  tï ruî thió prograí oî á non-Kayprï machine¬  gooä  luck¡ � Unlesó  iô  caî imitatå aî ADM-3Á terminaì thå screeî  calló  arå � useless for you. DB1¹   ió  á  littlå  morå  BUSINESS  ORIENTED  no÷   theî   it'ó � predecessoró  likå DB18¬  17¬  etc..®  D no÷ haó á COMPANÙ NAMÅ � fielä  anä nï longeò haó á Homå phonå field®  Yoõ caî  alsï  no÷ � prinô  singlå  labeló  witè  thå SCAÎ optioî oò  labeló  foò  alì � members with the standard 'M'ail option. Oncå  yoõ havå initiallù installeä DB.COÍ iô wilì 'know§  ho÷  tï � comå  uð alì bù itselæ thå nexô time®  Iô createó á filå  calleä � STARTUP.D   whicè  holdó  alì  thå  valueó  foò  video/no-video¬ � clock/no-clock¬ anä thå namå oæ thå defaulô databaså filå anä thå � drive where it is located. Thå  objecô codå ió generateä froí Digitaì  Research'ó  CB80/LK8° � compiler/linkeò foò Cbasic® Iô ió fasô anä verù clean¬ jusô takå � á looë aô youò database.daô filå anä yoõ wilì seå thå neat¬ easy-� to-understanä  structurå  iô uses®  Alì fieldó arå seperateä  bù � quotatioî  markó anä commaó anä alì alphá characteró  arå  alwayó � converted to UPPER CASE automatically. Š{ Labels, Labels, Labels } Tï  uså  anù oæ DB'ó label-generatinç optionó yoõ neeä tï havå  á � stocë oæ standarä 1-uð labeló ¨ 3-1/2¢ ø 15/16¢ continuouó )® D does not support any other label sizes! The mailing labels are generated to look like so: _______________________________ | | | Company name | | First name, last name | | Street Address | | City, State, Zip | | | ------------------------------- { Data Record Format } The format of the data record is: "FIRM","FIRST","LAST","ADDRESS","CITY","STATE","ZIP","PHONE",\ "DATE ENTERED" Thió  ió á fixeä recorä witè á lengtè oæ 128®  Iæ usinç Wordstaò � iî  non-documenô modå yoõ wilì finä thå linå goeó ouô  tï  columî � 12·  anä  theî dropó tï thå nexô line®  Thå CR/LÆ paiò  actuallù � countó aó 12¸ buô ió invisiblå buô ABSOLUTELÙ NECESSARY®  Iæ yoõ � dï  alteò yoõ database.daô filå - BÅ CAREFUL¬  yoõ musô  maintaiî � thå lengtè oæ 12¸ oî eacè anä everù line® Besô tï jusô uså D tï � enteò  anä deletå membeò records®  Iæ yoõ havå deleteä  á  largå � numbeò  oæ memberó theî uså Wordstar'ó CTRL-Ù tï deletå thå wholå � line of the file containing the nulls. Example: This is what a deleted entry looks like "","","","","","","","","" Alì  thå  fieldó havå beeî replaceä witè nulì (""©  strinç  chrs® � Afteò runninç SORT¬  alì oæ theså entrieó wilì bå broughô tï  thå � very top of the file for easy removal. { Phone ROLADEX } Thå  ROLADEØ  optioî  stilì keyó iî oî thå firsô  letteò  oæ  thå � lastnamå  entry®  Iô wilì sho÷ thå followinç foò  eacè  matchinç � entry: LASTNAME, FIRSTNAME FIRMNAME PHONE NUMBER Therå ió nï reaì neeä foò anù furtheò documentatioî aó D ió verù �Šsimplå  tï  operatå anä ió completelù  menu-driven®  Jusô  thinë � beforå   pressinç  aî  optioî  keù  aó  alì  one-keù  inputó  arå � automatically acted upon very quickly! { Problems, bugs, complaints??? } É don'ô wanô tï heaò abouô them¡ Onlù kidding¬ addresó youò maiì to: STEVEN L. SANDERS % Tampa Bay Kaypro User's Group 14 Cypress Drive Palm Harbor, FL 33563 (813) 937-7249 voice (9a-5p Eastern ONLY!) Modem'ers can leave E-MAIL on any of these (813) 937-3608 300/1200 24 hrs (813) 937-6829 300/1200 24 hrs (404) 632-2109 300/1200 24 hrs X } Thå  ROLADEØ  optioî  stilì keyó iî oî thå firsô  letteò  oæ  thå � lastnamå  entry®  Iô wilì sho÷ thå followinç foò  eacè  matchinç � entry: LASTNAME, FIRSTNAME FIRMNAME PHONE NUMBER Therå ió nï reaì neeä foò anù furtheò documentatioî aó D ió verù �Šsimplå  tï  operatå anä ió completelù  menu-driven®  Jusô  thinë � beforå   pressinç  aî  optioî  keù  aó  alì  one-keù  inputó  arå � automatically acted upon very quickly! { Problems, bugs, complaints??? } É don'ô wanô tï heaò abouô them¡ Onlù kidding¬ addresó youò maiì to: STEVEN L. SANDERS % Tampa Bay Kaypro User's Group 14 Cypress Drive Palm Harbor, FL 33563 (813) 937-7249 voice (9a-5p Eastern ONLY!) Modem'ers can leave E-MAIL on any of these (813) 937-3608 ÃÉÍ«Copyright (C) 1984 BORLAND Inc‚A KAYPRO 10al selectedP= ERC1B1~·7È#õå~Íáñ=ÈóÍ% ÉÅÕåÝåýåõo&åͦñýáÝááÑÁÉoåͦÉþ€Ü�Ô©æîÅÕåÝåýåÍ£}Ùå!å!"8áãõÅÕ~#·(åÍáôÑÁñãÉ}´È:$‡‡‡ããããÅÒÁ= ô+èÍÐØ*ÎßõÅÕå!¨ÍZ!¢ÍÐ*ºÔBáÑÁñÉõÅÕå!´éõÅÕå!®àõ:¼·(ÅÕå=2¼!ÈÍZáÑÁñÉõ:¼· ÷ÅÕå<2¼!ÂåõÅÕå!¼ÛõÅÕååð!‹í°Ñ:žO:œ‚ÕÍÑ:ŸO:�ƒÍ!ðÍÐ* ÍBáÑÁñÉ!ð ë!›45(É!.+/ –0ü†õyþ0(ñíÉ d!kÃZ!{ÃZ͈æ͈o&Éô  áÁå:á·(yþ ÕÅÍ |µ(Íþ ÍþÊÅÁÑ*é"ÛÕx2áy·( >Ã28!?"9!É í°!á¸í°áí°>2گà Ã:ÃDÃ]ÃSÃXÃNÃ]ÃDÿ í[Ûþ (ú!eÍ}Í„þA8þQ0Gþ: xÖ@¯!\w# ( þ  ÍyÍVþ. ÍV!h6#ûÉ (þ*(þ.(þ!8þ}(þ*(Í„w#ßÉ>?> w#üÉþaØþ{ÐÖ É|Í’}õÍ›ñæÆ�'Î@'Ãè¯7Ë|À|·}È>ÿÉ"ÍíCß"í6#ûëÑùü "Ïë"ÕÍ�Í©éå*Ï·íB"Ïí[Í·íRëáÚ5í°É*Ïí°"ÏÙÉ^#V#Õ^#V#N#FáÉÝáëO/o&ÿ9ùëí°ÝéÑO/o&ÿ9ùëí°éÝáë!àÿ9ùëÅ(¯üí°Á> �‘(G¯üÝéÝá!àÿ9ù ¯w#üÝéÝáEÍŠ¶wÝéÝáÑ}“8÷�Ãu·íR·íB0 É>‘î·íRëê@ðøÉÕë·íRëáë·íR!È+Éͨ õÍz ð·íR!À+Éͨ õÍz ðÍ<!Ð+Éͨ õÍz ðÍ<!ÈØ+Éͨ ôÍz ïÍ<!ÈØ#Éͨ ôÍz ïÍ<!Ø+Éͨ õÍz ðT]KBë!z·> S>)ë)ë0 = öÉ|ªõÍJëÍJëDM¯go>íjíB0 7?ËË= ðëñðHåÍ\Ë<ËÑëÍÞëËzÈ5Í+È)ýÉÍ+ÈË<ËúÉëz· {þ0G·É¯goÉë|ª|úHºÀ}»ÉÉË|È|/g}/o#É}æo&ÉíKÓí[ÑÅÕxAJSËËËËáëáíJDM!éb"Ñë!6íJ"ÓDMÉ'ͬèͬdͬ ͬ} ¯<íR0û= ÈÆ0ÝwÝ#ÉÝ~Ö$O! Ý#Ý~Í„Ö08)þ 8 !Öþ 8þ0T])Ø)Ø T]Ø)Ø_ØËy·È|‡ÉÝááå}&#9N�8wë!DíB9ùëåí°ëá+Oí¸ë#ùÝé>ÃwÝáͦWáͧ _áå}“8(º8J`9{‚T]=o`9yí¸ë ¯ÃwÍÖ Ð>ÃuÍJ õÍuÍ` íÙ}·Ù>(è; àÙËxÙÂQ Ù}·ÙÈÙÅÕåÙ}· Ù˸TÅËø¯ÙËø}Ù•(0íD=ÙÍC ,= ù(Ùñæ€ Í[ 0%ÍD ·, 7 Í� ?õ(8ÙÍu Ëx ÍO - öÍ; ñ8˸·ÙáÑÁÙÉÙËxÙÂÝ ÍX ÍÝ Ø,-Èxî€GÉÙ}·ÙÊ; }·ÈÙ…ÙÍ ÅÕåÝ9Í; Ù.Ù>Ý#ÝnË0Í[ ÍD = ñÙ-Ù åÝnûËx ÍP ,-(-ñññ·ñÙÁáÙÝá˸°G,-Ì; É}·ÈÙ•Ù?Í åååÝ9Ù.Ù>Í� 8Íu ?Ë= ÝuÝ+Ù-Ù(>ÍO 0ßÍu ·áÍO 8Í� ?áÑÁËx ÍP š, —7•8Æ€8Æ€8oÝãÙåÅxËøÙ¨æ€õËøÝåÝ!ÉáØ¯oGOW_gÉ·ËËËËËÉ·ËËËËËÉ|Ù„Ùg{Ù‹Ù_zÙŠÙWyÙ‰ÙOxÙˆÙGÉ|Ù”Ùg{Ù›Ù_zÙšÙWyÙ™ÙOxÙ˜ÙGÉxÙ¸ÙÀyÙ¹ÙÀzÙºÙÀ{Ù»ÙÀ|Ù¼ÙÉÙxÙ¨ò² xÉËx(ͼ È?É}Ù½ÙÀ·ÈÃ� }Ö�Ú; <þ(ÐÙÅÕåÍ; 7ÍD = ùÙ|Ù¤Ùg{Ù£Ù_zÙ¢ÙWyÙ¡ÙOxÙ ÙGÃD ÙÅÕåÙÍuÙÍÆ ÙÍJ ë}·ÈËx>ÂuÍu}Æ€Ë/Æ€oÖõÙÅÕå; ÍÖ -ÅÕåÍJ }áÑÁÙáÑÁã¼ã0ãñÙÉÙÍW-ÍJ ÙÍW,Ù}þlØÅ˸ͨ Á8 ; Íý Í` Ëx(ÍÖ Ù-Ùͨ õ8ÍJ Ù-Ùͨ 8Ù,ÍJ }þl8;Ùª*ªª!ªÍ` ÝåÝ!Ð >ÍýÝáÍuÍ` Í` ÅÕåÙÍu--Ù-ÍÖ ÙáÑÁÙÍJ ,,ñ,-ÈØxî€GÉgª?+2×n¶*ï8t Ð Ðzˆˆˆˆ~«ªªªª,->ÊuËxÂuÙÍaÙ}.�•õ; ÙÍOÙÍJ ÅÕåÙ,ÍÖ ÙáÑÁ; ÝåÝ!U >ÍýÝá,ÙÍk-ÙÍÖ ñÅÕåo&0%ÍÑÙ,Í` ÙáÑÁÍÖ }þgÚ; É}Š�؉}颋.:}Žã8Žc~I’$I~ÍÌÌÌL«ªªª*ÙÍkÙ·Ëxõ˸; }þˆ0GÅÕå,Í™åË<Ë}áõÍÑ,-(-ÙñáÑÁõÍJ ÝåÝ!Ù >ÍÝáñ0 õÙÍaÙÍ` ñ…o8 ñÈÙÍOþ á>Ãum.`1pF,þåt6|‰„!wS<ÿÃ.zÒ}[•|%¸FXc~üïýu€Ò÷r1}·ÈÝåÙÍOÙ¯Ëx(<˸õͨ 8Ù; ñËÿõÙÏŽé!~JÙͨ 0Í÷OÝ!—>ÙÝÍ<Ùͨ 8 = ìÙ ÝÙÙÍ7ËøÍÖ ÅÕåÍ<Í` ÙÍOÍÖ ÙáÑÁ; ÝåÍ÷ÝáÙÍ7ÍÖ ñ0 õÙÍW-ÍJ ñÝáËOÈËøÉçÏÌTöô¢0 jÁ‘ €µžŠoD€‚,:Í€jÁ‘ �€!¢ÚI}袋.º}Žã8Žc~I’$I’~ÍÌÌÌL«ªªªªÝ!Ó>ÅÕåõÍuÍ` ñÍÙáÑÁÃ` õÙÍ7õÙÅÕåÍ7ÍÖ ÙáÑÁÙÍ` ñ= éÙÍOÃÖ ÝÝnÝfÝ^ÝVÝNÝFÉ!�DLT\ÉI¢Ú!‚!É53ó!�úÉr1÷!€ÒÉÅÕåÙáÑÁÉÍ\!€> Ëx Ë#ËËË-= ðo˸ÉËxÙÍO(Ëø-ÍÖ ·Ë}(ËxËø>�½8(ÍC ,óÍC `iÈÃM!É>’Ãu|µÊ; Ë|ÍJ>�Ë| )=Ë|(úDMboÀ˸Éͦë8þ8ͦÙËxÙ(’0¯þ 8> ÕÍMÑËx(>-ͲË{(aËy(Ͱͦ ò\z·(>.Ͳ (Ͱ ÷ú~ͦ÷Ë{È>EͲ>+Ë|(|íDg>-Ͳ|/Ö 0ûÆ:ÝpÝ# ý~ý#· ý+>0ÝwÝ#Éýå,-  ý60ý#ø¯ÃJÅ˸}ÙÖ€oŸgMÍÄ|þÙ <ýwíDÍ }þ�0Í€ý5Ëø>„•.(ÍC Ë= øý~õ> xæÆ0ýwý#xæGÅÕåË%ÍP Ë%ÍP ëãÑãíZëáãíJDMáË%ÍP = ÈñÁýáÉýåá_~6þ5Øúi+~¨¥Ôh¶¿ÉìÅëx-ÐÍÎÂSÞùx9?ë+¨­ÅøÉ{Η@}·ÈËøÅÕ|ÍC ÍC „gãíZëáãíJDMá0ÍD ,7È}Æo˸ÉÍ ¾ #øyîO!@9ùi&ÝéÍ  ë¶¾ â#÷ÚÍ ¶w#ùëùÝéÍ /¦w#øïÍ ¦w#ùãýáÝá!9ë! E9ýéÝá!!9~·(¯+FÍŠ¦!"9ù!(#Ýé>¯2æýá*ÛͲ¯á"âýå|·>"Ê :æ·( ͆ *â6#wÉÍ÷*â6#6 ë!\$í°É!¶Ååí[Ûþ (úÍ„–( áÁã·É#ëÁÁþ:À~ÉCONTRMKBDLSTAUXUSR>¯2æÍîÍ$*â#~þ ͶÍ$*â:æ·> >w###6ÀÃÖþ þ #6++pÉ>¯2æíSäÍ-Í$Ͷ:Ù·À*â6###ww#w$w#wÖÿ:æ· åÍôá##N#F*ä·íBÈ>�à å¯w#w#í[äs#ráÃó>¯2æÍSÍ$ͶÍ$*â6å ë#Íá-¯Nw#FwÖÿq#p#6€#w#w#wÉÍß*â ë:æ·( ÕÍÑñÅÍÁ<Àxà *â6#ûÉ"â#~+þ 2ËN(>Í’:Ù· *âË^ îËFÈ*âå ëÍá< >ÿ2Ù6É"â~æÈÍŸ*â-¯w#wÕÿw#ÍóÍŸÀ"â~æÈ·ÍÀ ëÍ<À@ýá*ÛͲ¯áýåÍÀåÍ÷áåë!\ í°á åëÍÑ<Ê®!\$í°É>à >¯2æÍÀ*ß|µ>! ë*â \$í°\Í<(Ï!ý€í°:æ· í[1Ã�ÿÕÍ\ÍÑ!€ë·(éf"âÍÂÈ> 2ÙÉ:Ù·ÈñÉÝáÝåå!ÊÍ<áÉÝáÝå"âËF( #~þÀ#6Ãe>Îå!ÊÍ[áÉ"âËNÀ>ë!Ú~þ€8>O6*Û"ÝÍwþ (=þ(&þ("þ(þ :á·(ßÃNþ 8Øyº(Ô~#ÍèÌúx+Í% (½ï6Éå*â#~þáÉÍÂÈÍ[þÈÅÕå*â#~· *Ý~þ(h#"Ýb= Íõþ 8Íèþ ÌáñJ= ÍB== ͯ}8= ͵}/Í­ !*â###å~Æ-_~áþ(4òQ6*âËÖ>™2Ù>*â##wáÑÁÉ:Ù·>Àå*â##~áÉå*â#~þÿ(EÍÌÍ[þ ( þ (þ (þ ÍÖè!]Í[þ (þ (þ (þ(w#(ÍÖãÍÂÌÖ6áÉÝ!]Ý~·Èþ-ÀÝ#É8Ý~·È>7à ëÍ Í[ÃÖÍÖÉ>¯OÅÍkÁͼÈÅåÍÁÑÁÍÎØÌMës #rëÉÍkͼÈÅåÍpÙáÁÍÎØÙÌX ÙáåÍÌÍ[þ ÍÖôÍ[þ (þ( #w(ÍÖêÍÂÌÖáqÉ*â#~þÊáÍ[þ (þÈÍÖñÍ ÍÖþ ÀÃÖ*â##~þÈ6ÉÅÕåÍœáÑÁÉOÍ$*â#~þ(08áÅå·Ê¦=ʦ==Ê©=ʬò+ËÞ###å~Æ-_qá4ð6Í¡È>ðà *æ:è¾È4^qÉ}Ã’ÁÑÅÝ*ÛË|(ÍMëëË|( ÍMÝ6-Ý#ÕÍ�áͦí[ÛÝåá·íRë“8 (G> Í’ùCÈ~Í’#÷ÁÑÙáÑÁÙÅÝ*ÛÕÍôÇÁÑÅͦËC!h Ç!lÀTRUEFALSEͦ!9^#Í(ÑùÕÉá~#·(G~Í’#ùé> Í’> Ã’ "âËF!ÈÍ[¸(þÀ#ÉåÍRë·íRá0Íô*â4À#4É>™Ã åÍR·íR *â4 #4(áÍóÒ>òÜ>¯2çÍ$ë*âËV(/Ë–:ç·(#~+· x· y·ú2ÅÕ!͵ÑÁ( =(þ X:ç·(R*â:ç·(ËÞ###~Æ-Õ_ÑÖ-ÍŒí âX<òN=<ÍŒ*â###æw ÅÕåÍŸáÑÁ Õ*Ñ4 #4x±ÂüëÉ>™>ðà õ:ç·(ëñÉ"âÍŸÈè"*âËÖË^ÈËž*âËVÈË–åÅ0ëÍÁá ëÍ·ÉÁÑíSâÅåÍRÑ·íR8A*â N#F#s#rÍ$ 0}æ)ëíjëS\*â###w* N#Fë·íB ÈÕåÍŸÑár+sÉ>‘à ÕÙáÙ!T]>)ëíjëÙ)Ù0 0= ïÉÍU·íR!À#ÉÍUëÉ*â^#V#ÕN#F#^#VáÉ>">!2çDMÝáÑáÝå"â~æÊóx±(LÅÕÍ*â ë:çOÍÑÁ·(o:çþ" C}=(þ ?ÅÕ*â-N#Fp+qÛÿq#pÑÁ!€ë °*â F+N+++V+^ë·íBÐëq#pÉ>™>ð>à ÁÑíSâÅåÍRÑ·íRÚ*â s#r$ s#rÉ"äíSæëá"â! N#Fë·íB(^x± *â 6#ûí[âÍ<(H*â! íKäq#p##ëíKæÅÕÍí[â!Í· *â! 4 #4Ñ!€ëÁ x± Õ*â$ éÝ*â>ðÃw"òëáã"ô{æü_!í"ëÝ*íÝnÝf}´(HíR0ÝnÝfåÝ"ëÝáã Ý^ÝVÝåMDÝnÝfÝåÝÝuÝtÝqÝpÝåÑ*ës#rÑ*ôs#rÉÝåá"Í*ò ÝåÁ Ú5íKÏíB!Úð>ÿÃuëáã~#fo{æü_ë"ò*íåÝá·íR0RÝnÝfå·íR0ÝáðáÕýáíKòýqýpýuýtÝsÝrÝåáÝNÝFÍÄ( Ý^ÝVÕÝáÝåáÝNÝFÝ^ÝV*ííSíÕÝáÝuÝtíKòÝqÝpë ·íRÀÕýá*Í·íR(ý~Ýwý~Ýwýnýf ÝuÝt¯ÉÝåá"Í6#ûÉÍ *öÉÍ *øÉ!"ö"øÝ*íÝNÝFy°(*ö "ö*ø·íB0íCøÝnÝfåÝáØ*Ïûÿ í[Í·íRØë*ö"ö*ø·íRÐíSøÉí[Ís#rÉ^#VíSÍÉ>¯O"æ¯w2Ùx2è!ê"âá"äá ÍöÍ@*äé>¯2ê"æ!ê"âá"äá"è!\Ͳ¯*è:ê· ÍîÍ!Ù~6·go(Ýåá\íRë*æs#r¯ÿí_2ÔÉëÝáÁáx±( s x±(T]í°ÝéDMÝáÑá·íR0ð ë ëí¸ÝéÑÁÕ-a%ÃÆ}Í„oÉ*é!Ù~6o&ÉÍ |µÈÍ£}þÀÝáÍ%^C User break1:Ù·ÈÝáõÍ% I/OÝáÍ% Run-timeÍ% error Í’Í%, PC=Ýåáí[Õ·íR"×Í�Í% Program aborted*ßé1!€¯¸ÿÍ�!rS8ŽͲÃ]Lýáá"$›á"&›ýåÍRÍ�*! å*&›ÑÍò! å*$›ÑÍòÍb!d§å*&›å!ÑÍÞ)å)))å))ÑÑÑå*$›å!ÑÍÞÑå!d§å*&›å!ÑÍÞ)å)))å))ÑÑÑå*$›å!ÑÍÞÑn&å!å!å*$›å!ÑÍÑë·íRå!å*&›å!ÑÍÑÍÄÑÑÍÑ|²g}³oëásÉýáá"›á"›ýåÍRÍ� ! å*›ÑÍò! å*›ÑÍòÍb!d§å*›å!ÑÍÞ)å)))å))ÑÑÑå*›å!ÑÍÞÑå!d§å*›å!ÑÍÞ)å)))å))ÑÑÑå*›å!ÑÍÞÑn&å!å!å*›å!ÑÍÑë·íRå!å*›å!ÑÍÑÍÄÑÑÍ}/o|/gÑ|¢g}£oëásÉýáá"›á"›ýå*›åÍQ!å!cÍkÍå*›åÍQ!å!ŸÍkÍÑ}£oËEÊä!*l¯å!ÑÍNËEÊÙ!*›å*›åͯ Ãä!*›å*›åÍçÉýáá" ›á" ›ýå!d§å* ›å!ÑÍÞ)å)))å))ÑÑÑå* ›å!ÑÍÞÑn&å!å!å* ›å!ÑÍÑë·íRå!å* ›å!ÑÍÑÍÄÑÑÍÑ|¢g}£oå!ÑÍ›}2›*›&É*z¯å!ÑÍÞå!Ñ"›*x¯å!ÑÍÞå!Ñ"ÿšÍRÍ�B4Íb*ÿšå*›ÍÍ ËEʪ"!¾Í8!f¯ÍÛÍb*f¯&å! ÑÍtå*f¯&åÍQ!Ía!Ía!Ía! Ía!Ía! Ía!Ía! Ía!Ía! ÍaÍÑ}³oËEʪ"*f¯&åÍQ!Ía!Ía!Ía! Ía!Ía! Ía!Ía! Ía!Ía! ÍaÍ}îoËEÊö#!bŸå*›+)å)))å))ÑÑÑå*ÿš+Ñå*f¯&ëás*ÿšå*›Í*f¯&ÍRÍòÍb*ÿšå!Ñ"ÿš*ÿšå!PÑÍ›ËEÊó#!"ÿš*›å!Ñ"›*›å!ÑÍ›ËEÊó#!"›Ã…%*f¯&åÍQ!Ía!ÍaÍËEÊ`$*ÿšå!Ñë·íR"ÿš*ÿšå!ÑͯËEÊ]$!P"ÿš*›å!Ñë·íR"›*›å!ÑͯËEÊ]$!"›Ã…%*f¯&åÍQ! Ía!ÍaÍËEÊÄ$*ÿšå!Ñ"ÿš*ÿšå!PÑÍ›ËEÊÁ$!"ÿš*›å!Ñ"›*›å!ÑÍ›ËEÊÁ$!"›Ã…%*f¯&åÍQ! Ía!ÍaÍËEÊ%*›å!Ñ"›*›å!ÑÍ›ËEÊ%!"›Ã…%*f¯&åÍQ! Ía!ÍaÍËEÊK%*›å!Ñë·íR"›*›å!ÑͯËEÊH%!"›Ã…%*f¯&å! ÑÍNËEÊ…%!"ÿš*›å!Ñ"›*›å!ÑÍ›ËEÊ…%!"›*f¯&å!ÑÍNËEÊ "ÍRÍ�C4ÍbÉ!å!ÑÍ5z³Ê &Õ"v¯ÍRÍ�*! å*z¯ÑÍò! å*x¯ÑÍòÍbÍRÍ� ! å*z¯ÑÍò! å*x¯ÑÍòÍb*v¯#Ñð%!d§å*z¯å!ÑÍÞ)å)))å))ÑÑÑå*x¯å!ÑÍÞÑn&å!å!å*x¯å!ÑÍÑë·íRå!å*z¯å!ÑÍÑÍÄÑÑÍÑ|¢g}£oå!ÑÍ›ËEÊ£&ÍRÍ�*! å*z¯ÑÍò! å*x¯ÑÍòÍbÉýáá"ùšýå!å!OÑÍ5z³ÊM(Õ"t¯*ùšå!ÑÍNå*t¯å!OÑÍNÑ}£o}îoËEÊ '*t¯å!Ñå*ùšå!ÑÍ!d§å*ùš)å)))å))ÑÑÑå*t¯Ñn&å!ÑÍ›ËEÊs'ÍRÍ�B0!d§å*ùš)å)))å))ÑÑÑå*t¯Ñn&å!ÿÑ|ªg}«oå!€Ñ|²g}³oÍòÍ�C0Íbà'ÍR!€å!d§å*ùš)å)))å))ÑÑÑå*t¯Ñn&ÑÍòÍb*ùšå!ÑÍaå*t¯å!OÑÍaÑ}³oå!bŸå*ùšå!Ñ+)å)))å))ÑÑÑå*t¯å!Ñ+Ñn&å! ÑÍaÑ}£oËEÊD(*t¯å!Ñå*ùšå!ÑÍ!bŸå*ùšå!Ñ+)å)))å))ÑÑÑå*t¯å!Ñ+Ñn&ÍRÍòÍb*t¯#Ñ÷&*ùšå!ÑÍNËEÊÀ(!\å!_ÑÍ5z³ÊÀ(Õ"ùš!žå!ŸÑÍ5z³Ê·(Õ"t¯*ùšå*t¯åÍå!ËEÊ£(*ùšå*t¯åÍçî(*ùšå*t¯åͯ *t¯#ÑÃ|(*ùš#ÑÃh(É!å!ÑÍ5z³Êå(Õ"v¯*v¯åͤ&*v¯#ÑÃÌ(ÉÍc!å!ÍÍRÍ�B0Í� DDraw Options Menu Íb!å!ÍÍRÍ�B1Í� (select from graphics mode) Í�C1Í�ÍbÍRÍ� drawing: Í�C0Í�ÍbÍRÍ�= 5 - toggle draw/erase 0 - toggle browse/draw modeÍ�ÍbÍRÍ�8 R - toggle repeat/manual W - toggle wrap-aroundÍ�ÍbÍRÍ�4 ^C - clear screen ^U - refresh screenÍ�ÍbÍRÍ�9 T - text mode, ESC to exit B - start/stop box drawÍ�ÍbÍRÍ�< L - start/stop line draw C - start/stop circle drawÍ�ÍbÍRÍ�1 S - toggle status line ^F - fill regionÍ�ÍbÍRÍ� ^Q - quit DDrawÍ�ÍbÍRÍ�8 +----------------------------------+Í�ÍbÍRÍ�B2Í�8 | PRESS & RETURN TO DDRAW |Í�ÍbÍRÍ�C2Í�8 +----------------------------------+Í�ÍbÍRÍ�B0Í� subpictures: Í�C0ÍbÍRÍ�3 to enter or display, follow command by 0, 1, or 2)Í�ÍbÍRÍ�D ^D - save subpictures to disk D - load subpictures from diskÍ�ÍbÍRÍ�< ^B - start/stop subpicture entry ^R - display subpictureÍ�ÍbÍRÍ�ÍbÍRÍ�B0Í� printing: Í�C0ÍbÍRÍ�2 +-----------+Í�ÍbÍRÍ�L ^P - print bit image ^O - print graphics |7 8 9| (or arrow keysÍ�ÍbÍRÍ�O and text | \ | / | in text mode)Í�ÍbÍRÍ�B0Í� disk I/O: Í�C0ÍbÍRÍ�2 |4 ---+--- 6|Í�ÍbÍRÍ�= ^S - save screen ^L - load screen | / | \ |Í�ÍbÍRÍ�= ^D - save subpictures D - load subpictures |1 2 3|Í�ÍbÍRÍ�= +-----------+Íb!¾Í8!f¯ÍÛÍb! }2f¯ÍÁ(É!å!ÍÍRÍ�B0Í� Filename: Í�C0Í�B4Íb!²žÍ+Í.ÍbÍRÍ�C4Íb!²žÍ Ímå!ÑÍ›ËEÊ-0!‚žå!²žÍ Í=!‚žÍyÍb!‚žå!d§å!ÍgÍb!‚žå!bŸå!ÍgÍb!‚žÍSÍb!åͤ&!åͤ&É!å!ÍÍRÍ�B0Í� Filename: Í�C0Í�B4Íb!²žÍ+Í.ÍbÍRÍ�C4Íb!²žÍ Ímå!ÑÍ›ËEÊè0!‚žå!²žÍ Í=!‚žÍzÍb!‚žå!d§å!ÍkÍb!‚žå!bŸå!ÍkÍb!‚žÍSÍb!"l¯!²žÍ Ímå!ÑÍ›ËEÊ1ÍÁ(Ã1!åͤ&!åͤ&É!å!ÑÍ5z³Êy1Õ}2àš!å!OÑÍ5z³Ên1Õ}2ßš!d§å*àš&)å)))å))ÑÑÑå*ßš&Ñå!ëás*ßš&#ÑÃ31*àš&#ÑÃ1!å!ÑÍ5z³Êá1Õ}2àš!å!PÑÍ5z³ÊÖ1Õ}2ßš!bŸå*àš&+)å)))å))ÑÑÑå*ßš&+Ñå! ëás*ßš&#ÑÙ1*àš&#ÑÄ1Éýáá}2Þšýå*Þš&å!Ñ|¢g}£oå!ÑÍ›ËEÊ2!€"r¯Ã2!"r¯*Þš&å!Ñ|¢g}£oå!ÑÍ›ËEÊ@2*r¯å!@Ñ"r¯*Þš&å!Ñ|¢g}£oå!ÑÍ›ËEÊi2*r¯å! Ñ"r¯*Þš&å!@Ñ|¢g}£oå!ÑÍ›ËEÊ’2*r¯å!Ñ"r¯É!ÁÍ[!ÍòÍb!å!cå!ÑÍÞÑÍ5z³Êª3Õ"v¯Í !ÁžÍ²!å!ŸÑÍ5z³Ê�3Õ"t¯!d§å*v¯)å)))å))ÑÑÑå*t¯Ñn&å!ªÑ|¢g}£oå!ÍÑÙáÍÑÍÉ Í§"Ôš*ÔšåÍâ1!ÁžÍ *r¯e.åÍ !ÁžÍ²!d§å*v¯)å)))å))ÑÑÑå*t¯Ñn&å!UÑ|¢g}£o"Ôš*ÔšåÍâ1!ÁžÍ *r¯e.åÍ !ÁžÍ²*t¯#ÑÃÕ2!ÁÍ[!ÍòÍ�Íb*v¯#Ñõ2É!Àšå!Ñå!àëás!Àšå!Ñå!ãëás!Àšå!Ñå!áëás!Àšå!Ñå!çëás!Àšå!Ñå!äëás!Àšå!Ñå!êëás!Àšå!Ñå!åëás!Àšå!Ñå!ìëás!Àšå!Ñå!âëás!Àšå! Ñå!æëás!Àšå! Ñå!éëás!Àšå! Ñå!ëëás!Àšå! Ñå!èëás!Àšå! Ñå!îëás!Àšå!Ñå!íëás!Àšå!Ñå!ïëás!ÁÍ[!Íò!ÍòÍb!å!ÑÍ5z³Êv6Õ"v¯Í !ÁžÍ²!å!OÑÍ5z³ÊÁ5Õ"t¯!bŸå*v¯å!Ñ+)å)))å))ÑÑÑå*t¯å!Ñ+Ñn&å! ÑÍNËEÊw5!ÁžÍ !Àšå!d§å*v¯)å)))å))ÑÑÑå*t¯Ñn&å!Ñ|¢g}£oÑn&e.åÍ !ÁžÍ²ø5!ÁžÍ !bŸå*v¯å!Ñ+)å)))å))ÑÑÑå*t¯å!Ñ+Ñn&e.åÍ !ÁžÍ²*t¯#ÑÃë4!ÁÍ[!ÁžÍ !ÍqÍbÍ !ÁžÍ²!å!OÑÍ5z³ÊX6Õ"t¯!ÁžÍ !Àšå!d§å*v¯)å)))å))ÑÑÑå*t¯Ñn&å!ðÑ|¢g}£oå!ÍÑÙáÍÑÍÉ Í§Ñn&e.åÍ !ÁžÍ²*t¯#ÑÃí5!ÁÍ[!ÁžÍ !ÍqÍb*v¯#ÑÃË4!ÁÍ[!Íò!ÍòÍbÉýáá}2¿šýåÍ¥%Í ËEÊ•6!¾Í8!f¯ÍÛÍb*f¯&Í(}2f¯*f¯&åÍQ!7Ía!8Ía!9ÍaÍËEÊí6*z¯å!Ñë·íR"z¯*f¯&åÍQ!7Ía!4Ía!1ÍaÍËEÊ7*x¯å!Ñë·íR"x¯*f¯&åÍQ!9Ía!6Ía!3ÍaÍËEÊN7*x¯å!Ñ"x¯*f¯&åÍQ!1Ía!2Ía!3ÍaÍËEÊ}7*z¯å!Ñ"z¯*z¯å!ÑͯËEÊ–7!c"z¯Ã¬7*z¯å!cÑÍ›ËEʬ7!"z¯*x¯å!ÑͯËEÊÅ7!Ÿ"x¯ÃÛ7*x¯å!ŸÑÍ›ËEÊÛ7!"x¯*f¯&åÍQ*¿š&Ía! Ía!Ía! ÍaÍËEÊ•6Éýáá"±šá"³šá"µšá"·šá"¹šýå*µšÍüÅÕå*¹šÍüÙáÑÁͼ ÅÕå*µšÍüÅÕå*¹šÍüÙáÑÁͼ ÙáÑÁÍÄ ÅÕå*³šÍüÅÕå*·šÍüÙáÑÁͼ ÅÕå*³šÍüÅÕå*·šÍüÙáÑÁͼ ÙáÑÁÍÄ ÙáÑÁͳ Í Ù!§šÍ¡!§šÍüÅÕå!ÍÑÙáÑÁ͸ËEÊÚ8*³šÍüÅÕå*·šÍüÙáÑÁͼ Ù!›šÍ¡Ã49*µšÍüÅÕå*¹šÍüÙáÑÁͼ ÅÕå!§šÍüÙáÑÁÍÉ Ù!¡šÍ¡*³šÍüÅÕå*·šÍüÙáÑÁͼ ÅÕå!§šÍüÙáÑÁÍÉ Ù!›šÍ¡*¹šÍüÍ™å*·šÍüÍ™åÍ}!*¹šÍüÅÕå!¡šÍüÙáÑÁͳ Ù*¹šÍ¡*·šÍüÅÕå!›šÍüÙáÑÁͳ Ù*·šÍ¡*³šÍüÅÕå*·šÍüÙáÑÁͼ ˸ÅÕå!ÍÑÙáÑÁ͸å*µšÍüÅÕå*¹šÍüÙáÑÁͼ ˸ÅÕå!ÍÑÙáÑÁ͸Ñ}£oËEÊ49É*z¯ÍÑÍÆ Ù!‘šÍ¡*x¯ÍÑÍÆ Ù!‹šÍ¡!LåÍŒ6*f¯&åÍQ!LÍaÍËEÊU:*z¯ÍÑÍÆ Ù!…šÍ¡*x¯ÍÑÍÆ Ù!šÍ¡!‘šå!‹šå!…šå!šå*l¯åÍ8É*z¯"oš*x¯"mš!CåÍŒ6*f¯&åÍQ!CÍaÍËEÊO<*ošå*z¯Ñë·íRå*ošå*z¯Ñë·íRÑÍÄå*mšå*x¯Ñë·íRå*mšå*x¯Ñë·íRÑÍÄÑÍÑÙ!ušÍ¡!"qš!ušÍüÍ Í™"sš*sšå*qšÑÍtËEÊO<*ošå*sšÑå*mšå*qšÑåÍ}!*ošå*sšÑë·íRå*mšå*qšÑåÍ}!*ošå*sšÑå*mšå*qšÑë·íRåÍ}!*ošå*sšÑë·íRå*mšå*qšÑë·íRåÍ}!*ošå*qšÑå*mšå*sšÑåÍ}!*ošå*qšÑë·íRå*mšå*sšÑåÍ}!*ošå*qšÑå*mšå*sšÑë·íRåÍ}!*ošå*qšÑë·íRå*mšå*sšÑë·íRåÍ}!*qšå!Ñ"qš*qšå*qšÑÍÄå*sšå*sšÑÍÄÑå!ušÍüÙáÍÑͼ ˸ÅÕå*qšå*qšÑÍÄå*sšå!Ñë·íRå*sšå!Ñë·íRÑÍÄÑå!ušÍüÙáÍÑͼ ˸ÙáÑÁÍ¥ËEÊL<*sšå!Ñë·íR"sšÃÜ:*oš"z¯*mš"x¯É*z¯"_š*x¯"]š!¾Í8!f¯ÍÛÍb*f¯&åÍQ!0å!2ÍkÍËEÊ–>*f¯&å!0Ñë·íR"[š!åÍŒ6*]šå*x¯Ñë·íRÍJå!ÑÍÞå!Ñ"aš*f¯&å!ÑÍNå*ašå! ÑÍ›Ñ}£oËEÊ=ÍRÍ�Íb!.}2f¯*f¯&åÍQ!Ía! Ía!Ía! ÍaÍå*ašå! Ñ͇Ñ}£oËEÊ£<*_šå*z¯Ñë·íRÍJå!ÑÍÞå!Ñ"cš!(›å*[š)å)å)å)å))))ÑÑÑÑÑå!å)å))ÑÑÑå*cšå*aše.åÍl Í ÍÑ*_šå*z¯ÑÍ›ËEʵ=*z¯"gšÃ»=*_š"gš*]šå*x¯ÑÍ›ËEÊÔ=*x¯"ešÃÚ=*]š"eš!å*cšÑÍ5z³Ê–>Õ"v¯!å*ašÑÍ5z³Ê�>Õ"t¯!(›å*[š)å)å)å)å))))ÑÑÑÑÑå*v¯å)å))ÑÑÑå*t¯Ñå!d§å*v¯å*gšå!ÑÍÞÑå!Ñë·íR)å)))å))ÑÑÑå*t¯å*ešå!ÑÍÞÑå!Ñë·íRÑn&ëás*t¯#ÑÃù=*v¯#ÑÃå=É*z¯"Uš*x¯"Sš!¾Í8!f¯ÍÛÍb*f¯&åÍQ!0å!2ÍkÍËEÊ€A*f¯&å!0Ñë·íR"Qš!å!(›å*Qš)å)å)å)å))))ÑÑÑÑÑå!å)å))ÑÑÑå!Ñn&ÑÍ5z³Ê5AÕ"v¯!å!(›å*Qš)å)å)å)å))))ÑÑÑÑÑå!å)å))ÑÑÑå!Ñn&ÑÍ5z³Ê,AÕ"t¯*v¯å*Ušå!ÑÍÞÑå!Ñë·íRå!Ñͯå*t¯å*Sšå!ÑÍÞÑå!Ñë·íRå!PÑͯÑ}£oËEÊ#A*l¯å!ÑÍNËEÊM@!d§å*v¯å*Ušå!ÑÍÞÑå!Ñë·íR)å)))å))ÑÑÑå*t¯å*Sšå!ÑÍÞÑå!Ñë·íRÑå!(›å*Qš)å)å)å)å))))ÑÑÑÑÑå*v¯å)å))ÑÑÑå*t¯Ñn&ëásÃ#A!d§å*v¯å*Ušå!ÑÍÞÑå!Ñë·íR)å)))å))ÑÑÑå*t¯å*Sšå!ÑÍÞÑå!Ñë·íRÑå!d§å*v¯å*Ušå!ÑÍÞÑå!Ñë·íR)å)))å))ÑÑÑå*t¯å*Sšå!ÑÍÞÑå!Ñë·íRÑn&å!(›å*Qš)å)å)å)å))))ÑÑÑÑÑå*v¯å)å))ÑÑÑå*t¯Ñn&Ñ|²g}³oëás*t¯#ÑÃa?*v¯#ÑÃ?!(›å*Qš)å)å)å)å))))ÑÑÑÑÑå!å)å))ÑÑÑÍ !å!e.åÍl ÍÍoËEÊ€AÍÁ(É!å!ÍÍRÍ�B0Í� Save subpicture file: Í�C0Í�B4Íb!²žÍ+Í.ÍbÍRÍ�C4Íb!²žÍ Ímå!ÑÍ›ËEÊ-B!‚žå!²žÍ Í.BLKÍÍ=!‚žÍyÍb!‚žå!(›å!ÍgÍb!‚žÍSÍbÍÁ(É!å!ÍÍRÍ�B0Í� Load subpicture file: Í�C0Í�B4Íb!²žÍ+Í.ÍbÍRÍ�C4Íb!²žÍ Ímå!ÑÍ›ËEÊÝB!‚žå!²žÍ Í.BLKÍÍ=!‚žÍzÍb!‚žå!(›å!ÍkÍb!‚žÍSÍb!åͤ&!åͤ&É*z¯"Cš*x¯"Aš!BåÍŒ6*f¯&åÍQ!BÍaÍËEÊÀC*x¯å*AšÑͯËEÊ8C*Aš"t¯*x¯"Aš*t¯"x¯*z¯å*CšÑͯËEÊZC*Cš"t¯*z¯"Cš*t¯"z¯*Cšå*z¯ÑÍ5z³Ê�CÕ"v¯*v¯å*x¯åÍ}!*v¯å*AšåÍ}!*v¯#ÑÃeC*Ašå*x¯ÑÍ5z³ÊÀCÕ"v¯*z¯å*v¯åÍ}!*Cšå*v¯åÍ}!*v¯#ÑØCÉýáá"=šá"?šýå*?šå*=šåÍå!}îoËEÊÐF!"7š!"5š!1–å!)Ñå*=šëás#r!1–å!)Ñå*?šëás#r*?šå*=šåÍç*7šå*5šÑÍaå*f¯&åÍQ! Ía!Ía! ÍaÍ}îoÑ}£oËEÊÐFÍ ËEÊlD!¾Í8!f¯ÍÛÍb!1–å*5š)Ñ^#Vë"3š!1–å*5šå!Ñ)Ñ^#Vë"1š*5šå!Ñå!ÿÑ|¢g}£o"5š*3šå!ÑÍ›å*1šå*3šå!Ñë·íRåÍå!}îoÑ}£oËEÊ8E*1šå*3šå!Ñë·íRåÍç!1–å*7š)Ñå*3šå!Ñë·íRëás#r!1–å*7šå!Ñ)Ñå*1šëás#r!å*7šÑå!ÿÑ|¢g}£o"7š*3šå!ŸÑͯå*1šå*3šå!ÑåÍå!}îoÑ}£oËEʼE*1šå*3šå!ÑåÍç!1–å*7š)Ñå*3šå!Ñëás#r!1–å*7šå!Ñ)Ñå*1šëás#r!å*7šÑå!ÿÑ|¢g}£o"7š*1šå!ÑÍ›å*1šå!Ñë·íRå*3šåÍå!}îoÑ}£oËEÊIF*1šå!Ñë·íRå*3šåÍç!1–å*7š)Ñå*3šëás#r!1–å*7šå!Ñ)Ñå*1šå!Ñë·íRëás#r!å*7šÑå!ÿÑ|¢g}£o"7š*1šå!cÑͯå*1šå!Ñå*3šåÍå!}îoÑ}£oËEÊÍF*1šå!Ñå*3šåÍç!1–å*7š)Ñå*3šëás#r!1–å*7šå!Ñ)Ñå*1šå!Ñëás#r!å*7šÑå!ÿÑ|¢g}£o"7šÃDÉÃIýáá"@Žá"BŽá"DŽá"FŽýå*BŽå!ÑÍtå*BŽå!dÑͯÑ}£oËEÊI!È":Ž*FŽå*DŽÑÍ5z³ÊGHÕ"8Ž*BŽå*8ŽåÍå!}îoËEÊRG*:Žå!ÈÑÍNËEÊOG*8Ž":ŽÃOGÃ>H*:Žå!ÈÑͯËEÊ>H*@Žå!ÑÍNËEÊÒG![Žå*OŽ+)Ñå*:Žëás#r![Žå*OŽå!Ñ+)Ñå*8Žå!Ñë·íRëás#r![Žå*OŽå!Ñ+)Ñå*BŽëás#r*OŽå!Ñ"OŽÃ8H![Žå*QŽå!Ñë·íR+)Ñå*:Žëás#r![Žå*QŽå!Ñë·íR+)Ñå*8Žå!Ñë·íRëás#r![Žå*QŽ+)Ñå*BŽëás#r*QŽå!Ñë·íR"QŽ!È":Ž*8Ž#ÑÃG*:Žå!ÈÑͯËEÊI*@Žå!ÑÍNËEʾH![Žå*OŽ+)Ñå*:Žëás#r![Žå*OŽå!Ñ+)Ñå*DŽëás#r![Žå*OŽå!Ñ+)Ñå*BŽëás#r*OŽå!Ñ"OŽÃI![Žå*QŽå!Ñë·íR+)Ñå*:Žëás#r![Žå*QŽå!Ñë·íR+)Ñå*DŽëás#r![Žå*QŽ+)Ñå*BŽëás#r*QŽå!Ñë·íR"QŽÉýáá"-–á"/–ýå!ç"QŽ!"OŽ![Žå!+)Ñå*-–ëás#r![Žå!+)Ñå*-–ëás#r![Žå!+)Ñå*/–ëás#r*QŽå*OŽÑͯËEÊ­I!å!ÍÍRÍ� stack waaÍbÍRÍ�B4ÍbÍÅ*OŽå!ÑÍ›ËEÊJ!"SŽ*OŽå!Ñë·íR"OŽ![Žå*OŽ+)Ñ^#Vë"YŽ![Žå*OŽå!Ñ+)Ñ^#Vë"WŽ![Žå*OŽå!Ñ+)Ñ^#Vë"UŽÃqJ!ÿÿ"SŽ*QŽå!Ñ"QŽ![Žå*QŽå!Ñë·íR+)Ñ^#Vë"YŽ![Žå*QŽå!Ñë·íR+)Ñ^#Vë"WŽ![Žå*QŽ+)Ñ^#Vë"UŽ*UŽå*YŽåÍå!}îoËEÊ*f¯&åÍQ!RÍaÍËEʉP*i¯&}îo}2i¯*f¯&åÍQ!ÍaÍËEÊ£P͇/*f¯&åÍQ!SÍaÍËEÊÜP*h¯&}îo}2h¯*h¯&}îoËEÊÜP!åͤ&*f¯&åÍQ!TÍaÍËEÊöPÍk"*f¯&åÍQ!ÍaÍËEÊQÍÁ(*f¯&åÍQ!WÍaÍËEÊ4Q*g¯&}îo}2g¯*f¯&åÍQ! ÍaÍËEÊWQ!"p¯!"n¯*x¯å*n¯Ñ"x¯*z¯å*p¯Ñ"z¯*x¯å!ÑͯËEʤQ*g¯&ËEÊ’Q!Ÿ"x¯Ã¤Q!"x¯!"n¯!"p¯*x¯å!ŸÑÍ›ËEÊÙQ*g¯&ËEÊÇQ!"x¯ÃÙQ!Ÿ"x¯!"n¯!"p¯*z¯å!ÑͯËEÊR*g¯&ËEÊüQ!c"z¯ÃR!"z¯!"p¯!"n¯*z¯å!cÑÍ›ËEÊCR*g¯&ËEÊ1R!"z¯ÃCR!c"z¯!"p¯!"n¯*l¯å!ÑÍNËEÊaR*z¯å*x¯åÍçÃ’R*l¯å!ÑÍNËEÊR*z¯å*x¯åͯ Ã’R*l¯å!ÑÍNËEÊ’RÍ¥%*i¯&}îoåÍ Ñ}³oËEÊ´R!"n¯!"p¯*i¯&ËEÊÞR!å!ÑÍ5z³ÊÞRÕ"v¯Í¥%*v¯#ÑÃÉR*h¯&ËEÊMS!å!ÍÍRÍ�Y=*z¯å!ÑÍÞå!ÍöÍ� X=*x¯å!ÑÍÞå!ÍöÍ� gY=*z¯å!ÍöÍ� gX=*x¯å!ÍöÍb*f¯&å!ÑÍNËEÊLMÍRÍ�B4ÍbÍcÃÅÍRÍ�Y=*z¯å!Q!ÍaÍËEÊ›O*z¯å*x¯åÍÁC*f¯&åÍQ!FÍaÍËEʽO*z¯å*x¯åÍÑF*f¯&åÍQ!HÍa!MÍa!?ÍaÍËEÊãOÍæ(*f¯&åÍQ! ÍaÍËEÊýOÍ<0*f¯&åÍQ!LÍaÍËEÊPÍà9*f¯&åÍQ!ÍaÍËEÊ1PÍ«3*f¯&åÍQ!ÍaÍËEÊKPÍ“2*f¯&åÍQ!ÍaÍËEÊePÍ—>*f¯&åÍQ!RÍaÍËEʉP*i¯&}îo}2i¯*f¯&åÍQ!ÍaÍËEÊ£P͇/*f¯&åÍQ!SÍaÍËEÊÜP*h¯&}îo}2h¯*h¯&}îoËEÊÜP!åͤ&*f¯&åÍQ!TÍaÍËEÊöPÍk"*f¯&åÍQ! DDraw copyright (c) 1984 by D. Griffith DDraw is a general purpose graphics/text utility designed for Kaypro'84 models. DDraw can be described as a 'McPaint' for the Kaypro. I want to say that DDraw (and this documentation) is not nearly in its final form, so please do not compare it unfavorably to some of the drawing programs available for more graphicly oriented systems. The source to DDraw will be released (probably) into the public domain as soon as I feel it is complete. Any suggestions for features, improvements, etc., can be directed to: D. Griffith 912 Terra Mar Dr. Tampa, Fla., 33612 or a message can be sent via modem on the Pro-Com 1 or 2 systems (813) 937-3608, (813) 937-6829. Drawing To draw something, simply type DDRAW at the CP/M prompt and press . The screen will clear and a graphic cursor will appear. Typing a '?' or 'H' for help will bring up a menu of commands. The numbers 1-9, not including 5, move the cursor in the direction relative to the 5 on the keypad. The 5 will toggle draw/erase mode. If you wish to position the cursor without drawing or erasing, press the B key to enter Browse mode, move the cursor as though you were drawing, then press B again to leave browse mode. To avoid having to hold down keys to move the cursor, a Repeat mode was added. By pressing the R key, all movement commands automatically repeat until either a key is pressed or the edge of the screen is reached (in non- wrap-around mode). Pressing R again puts the cursor back into a manual repeat mode. The cursor will default to stopping when the edge of the screen is reached. This can be changed by pressing the W key (to stop or start). At that time, when the edge is reached, the cursor wraps around to the opposite side. The screen can be entirely cleared by pressing ^C (hold down the CTRL key at the edge of the keyboard and press the C). If the screen was not saved, it is lost. Two features that make drawing a little easier is a line and circle drawing command. To draw a line, move the cursor to one end of the proposed line, press the L key, move the cursor to the other end and press L again. To draw a circle, move the cursor to the center of the proposed circle, press the C, move to a point on the edge and press C again. Either command may be aborted before it is drawn by pressing the space bar before pressing the command key the second time. Note that if you are in erase mode, a line or circle is erased at the indicated positions. Another useful feature is the status line. By pressing the S key, a status line indicating the cursor position will appear at the lower left of the screen. The first Y and X is a character position that can be used in programs. The second set, gY and gX are a graphics position that ranges from 0-99 for gY and 0-159 for gX. Yet another useful feature is the Text entry command. By pressing the letter T while in graphics mode, a letter-size cursor appears at the same (approximate) position of the graphics cursor. At this time, typing of text is allowed. The arrow keys (set up for WordStar or Kaypro) will move the cursor around th screen. The RETURN key will move the cursor to the beginning of the next line. To exit the text entry mode, press the ESCape key. Text (but not spaces) will overwrite graphics. This is not to say that any graphics you type over are lost; it is just that the text has priority. By typing spaces over text, any covered graphics will appear. One last command. ^U (hold down the CTRL key and press U) will refresh the screen. This is used whenever you have typed in the 80th column of the 24th line (the screen scrolls automatically) or when spaces have been typed over text to reveal covered graphics (they do not appear immediately). Subpictures It is often convenient to save a portion of a disply in a buffer and redisplay it at a different position. The subpicture commands allow this. I admit the commands are hardly mnemonic of their function, but I did not want to use multiple control codes at the time. That will probably change in later versions for ease of use. Regardless, the subpicture entry procedure is: move the cursor to the upper left corner of the block you wish to save, type ^B (hold CTRL key and press the letter B) begins subpicture entry. Follow it immediately my the number 0, 1, or 2 to tell which buffer you wish the image stored. Move the cursor to the lower right corner and press ^B again. The image will be stored. You may now continue with any editing. To recall an entered subpicture simply move the cursor to the upper left corner of where you wish it displayed and type ^R followed by the number 0, 1, or 2 depending on which picture you wish displayed. At the present time, the subpicture commands actually save a from the current character position (the YX in the status line) not the graphic cursor position (gYgX). This means that usually a little more will be stored and that the display may not start at precisely where the cursor is when the ^R command is entered. That will be remedied soon. Subpictures may be saved to disk for use in a later session by typing ^D and entering a filename. To reload a set, press the letter D and enter the filename you wish to restore. Note that executing a clear screen command (^C) does not destroy the subpictures stored in memory. A final note on redisplaying the subpictures: if the cursor is in erase mode, the subpicture will overwrite whatever is 'under' it. If the cursor is not in erase mode, the subpicture will me 'merged' with the graphics. Either way, any text will be overwritten and a screen refresh (^U) command should be issued. Printing Two methods are provided for displaying screen images on the printer. The first is solely for graphics. It prints (on a Gemini/Epson printer) a bit image of the graphic screen. To produce this print, type ^P. The other print will also copy any text to the printer. I know it works on the Gemini printers (not so sure about Epson). The command is ^O. Saving and Loading Screens To save a screen (graphics and text), type ^S followed by a filename. If the disk is read only, full, or the directory is full, an error will occur and the screen will be lost. To load a screen, type ^L followed by the filename. If the file does not exist, an error will occur. Provisions will be made in a revision to allow separate saving of text and graphics screens. This will allow text screens to be produced by other methods (word processors) then merged into the graphic screens. Miscellaneous A final command ^Q will exit DDraw without saving screens. If when asked for a filename (loading and saving), you wish to abort the command, simply press RETURN without entering anything. Note I believe I have covered all of the commands available as of December 1984.orks on the Gemini printers (not so sure about Epson). The command is ^O. Saving and Loading Screens To save a screen (graphics and text), type ^S followed by a filename. If the disk is read only, full, or the directory is full, an error will occur and the screen will be lost. To load a screen, type ^L followed by the filename. If the file does not exist, an error will occur. Provisions will be made in a revision to allow separate saving of text and graphics screens. This will allow text screens to be produced by other methods (word processors) then merged into the graphic screens. Miscellaneous A final command ^Q will exit DDraw without saving screens. If when asked for a filename (loading and saving), you wish to abort the command, simply press RETURN without entering anything. Note I believe I have covered all of the commands available DDRAW.COM The file DDRAW.COM was compiled by Turbo v2.0 with an ending address of B000h. This should allow it to run on anything with a 64k (to start) CP/M 2.2 system. It compiled and runs fine on my KP10 with a very crowded high memory area (ZCPR3, screen dumper, etc.) and a 51k TPA. As Dan states in the DOC, this program is not finished yet. He has a planned improved pattern fill routine and a few other things to do (make it work with a printer other then a Gemini/Epson I hope...) Steve Sanders (Sysop) DataCOM Network RCP/M #1 & #2 (813) 937-3608 300/1200 ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååí[ êzþÿ(2ÿ!\¾í°í[ êíSÿ!ÿ" ê+ ÍÉScreen Print On$D ÍÉScreen Print Already On$ÍþÀÍ êBÍ ê6Í êÍ ê=Í ê Í ê Í ê>ÓÛæg>ÓÛoPͺÿÛ·òNÿÛË¿þ 0> OÍ®ÿ#>¼Âoÿ!ͺÿ(ÃNÿÍ£ÿP:0ÿ<20ÿþ9Â%ÿÍ£ÿÍêÍ êCÍ ê6Í ê> 20ÿÃÿ Í®ÿ Í®ÿÉõÅÕåÍêáÑÁñÉ>Ó|Ó>Ó}Ó>ÓÉÛ·òNÿÛË¿þ 0> OÍ®ÿ#>¼Âoÿ!ͺÿ(ÃNÿÍ£ÿP:0ÿ<20ÿþ9Â%ÿÍ£ÿÍêÍ êCÍ ê6Í ê> 20ÿÃÿ Í®ÿ Í®ÿÉõÅÕåÍDB19 COMv./0123456789:;<DB19 DOC)=>?@ABDDRAW COM€CDEFGHIJKLMNOPQRDDRAW COM%STUVWDDRAW DOC9XYZ[\]^_DDRAW NOT`DUMP10 $$$åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå!9"1>2* ú|þã(j LÍ!‹ã•í°!ãí°!ã"* ú"ã!ã" ú*ùÉInstalling Screen Dump$Screen Dump Already Installed$ cͼÃÍå!xã¾áÀísyã1“ãåÕÅÝå!0>2wãåÝáPóÛËÿÓNÛË¿Óû#åÅ˹yþ 0 ÍúÁáÞÍlãÝåá:wã=2wã(€·ÃÍlãÝáÁÑáí{yã— Íú ÍúÉÅÝå!0>2wãåÝáPóÛËÿÓNÛË¿Óû#åÅ˹yþ 0 ÍúÁáÞÍlãÝåá:wã=2wã(€·ÃÍlãÝáÁÑáí{yã— Íú ÍDB19 COMv./0123456789:;<DB19 DOC)=>?@ABDDRAW COM€CDEFGHIJKLMNOPQRDDRAW COM%STUVWDDRAW DOC9XYZ[\]^_DDRAW NOT`DUMP10 COMaDUMP24 $$$ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååUsing Dump10 OR Dump484 To use the screen to printer dump simply enter DUMP10 if you have a 10 (or DUMP484 if you have a new 4-84). From then until you either reset your computer (with the button in back) or turn it off, every time you hold the control key down and strike the W (enter control W) the ascii characters that you see on the screen of your Kaypro will be sent to the printer. This is true even if you are in another program such as DDT or your text editor. This version does not dump graphics characters. Some people will not want to use control W for the screen dump character. You may change the character to any thing you want but realize that the character you use will be unavailable for its old purpose. Using control W has worked for me because the only time I use to use control W was in my text editor to move the cursor to the end of the next word. When the screen dump is on this is no longer the case. Control W dumps the screen to the printer and the editor never sees it. To change the screen dump character use DDT. The process goes as follows. Everything behind the semicolons are my comments: A>DDT DUMP10.COM ;1. Enter this...DDT.COM must be on the disk ; for a 4-84 you would enter DDT DUMP484.COM DDT VERS 2.2 NEXT PC ;2. DDT prints this information about the program 0200 0100 ; and itself -S160 ;3. The minus sign is DDT's prompt I entered "S160" 0160 17 00 ;4. DDT printed the first 2 #'s I entered the number ; of the new character to use for the ScreenDump (00) 0161 C0 . ;5. DDT printed the first 2 numbers I entered the period -^C ;6. I enter a control C to exit DDT Warm Boot ;7. The computers response A>SAVE 4 NEWDS.COM ;8. Now save as a file called NEWDS.COM A> In the above I changed the dump screen character form 17 hex(control W) to 00 hex (control @). The hex numbers for the control characters are listed below. Now if I hit the reset button and enter NEWDS a control @ will dump the screen to the printer. HEX CHAR ASCII DESIGNATION HEX CHAR ASCII DESIGNATION 00 - control @ NUL 10 - control P DLE 01 - control A SOH 11 - control Q DC1 02 - control B STX 12 - control R DC2 03 - control C ETX 13 - control S DC3 04 - control D EOT 14 - control T DC4 05 - control E ENQ 15 - control U NAK 06 - control F ACK 16 - control V SYN 07 - control G BELL 17 - control W ETB 08 - control H BackSpace 18 - control X CAN 09 - control I HorizontalTab 19 - control Y EM 0A - control J LineFeed 1A - control Z SUB 0B - control K VerticalTab 1B - control [ ESCape 0C - control L FormFeed 1C - control \ FS 0D - control M CarriageReturn 1D - control ] GS 0E - control N SO 1E - control ^ RS 0F - control O SI 1F - control _ US re listed below. Now if I hit the reset button and enter NEWDS a control @ will dump the screen to the printer. HEX Có*~þÂj ÍÉ!91åÅ!~Ö=�WÕ!x±Ê> ~#Ã1ÑÁåb%x±Êa {æÂTã~#ão}oÒ]„ÃCÑTáùëéTIME MODULE ALREADY PRESENT. $ÃÃÛ$þÿ F ÍÃŽ ÍÍ2DÆ@2Ð:Ög.".*"!"*å^#VíSÐ##^#VíSáns#r*#s#rÉ!9"11?>Ó">Ó Û$G:0¸(<20!Ò>Í6/#>Í!Ý>Í6:#>Í6:#>Í!¶~þ$( OåÍá#ò*1ù:E· ÍG:D¸xÀ>2A2E!Ò"B*B:A=2Aúú~#"Bɯ2EÃÏÃÓ Û$GæÆ0w#xæÆ0w#É1 Í!":OÃAÒ System not running on KAYPRO 4 with clock, cannot display date/time. $Enter Date/Time string trap character: $C4B7B6=8 B1B0=8U ^J / /84 : : C1C0C6B4$  € @ �’H�„€$oxœg |·Â1}Ö€É!¦ÍÈÍ¿ÍQÍ¿xÉÍÎ@ÍcGÍΰ±É€òÆOÍÎÍc±É͸Í¿ÍìÃZ‡7�‡GÍ9þÒ1á ‡<þ8ÆÍ÷æÏþ Ìb=áÀåÚGÍLÍyÍi°Ã¿Í öÇÉÍZþÒ1ÃcÁÊÅÍUÍyÍi±É<OÍ ÍcGÍÎõͽÍìñ°±ÉO͵yÍcöC×ö@O͵øÍcöBG͵ÍLÍbÍi°É!ÂÍÈõ͵ñÉO!¤ ÍÈëÍvGyþ(þÐ×ÍLþ¤:ã ¸Â1> áÃþ:Ü þJ ͬö þC ͬöÄÍ¿yÃ�þRÂ1Í�öÀÉ*Õë* {•zœÚXÑ~#" ÉåÕþ :ä · >o&)´ NÃÃÛ$þÿ F ÍÃŽ ÍÍ2DÆ@2Ð:Ög.".*"!"*å^#VíSÐ##^#VíSáns#r*#s#rÉ!9"11?>Ó">Ó Û$G:0¸(<20!Ò>Í6/#>Í!Ý>Í6:#>Í6:#>Í!¶~þ$( OåÍá#ò*1ù:E· ÍG:D¸xÀ>2A2E!Ò"B*B:A=2Aúú~#"Bɯ2EÃÏÃÓ Û$GæÆ0w#xæÆ0w#É1 Í!":OÃAÒ System not running on KAYPRO 4 with clock, cannot display date/time. $Enter Date/Time string trap character: $C4B7B6=8 B1B0=8U ^J / /84 : : C1C0C6B4$  € @ �’H�„€$oxœg |·Â1}Ö€É!¦ÍÈÍ¿ÍQÍ¿xÉÍÎ@ÍcGÍΰ±É€òÆOÍÎÍc±É͸Í¿ÍìÃZ‡7�‡GÍ9þÒ1á ‡<þ8ÆÍ÷æÏþ Ìb=áÀåÚGÍLÍyÍiOctober 4, 1984 Subject: TIME stamping program for KAYPRO 4'84 Recently I released a program designed for the KAYPRO 4'84 computer which displayed the date and time in the lower right corner of the screen, in the non-scrolled 25th line. This newest release (all of 4 days after the first), adds several features requested by beta test reviewers (they are NEVER satisfied). Listed below are the new features: 1. Before relocation, the program checks for the presence of the clock. If the clock is not found where it should be, the program aborts with a message. 2. When the progam is invoked, it will request from the user a 'trap character'. This character is used during normal use following the installation of the parasitic to insert the currently displayed date and time into whatever program or file is being operated upon. The date and time appears to the system to be coming from the keyboard when ever the user chosen trap character is pressed. It is recommended that the user select a rarely used control code for this function. To remind the user of his selected trap character, the display on the screen shows the character preceding the date/time string. Again, a warning. This program is a parasitic, attaching itself to the CP/M and protecting itself from destruction by other programs. It is not compatible with other parasitics such as UNIFORM, MFDISK, and EX. Be careful! Thomas Hill Alaska Micro Systems 701 W. 41st, Suite 101 Anchorage, AK. 99503 (907) 562-3900  from the user a 'trap character'. This character is used during normal use following the installation of the parasitic to insert the currently displayed date and time into whatever program or file is being operated upon. The date and time appears to the system to be coming from the keyboard when ever the user chosen trap character is pressed. It isÃâ Í«Copyright (C) 1985 BORLAND Inc¡BKaypro with hiliteedP=  E RC1B1~·7È#õå~Íèáñ=ÈóÍ ÉoåͦÉþ€ÜkÔ„æîå!îå!è"áãõÅÕ~#·(åÍèáôÑÁñãÉ}´È:$‡‡‡ããããÅÒÁ= ô+èÍÐØ*ÎßõÅÕå!¨Í5!¢ÍÐ*ºÔáÑÁñÉõÅÕå!´éõÅÕå!®àõ:à·(ÅÕå¯2à!ÈÍ5áÑÁñÉõ:àþÿ(öÅÕå>ÿ2à!ÂãõÅÕå!¼ÚõÅÕååð!‹í°Ñ:žO:œ‚ÕÍÜÑ:ŸO:�ƒÍÜ!ðÍÐ* ÍáÑÁñÉ!ð ë!›45(É! +/ –0ü†õyþ0(ñíÉ d!kÃ5!{Ã5Í_æÍ_o&Éô  áÁå:Ý·(ÕÅÍ |µ(Íáþ ÍáþÊÔ ÁÑ*é"Òx2Ýy·( >Ã28!û"9!¥ í°!½¸ í°¯og2Ð"Ô"Ö>~2Ñ2àÉÃà Ã9Ã/Ã4Ã*Ã9à Á‚CÄÅÁÅÕåÝåýåõo&åͦñýáÝááÑÁÉÅÕåÝåýåÍ£}ëÿ í[Òþ (ú!eÍ{ͦþA8þQ0Gþ: xÖ@¯!\w# (Í‚ þ?(þ*( þ.( ÍwÍ^þ. Í^!h6#ûÉ (þ?( þ*( Í‚( w#éÉ>?> w#üÉͦþ 8 åÅ!˜í±ÁáÉ¿É .,;:=?*[]<>{}þaØþ{ÐÖ É|Í´}õͽñæÆ�'Î@'Ãɯ7Ë|À|·}È>ÿÉ2ØÅͯÁ*·íBÚ¨ ëÑùü "Ưog"Î2Ü>Ã2Ù!Þ "Úë"Ìéå*Æ·íB"Æí[Ä·íRëáÚuí°É*Æí°"ÆÙÉ^#V#Õ^#V#N#FáÉÝáëO/o&ÿ9ùëí°ÝéÑO/o&ÿ9ùëí°éÝáë!àÿ9ùëÅ(¯üí°Á> �‘(G¯üÝéÝá!àÿ9ù ¯w#üÝéÝáEͺ¶wÝéÝáÑ}“8÷�Ã' ·íR·íB0 É>‘Ã' ·íRëêqðøÉÕë·íRëáë·íR!È+ÉÍß õͰ ð·íR!À+ÉÍß õͰ ðÍr!Ð+ÉÍß õͰ ðÍr!ÈØ+ÉÍß ôͰ ïÍr!ÈØ#ÉÍß ôͰ ïÍr!Ø+ÉÍß õͰ ðT]KBë!z·> S>)ë)ë0 = öÉ|µÊ |ªõÍ€ëÍ€ëDM¯go>íjíB0 7?ËË= ðëñðHåÍ’Ë<ËÑëÍëËzÈ5ÍaÈ)ýÉÍaÈË<ËúÉëz· {þ0G·É¯goÉë|ª|ú~ºÀ}»ÉÉË|È|/g}/o#É}æo&ÉíKÊí[ÈÅÕxAJSËËËËáëáíJDM!éb"Èë!6íJ"ÊDMÉ'ÍâèÍâdÍâ Íâ} ¯<íR0û= ÈÆ0ÝwÝ#ÉÝ~Ö$O! Ý#Ý~ͦÖ08)þ 8 !Öþ 8þ0T])Ø)Ø T]Ø)Ø_ØËy·È|‡ÉÝááå}&#9N�8wë!DíB9ùëåí°ëá+Oí¸ë#ùÝé>Ã) ÝáÍÈWáÍÝ _áå}“8(º8J`9{‚T]=o`9yí¸ë ¯Ã) Í Ð>Ã' Í� õͬÍ— íÙ}·Ù>Ê' Íõ ßÙËxÙˆ Ù}·ÙÈÙÅÕåÙ}· Ù˸TÅËø¯ÙËø}Ù•(0íD=ÙÍz ,= ù(Ùñæ€ Í’ 0%Í{ ·, 7 ÍÆ ?õ(8Ùͬ Ëx ͆ - öÍr ñ8˸·ÙáÑÁÙÉÙËxÙ Í� Í Ø,-Èxî€GÉÙ}·ÙÊr }·ÈÙ…ÙÍM ÅÕåÝ9Ír Ù.Ù>Ý#ÝnË0Í’ Í{ = ñÙ-Ù åÝnûËx ͇ ,-(-ñññ·ñÙÁáÙÝá˸°G,-Ìr É}·ÈÙ•Ù?ÍM åååÝ9Ù.Ù>ÍÆ 8ͬ ?Ë= ÝuÝ+Ù-Ù(>͆ 0ßͬ ·á͆ 8ÍÆ ?áÑÁËx ͇ š, —7•8Æ€8Æ€8oÝãÙåÅxËøÙ¨æ€õËøÝåÝ!ÉáØ¯oGOW_gÉ·ËËËËËÉ·ËËËËËÉ|Ù„Ùg{Ù‹Ù_zÙŠÙWyÙ‰ÙOxÙˆÙGÉ|Ù”Ùg{Ù›Ù_zÙšÙWyÙ™ÙOxÙ˜ÙGÉxÙ¸ÙÀyÙ¹ÙÀzÙºÙÀ{Ù»ÙÀ|Ù¼ÙÉÙxÙ¨òé xÉËx(Íó È?É}Ù½ÙÀ·ÈÃÆ }Ö�Úr <þ(ÐÙÅÕåÍr 7Í{ = ùÙ|Ù¤Ùg{Ù£Ù_zÙ¢ÙWyÙ¡ÙOxÙ ÙGÃ{ ÙÅÕåÙͬÙÍý ÙÍ� ë}·ÈËx>Â' ͬ}Æ€Ë/Æ€oÖõÙÅÕåÍõ Í -ÅÕåÍ� }áÑÁÙáÑÁã¼ã0ãñÙÉÙÍŽ-Í� ÙÍŽ,Ù}þlØÅ˸Íß Á8 Íõ Í4 Í— Ëx(Í Ù-ÙÍß õ8Í� Ù-ÙÍß 8Ù,Í� }þl8;Ùª*ªª!ªÍ— ÝåÝ! >Í4ÝáͬÍ— Í— ÅÕåÙͬ--Ù-Í ÙáÑÁÙÍ� ,,ñ,-ÈØxî€GÉgª?+2×n¶*ï8t Ð Ðzˆˆˆˆ~«ªªªª,->Ê' ËxÂ' Ù͘Ù}.�•õÍõ Ù͆ÙÍ� ÅÕåÙ,Í ÙáÑÁÍõ ÝåÝ!Œ >Í4Ýá,ÙÍ¢-ÙÍ ñÅÕåo&0%ÍÙ,Í— ÙáÑÁÍ }þgÚr É}Š�؉}颋.:}Žã8Žc~I’$I~ÍÌÌÌL«ªªª*ÙÍ¢Ù·Ëxõ˸Íõ }þˆ0GÅÕå,ÍÐåË<Ë}áõÍ,-(-ÙñáÑÁõÍ� ÝåÝ!>ÍIÝáñ0 õÙ͘ÙÍ— ñ…o8 ñÈÙ͆Ãõ á>Ã' m.`1pF,þåt6|‰„!wS<ÿÃ.zÒ}[•|%¸FXc~üïýu€Ò÷r1}·ÈÝåÙ͆Ù¯Ëx(<˸õÍß 8ÙÍõ ñËÿõÙÏŽé!~JÙÍß 0Í.OÝ!Î>ÙÝÍsÙÍß 8 = ìÙ ÝÙÙÍnËøÍ ÅÕåÍsÍ— Ù͆Í ÙáÑÁÍõ ÝåÍ.ÝáÙÍnÍ ñ0 õÙÍŽ-Í� ñÝáËOÈËøÉçÏÌTöô¢0 jÁ‘ €µžŠoD€‚,:Í€jÁ‘ �€!¢ÚI}袋.º}Žã8Žc~I’$I’~ÍÌÌÌL«ªªªªÝ! >ÅÕåõͬÍ— ñÍIÙáÑÁ× õÙÍnõÙÅÕåÍnÍ ÙáÑÁÙÍ— ñ= éÙ͆à ÝÝnÝfÝ^ÝVÝNÝFÉ!�DLT\ÉI¢Ú!‚!É53ó!�úÉr1÷!€ÒÉÅÕåÙáÑÁÉÍ’!€> Ëx Ë#ËËË-= ðo˸ÉËxÙ͆(Ëø-Í ·Ë}(ËxËø>�½8(Íz ,óÍz `iÈÃ!É>’Ã' |µÊr Ë|Í€>�)=Ë|(úDMboÀ˸ÉÍÈë8þ8ÍÈÙËxÙ(’0¯þ 8> ÕÍ€ÑËx(>-ÍåË{(aËy(ÍãÍÙ ò�z·(>.Íå (Íã ÷ú±ÍÙ÷Ë{È>EÍå>+Ë|(|íDg>-Íå|/Ö 0ûÆ:ÝpÝ# ý~ý#· ý+>0ÝwÝ#Éýå,-  ý60ý#ø¯Ã}Å˸}ÙÖ€oŸgMÍõ|þÙ <ýwíDÍ@}þ�0ͳý5Ëø>„•.(Íz Ë= øý~õ> xæÆ0ýwý#xæGÅÕåË%͇ Ë%͇ ëãÑãíZëáãíJDMáË%͇ = ÈñÁýáÉýåá_~6þ5Øúœ+~¨¥Ôh¶¿ÉìÅëx-ÐÍÎÂSÞùx9?ë+¨­ÅøÉ{Η@}·ÈËøÅÕ|Íz Íz „gãíZëáãíJDMá0Í{ ,7È}Æo˸ÉÍ?¾ #øyîO!@9ùi&ÝéÍ? ë¶¾ â#÷ÚÍ?¶w#ùëùÝéÍ?/¦w#øïÍ?¦w#ùãýáÝá!9ë! E9ýéÝá!!9~·(¯+Fͺ¦!"9ù!(#Ýé>¯2èýá*ÒÍâ¯á"âýå|· >"2ÐÉ:è·( Ͷ *âwÉÍò*â6 ë!\$í°É!æÅåí[Òþ (úͦ–( áÁã·É#ëÁÁþ:À~ÉCONÁTRMÁKBD‚LSTCAUXÄUSRÅ>¯2èÍi:зÀ*âË®~æÀÍ0:зÀ*â:è·€€(@q##pÉÍZ*â ë:è·( ÕÍÑñÅÍÁ<Àx2ÐÉ*â6#ûÉ"â~æÀËv( >ÍÆÍ Ë~È*âå ëÍá< >ÿ2Ð6Éã"äãå!Â"âáÉã"äã"âË~À>2ÐÉã"äã"âËvÀ>2ÐÉ>¯ã"äãå!Â"âË®õÍèñ·(ÍááÉ!Ñ~þ8>~O6~*Ò"ÔÍáwþ(6þ(2þ(-þ()þ(6þ (8þ 0þ Ù:Ý·(ÓÝ*äà yº(È~#ÍÉÀúý+Í (±ï(« 6Íá6 #6 #"ÖÉ*â:з y~Ëo pæ .##~·ò—åͺá(å.6á¯w4Æ._~þ =*â##55= *Ôí[Ö·íR8ÿÍê*Ô~#"Ô= Í£}== ͯ}͵}*âËî#w+É#~+É>Éå*â~æþ('Íkþ!0þ(Ë®ñ]ÅÕÍkÑÁþ!8Ë®ï¯áÉÝ!]Ý~·Èþ-ÀÝ#É8Ý~·È>2Ð7ÉåÍkË®áwÉ>¯OÅÍðÁÍ$ÈÅåÍ÷ÑÁÍ6Ø̃ës #rëÉÍðÍ$ÈÅåÍ£ÙáÁÍ6ØÙÌ� ÙÃÑåëÅÕÍkÑÁþ ( þ(Ë® êáqÉÍkþ(Ë®þ ( þ ïÍkþ Ë®É*âO:зÀ~æ ##å~Æ._qá4ð(þ(áÅå=ʦ==Ê©=ʬò*è:ê¾È4^qÉ*â##~·È6ͺÈ>ð2ÐÉ}ÃÆÁÑÅÝ*ÒË|(̓ëëË|( ̓Ý6-Ý#ÕÍÆáÍÈí[ÒÝåá·íRMë‘8( Gå> ÅÍÆÁ÷áAÈ~ÅåÍÆáÁ#óÁÑÙáÑÁÙÅÝ*ÒÕÍ'¾ÁÑÅÍÈËC!¡ ¿!¥¸TRUEFALSEÍÈ!9N#ÍYÑùÕÉá~#·( G~ÅåÍÆáÁ#õé> ÍÆ> ÃÆ   "âË~(ÕÍkÑ»(þ( þ!0 (Ë®è!É!É>¯2èíSæÍz:зÀÍ0:зÀ*â6Ð##ww#w$w#wÖÿ:è· å¯Í á##N#F*æ·íBÈ>�2ÐÉå¯w#w#í[æs#rá>à "â~æÀÈÍ®*â-¯w#wÔÿw##>Í Í®Ã�ã"äã"â~æÀÀ>2ÐÉ:зÀåÍZë·íRá0¯Í *â4À#4É>™2ÐÉ:зÀåÍZ·íR> *â4 #4(>áÍ Èá>ò2ÐÉ2éë*âËf(/˦:éËG(##~++· :éËO x· y·úCÅÕ!ͺÑÁ Q*â:éËG(Ëî##~Æ.Õ_ÑÖ.Íší âf<ò\=<Íš*â##æw ÅÕåÍ®áÑÁ Õ+Ñ4 #4x±Â ëÉ>™>ð2ÐÉõ:éËG(ëñÉ"âÍ®Èæ"*âËæËnÈË®*âåÅ0ëÍÁá ëÍ·ÉÁÑíSâÅåÍZÑ·íR8@*â N#F#s#rÍ, 0}æ)ëíjëS\*â##w+ N#Fë·íB ÈÕåÍ®Ñár+sÉ>‘2ÐÉÕÙáÙ!T]>)ëíjëÙ)Ù0 0= ïÉÍ]·íR!À#ÉÍ]ëÉ*â^#V#ÕN#F#^#VáÉ>¯2èͰ:зÀÍ0:зÀ*â6Àå ë#Íá-¯Nw#FwÖÿq#p#6€#w#w#wÉ"â~æÀÈÃ�>">!DM!ð"æÝáÑáÝåÅÍýÁ:зÀ*ðíBÈ:éþ!>™(>ð2ÐÉ>">!"æÝáÁÑáÝå2é"â~æÀʰ*æ¯w#wx±(9ÅÕÍ*â ë:éOÍÑÁ· Õ*â-4 #4Ñ!€ë*æ4 #4 Ã*â-N#FÚÿq#püÿV+^ë·íBÐëq#pÉÁÑíSâÅåÍZÑ·íRÚ&*â s#r$ s#rÉÍLÀ ëÍ<À?ýá*ÒÍâ¯áýåÍLÀåÍòáåë!\ í°á åëÍÑ<( !\$í°É>2ÐÉ>¯2èÍLÀ:Ø·>!(ë*â \$í°\Í<(Ï!3°í°:è· í[1ðÕÍ\ÍÑ!€ë·(é7"â~æÈ> 2ÐÉ"æíSèëá"âNs#Frë·íB(Zë#\:Ü í°¯üå\ÍÑ<(?*æ"}íKèÅÕÍ\!ÍÑÁ· !*}#"}!€ë x± Û\Í*â éÝ*â>ðÃ) ÍÈþÐ2ÜÉ"ðëáã"ò{æü_!Þ"øÝ*ÞÝnÝf}´(HíR0ÝnÝfåÝ"øÝáã Ý^ÝVÝåMDÝnÝfÝåÝÝuÝtÝqÝpÝåÑ*øs#rÑ*òs#rÉÝåá"Ä*ð ÝåÁ ÚuíKÆíB!Ú0>ÿÃ' ëáã~#fo{æü_ë"ð*ÞåÝá·íR0RÝnÝfå·íR0ÝáðáÕýáíKðýqýpýuýtÝsÝrÝåáÝNÝFÍ( Ý^ÝVÕÝáÝåáÝNÝFÝ^ÝV*ÞíSÞÕÝáÝuÝtíKðÝqÝpë ·íRÀÕýá*Ä·íR(ý~Ýwý~Ýwýnýf ÝuÝt¯ÉÝåá"Ä6#ûÉÍK*ôÉÍK*öÉ!"ô"öÝ*ÞÝNÝFy°(*ô "ô*ö·íB0íCöÝnÝfåÝáØ*Æûÿ í[Ä·íRØë*ô"ô*ö·íRÐíSöÉí[Äs#rÉ^#Vë"Ä"Þ6#ûÉ>¯O"è¯w2Ðx2ê*â"í!F"âá"äá Í&Íy*í"â*äé>¯2ì"è*â"í!F"âá"äá"ê!\Íâ¯*ê:ì· ÍNÍr!Ð~6·go(Ýåá\íRë*ès#r£Æí_2ËÉëÝáÁáx±( s x±(T]í°ÝéDMÝáÑáx±(ôíR0í ë ëí¸ÝéU(Í�ÝáO/o&ÿ9ùq#ë (í°Ýé!€>F¸0#( ~þ (þ #ï]( ~þ (þ (#ï}“(  Õi&TÉÑÁÕ-a%â}ͦoÉ*é!Ð~6o&ÉÍ|µÈ:Ýõ¯2ÝÍ ñ2Ý}þÀÝá:зÈÝá_Ýá_ÕÍzѯ2Ý*Î|µÝåáíKÌíB "η ÕÕåÍÙÑz· Í^C User break+= Í I/OÍ Run-timeÍ error {Í´Í, PC=*ÎͯÍNot enough memoryÍ Program aborted :Ø·ÊŽ'ÃáÑÑé1!ÂâÿÍd!L&sâBã>ÍÔÙ%0123456789ABCDEFýáá}2¤âá"¥âá"§âýå*¤â&å!ÑÍå!Ñë*¥âs#r*¤â&å!ÑÍEå!ÑÍõå!Ñë*§âs#rÉ! }2¹â!’âå!�âå*¹â&åÍ!!å!ÍÛÍ„!¸Íº*¹â&Í"ͺ !µâÍ:!ͪ*¹â&Í"!±âÍ:!ͪͺ *¹â&å!Í&ͺ !ÿ å*¹â&å!ÑÍÑn&Í"!ÿ å*¹â&å!ÑÍEÑn&Í"Í *’âå*�âÍÛÍ„!¸Íº*¹â&Í"Í !ºÍ©!�âÍDÍ *�â&åÍ�!Í‘!Í‘!Í‘ÍOËEÊ,"Ík*’âå*�âÍÛ!¸Íº*¹â&Í"Í *�â&·íR»"*¹â&å! ÑÍÌËEʱ"*¹â&å!Ñë·íR}2¹âø"!ÿ}2¹âÃ#·íRÂó"*¹â&å!ÿÑÍàËEÊé"*¹â&å!Ñ}2¹âÃð"! }2¹âÃ#·íRÂ#!¸Íº!©âÍ:!ͪÍ ÃÔ *�â&å!ÑÍËEÊd!ÉÃ8#LEADING DIGIT!å!ÍÛ!¸Íºͺ S E C O N D D I G I TÍ !å! ÑÍfz³Ê´#Õ}2¹â!å*¹â&å!ÑÍÛ!¸Íº!+#å*¹â&+Ñn&Í"Í *¹â&#ÑÃr#!å!ÍÛ!¸Íº!µâÍ:!ͪ! Í"Í !å!ÑÍfz³Ê$Õ}2¹â!¸Íºͺ !ÿ å*¹â&Ñn&Í"Í *¹â&#ÑÃä#!¸Íºͺ Í !å!ÍÛ!¸Íº! Í"Í !å!ÑÍfz³Ê�$Õ}2¹â!å*¹â&å!ÑÍÛ!¸Íº!ÿ å*¹â&Ñn&Í"Í *¹â&#ÑÃN$!å!ÍÛ!¸Íº! Í"!±âÍ:!ͪÍ É!!å!ÿÑÍfz³Ê%Õ}2¹âÍk!}âå!{âå*¹â&åÍ!*}âå*{âÍÛ!¸Íº*¹â&Í"Í *¹â&#ÑÃÀ$É!å!ÍÛÍ„!¸ÍºͺNORMALͺ ͺREVERSEͺ ͺDECͺ ͺHEXÍ !å!ÍÛ!¸Íºͺ. <-- = ^S ^D = --> ^Q to exitÍ É!å!Be.åÍ¢ Í=!0e.åÍ=!µâÍâ!å!Ce.åÍ¢ Í=!0e.åÍ=!±âÍâ!å!Ce.åÍ¢ Í=!4e.åÍ=!­âÍâ!å!Be.åÍ¢ Í=!4e.åÍ=!©âÍâ!¸Íº!­âÍ:!ͪÍ Í>Í(#͵$Í%Í]!ÃÔ !0e.åÍ=!±âÍâ!å!Ce.åÍ¢ Í=!4e.åÍ=!­âÍ·íR»"*¹â&å! ÑÍÌËEʱ"*¹â&å!Ñë·íR}2¹âø"!ÿ}2¹âÃ#·íRÂó"*¹â&å!ÿÑÍàËEÊé"*¹â&å!Ñ}2¹âÃð"! }2¹âÃ#·íRÂ#!¸Íº!©âÍ:!ͪÍ ÃÔ *�â&å!ÑÍËEÊd!ÉÃ8#LEADING DIGIT!å!ÍÛ!¸Íºͺ S E C O N D D I G I TÍ !å! ÑÍfz³Ê´#Õ}2¹â!å*¹â&å!ÑÍÛ!¸Íº!+#å*¹â&+Ñn&Í"Í *¹â&#ÑÃr#!å!ÍÛ!¸Íº!µâÍ:!ͪ! Í"Í !å!ÑÍfz³Ê$Õ}2¹â!¸Íºͺ !ÿ å*¹â&Ñn&Í"Í *¹â&#ÑÃä#!¸Íºͺ Í !å!ÍÛ!¸Íº! Í"Í !å!ÑÍfz³Ê�$Õ}2¹â!å*¹â&å!ÑÍÛ!¸Íº!ÿ å*¹â&Ñn&Í"Í *¹â&#ÑÃN$!å!ÍÛ!¸Íº! Í"!±âÍ:!ͪÍ É!!å!ÿÑÍfz³Ê%Õ}2¹âÍk!}âå!{âå*¹â&åÍ!*}âå*{âÍÛ!¸Íº*¹â&Í"Í *¹â&#ÑKP-CHARS.COM 17 April 1985 Target Machines: KayPro 4-84, KayPro 10, KayPro 2-84 and other KayPro machines that have "graphics" capabilities. This program is a short tour through the characters that your KayPro can display on the screen. The display consists of a table of all displayable characters (those with an ASCII code greater than 31 decimal) and a status line showing 1) the character at the current cursor position in the table in both normal and reverse video and 2) the Decimal and Hexadecimal ASCII codes for the character. After starting the program you can move around in the chart by using the CTL-S key to move left (the left arrow key does the same thing if you have not redefined it) and the CTL-D key to move right (the right arrow key). Your comments or suggestions are appreciated: Rick Warner 430 O'Keefe Apt. 210 Palo Alto, CA 94303-2140 ÃTIME V2.0 RAS 6/30/84!9"*1R>ÏÓ">àÓ">Ó">Ó Û$!,xþÒIÓ Û$w#Ã9>Ó Û$·Â4!1Íí>/ÍÓ+ÍíÍÞ+n-&ë~ÍÓ#ÂsÍÞ!.~AþÚ’PÊ’Þ'þ™>wx2)ÍíÍÍÍÞ:)ÍÓ>MÍÓÍã:€þÚÎ!,6ÿ#ÂÅ] Í>2RR ÍÍã!S~·Ê(_#6 #6!T"'Í.Ú"þ/Ê *'Ã"y21#Í.Úþ Ây20#"'*'þÊU®æßÊDÂ; Ã*#Â/y2/~þ Â#Í.ÚÃþ:Ây2.#Í.Úy2-~þ:€#Í.Úy2,~þ Â#~æßþAÊ¥þPÂ:.þʲÆ'2.ò:.þ²>2.#~æßþMÂ#~þ Â#~·Â:,þÿÊØ>Ó >Ó$!,xþÒòÓ ~þÿÊíÓ$#ÃÝ› Í>2€Ã"å!T6 #Âá6^#6$T Í¥ ÍÃ"¿Ãõ"'~þ0ÚOþ:ÒOæWy²O#Â5xþÊX~·É*'7ÉEnter values in above format. Omitted values are unchanged. $Set OK. $ ++ Invalid format ++ $Nothing set. $**ùÉåÅ_ÍÁáÉ> ÃÓ> ÍÓ> ÃÓ~æðÊÿ~æö0ÍÓ~æö0ÍÓÉ>:ÍÓ+ÃóSUNMONTUEWEDTHUFRISATåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå KP4TIME.COM Version 2.0 ; CP/M program to display and set the real-time clock on Kaypro 4-84. ; Written 04/22/84 by Bob Snider, Columbus Ohio. Greatly expanded 6/30/84. ; Dispaly is MM/DD HH:MM:SS and can be 24-hour format or 12-hour with ; AM/PM. Date is optional, and the ability to set the clock is optional ; for those who want a minimum length module. Customize this assembly ; by setting the options in the "Customization section". ; The clock is just displayed by the command "TIME". The clock is displayed ; and set by anything extra on the command line, ie. "TIME SET". The ; program will prompt for date and time value which must be entered as in the ; display format. Each of the following items can be set independently: ; Date (month/day) ; Day of the week ; Time of day (seconds may be omitted) ; If the 12-hour format is on, AM or PM must always follow the time. ; Any omitted items are not changed in the clock. ; The clock is set at the carriage return. The input line is parsed for ; proper format, but not checked for valid dates or times. If nothing is ; entered the time is unchanged. If an error is detected, the position of ; the error in the string is flagged with a '^' and nothing is set. ; The clock is checked to see if an update has occurred while being read, ; and it is re-read if so, ensuring valid time displays. ; Problems or enhancements should be directed to the Kaypro User's Group on ; CompuServe, page PCS-25. command "TIME". The clock is displayed ; and set by anything extra on the command line, ie. "TIME SET". The ; program will prompt for date and time value which must be entered as in the ; display format. Each of the following items can be set independently: ; Date (month/day) ; Day of the week ; Time of day (seconds may be omitted) ; If the 12-hour format is on, AM or PM must always follow the time. ; Any omitted items are not changed in the clock. ; The clock is set at the car; TIME.COM (8080 version) Version 2.0. ; CP/M program to display and set the real-time clock on Kaypro 4-84. ; Written 04/22/84 by Bob Snider, Columbus Ohio. Greatly expanded 6/30/84. ; Dispaly is MM/DD HH:MM:SS and can be 24-hour format or 12-hour with ; AM/PM. Date is optional, and the ability to set the clock is optional ; for those who want a minimum length module. Customize this assembly ; by setting the options in the "Customization section". ; The clock is just displayed by the command "TIME". The clock is displayed ; and set by anything extra on the command line, ie. "TIME SET". The ; program will prompt for date and time value which must be entered as in the ; display format. Each of the following items can be set independently: ; Date (month/day) ; Day of the week ; Time of day (seconds may be omitted) ; If the 12-hour format is on, AM or PM must always follow the time. ; Any omitted items are not changed in the clock. ; The clock is set at the carriage return. The input line is parsed for ; proper format, but not checked for valid dates or times. If nothing is ; entered the time is unchanged. If an error is detected, the position of ; the error in the string is flagged with a '^' and nothing is set. ; The clock is checked to see if an update has occurred while being read, ; and it is re-read if so, ensuring valid time displays. ; Problems or enhancements should be directed to the Kaypro User's Group on ; CompuServe, page PCS-25. ; ; CONDITIONAL ASSEMBLY CONSTANTS FOR CUSTOMIZATION. NO EQU 0 ;VALUE FOR 'NO' IN OPTIONS. YES EQU 1 ;VALUE FOR 'YES' IN OPTIONS. ; ; CUSTOMIZATION SECTION. EACH OPTION MUST BE CODED 'YES' OR 'NO'. ; AMPM EQU YES ;12-HOUR CLOCK FORMAT WITH AM/PM. NO=24 HOUR. DATE EQU YES ;DATE IS DISPLAYED. WEEKDAY EQU YES ;DAY OF WEEK IS DISPLAYED. ZEROSUP EQU YES ;SUPPRESS LEADING 0'S IN NUMBERS. SETTIME EQU YES ;ALLOW TIME TO BE SET. NO=DISPLAY ONLY. ; ; COMPILE-TIME CONSTANTS. ; BOOT EQU 0000H ;SYSTEM BOOT ADDRESS BDOS EQU 0005H ;BDOS ENTRY POINT COMTAIL EQU 0080H ;COMMAND TAIL FROM COMMAND LINE (COUNT+CHARS) CONOUT EQU 2 ;CODE FOR CONSOLE OUTPUT REQUEST RTCA EQU 20H ;CLOCK ADDRESS SELECT REG RTCD EQU 24H ;CLOCK DATA REGISTER RTCS EQU 22H ;CLOCK STATUS REGISTER REGEND EQU 5+(DATE*3 OR WEEKDAY) ;ENDING REGISTER COUNT FOR TIME LOOP CR EQU 0DH ;CARRIAGE RETURN CHAR LF EQU 0AH ;LINE FEED CHAR ; ; WE BEGIN. ; ORG 0100H JMP START ;SKIP ID DB 'TIME V2.0 RAS 6/30/84' START: ; FIRST SAVE CP/M STACK AND SET UP OURS. LXI H,0 ;CLEAR HL DAD SP ;ADD SP+0 IN HL SHLD SAVESP ;SAVE SP OF CPM LXI SP,STACK  ;POINT TO MY STACK AREA ; ; READ THE CLOCK TIME IN ONE BURST. ; READTIME: MVI A,0CFH ;INITIAL STATUS SETUP BYTE OUT RTCS ;SET PIO FOR MODE 3 IN/OUTPUT MVI A,0E0H ;LOW 5 BITS OUTPUT, TOP 3 INPUT OUT RTCS ;SET PIO IN/OUT BITS MVI A,03H ;DISABLE INTERRUPTS OUT RTCS ;DO IT MVI A,14H ;STATUS REG ADDR OUT RTCA ;SELECT IT IN RTCD ;RESET STATUS BIT DOREAD: LXI H,VALUE ;POINT TO TIME SAVE AREA MVI B,2 ;START WITH SECONDS BURST: MOV A,B ;A IS REGISTER WE WANT TO READ CPI REGEND ;GOTTEN ALL WE WANT? JNC CHECK ;YES, DONE GETTING TIME OUT RTCA ;SELECT THAT REGISTER OF CLOCK IN RTCD ;READ THE CLOCK DATA MOV M,A ;SAVE IN CORE INX H ;NEXT MEMORY LOCATION INR B ;NEXT REG ADDR JMP BURST ;GO GET MORE DATA CHECK: ; SEE IF THE CLOCK ROLLED OVER DURING THE READS. MVI A,14H ;STATUS REG ADDR OUT RTCA ;SELECT IT IN RTCD ;GET STATUS ORA A ;WAS CLOCK ROLL? JNZ DOREAD ;YES, GO READ AGAIN ; ; FORMAT THE DATE AND TIME AND SEND TO CONSOLE. ; GOTIT: IF DATE ;INCLUDE ONLY IF DATE DISPLAY OPTION LXI H,MONTH ;POINT TO MONTH VALUE CALL HEXOUTL ;PRINT IT (MAYBE ZERO SUPPRESSED) MVI A,'/' ;SEPARATOR CALL CHAROUT ;SEND A CHAR DCX H ;POINT TO DAY OF MONTH CALL HEXOUTL ;PRINT IT (ALSO ZERO-SUP) CALL BLANK ;PRINT A BLANK ENDIF ;(DATE) IF WEEKDAY ;INCLUDE IF DAY OF WEEK OPTION DCX H ;POINT TO DAY OF WEEK MOV L,M ;GET VALUE DCR L ;ADJUST FOR 0-6 MVI H,0 ;CLEAR TOP LXI D,DAYTAB ;GET ADDRESS OF TABLE XCHG ;FLIP HL,DE DAD D ;TABLE+3*(HL)=NAME TO USE DAD D DAD D MVI B,3 ;3 CHARS TO SHOW WKOUT: MOV A,M ;GET ONE CALL CHAROUT ;SEND IT INX H ;NEXT DCR B ;COUNT IT JNZ WKOUT ;LOOP CALL BLANK ;PUT SPACER ENDIF ;(WEEKDAY) LXI H,HOURS ;POINT TO HOURS IF AMPM ;INCLUDE ONLY IF 12 HOUR AM/PM DISPLAY OPT. MOV A,M ;GET HOURS MVI B,'A' ;ASSUME AM CPI 12H ;IS AFTERNOON? JC NOPMADJ  ;NO, NO MORE ADJUSTMENTS MVI B,'P' ;YES, IS PM JZ NOPMADJ ;IF STILL IN HOUR 12, NO NUMBERIC ADJUST SBI 12H ;SUBTRACT 12 HOURS DAA ;DECIMAL ADJUST NOPMADJ: CPI 00H ;IS MIDNIGHT HOUR? JNZ NOMIDAM ;NO MVI A,12H ;YES, SET 12 AM NOMIDAM: MOV M,A ;RESET HOURS MOV A,B ;GET AM/PM FLAG STA AMPMFLAG ;SAVE IT FOR LATER ENDIF ;(AMPM) CALL HEXOUTL ;PRINT HOURS (MAYBE ZERO SUPPRESSED) CALL COLON ;PUT OUT A ":" FOLLOWED BY MINUTES CALL COLON ;':' AND SECONDS IF AMPM ;IF AM/PM DISPLAY OPTION CALL BLANK ;PRINT A BLANK LDA AMPMFLAG ;GET A OR P CALL CHAROUT ;PRINT IT MVI A,'M' ;GET AN M CALL CHAROUT ;PRINT IT ENDIF ;(AMPM) CALL CRLF ;PUT OUT CR LF ; ; SEE IF CLOCK SET REQUESTED BY ANYTHING IN THE COMMAND TAIL. ; PROMPT FOR THE DATE AND TIME TO SET THE CLOCK IF REQUESTED. ; IF SETTIME ;INCLUDE ONLY IF TIME SET OPTION LDA COMTAIL ;GET THE COUNT CPI 2 ;IS AT LEAST 2 CHARS? JC DONE ;NO, RETURN NOW ; SET THE TIME REQUESTED. DOSET: LXI H,VALUE ;POINT TO DATE/TIME VALUE AREA MVI B,6 ;COUNT TO CLEAR CLEAR: MVI M,0FFH ;SET NO VALUE INX H ;NEXT DCR B ;COUNT JNZ CLEAR ;LOOP FOR ALL LXI D,PROMPT ;POINT TO PROMPT MESSAGE MVI C,09H ;PRINT STRING FUNCTION CALL BDOS ;PUT TEXT ON SCREEN. MVI A,30 ;GET BUFFER LENGTH STA INMAX ;SET LENGTH  LXI D,INMAX ;POINT TO START OF BUFFER PARMS MVI C,0AH ;READ BUFFER FUNCTION CALL BDOS ;READ CONSOLE INPUT CALL CRLF ;FEED A LINE LXI H,INLEN ;POINT TO INPUT BUFFER LENGTH MOV A,M ;GET RETURNED LENGTH ORA A ;WAS IT ZERO? JZ NOTSET ;YES, NOTHING TO SET MOV E,A ;SAVE COUNT MVI D,0 ;CLEAR D INX H ;POINT TO 1ST CHAR DAD D ;POINT BEYOND LAST CHAR MVI M,' ' ;SET A SCAN DELIMITER INX H ;POINT ONE MORE MVI M,0 ;SET FINAL PARSE DELIMITER LXI H,INBUF ;POINT TO FIRST CHAR ENDIF ;(SETTIME ALONE) IF SETTIME AND DATE ;INCLUDE IF DATE OPTION IS ON SHLD WKPTR ;SAVE SCAN POINTER CALL NUMBER  ;DECODE A NUMBER AND DELIMITER JC NODATE ;INVALID NUM, NO DATE THERE CPI '/' ;WAS DELIM A SLASH? JZ OKDATE ;YES, WE HAVE A DATE LHLD WKPTR ;NO, RESTORE SCAN TO START JMP NODATE ;CONTINUE NEXT ITEM OKDATE: MOV A,C ;GET DECODED VALUE STA MONTH ;SET MONTH INX H ;NEXT CHAR CALL NUMBER ;TRY FOR DAY JC ERROR CPI ' ' ;WAS DELIM A BLANK? JNZ ERROR ;NO, BAD MOV A,C ;GET NUM STA DAY ;SET DAY OF MONTH INX H ;NEXT CHAR ENDIF ;(SETTIME AND DATE) NODATE: IF SETTIME AND WEEKDAY ;INCLUDE WITH DAY OF WEEK OPTION LXI D,DAYTAB ;POINT TO TABLE MVI C,1 ;INIT VALUE SHLD WKPTR ;SAVE START POINTER LOOKUP: LHLD  WKPTR ;GET START ADDR MVI B,3 ;LENGTH LOOKUPLOOP: LDAX D ;GET TABLE CHAR CPI 0 ;END OF TABLE? JZ NOWEEKDAY ;YES, NOT FOUND, NOT ERROR YET XRA M ;BASIC COMPARE ANI 0DFH ;ELIMINATE CASE DIFFERENCE JZ LOOKMATCH ;MATCHES IF ZERO ADJUST: INX D ;NO MATCH, BUMP TABLE PTR DCR B ;FOR REST OF LENGTH JNZ ADJUST ;LOOP INR C ;BUMP VALUE JMP LOOKUP ;TRY NEXT LOOKMATCH: INX D ;NEXT IN TABLE INX H ;NEXT IN INPUT DCR B ;COUNT JNZ LOOKUPLOOP ;TRY NEXT CHAR ; GOOD WEEK DAY NAME FOUND. MOV A,C ;GET DECODED VALUE STA DAYOFWEEK ;SAVE MOV A,M ;GET NEXT CHAR CPI  ' ' ;IS GOOD DELIM? JNZ ERROR ;NO, CRUSH IT INX H ;POINT TO NEXT CHAR ENDIF ;(WEEKDAY) NOWEEKDAY: IF SETTIME ;INCLUDE IF SET TIME OPTION CALL NUMBER ;GET NEXT NUMBER JC NOTIME ;NO TIME THERE CPI ':' ;WAS DELIM ':'? JNZ ERROR ;NO, BAD INPUT MOV A,C ;GET VALUE STA HOURS ;SAVE INX H ;NEXT CALL NUMBER ;TRY FOR MINUTES JC ERROR MOV A,C STA MINUTES ;SAVE MINUTES MOV A,M ;GET DELIM AGAIN CPI ':' ;CHECK DELIM JNZ NOSECS ;ALLOW SECONDS TO BE OMITTED INX H ;NEXT CALL NUMBER ;TRY FOR SECONDS JC ERROR ;BAD MOV A,C STA SECONDS  ;SAVE SECONDS NOSECS: MOV A,M ;GET DELIM AGAIN CPI ' ' ;VALID FINAL DELIM? JNZ ERROR ;NO, GARBAGE INX H ;NEXT CHAR ENDIF ;(SETTIME) IF SETTIME AND AMPM ;INCLUDE DECODING FOR 12-HOUR FORMAT OPTION MOV A,M ;GET NEXT CHAR ANI 0DFH ;MAKE UPPER CASE CPI 'A' ;IS A? JZ AOK ;YES CPI 'P' ;IS P? JNZ ERROR ;NO, ERROR LDA HOURS ;FOR PM, GET HOURS BACK CPI 12H ;WAS IT NOON HOUR? JZ APOK ;YES, NO ADJUST ADI 12H ;+12 HOURS FOR PM DAA ;DECIMAL ADJUST STA HOURS ;UPDATE VALUE JMP APOK ;CONTINUE AOK: LDA HOURS ;GET HOURS CPI 12H ;WAS MIDNIGHT HOUR? JNZ APOK ;NO, NO ADJUST MVI A,00H ;YES, SET TO 00 HOURS STA HOURS ;UPDATE HOURS APOK: INX H ;POINT TO 'M' MOV A,M ;GET IT ANI 0DFH ;UPPER CASE CPI 'M' ;IS IT REALLY? JNZ ERROR ;AW, SHUCKS INX H ;LAST CHECK MOV A,M ;GET DELIM CPI ' ' ;VALID? JNZ ERROR ;NO INX H ;NEXT ENDIF ;(SETTIME AND AMPM) NOTIME: IF SETTIME ;NOW FOR ALL SETS MOV A,M ;LOOK AT LAST DELIM ORA A ;WAS END OF STRING? JNZ ERROR ;FOOEY ; NOW LOAD THE TIME VALUES INTO THE CLOCK DEVICE. LDA SECONDS ;FIRST CHECK FOR SECONDS GIVEN CPI 0FFH ;WAS OMITTED? JZ NOGO ;YES, NO GO COMMAND  MVI A,15H ;GET ADDRESS FOR 'GO' COMMAND OUT RTCA ;RESET SECONDS AND BELOW MVI A,00H ;JUST CLEAR REG OUT RTCD ;CAUSE LOW REGS TO CLEAR NOGO: MVI B,2 ;START AT SECONDS REGISTER LXI H,SECONDS ;POINT TO SAVED SECONDS VALUE OUTSET: MOV A,B ;GET REG ADDR CPI REGEND ;DONE ALL WE WANT? JNC SETOK ;YES, SET IS DONE OUT RTCA ;SELECT THAT REG MOV A,M ;GET SAVED VALUE CPI 0FFH ;IS IT 'NO CHANGE'? JZ SKIPIT ;YES, SKIP THIS ONE OUT RTCD ;SET THE REGISTER SKIPIT: INX H ;POINT TO NEXT VALUE INR B ;NEXT REG ADDR JMP OUTSET ;LOOP FOR ALL REGS SETOK: LXI D,OKMSG ;POINT TO TIME SET OK ECHOEXIT: MVI C,09H  ;PRINT STRING FUNCTION CALL BDOS ;PUT TEXT ON SCREEN. MVI A,0 ;GET A ZERO STA COMTAIL ;CLEAR COMMAND TAIL LENGTH JMP READTIME ;DISPLAY NEW TIME AND EXIT ERROR: PUSH H ;SAVE ADDR OF ERROR MVI B,30 ;SET UP TO CLEAR 30 CHARS LXI H,INBUF ;POINT TO BUFFER FLAGLOOP: MVI M,' ' ;CLEAR A CHAR INX H ;NEXT DCR B ;COUNT JNZ FLAGLOOP ;LOOP POP H ;GET ERROR ADDR BACK MVI M,'^' ;PUT A POINTER TO ERROR INX H ;NEXT MVI M,'$' ;PUT ENDING STRING LXI D,INBUF ;POINT TO ERROR FLAG LINE MVI C,09H ;PRINT STRING FUNCTION CALL BDOS ;DISPLAY FLAG LINE LXI D,ERRMSG ;POINT TO ERROR MESSAGE  MVI C,09H ;PRINT STRING CALL BDOS ;DISPLAY ERROR MSG JMP READTIME ;RE-TRY INPUT ; NOTHING ENTERED IN RESPONSE TO PROMPT. SAY NOT SETTING AND DONE. NOTSET: LXI D,NOSETMSG ;POINT TO MSG JMP ECHOEXIT ;EXIT WITH TIME DISPLAY ; ; ROUTINE TO DECODE A NUMBER UP TO 2 DIGITS AND A DELIMITER. ; INPUT IS HL POINTING TO NEXT IN BUFFER. 0 BYTE IS END OF STRING. ; NUMBER VALUE (IN BCD) IS RETURNED IN C. DELIMITER IS IN A. ; ANY ERROR DETECTED IN NUMBER CAUSES CARRY FLAG SET AND HL RESTORED. ; NUMBER: MVI B,2 ;INIT MAX DIGIT COUNTER MVI C,0 ;CLEAR ANSWER WORK AREA SHLD WKPTR ;SAVE STARTING SCAN GETDIG: MOV A,M ;GET CHAR FROM BUFFER CPI '0' ;IS >= '0'? JC NONDIGIT ;NO, NOT A DIGIT CPI '9'+1 ;IS <= '9'? JNC NONDIGIT ;NO, NOT A DIGIT  ANI 0FH ;ISOLATE DIGIT VALUE MOV D,A ;SAVE IT MOV A,C ;GET PREVIOUS VALUE RLC ! RLC ! RLC ! RLC ;SHIFT TO HIGH NYBBLE ORA D ;ADD IN NEW DIGIT MOV C,A ;SAVE NEW VALUE INX H ;POINT TO NEXT CHAR DCR B ;COUNT DIGIT JNZ GETDIG ;TRY FOR ANOTHER IF LENGTH LEFT NONDIGIT: MOV A,B ;LOOK AT COUNT CPI 2 ;WERE THERE ANY DIGITS? JZ BADNUM ;NO, ERROR MOV A,M ;GET DELIMITER BACK ORA A ;TURN OFF CARRY RET ;RETURN GOOD BADNUM: LHLD WKPTR ;RESTORE SCAN PTR STC ;SET WE HAD AN ERROR RET ;RETURN ERROR ; TIME SET MESSAGES. PROMPT: DB 'Enter values in above format. Omitted values are unchanged.' DB CR,LF,'$' OKMSG DB 'Set OK.',CR,LF,'$' ERRMSG DB CR,LF,'Invalid format.',CR,LF,'$' NOSETMSG: DB 'Nothing set.',CR,LF,'$' ; ENDIF ;(SETTIME) ; ; DONE. RESTORE PREVIOUS STACK AND RETURN TO CP/M. ; DONE: LHLD SAVESP ;GET SAVED SP SPHL ;SP=HL, RESTORE PREV SP RET ;RETURN TO CP/M ; ; SUBROUTINE TO PUT A CHARACTER TO CONSOLE. CHAR IN A. SAVES HL. ; CHAROUT: PUSH H ;SAVE NEEDED REG PUSH B MVI C,CONOUT ;SET BDOS REQUEST CODE MOV E,A ;PUT CHAR IN E CALL BDOS ;SYSTEM CALL POP B POP H ;RESTORE RET ;DONE ; ROUTINE ENTRY TO PUT A BLANK ON THE SCREEN. BLANK: MVI A,' ' ;GET A SPACE JMP CHAROUT ;CONTINUE IN CHAROUT SUBROUTINE ; ROUTINE ENTRY TO PUT CR AND LF ON THE SCREEN. CRLF: MVI A,0DH ;CARRIAGE RETURN CALL CHAROUT MVI A,0AH ;LINE FEED JMP CHAROUT ; ; SUBROUTINE TO OUTPUT BYTE AS TWO HEX ASCII DIGITS ON CONSOLE. ; INPUT AT (HL). ; HEXOUTL: ;LEADING DIGIT OUTPUT ROUTINE IF ZEROSUP ;IF LEADING ZERO SUPPRESSION OPTION MOV A,M ;GET BYTE ANI 0F0H ;ISOLATE HIGH NYBBLE JZ HEXLOW ;IF ZERO, DONT PRINT IT ENDIF ;(ZEROSUP) HEXOUT: MOV A,M ;GET BYTE RRC ;MOVE TO LOW NYBBLE RRC RRC RRC ANI 0FH ;ISOLATE LOW NYBBLE ORI 30H ;MAKE ASCII DIGIT CALL CHAROUT ;PRINT IT HEXLOW: MOV A,M ;GET BYTE AGAIN ANI 0FH ;ISOLATE LOW NYBBLE ORI 30H ;ASCII AGAIN CALL CHAROUT ;PRINT 2ND RET ;DONE ; ROUTINE ENTRY TO PUT OUT A COLON FOLLOWED BY NEXT VALUE FROM TIME. COLON: MVI A,':' ;GET A COLON CALL CHAROUT ;PUT IT OUT IN CHAROUT DCX H ;POINT TO NEXT VALUE TO GO JMP HEXOUT ;PRINT IT AND RETURN ; ; CONSTANTS. ; IF WEEKDAY ;FOR DAY OF WEEK OPTION DAYTAB: DB 'SUNMONTUEWEDTHUFRISAT',0 ;DAY OF WEEK TABLE ENDIF ; ; WORK AREA. ; WKPTR DS 2 ;INPUT SCAN POINTER SAVE AREA AMPMFLAG DS 1 ;'A' OR 'M' FOR AM/PM OPTION SAVESP DS 2 ;SAVE AREA FOR CP/M STACK POINTER VALUE EQU $ ;SAVED TIME VALUE WORK AREA SECONDS DS 1 ;SECONDS MINUTES DS 1 ;MINUTES HOURS DS 1 ;HOURS DAYOFWEEK DS 1 ;DAY OF WEEK DAY DS 1 ;DAY MONTH DS 1  ;MONTH IS LAST THING DS 32 ;16-POSITION STACK STACK: EQU $ ;STACK POINTER STARTS HERE INMAX DS 1 ;MAXIMUM INPUT SIZE PUT HERE INLEN DS 1 ;RETURNED INPUT CHAR COUNT INBUF DS 32 ;INPUT BUFFER + ENDING DELIMS ; END  IF WEEKDAY ;FOR DAY OF WEEK OPTION DAYTAB: DB 'SUNMONTUEWEDTHUFRISAT',0 ;DAY OF WEEK TABLE ENDIF ; ; WORK AREA. ; WKPTR DS 2 ;INPUT SCAN POINTER SAVE AREA AMPMFLAG DS 1 ;'A' OR 'M' FOR AM/PM OPTION SAVESP DS 2 ;SAVE AREA FOR CP/M STACK POINTER VALUE EQU $ ;SAVED TIME VALUE WORK AREA SECONDS DS 1 ;SECONDS MINUTES DS 1 ;MINUTES HOURS DS 1 ;HOURS DAYOFWEEK DS 1 ;DAY OF WEEK DAY DS 1 ;DAY MONTH DS 1 ÃÉÍ«Copyright (C) 1984 BORLAND Inc‚A----KAYPRO 10----tedP= ERTC0BB0~·7È#õå~Íáñ=ÈóÍ% ÉÅÕåÝåýåõo&åͦñýáÝááÑÁÉoåͦÉþ€Ü�Ô©æîÅÕåÝåýåÍ£}Ùå!å!"8áãõÅÕ~#·(åÍáôÑÁñãÉ}´È:$‡‡‡ããããÅÒÁ= ô+èÍÐØ*ÎßõÅÕå!¨ÍZ!¢ÍÐ*ºÔBáÑÁñÉõÅÕå!´éõÅÕå!®àõ:¼·(ÅÕå=2¼!ÈÍZáÑÁñÉõ:¼· ÷ÅÕå<2¼!ÂåõÅÕå!¼ÛõÅÕååð!‹í°Ñ:žO:œ‚ÕÍÑ:ŸO:�ƒÍ!ðÍÐ* ÍBáÑÁñÉ!ð ë!›45(É!.+/ –0ü†õyþ0(ñíÉ d!kÃZ!{ÃZ͈æ͈o&Éô  áÁå:á·(yþ ÕÅÍ |µ(Íþ ÍþÊÅÁÑ*é"ÛÕx2áy·( >Ã28!?"9!É í°!á¸í°áí°>2گà Ã:ÃDÃ]ÃSÃXÃNÃ]ÃDÿ í[Ûþ (ú!eÍ}Í„þA8þQ0Gþ: xÖ@¯!\w# ( þ  ÍyÍVþ. ÍV!h6#ûÉ (þ*(þ.(þ!8þ}(þ*(Í„w#ßÉ>?> w#üÉþaØþ{ÐÖ É|Í’}õÍ›ñæÆ�'Î@'Ãè¯7Ë|À|·}È>ÿÉ"ÍíCß"í6#ûëÑùü "Ïë"ÕÍ�Í©éå*Ï·íB"Ïí[Í·íRëáÚ5í°É*Ïí°"ÏÙÉ^#V#Õ^#V#N#FáÉÝáëO/o&ÿ9ùëí°ÝéÑO/o&ÿ9ùëí°éÝáë!àÿ9ùëÅ(¯üí°Á> �‘(G¯üÝéÝá!àÿ9ù ¯w#üÝéÝáEÍŠ¶wÝéÝáÑ}“8÷�Ãu·íR·íB0 É>‘î·íRëê@ðøÉÕë·íRëáë·íR!È+Éͨ õÍz ð·íR!À+Éͨ õÍz ðÍ<!Ð+Éͨ õÍz ðÍ<!ÈØ+Éͨ ôÍz ïÍ<!ÈØ#Éͨ ôÍz ïÍ<!Ø+Éͨ õÍz ðT]KBë!z·> S>)ë)ë0 = öÉ|ªõÍJëÍJëDM¯go>íjíB0 7?ËË= ðëñðHåÍ\Ë<ËÑëÍÞëËzÈ5Í+È)ýÉÍ+ÈË<ËúÉëz· {þ0G·É¯goÉë|ª|úHºÀ}»ÉÉË|È|/g}/o#É}æo&ÉíKÓí[ÑÅÕxAJSËËËËáëáíJDM!éb"Ñë!6íJ"ÓDMÉ'ͬèͬdͬ ͬ} ¯<íR0û= ÈÆ0ÝwÝ#ÉÝ~Ö$O! Ý#Ý~Í„Ö08)þ 8 !Öþ 8þ0T])Ø)Ø T]Ø)Ø_ØËy·È|‡ÉÝááå}&#9N�8wë!DíB9ùëåí°ëá+Oí¸ë#ùÝé>ÃwÝáͦWáͧ _áå}“8(º8J`9{‚T]=o`9yí¸ë ¯ÃwÍÖ Ð>ÃuÍJ õÍuÍ` íÙ}·Ù>(è; àÙËxÙÂQ Ù}·ÙÈÙÅÕåÙ}· Ù˸TÅËø¯ÙËø}Ù•(0íD=ÙÍC ,= ù(Ùñæ€ Í[ 0%ÍD ·, 7 Í� ?õ(8ÙÍu Ëx ÍO - öÍ; ñ8˸·ÙáÑÁÙÉÙËxÙÂÝ ÍX ÍÝ Ø,-Èxî€GÉÙ}·ÙÊ; }·ÈÙ…ÙÍ ÅÕåÝ9Í; Ù.Ù>Ý#ÝnË0Í[ ÍD = ñÙ-Ù åÝnûËx ÍP ,-(-ñññ·ñÙÁáÙÝá˸°G,-Ì; É}·ÈÙ•Ù?Í åååÝ9Ù.Ù>Í� 8Íu ?Ë= ÝuÝ+Ù-Ù(>ÍO 0ßÍu ·áÍO 8Í� ?áÑÁËx ÍP š, —7•8Æ€8Æ€8oÝãÙåÅxËøÙ¨æ€õËøÝåÝ!ÉáØ¯oGOW_gÉ·ËËËËËÉ·ËËËËËÉ|Ù„Ùg{Ù‹Ù_zÙŠÙWyÙ‰ÙOxÙˆÙGÉ|Ù”Ùg{Ù›Ù_zÙšÙWyÙ™ÙOxÙ˜ÙGÉxÙ¸ÙÀyÙ¹ÙÀzÙºÙÀ{Ù»ÙÀ|Ù¼ÙÉÙxÙ¨ò² xÉËx(ͼ È?É}Ù½ÙÀ·ÈÃ� }Ö�Ú; <þ(ÐÙÅÕåÍ; 7ÍD = ùÙ|Ù¤Ùg{Ù£Ù_zÙ¢ÙWyÙ¡ÙOxÙ ÙGÃD ÙÅÕåÙÍuÙÍÆ ÙÍJ ë}·ÈËx>ÂuÍu}Æ€Ë/Æ€oÖõÙÅÕå; ÍÖ -ÅÕåÍJ }áÑÁÙáÑÁã¼ã0ãñÙÉÙÍW-ÍJ ÙÍW,Ù}þlØÅ˸ͨ Á8 ; Íý Í` Ëx(ÍÖ Ù-Ùͨ õ8ÍJ Ù-Ùͨ 8Ù,ÍJ }þl8;Ùª*ªª!ªÍ` ÝåÝ!Ð >ÍýÝáÍuÍ` Í` ÅÕåÙÍu--Ù-ÍÖ ÙáÑÁÙÍJ ,,ñ,-ÈØxî€GÉgª?+2×n¶*ï8t Ð Ðzˆˆˆˆ~«ªªªª,->ÊuËxÂu ÙÍaÙ}.�•õ; ÙÍOÙÍJ ÅÕåÙ,ÍÖ ÙáÑÁ; ÝåÝ!U >ÍýÝá,ÙÍk-ÙÍÖ ñÅÕåo&0%ÍÑÙ,Í` ÙáÑÁÍÖ }þgÚ; É}Š�؉}颋.:}Žã8Žc~I’$I~ÍÌÌÌL«ªªª*ÙÍkÙ·Ëxõ˸; }þˆ0GÅÕå,Í™åË<Ë}áõÍÑ,-(-ÙñáÑÁõÍJ ÝåÝ!Ù >ÍÝáñ0 õÙÍaÙÍ` ñ…o8 ñÈÙÍOþ á>Ãum.`1pF,þåt6|‰„!wS<ÿÃ.zÒ}[•|%¸FXc~üïýu€Ò÷r1}·ÈÝåÙÍOÙ¯Ëx(<˸õͨ 8Ù; ñËÿõÙÏŽé!~JÙͨ 0Í÷OÝ!—>ÙÝÍ<Ùͨ 8 = ìÙ ÝÙÙÍ7ËøÍÖ ÅÕåÍ<Í` ÙÍOÍÖ ÙáÑÁ; ÝåÍ÷ÝáÙÍ7ÍÖ ñ0 õÙÍW-ÍJ ñÝáËOÈËøÉçÏÌTöô¢0 jÁ‘ €µžŠoD€‚,:Í€jÁ‘ �€!¢ÚI}袋.º}Žã8Žc~I’$I’~ÍÌÌÌL«ªªªªÝ!Ó>ÅÕåõÍuÍ` ñÍÙáÑÁÃ` õÙÍ7õÙÅÕåÍ7ÍÖ ÙáÑÁÙÍ` ñ= éÙÍOÃÖ ÝÝnÝfÝ^ÝVÝNÝFÉ!�DLT\ÉI¢Ú!‚!É53ó!�úÉr1÷!€ÒÉÅÕåÙáÑÁÉÍ\!€> Ëx Ë#ËËË-= ðo˸ÉËxÙÍO(Ëø-ÍÖ ·Ë}(ËxËø>�½8(ÍC ,óÍC `iÈÃM!É>’Ãu|µÊ; Ë|ÍJ>�Ë| )=Ë|(úDMboÀ˸Éͦë8þ8ͦÙËxÙ(’0¯þ 8> ÕÍMÑËx(>-ͲË{(aËy(Ͱͦ ò\z·(>.Ͳ (Ͱ ÷ú~ͦ÷Ë{È>EͲ>+Ë|(|íDg>-Ͳ|/Ö 0ûÆ:ÝpÝ# ý~ý#· ý+>0ÝwÝ#Éýå,-  ý60ý#ø¯ÃJÅ˸}ÙÖ€oŸgMÍÄ|þÙ <ýwíDÍ }þ�0Í€ý5Ëø>„•.(ÍC Ë= øý~õ> xæÆ0ýwý#xæGÅÕåË%ÍP Ë%ÍP ëãÑãíZëáãíJDMáË%ÍP = ÈñÁýáÉýåá_~6þ5Øúi+~¨¥Ôh¶¿ÉìÅëx-ÐÍÎÂSÞùx9?ë+¨­ÅøÉ{Η@}·ÈËøÅÕ|ÍC ÍC „gãíZëáãíJDMá0ÍD ,7È}Æo˸ÉÍ ¾ #øyîO!@9ùi&ÝéÍ  ë¶¾ â#÷ÚÍ ¶w#ùëùÝéÍ /¦w#øïÍ ¦w#ùãýáÝá!9ë! E9ýéÝá!!9~·(¯+FÍŠ¦!"9ù!(#Ýé>¯2æýá*ÛͲ¯á"âýå|·>"Ê :æ·( ͆ *â6#wÉÍ÷*â6#6 ë!\$í°É!¶Ååí[Ûþ (úÍ„–( áÁã·É#ëÁÁþ:À~ÉCONTRMKBDLSTAUXUSR>¯2æÍîÍ$*â#~þ ͶÍ$*â:æ·> >w###6ÀÃÖþ þ #6++pÉ>¯2æíSäÍ-Í$Ͷ:Ù·À*â6###ww#w$w#wÖÿ:æ· åÍôá##N#F*ä·íBÈ>�à å¯w#w#í[äs#ráÃó>¯2æÍSÍ$ͶÍ$*â6å ë#Íá-¯Nw#FwÖÿq#p#6€#w#w#wÉÍß*â ë:æ·( ÕÍÑñÅÍÁ<Àxà *â6#ûÉ"â#~+þ 2ËN(>Í’:Ù· *âË^ îËFÈ*âå ëÍá< >ÿ2Ù6É"â~æÈÍŸ*â-¯w#wÕÿw#ÍóÍŸÀ"â~æÈ·ÍÀ ëÍ<À@ýá*ÛͲ¯áýåÍÀåÍ÷áåë!\ í°á åëÍÑ<Ê®!\$í°É>à >¯2æÍÀ*ß|µ>! ë*â \$í°\Í<(Ï!ý€í°:æ· í[1Ã�ÿÕÍ\ÍÑ!€ë·(éf"âÍÂÈ> 2ÙÉ:Ù·ÈñÉÝáÝåå!ÊÍ<áÉÝáÝå"âËF( #~þÀ#6Ãe>Îå!ÊÍ[áÉ"âËNÀ>ë!Ú~þ€8>O6*Û"ÝÍwþ (=þ(&þ("þ(þ :á·(ßÃNþ 8Øyº(Ô~#ÍèÌúx+Í% (½ï6Éå*â#~þáÉÍÂÈÍ[þÈÅÕå*â#~· *Ý~þ(h#"Ýb= Íõþ 8Íèþ ÌáñJ= ÍB== ͯ}8= ͵}/Í­ !*â###å~Æ-_~áþ(4òQ6*âËÖ>™2Ù>*â##wáÑÁÉ:Ù·>Àå*â##~áÉå*â#~þÿ(EÍÌÍ[þ ( þ (þ (þ ÍÖè!]Í[þ (þ (þ (þ(w#(ÍÖãÍÂÌÖ6áÉÝ!]Ý~·Èþ-ÀÝ#É8Ý~·È>7à ëÍ Í[ÃÖÍÖÉ>¯OÅÍkÁͼÈÅåÍÁÑÁÍÎØÌMës #rëÉÍkͼÈÅåÍpÙáÁÍÎØÙÌX ÙáåÍÌÍ[þ ÍÖôÍ[þ (þ( #w(ÍÖêÍÂÌÖáqÉ*â#~þÊáÍ[þ (þÈÍÖñÍ ÍÖþ ÀÃÖ*â##~þÈ6ÉÅÕåÍœáÑÁÉOÍ$*â#~þ(08áÅå·Ê¦=ʦ==Ê©=ʬò+ËÞ###å~Æ-_qá4ð6Í¡È>ðà *æ:è¾È4^qÉ}Ã’ÁÑÅÝ*ÛË|(ÍMëëË|( ÍMÝ6-Ý#ÕÍ�áͦí[ÛÝåá·íRë“8 (G> Í’ùCÈ~Í’#÷ÁÑÙáÑÁÙÅÝ*ÛÕÍôÇÁÑÅͦËC!h Ç!lÀTRUEFALSEͦ!9^#Í(ÑùÕÉá~#·(G~Í’#ùé> Í’> Ã’ "âËF!ÈÍ[¸(þÀ#ÉåÍRë·íRá0Íô*â4À#4É>™Ã åÍR·íR *â4 #4(áÍóÒ>òÜ>¯2çÍ$ë*âËV(/Ë–:ç·(#~+· x· y·ú2ÅÕ!͵ÑÁ( =(þ X:ç·(R*â:ç·(ËÞ###~Æ-Õ_ÑÖ-ÍŒí âX<òN=<ÍŒ*â###æw ÅÕåÍŸáÑÁ Õ*Ñ4 #4x±ÂüëÉ>™>ðà õ:ç·(ëñÉ"âÍŸÈè"*âËÖË^ÈËž*âËVÈË–åÅ0ëÍÁá ëÍ·ÉÁÑíSâÅåÍRÑ·íR8A*â N#F#s#rÍ$ 0}æ)ëíjëS\*â###w* N#Fë·íB ÈÕåÍŸÑár+sÉ>‘à ÕÙáÙ!T]>)ëíjëÙ)Ù0 0= ïÉÍU·íR!À#ÉÍUëÉ*â^#V#ÕN#F#^#VáÉ>">!2çDMÝáÑáÝå"â~æÊóx±(LÅÕÍ*â ë:çOÍÑÁ·(o:çþ" C}=(þ ?ÅÕ*â-N#Fp+qÛÿq#pÑÁ!€ë °*â F+N+++V+^ë·íBÐëq#pÉ>™>ð>à ÁÑíSâÅåÍRÑ·íRÚ*â s#r$ s#rÉ"äíSæëá"â! N#Fë·íB(^x± *â 6#ûí[âÍ<(H*â! íKäq#p##ëíKæÅÕÍí[â!Í· *â! 4 #4Ñ!€ëÁ x± Õ*â$ éÝ*â>ðÃw"òëáã"ô{æü_!í"ëÝ*íÝnÝf}´(HíR0ÝnÝfåÝ"ëÝáã Ý^ÝVÝåMDÝnÝfÝåÝÝuÝtÝqÝpÝåÑ*ës#rÑ*ôs#rÉÝåá"Í*ò ÝåÁ Ú5íKÏíB!Úð>ÿÃuëáã~#fo{æü_ë"ò*íåÝá·íR0RÝnÝfå·íR0ÝáðáÕýáíKòýqýpýuýtÝsÝrÝåáÝNÝFÍÄ( Ý^ÝVÕÝáÝåáÝNÝFÝ^ÝV*ííSíÕÝáÝuÝtíKòÝqÝpë ·íRÀÕýá*Í·íR(ý~Ýwý~Ýwýnýf ÝuÝt¯ÉÝåá"Í6#ûÉÍ *öÉÍ *øÉ!"ö"øÝ*íÝNÝFy°(*ö "ö*ø·íB0íCøÝnÝfåÝáØ*Ïûÿ í[Í·íRØë*ö"ö*ø·íRÐíSøÉí[Ís#rÉ^#VíSÍÉ>¯O"æ¯w2Ùx2è!ê"âá"äá ÍöÍ@*äé>¯2ê"æ!ê"âá"äá"è!\Ͳ¯*è:ê· ÍîÍ!Ù~6·go(Ýåá\íRë*æs#r¯ÿí_2ÔÉëÝáÁáx±( s x±(T]í°ÝéDMÝáÑá·íR0ð ë ëí¸ÝéÑÁÕ-a%ÃÆ}Í„oÉ*é!Ù~6o&ÉÍ |µÈÍ£}þÀÝáÍ%^C User break1:Ù·ÈÝáõÍ% I/OÝáÍ% Run-timeÍ% error Í’Í%, PC=Ýåáí[Õ·íR"×Í�Í% Program aborted*ßé1!ÀиÿÍ�!¶5 ÏͲÇ3Íc!å!PÑÍ5z³Ê‹ Õ"²Ð*²Ðå!ÍÍR!ÍòÍb*²Ðå!ÍÍR!ÍòÍb*²Ðå!ÍÍR!ÍòÍb*²Ðå!ÍÍR!ÍòÍb*²Ðå!ÍÍR!ÍòÍb*²Ðå!ÍÍR!ÍòÍb*²Ð#ÑÃõ!å!ÑÍEz³Êì Õ"²Ð!å*e!Í !Ñ ÍÉ ëxᦦ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦!¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååÝÉÝë͹áÍoÝË·ÝåR"*áÑÍ=à eåG·ÑÍ(RÍ$ÍÏ!#!Í*Ï)Õ*åë#øÅÏ|bÍxOÍ å} -á=Ô*ÑÕÐåÖåâ/"bBþ9/Ü©"^Ã!*Ü�ýþÍÍëÐå*áÑ©åG8ÝÉåñåuåÃ*OáuåÝÉå6á*„uåÃ#ä *ÝÏÏÍ$BÑ(RÍÐðÝoÙÈ DawÍ Í°GÐååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå!Öåâ/"bBþ9/¸Ï Ñá*„uåÃ!*¸ÏG@ÍÍëÐå*áÑ©åG8!ñåuåÃ! 9 !å*Oáuå!6á*„uåÃ!*Ï! å#ä Í "Í"ÊÑÍ(RÍŽÏ! H*å` OýÑÍ#äVoåG-Ýë͹áͽÏ!õåÍÙå ñå xå*õå°å*0Í=Ã*+e!aNÑ(RÍzÝ!Ñ#ÍÑ ~ ° Oe!!xGÅ"*åD¯xxÑ#áÙÍáÍ!ÙÝÑÙ!Í!q(áÑZuó Í ÙÏÏÍåÝËÑ(RÍþÙ Ñ ÍÉ ëxᦦ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååG-Ýë͹áÍo#ä åÈeå aNÑ(RÍ [Ý.*Ï)Õ*å*ÏÍ Ï# D>Ù*Ã"1 wG·ÑÍ(RÍà �ÑÍÕ*å #GÈ <Å"*åD¯xxá=qáu åòåG-åNåGÍÍëÐåþŠâÍXÏ ÑáåNX!aÊ#ä å!Áõ"ÊÑÍ(RÍ’S"áuxGÅ"*åD¯xx í(ÍÍÖ'(Í!qëÍáÝáÍ(Ðå*áÑÍ=ÉO:$BÑ(RÍwÏ! "OÃ.Ér(Í Í 2° Oýá=Ô*ÑÍ"¸N$å*MÏ*0Í=ÃO !aNÑ(RÍ4zÏ!#ÍÑ#å FÕ*"°>xÏ|aSå î|a*#ä åeÍ�aNÑ(RÍbÏ! ~ ° O åÛÕ*"°ÐÍ Í°O(V 9/"bBþ9/Í( Ñá*„uåÃ!*Í(G@ÍÍëÐå*áÑ©åG8!u8þ„uåÃ! áÍ�å*Oáuå!õ^þ„uåÃ!*SCå#ä å(Ïå"ÊÑÍ(RÍ£(Á# Íëxᦦ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååÝÉÝë͹áÍÚ(GEÍLÖ*áÑÍ=ÃñõúaNÑ(RÍ> Ñ#!Í*Ï)Õ*åë#ø åÛÕ*"°ÐÍ Í°û*Ñ}#Íå Ñá*„uåÃ! )(/"bB#p&ÝÍN ÑáÝáÍ„áuåÝÉåDåuåÃ*OáuåÝÉå¯åuåÃ#ä á] ÉÝËÑ(RÍ…�Ñ!ÑÈ DawÍ Í°GÐååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå! åâ/"bBþ9/-w Ñá*„uåÃ! wG@ÍÍëÐå*áÑ©åG8!DåuåÃ!*ÝÍ"^*Oáuå!¯åuåÃ! å~!å#ä ~ÍÐG·ÑÍ(RÍ ÍÏ! H*å` OýÑÍ#äVoåG-Ýë͹áÍ&/w#ÍåÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ#Íå*ÉÐw€Ð}*ááþ>aeÍ"ÊÑÍ(RÍ7wÁ# ÍÙ22° O åÛÕ*"°Í å} -á„ëDáÙü/"bBþ9/-pã"Ðåþ„uåÃ! pCýþÍÍëÐå*áÑ©åG8!õ#Ð� áÍÍkG8*Oáuå!2#Ð� áÍÍ*–Ýá!*ÃÉÍ4Í"ÊÑÍ(RÍ&* Ñ ÍÉ ëxᦦ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååÝÉÝë͹áÍoÝË·ÝåR"*áÑÍ=ÃÑåG·ÑÍ(RÍ* Ñ#!Í*Ï)Õ*åë#ø åÛÕ*"°Í å} -á=Ô*ÑÕÐåuáÙü/"bBþ9/ Ú©"^Ã!* úýþÍÍëÐå*áÑ©åG8ÝÉåõåuåÃ*OáuåÝÉå2åuåÃ#ä ØO:$BÑ(RÍÕÊÝoÙÈ DawÍ Í°GÐååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå!uáÙü/"bBþ9/³ "Ðåþ„uåÃ!*³�ýþÍÍëÐå*áÑ©åG8!õåuåÃ! µuå*Oáuå!2åuåÃ!*#R!å#ä Íå±ÐG·ÑÍ(RÍHúÑ H*å` OýÑÍ#äVoåG-Ýë͹áÍÚ(*Ñáå<8 õåÙå 2ååxå*0Í=à ËÍ"ÊÑÍ(RÍcµõÑ#ÍÑ ~ ° Oe!!xGÅ"*å0Ë -á„ëËåÐÑ*Èó Í Í6eå aNÑ(RÍ)�Ï! ÍÉ ëxᦦ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååG-Ýë͹áÍo#ä ýå aNÑ(RÍt�Ï!ÍÕ*å*ÏÍ Ï# D>Ù*Ãá½Ï �aNÑ(RÍÐÍ!ÑÍÕ*å #GÈ <Å"*å0Ë -ÑÍ!qáu åòåG-åNåGÍÍëÐåþˆ ·!#¡±ëÐåÖëåGO#ä O !aNÑ(RÍ‚e!!xGÅ"*å0Ë -áÝ<þ!º(Í!qëÍáÝáÍ(Ðå*áÑÍ=Ã!ÏÍÍ:$BÑ(RÍÑáõÑ "OÃ.Ér(Í Í 2° Oýá=Ô*ÑÍ"¸N$å*ÀdÍo#ä åÍÍx"ÊÑÍ(RÍ;#ÍÑ#ÍÑ# Ù$°}ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑëxG2OÐå>H*Í(Í [ïå )á=qÉ.ÍG-ÝëÍ�á|SÓá|k!*ÃácÍÐG·ÑÍ(RÍý!ÑåËE()Ýë}ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑëxGÍ#Ñ ‚O!Rþ òG·ÑÍ(RÍþååëÙ *2,Ãá#åÏ!�aNÑ(RÍGÑ#!#! é}ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑëxGÃâÏÍ !GÈt!ÑÍ€§ ÁåqÍ"³·ÑØÑ}ËåÙÃḠÏÍÃ#§=(! Ñ(w·aCáuåG*Å"&åGO#ä íÍÍÏÝËÑ(RÍ5Ã*!/åå#rÝ!ÍxÁ°åá~>ãuÑ(w·&Ý ! *�áuåG*0Ë}áåÍ€GåÑú çåw!aÊ#ä åã$BÑ(RÍwå !>°þ!(ÍÍ Këz #Ð w"€�2,ÃÍåÏ �aNÑ(RÍöÁ#!8 ()Í>¯æ é}ÈÁ(i !°t!Ñ*c Ít!*ÃÍ^áÝËÑ(RÍOÝo.*Ï)Õ*å!ÑÈ  ssÝë} -< "Så"ÝÍá# þ åÏ "ÊÑÍ(RÍCÍÍÍÍÍÍ#Íå" Oþ!ÙÍÐD#Ãåh>  öÑ(RÍÝ.åÕÃ. ° í(Í!Í"ÝÍåÑÑÍ0Ý-åÍÕ*åÍU ¯,x¦ÃÝW °"ÊÑÍ(RÍ> åÁ#0݉*#O|Ù <ÑÍÍ!Í"ÝÍÑõ°|°>|°>Ñ åèu!ÑÃë åÏ �aNÑ(RÍ.Ï!O} -<>!¢(Í0Ý"O åë*OX*=ÃånG·ÑÍ(RÍ!ÑëÙèа OÃïeÉ x>ÑÍáÍ(ÍöÅåÙÙá#M@áu " ½Ïí®õí° c@àÍÑ( Ðåþ‡* Õá*ñ *áÑÍåpá ÁòÑGOåMÕá!Nåe*éyåõ Ñááí ëxᦦ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑëxGÍ#Ñ ‚O!Rþ òG·ÑÍ(RÍþååëÙ *2,Ãá#åÏ!�aNÑ(RÍGÑ#!#! é}ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑëxGÃâÏÍ !GÈt!ÑÍ€§ ÁåqÍ"³·ÑØÑ}ËåÙÃḠÏÍÃ#§=(! ".he SETPAD.COM, a function key programmer for Kaypro Computers. .fo SETPAD version 1.0 is copyright (c) 1984 by Flat Iron Software. .mt2 SETPAD10.WS Documentation for SETPAD.COM, version 1.0 November 17, 1984 SETPAD.COM¬  itó  source¬  anä  anù oæ itó associateä  fileó  arå � placeä  iî  thå publiã domaiî tï providå á morå flexiblå  waù  oæ � programminç  thå numbeò paä oî Kayprï computers®  Anù anä alì oæ � thå SETPAD files¬  includinç thió documentatioî ió Copyrighô  (c© � 1984¬  bù Flaô Iroî Software¬  P.O®  Boø 2059¬  Coloradï Springs¬ � Coloradï 80841®  SETPAD maù bå freelù distributeä aó lonç aó ALÌ � copyrighô  messageó arå lefô intact¬  thå prograí ió noô useä foò � profit¬  anä  thå  useò assumeó alì responsibilitù foò  anù  losó � incurreä  eitheò  froí  thió prograí oò  froí  hió  inabilitù  tï � correctlù uså thió program. SETPAD‚ waó writteî anä designeä tï supplemenô thå CONFIÇ  prograí � whicè ió distributeä witè Kayprï computers®  Specifically¬ SETPAD‚ � addresseó thå probleí oæ turninç ofæ thå keù clicë anä redefininç � thå numbeò paä foò WordStar¬ dBaseIÉ oò otheò programs® Iî thió initiaì version¬  SETPAD‚ haó beeî testeä oî thå Kayprï 1° � witè botè CP/Í 2.2Æ anä 2.2G® Iô ió ablå tï adjusô foò differenô � sizå  CP/Í systems¬  sï thoså useró whï havå altereä thå sizå  oæ � theiò  systeí  wilì  stilì  bå ablå tï ruî  thå  prograí  withouô � problem®  Becauså oæ á lacë oæ machineó tï tesô thió on¬  wå caî � onlù  assumå  thaô alì Kaypro'ó havå á BIOÓ whicè ió  similaò  tï � thaô oî thå Kayprï 10®  SETPAD‚ ió entirelù memorù resident¬  anä � nï  harí  caî bå donå tï youò computeò thaô cannoô  bå  fixeä  bù � pushinç  thå  reseô  buttoî  iæ  thå BIOÓ  foò  youò  machinå  ió � different from that on the Kaypro 10. As distributed, SETPAD has the following functions available: Turning the keyboard click on or off as desired. Settinç  uð  thå numbeò paä tï generatå eitheò  thå  defaulô � keyó (thoså showî oî thå keys)¬  somå WordStaò specifiã � keys, or user defined keys. Running from the command line or optionally from a menu. Redefininç thå numbeò paä translatå tablå iî memorù tï allo÷ � for temporary and flexible key definition/redefinition. Operatioî froí thå menõ ió fairlù selæ explanatory®  Thå optionó � available from the main menu include: [NÝ  Makå  thå keyboarä noisy®  Thió optioî wilì  turî  thå � keyboard click back on if it was turned off at one time [QÝ  Makå  thå keyboarä quiet®  Thió optioî wilì  turî  thå � keyboard click off. [DÝ Seô thå numbeò paä witè thå defaulô keys®  Thió  optioî � wilì  puô thå characteró whicè arå showî oî thå  numbeò � pad back there if they have been changed. [WÝ  Seô  thå  numbeò paä witè keyó tï  uså  witè  WordStar® Thió  optioî wilì puô Thå followinç keyó oî thå  numbeò �  pad: 0)^K^S^Q^P 1)^Z 2)^X 3)^C 4,5,6) no movement 7)^W 8)^E 9)^R -)^R ,)^C enter)^K^D .)^Q^C Š [UÝ Seô thå numbeò paä witè useò defineä keys® Thió optioî � wilì  leô yoõ definå thå numbeò paä witè  whateveò  yoõ � wanô  to®  Thå  operatioî ió identicaì tï thaô iî  thå � CONFIÇ  program®  Yoõ  caî definå eacè keù  witè  fouò � strokes. [E] Exit the SETPAD program. Optionó  froí thå commanä worë iî thå samå waù witè thå heirarchù � showî above®  Thuó iæ yoõ entereä 'SETPAD‚ dqnwu'¬ thå neô resulô � woulä  bå thaô thå keyboarä clicë woulä bå turneä  off¬  WordStaò � keyó woulä bå seô up¬ anä yoõ woulä bå ablå tï modifù thå keyó iæ � necessary®  Redundanô  optionó froí thå commanä linå  (aó  showî � above© dï noô matter¬ thå lowesô commanä iî thå heirarchù wilì bå � thå lasô executed¬ anä therefore¬ iô wilì bå thå result. Anù   questions/problems/suggestions/gripeó   wilì   bå   greatlù � appreciated®  Iæ  therå  ió  anù  incompatibilitù  betweeî  thió � versioî  oæ  SETPAD‚  anä earlieò modeló oò thå Kayprï  ²  anä  4¬ � commentó  oî thaô wilì helð also¬  sï thaô á seperatå versioî foò � theså modeló caî bå distributed® Pleaså senä alì commentó tï thå � addresó aô thå beginninç oæ thió document. Thå  sourcå  foò  SETPAD‚ wilì noô placeä iî  thå  publiã  domain¬ � howeveò  iô wilì bå giveî tï anyonå whï ió willinç tï asë foò  iô � anä contributå someho÷ tï Flaô Iroî Software. å heirarchù � showî above®  Thuó iæ yoõ entereä 'SETPAD‚ dqnwu'¬ thå neô resulô � woulä  bå thaô thå keyboarä clicë woulä bå turneä  off¬  WordStaò � keyó woulä bå seô up¬ anä yoõ woulä bå ablå tï modifù thå keyó iæ � necessary®  Redundanô  optionó froí thå commanä linå  (aó  showî � above© dï noô matter¬ thå lowesô commanä iî thå heirarchù wilì bå � thå lasô executed¬ anä therefore¬ iô wilì bå thå result. Anù   questions/problems/suggestions/gripeó   wilì   bå   greatlù � appreciated®  Iæ  therå  # ‰Í:€·Â:ZG:[ÃP!‚~#æ_þNÊFþFÊ<þSÊAþOÊ7Ã� ÃP@ÃH`ÃHÍ`°GÍ`O> ÓxÓ> ÓyÓÉ~#æþ0Ú€þ:Ú|æ_þAÚ€þGÒ€Þ·Þ0Éá ©ÃCURSOR v1.0 Copyright (c) 1983.$ Proper format: CURSOR TBE where: T=(O)ff, (N)on blink, (F)ast blink, (S)low blink B=cursor starting line, E=cursor ending line Both B and E are hex digits$DB19 COMv./0123456789:;<DB19 DOC)=>?@ABDDRAW COM€CDEFGHIJKLMNOPQRDDRAW COM%STUVWDDRAW DOC9XYZ[\]^_DDRAW NOT`DUMP10 COMaDUMP24 COMbDUMP1084DOCcdeK4TIME COM fgK4TIME DOC hiKP-CHARSCOMKjklmnopqrsKP-CHARSDOCtKP4TIME COMuKP4TIME DOC vwKP4TIME2ASM€xyz{|}~€�‚ƒ„…†‡KP4TIME2ASM+ˆ‰Š‹Œ�SETPAD COMfŽ��‘’“”•–—˜™šSETPAD10WS $›œ�žŸCURSOR $$$CURSOR.COM v1.0 Simply type CURSOR ? for built-in menu This programs allows you to set the Kaypro cursor for fast or slow blinking, on or off, starting line, and ending line number. ///////////////////////////////////////////////// ** ADD ** This program will ONLY work with new Kaypro's supporting the KP10 video codes. It will NOT work on older 2's and 4's. To Use: A0>cursor abc a: F = fast blink S = slow blink O = cursor OFF N = non-blinking cursor b and c must be hex values b: 0 - F hex starting pixel (upper) c: 0 - F hex last pixel (lower) Imagine this is your block cursor, the height of the cursor is set by the "b" and "c" parameters entered in hex values of 0 thru F. ------ <--- 0 hex | | ------ <--- 1 hex | | ------ etc... | | ------ etc... | | ------ <--- F hex By entering: A0>cursor s0f you get a "normal" full cursor blinking at the standard "slow" speed. /////////////////////////////////////////////////////////// Steve Sanders PRO-COM DATABASE (813) 937-3608 PRO-COM TECH RCPM (813) 937-6829 sor OFF N = non-blinking cursor b and c must be hex values b: 0 - F hex starting pixel (upper) c: 0 - F hex last pixel (lower) Imagine this is your block cursor, the height of the cursor is set by the "b" and "c" parameters entered in hex values of 0 thru F. ------ <--- 0 hex | | ------ <--- 1 hex | | ------ et This is the release date of the disk. DDRAW DOC €X€DDRAW NOT €`€DUMP10 COM €a€DUMP24 COM €b€DUMP1084DOC €c€ K4TIME COM €fK4TIME DOC €h€KP-CHARSCOM €j€%KP-CHARSDOC €tKP4TIME COM €u€KP4TIME DOC €vKP4TIME2ASM Àx€UåP4TIME2ASM ˆ€SETPAD COM €Ž3CURS-KAY.ASM 9C C9 256 2 DB19 .COM 61 C7 31488 246 DB19 .DOC 48 FE 5248 41 DDRAW .COM 8C 06 21120 165 DDRAW .DOC 82 CC 7296 57 DDRAW .NOT 20 62 640 5 DUMP10 .COM 4E E0 384 3 DUMP24 .COM 44 F7 384 3 DUMP1084.DOC 29 91 2944 23 K4TIME .COM 06 D7 1280 10 K4TIME .DOC 9A 0B 1664 13 KP-CHARS.COM C9 DE 9600 75 KP-CHARS Fog Library Disk FOG-CPM.030 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. Collection of programs for Kaypro computers. Filename Description -03-00 .86 This is the release date of t$he disk. -CPM030 .DOC This is the description of the disk contents. AUTKYS60.COM D2A2 7K [AutoKeys Kaypro 1 of 2] Configures Kaypro arrow and number keypad. AUTKYS60.WS 7B07 4K [AutoKeys Kaypro 2 of 2] CLOCK .COM EE6F 5K [Clock 1 of 3] Program to read the internal clock on 4-84 and 2X models. Written with Software Toolworks C80 (source included). CLOCK .DOC AB1F 2K [Clock 2 of 3] CLOCK .C 6E8C 4K [Clock 3 of 3] COLDBOOT.COM B4C9 1K [Coldboot 1 of 2] Program to enable "cold boot" without turning off the power. COLDBOOT.DOC A594 1K [Coldboot 2 of 2] CURS-KAY.COM A81E 1K [CURS-KAY 1 of 3] Make the cursor smaller and blink slowly. ASseMbler source is included. CURS-KAY.DOC F198 1K [CURS-KAY 2 of 3] CURS-KAY.ASM 9CC9 1K [CURS-KAY 3 of 3] DB19 .COM 61C7 31K ver. 1.9 [DataBase 1 of 2] Name, address, phone, and mailing database program which prints 1-up labels. DB19 .DOC 48FE 6K ver. 1.9 [DataBase 2 of 2] DDRAW .COM 8C06 21K [DDRAW 1 of 3] General purpose graphics/text utility for '84 models. It has line and circle drawing commands but has TPA limitations. DDRAW .DOC 82CC 8K [DDRAW 2 of 3] DDRAW .NOT 2062 1K [DDRAW 3 of 3] DUMP10 .COM 4EE0 1K [ScreenDump 1 of 3] Screen dumping program for Kaypro 10 and Kaypro 4 with patching information which may allow it to work with your computer. DUMP24 .COM 44F7 1K [ScreenDump 2 of 3] DUMP1084.DOC 2991 3K [ScreenDump 3 of 3] K4TIME .COM 06D7 2K [Kaypro 4 Timestamp 1 of 2] Time stamping for the 4/84 models. K4TIME .DOC 9A0B 2K [Kaypro 4 Timestamp 2 of 2] KP-CHARS.COM C9DE 10K [Kaypro Characters 1 of 2] Display screen characters on the 4/84, 10, and 2/84. KP-CHARS.DOC 7DB7 1K [Kaypro Characters 2 of 2] KP4TIME .COM 1F7C 1K [Kaypro 4 timeset 1 of 3] Display and set the real time clock on 4/84. ASseMbler source is included. KP4TIME .DOC C2B6 2K [Kaypro 4 timeset 2 of 3] KP4TIME2.ASM CA75 22K [Kaypro 4 timeset 3 of 3] SETPAD .COM B851 13K [Setpad 1 of 2] Turns off key click and re-defines number pad keys. SETPAD10.WS 9485 5K [Setpad 2 of 2] CURSOR .COM BB04 1K [CURSOR 1 of 2] Allows your to set cursor blink rate, etc. from a menu. CURSOR .DOC 23E0 2K [CURSOR 2 of 2] r source is included. KP4TIME .DOC C2B6 2K [Kaypro 4 timeset 2 of 3] KP4TIME2.ASM CA75 22K [Kaypro 4 timeset 3 of 3] SETPAD .COM B851 13K [Setpaåå%ååååå&ååååå'ååååå