4IBM fbp >> FastCopy PRO << by Martin Backschat, Bergstr.16, D-8071 Hepberg // (c) 1991 ICP Verlag/TOS Magazin, Wendelsteinstr. 3, D-8011 Vaterstetten, Tel. 0810633954` O! #@%`')+-1 3@5`9;=?A OoGIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` / @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa  !Aa!!#A%a')+/1!3Ao79;=?ACAEaGKMOQ!SAUaWY[]_a!cAeagimoqsAuw{}!Aa/o!a!a!Aaǁɡ!Aaׁ١!Aa!Aa " O b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b##9#;#=#?$A"$CB$Eb$G$IK$M$O%Q"%SB%Ub%W%Y%%]%&` O! #@%`')+-1 3@5`9;=?A OoGIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` / @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa  !Aa!!#A%a')+/1!3Ao79;=?ACAEaGKMOQ!SAUaWY[]_a!cAeagimoqsAuw{}!Aa/o!a!a!Aaǁɡ!Aaׁ١!Aa!Aa " O b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b##9#;#=#?$A"$CB$Eb$G$IK$M$O%Q"%SB%Ub%W%Y%%]%&STF42_2 "amAESPATH yamFSEL }amBBS amKNIFEST PRG QKNFSTC RSC AdKNFST RSC t AbdCHECKST PRG )t 7HUNDEL TTP `$J9CREADME TXT z[]EXPERT TXT ̅_]STANDARDFMT \a~. yam.. AESPATH PRG /\_AESPATH TXT bY^C``X!NuHz?<&NN\O o"h, PATHf =A:f Y\f fBQ!zB/B?<?<KNABgNAJHz,?< NAB?< NA#! BgHxZ?<1NAAES path patch Version 1.1 Copyright 1990 HiSoft p The HiSoft AES path patch program ================================= There is a bug in Rainbow TOS (1.4) and STe TOS (1.6) (but not TT TOS 3.01) involving the way the AES handles its environment. What happens is that it can fail to notice that a hard disk is connected and subsequently tries to access drive A whenever a resource file is requested. This doesn't always happen and depends on which programs you have in your auto folder. You may never see this bug, if you use this program in your auto folder you never will. This product is supplied as a service to HiSoft customers. It is *not* public domain, but is supplied with most of our products. Installation ============ The file AESPATH.PRG should be copied into an AUTO folder on your hard disk. In use it wastes less than 300 bytes. Technical ========= If you are interested in the technical details of what, and why, this program does what it does read on: The bug happens when a program in the auto folder stays resident, but doesn't keep the whole of itself resident. When GEMDOS creates the AES basepage it doesn't zero the area used by the environment strings, but when the AES starts it checks for the sequence 'PATH=\0A:\\0\0\0', this will, however, fail if the final byte is not zero. Subsequently the AES doesn't change the A:\ to a C:\. What this patch does is it pretends to be the AES during the startup sequence so that the boot sequence transfers control back to it *after* creating the AES environment. This allows it to make the correct environment test, and patch the final byte if neccessary so that the AES will see the string it expects. Finally it starts the AES using the normal ROM startup code. Compatibility ============= This patch should be compatible with all programs, and is completely dormant after its initial action. If you encounter any problems please write to us, stating the serial number of the HiSoft product you obtained this from. HiSoft, 30 October 1990 The Old School Greenfield Bedford MK45 5DE ENGLAND. Phone: +44 525 718181 Fax: +44 525 713716 . am.. HFSEL PRG =SHFSEL TXT JXJ``VFile Selector v1.6 HiSoft 1988 C2@ ABp222BQ"<f0<NB0:Nu .6 paCL < "#@B#@pg&<.gQg<.fRC pWSBpAapA a?</NAT#`Hz?<NA\AC fpA BQ?< NMTAtHTC0QByT3 PpaByV3N#8.p6aLH@333333 3 33p3apaa`"B3!padg0:XrNuag|afp`< fp`<g< e`vG`vG`0<.g<ae <{d0RC`rCo  0RCSAf< galg< e`B30 Kpa#8.3p2aQH>j PHGJyJg0:ra@ByJ|g*A CfJf`aƾ|f 0ra`Hz|g||g| gX|gZ| g| gľ|g|*g2|g*|g"| e|e|e|)eNu0: R@``0:S@`V0ra|~` 0rap~X333333@ 3B 3D3Fp3ad/: ?<NA\JGg2C E pg< gQJg .fSBE An0NuaV2gpS@gjA 0\fCAfApa2`@3# .p4aS@g&3# .p4aU@g a p~`p*r`LpOa6:#8.3 p,ax0: zhl@@ `#8.3 p,aJ&:<#8.3 p,a.(: # N### " pGa0:Cg2: A 0: z 0`h`<0aJ9Hg09Jgrax~`Nu8z @ z mB9HNu к &@J+ gFB9HaC A Qp / K< gQ\ _fBA pa`0ra3J KC pt< fJf$ QR  fJg"B`p< gQBpA `Ba0C 0@:\J@gRf`*.*BA Xpa`?a0H@0<H a,LNu8"@"i 2)"QUAgQBNu##@#D#8.p*`P3 |8#.00 @ABy# :# 63 3p/`3 *R3 VJ@g < `pNu8r ?:  Һ &A?/?<NNAP:`p  QGA p"Kg <.gQJ@jJgpCgQ 9yf&A .fJg( .fJgG PRyR`JDf G QRyR0: bz ffz` ?<ONAT:0gb6: D0@gNCgH к :$@SCk: J4xp "HG nfQ` Ip P A QA QJf0NuA &Jf g S@ \WR@NuAC f Apa` :f4R: \g\fAA@3Xk|eByX`f0:lgra0:jg@3NraByR3pNaaPAtCJ@gQ*.*BpAa|g|fA>pa|g|g3R3pNaaG@gRf °|d # Apap80:@ @o8JDjxGd(zv0 S  0CyRmp _Q|.`p QJg| BRC| m <a3V y RnByT3P`,p 3P0:z2:A 3Tp`v#8.3praRC|+f3LNuHiSoft Extended GEM File SelectorAbout... FILENAME.111 FILENAME.222 FILENAME.333 FILENAME.444 FILENAME.555 FILENAME.666 FILENAME.777 FILENAME.888 FILENAME.999 OKCancelDirectory:DrivesA:\*.*[1][Brought to you from HiSoft,| suppliers of powerful| Atari ST software][OK| More ][1][Copyright HiSoft 1988|The Old School, Greenfield,|Bedford, MK45 5DE England|Phone: (0525) 718181][Deinstall|OK]x''JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ______________________________________P FILENAMEXXX________.___F(5 FILENAMEXXX________.___F*( \& @@ @  @ @ @  @ @ @ @ @ @ @ @ '@ 7@ G@ W  g j  q*) ABCDEF  G!H"I#J$K%L &M'N(O)P |%  /:l?<"?<NMPA0NqNugV fLJ9g! 8"/ k!NsJ k&/ /LeP#/|pN4Vx#b!N4Vx|f/ A P PZ _g/:NuH:OJ9f z#jPa0<af00<af( z^ h B`j3Z /?<HNA\#\Nu z6#j h$h PaT/:>?<INA\JGg"z "i&if&Qf"z"i 22LNsHz?< NA\Hz?<&NN\Bg/<X?<1NA#l!NuRPN  b,"8&N" ~&R$ ^("Hd0T0.* &x The HiSoft Extended File Selector ================================= This is a replacement for the GEM File Selector, used by most HiSoft products and many other GEM applications, offering many advantages. This product is supplied as a service to HiSoft customers. It is *not* public domain, but is supplied with most of our products. Installation ============ The file HFSEL.PRG should be copied into an AUTO folder on your boot disk. When you re-boot your machine, the new file selector will be available. It uses less than 6k bytes. Improvements ============ The Selector looks fairly similar to the standard one and has been designed to be used in a similar way, but without the annoying features. There are sixteen Drive buttons, allowing easy changing of drives. When you change the Directory string from the keyboard you can press the Return key to re-display the filename list, without forcing a Cancel. By default up to 150 files are displayed (the norm is 100) but, if memory allows, up to 600 files will be shown. While a disk directory is being read, the keyboard is being read so you can type-ahead into the Filename box. No ESC will be needed if you type- ahead. The Undo key may be pressed to Cancel the Selector whilst the disk is being read. Similar Features ================ The bug in pre-blitter ROMs to do with pressing the Underline key when in the Directory string still affects the HiSoft Selector. Compatibility ============= It should be compatible with all GEM programs that use the normal File Selector. The selector may be de-installed if required by selecting the relevant option from the About.. alert box. HiSoft, The Old School, Greenfield, Bedford, MK45 5DE, England Phone: (0525) 718181 . am.. BBS amCONFIG BBS pPCtREAD ME tPE MAINT PRG yPH NEWDWN PRG PBBS TOS PMCL TTP P DCLICK am,SARMCL amxVAN_NEST am. am.. amACTIVITYBBS MPDOWNLOADBBS NPLASTCALLBBS OP MAIL BBS RPbMAIN M WP/MAIN MCL YP7M USERLOG BBS \P: New user registered: Sysop Sysop[,Sysop_(PX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LX<XP$$  e u  6ugu*##u:u #L#LNewUser:; /* define a label */ if(menu) /* is this first time? */ goto MainMenu; /* nope so skip to main */ ++menu; /* set flag so we skip this */ diskfree(""); /* show me free space */ howdy(); /* say hello */ show_newmail(); /* how many new messages? */ show_newxfer(); /* how many new downloads? */ show_lastcaller(); /* Who was here last */ showdate(); /* todays date is */ who(); /* show who is on line now! */ chat=1; /* turn on chat */ MainMenu:; /* define a main label */ while(1) /* while forever */ { /* start major loop */ p$ = "winqfmsclobh?"; /* valid for unreg */ if(level > 0) /* this for reg users */ p$ = "winqfmsceldobh?"; if(level >= 2) /* this for sysops */ p$ = "winqfmsceldo/bh?*"; /* get users response p$ contains valid responses for the current user level, After prompt k will be keystroke */ k = prompt("Main Menu:",p$); if(k == 'W') { /* show welcome msg */ print("welcome\n"); list("\\bbs\\welcome.msg"); } else if(k == 'I') { /* call info subroutine */ print("Information\n"); gosub Information; } else if(k == 'N') { /* call news subroutine */ print("News file\n"); gosub NewsFile; } else if(k == 'Q') { /* call question subroutine */ print("Questionnaire\n"); gosub Question; } else if(k == 'F') { /* call file transfer subroutine */ print("File transfer\n"); gosub FileXfer; } else if(k == 'M') { /* call message base subroutine */ print("Message base\n"); gosub MailMenu; } else if(k == 'S') { /* do a sig change */ print("Sig change\n"); sigchange(); } else if(k == 'C') { /* post a request for chat */ print("Chat with Sysop\n"); chatreq(); } else if(k == 'E') { /* user wants a face lift */ print("Edit profile\n"); profile(); } else if(k == 'L') { /* user want's to see last caller(s) */ print("Last callers\n"); lastcallers(); } else if(k == 'D') { /* who else is calling? */ print("Display Userlist\n"); display_users(); } else if(k == 'O') { /* call options menu */ print("Options menu\n"); gosub Options; } else if(k == '/') { /* the sysop shell */ print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'B') { /* Goodnight Vern! */ print("Bye (log off)\n"); logoff(); } else if(k == 'H') { /* user thinks he is smart */ print("Hi-low game\n"); gosub hilow; } else if(k == '*') { /* debugging use. if your program does a return out of MAIN.MCL or any file that is execute(sexp) from MAIN.MCL the BBS will reload MAIN.MCL. See the top of this file for use of menu and this will become more clear */ print("Force reload of MAIN.MCL (Y/N) ? "); if(key_match("YN") == 'Y') return; /* falls out the end */ } else if(k == '?') { /* User is lost give him/her some help */ print("[H]elp\n\n"); print("[W]elcome message\n"); print("[I]nformation\n"); print("[N]ews file\n"); print("[Q]uestionnaire\n"); print("[F]ile transfer\n"); print("[M]essage base\n"); print("[S]ig change\n"); print("[H]i-low game\n"); print("[C]hat with Sysop\n"); if(level > 0) /* only if registered */ print("[E]dit profile\n"); print("[L]ast callers\n"); if(level > 0) print("[D]isplay Userlist\n"); print("[O]ptions menu\n"); if(level >= 2) print("[/] SysOp functions\n"); print("[B]ye (log off)\n"); } } /* same as goto MainMenu */ /* FileXfer Menu this is how we interact with the file xfer system. */ FileXfer:; /* define a label */ while(1) /* loop forever */ { p$ = "lmb?"; /* same as main menu */ if(level > 0) p$ = "ldumb?"; if(level >= 2) p$ = "ldu/mb?"; k = prompt("File Transfer:",p$); if(k == 'L') { /* list download */ print("Listing of files\n"); listdownload(); } else if(k == 'D') { print("Download individual\n"); indivdownload(); } else if(k == 'U') { print("Upload\n"); uploadmenu(); } else if(k == '/') { print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'M') { /* here is the return from this routine the "return" command returns to the place of the last gosub command. I.e. called from the above loop. and the whole thing starts again. */ print("Main menu\n"); return; } else if(k == 'B') { print("Bye (log off)\n"); logoff(); } else if(k == '?') { print("[H]elp\n\n"); print("[L]isting of files\n"); print("[D]ownload individual\n"); if(level > 0) print("[U]pload\n"); if(level >= 2) print("[/] SysOp functions\n"); print("[M]ain menu\n"); print("[B]ye (log off)\n"); } } /* MailMenu Menu this is how we interact with the message base system . */ MailMenu:; /* define a label */ while(1) /* loop forever */ { p$ = "srcimb?"; if(level > 0) p$ = "srcilnmb?"; if(level >= 2) p$ = "srciln/mb?"; k = prompt("Mail Menu:",p$); if(k == 'S') { print("Scan mail\n"); scanmail(); } else if(k == 'R') { print("Read mail\n"); readmail(); } else if(k == 'I') { print("Individual read\n"); indivmail(); } else if(k == 'L') { print("Leave mail\n"); leavemail(); } else if(k == 'N') { print("NEW mail only\n"); newmail(); } else if(k == '/') { print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'M') { /* here is the return from this routine the "return" command returns to the place of the last gosub command. i.e. called from the above loop. and the whole thing starts again. */ print("Main menu\n"); return; } else if(k == 'B') { print("Bye (log off)\n"); logoff(); } else if(k == '?') { print("[H]elp\n\n"); print("[S]can mail\n"); print("[R]ead mail\n"); print("[I]ndividual read\n"); if(level > 0) print("[L]eave mail\n"); print("[N]EW mail only\n"); if(level >= 2) print("[/] SysOp functions\n"); print("[M]ain menu\n"); print("[B]ye (log off)\n"); } } Information:; print("\nThis information has not been customized"); print("and must be setup"); return; /* see comments in filexfer menu */ NewsFile:; print("\nWe have not completed setup yet"); return; Question:; print("\nDon't ask what you already know."); return; /* an example of what you can do with the MCL language */ Options:; repeat { print("\n\n--- SIG Toggle Utility ---\n"); showsigs(); print("\n[L]ist [S]et [C]lear [Q]uit "); k = key_match("LSCQ"); if(k == 'S') { w = decimal("Set\nWhich sig [1-16]: "); if(w < 1 || w > 16) print("Invalid Sig selection"); else /* give user access */ set_usersig(w); } if(k == 'C') { w = decimal("Clear\nWhich sig [1-13]: "); if(w < 1 || w > 16) print("Invalid Sig selection"); else reset_usersig(w); } if(k == 'L') print("List"); if(k == 'Q') print("Quit\n\n"); } /* we spin until 'Q' is pressed */ until(k == 'Q'); /* return to calling party */ return; /* a simple hi-low guessing game */ hilow:; /* it's been done before [labels that is]*/ t = random(100); /* pick a number from 1 to 100 */ for(l = 1;l <= 10;++l) /* try 10 times */ { g=decimal("\nI have a number from 1 to 100\nGuess? "); /* g has users guess t has the target value */ if(g < t) print("too low!\g"); else if(g > t) print("too high!\g"); else { print("So you guessed it! it only took"); print(l,"tr"); if(l == 1) print("y\n"); else print("ies\n"); /* return to calling party */ return; } } /* if we get here the loop executed 10 times */ print("\nYou need a course on binary searches,"); print(" the number was ",t); /* return to sender */ return; MCL3 mW( ( + !!d $ $n!n! .$i! ,)!\!<!nF# P nZ dc nn# awd dnc$.#$.$  c #. / n#c#c# .c .# cna)! .!  !\!.#_.$_n- _ 7c _n@c_I#__## .W ]ccn)! .o! w!\!#$ $ n$.cd#d c nc##c .# ccac#$ c!!n .  !!n .  !.##n)n.!n!gC+!6! OceW#e"nccd#="Compiled on an ATARI winqfmsclobh?winqfmsceldobh?winqfmsceldo/bh?*Main Menu:welcome \bbs\welcome.msgInformation News file Questionnaire File transfer Message base Sig change Chat with Sysop Edit profile Last callers Display Userlist Options menu / SysOp functions Bye (log off) Hi-low game Force reload of MAIN.MCL (Y/N) ? YN[H]elp [W]elcome message [I]nformation [N]ews file [Q]uestionnaire [F]ile transfer [M]essage base [S]ig change [H]i-low game [C]hat with Sysop [E]dit profile [L]ast callers [D]isplay Userlist [O]ptions menu [/] SysOp functions [B]ye (log off) lmb?ldumb?ldu/mb?File Transfer:Listing of files Download individual Upload Main menu [L]isting of files [D]ownload individual [U]pload [M]ain menu srcimb?srcilnmb?srciln/mb?Mail Menu:Scan mail Read mail Individual read Leave mail NEW mail only [S]can mail [R]ead mail [I]ndividual read [L]eave mail [N]EW mail only This information has not been customizedand must be setup We have not completed setup yet Don't ask what you already know. --- SIG Toggle Utility --- [L]ist [S]et [C]lear [Q]uit LSCQSet Which sig [1-16]: Invalid Sig selectionClear Which sig [1-13]: ListQuit I have a number from 1 to 100 Guess? too low!too high!So you guessed it! it only tooktry ies You need a course on binary searches, the number was SysopTEST_(AAAAAST FORMAT BBSGeneralPAUTOBAUD,2Xshutdowna:\sig1\\UPLS\Welcome to MichTron BBS 3.0. We thank you for your purchase. This file contains information that could not be included in the manual or features that have been added or changed from the time the manual was printed. The AUTOBAUD (page 23) feature has an extension that allows you to specify which ring to answer on. This is enabled by follwing the word autobaud with a comma and the number of rings to answer on. For example AUTOBAUD,4 will answer the phone on the fourth ring. NEWDWN.PRG: ATARI version NEWDWN.EXE: IBM version This program converts an existing DOWNLOAD.BBS file to the new 5 line description version. To use rename the old DOWNLOAD.BBS file to DOWNLOAD.OLD. Copy the this program into the same directory and type NEWDWN (or on atari double click on NEWDWN.PRG). When the program finishes you can delete the NEWDWN program and the DOWNLOAD.OLD file. Added MCL COMMANDS: is_user(sexp) Function Returns TRUE (non-zero) if user specified in sexp exists in the userlog.bbs file. xfer_inhibit Integer if TRUE (non-zero) the user cannot use the [x]mit comamnd in the file listing. Packed integers. To extract the information refer to the following example. print("Last call on "); print((lastday >> 5) & 15,"-"); /* month */ print(lastday & 31,"-"); /* day */ print((((lastday >> 9) & 127) + 1980) % 100," at "); /* year */ print((lasttime >> 11) & 31,":"); /* hour */ print((lasttime >> 9) & 63,":"); /* minutes */ print((lasttime & 31) << 1); /* seconds */ ATARI ST Version: On the ST disk there are three MCL example files. You will need ARC to extract these files. DCLICK.ARC: This set of MCL files were designed by Micheal B. Vederman of Double Click Software. Durring the last month of finishing up the BBS, Mike and I added several commands that greatly enhanced the MCL language. These are the results of Mike's work. I think you will be impressed! SARMCL.ARC: This set of MCL files are deratives of Mike's work done by Josh Clot. A long time personal friend and beta tester. VAN_NEST.ARC: This set of MCL files are deratives of Mike's and Josh's work done by William Van Nest a long time beta tester of MichTron BBS. IBM PC Version: The Above example files and a GEM based maintenance program will be avalable for download from the MichTron BBS at (313) 332-5452 or from GEnie information system (see page 120 in the manual). -Tim Purves `kGKJ$f(ByOT/9?<HNA\OJg.@`6 - ЭЭй"ҍ¼.A// Bg?<JNA #F" yF"/(,HhNbP/9/9?9JNaT?<NiNV0<N^NuNVBn`0.Rn@AF&1 n m3F:3HyHyHyF&NyO N^NuNVH*n<. >.`0SFJFnL N^NuNVH *n(n >. o`RRSGJGn`0S@H0S@H`SSSGJGnL0N^NuNVH *n(n >.`RRSGf0f0g HHC`0<NqL0N^NuNV n H|!fR . /?.Nu\``A-HBn` n R  nRRn nm-n Bn`p n H||fBnRn0. @o<`SS . o n H| fR nR|Bn-n n R  nR n g n H|]fzNq n R  nRfHn?.Nu\N^NuNV .2. ¼Ё @ h N^NuNV .2. ¼Ё @ h N^NuNV n?( n?( n?( n??.?. /.NwON^NuNV n?( n?( n?( n? n ?( n ?( n ?( n ??.NuON^NuNV n Hh n Hh n Hh/. /.NuBON^NuNV0.n l0.`0. NqN^NuNV0.n o0.`0. NqN^NuNV0. @S@n0. 2.H =@0.N^NuNV n0 n T 0 n0( n T 0 n0 nhS@ n T 0 n0( nhS@ n 0N^NuNVHn/.NbPHn/.NbPBNHnHnHn?< ?9N{fONN^NuNV n0 n Pf6 n0( n hf$ n0( n hf n0( n hg0<`0<N^NuNV n0 n 0 n0( n 1@ n0( n 1@ n0( n 1@N^NuNV n0 nh? n 0 n h?NX=@ n0( nh? n 0( n h?NX=@ n? n ?NX=@ n?( n ?(NX=@ n 0 n 1n0.n n 1@0.n n 1@0.n^Jg 0.n^J|N^NuNV0.g .2. ¼Ё @0( n`" .2. ¼Ё @0( 2.FAA".4. ļ҂ A1@ N^NuNV0.g .2. ¼Ё @0(n`" .2. ¼Ё @0(2.FAA".4. ļ҂ A1@N^NuNV .2. ¼Ё @0( nN^NuNV .2. ¼Ё @0(nN^NuNV n f0<`l .2. ¼Ё @0=@ ngD`"=n .2. ¼Ё @0=@ .2.¼Ё @0(n f0.N^NuNV nHh/.?. /.NwO .2. ¼Ё @0( n1@ .2. ¼Ё @0( n1@N^NuNV09=TfB?<Nw\3=TN^NuNV09=TgB?<Nw\By=TN^NuNV=n=n 0.n =@0. n=@Hn?<?9N{PN^NuNV n-P0. @?N xT nR?. N xT nR n N^NuNV0.|A0HN^NuNVHn/.NPBn`Hn/.?.NvO Rn no/. nNXBnBn`hHn?< ?./.N:O ?. /.Nv@\|=@HnHn ?./. nNO=@?<Bg?./.NO 0.g=|`Hn/.?.NvO Rn no0.N^NuNV-y=P0<(=@ .м @1n .29¼Ё @1nHn/.NP/.?9/.NO 09I=@".Ҽ A1@HnHnBgNvO Hn?< Bg/.N:O B./.NpX" .HЁ-@` S nB .ܰo$ .S @H|\g .S @H|:f/. /.NpPHnHn/.NvdO =@0.g0.g .H|f$HnHn?<NvO nB0<`/.NpX" .HЁ-@` S nB .ܰo$ .S @H|\g .S @H|:f/./.NpP n (H|*g8A-H`R ng nH|.f . R//.NpPHn/.NpPHnHn?<NvO 0<N^NuNV/.NpX" .HЁ-@`S .o$ .S @H|\g .S @H|:f .N^NuNVBn0.H=@ naf.Hn?9Nz\0.|g=|u`=|` nbf6Hn?9Nz\0.|g=|Q`0.|f=|I`D n;e< nDb4Hn?9Nz\0.|gn#`0.|gn-0.N^NuNVlBn09NS@=@`r0.nH=@Hnl0.@AP?0NE\g0<`JHnl/. n NP=@J@l 0.S@=@`Jno 0.R@=@`0.`0.no0Hy@/<t?9n?<?NgO @@l=|Hy?<N\`BBgNw\HyF Hy HyF HyF HyHyBgBgHy@BgBgBgBgBgBgBgBgBgBg?<?<?<?<Nt@O<=@?<NxfT0.|g?9 N 0T @uf=|0.|g N=@BgNxfT0.g@JynoJBg?9nB?<BNgO Hy@/<t?9n?<@NgO ?9n?<>NgXJylobBg?9lB?<BNgO HyN/< ?9l?<@NgO | gHy?<N\?9l?<>NgXN^NuNV y @f?9@?9@N X`0<NqN^NuNVBnHn?. /9N:O 0.`L n f HnNX`R0. `L=|``HnN)2X`PHnN/X`@HnN10X`0HnN3xX` `|g|gİ|gΰ|gذ|g`Jyln9CH|An?<Hyn?<=NgP3lJ@n8=| HynHyHyNp\O Hy?<N\`Bg?9lB?<BNgO HyN/< ?9l?<?NgO | gN?9l?<>NgX0<3l=@ HynHy8HyNp\O Hy?<N\0. `bHnN;X`vHnNBX`fHnNIX`VHnNFX`FHnNXX`6HnNR>X`&`$|g|g԰|g|g|g|!g`N n# fHnNX` n$ f HnN"X` `|g|g|g,|g?<?./9Nw^P0.N^NuNV-y*Hn/.NPBn`Hn/.?.NvO Rn noHn?< Bg/.N:O ?<BgBg/.Nv@\|?/.NO =|`Hn/.?.NvO Rn noN^NuNV-y*=yJ=yI=|=|HnHnHnHn/.NuBOBn`2?.?.?.?.?.?.?.?.?.NuORn nc?<?<?</.NO ?.?.?.?.?< Bg/.NwO?<Bg?</.NO Bn`Rn neBn`Rn ne=|`2?.?.?.?.?.?.?.?.?.NuORn ncN^NuNV .м /NhX|@@/ .м /NhX" |?AA/ .м/NhX" A|A n0/.NhX|@/ .V/NhX" |A/ .\/NhX" |P|AAA n 0N^NuNV9CH|ABgHy?<=NgP=@J@n2HyHylHyNp\O Hy?<N\`/9h/<?.?<?NgO |gB?.?<>NgXHyHyHyNp\O Hy?<N\`HnHnHnHn 9N-@/NuBOBn`@?.?.?.?. n?( n?( n?( n??.NuORn noHy?</.NO A мP/?</.NO A м/?</.NO ?<?.B?<BNgO -@?.?<>NgX ./ </Ng X=@0<=@=@`80.@@ yhA002.|HApJ@fRnRn0.nm0<=@=@`0.@ yhA00gRnRn nm yh=P?.HyHyNp\O ?.?.HyA мP/Np\O ?.HyA м/Np\O ?.?.?.?.?< Bg/.NwOBg/.Nv@\|=@?<Bg?./.NO =|`@?.?.?.?. n?( n?( n?( n??.NuORn noN^NuNV0.S@м-@Bg?9I/.?<BNgO /. /<?9I?<?NgO |V|N^NuNV0.S@м-@Bg?9I/.?<BNgO /. /<?9I?<@NgO |V|N^NuNVBg?9IB?<BNgO /9h/<?9I?<?NgO |V|N^NuNVBg?9IB?<BNgO /9h/<?9I?<@NgO |V|N^NuNV0.|=@Jng80.@ yhA00=@J@gHn?.N\f 0.n g0<`0<=@ 2.A yhA1=|*Hn?.Nr\Bn`V0.@A=pg@2.SA|¼A200.S@H@ yhAЈ @0A0Rn nm0. gN 0<N^NuNVBn`j0.@ yhAJpf`NBn`:0.@ yhA002.HApg0.@nR@`"Rn nm0<`Rn nm0<N^NuNV yh Pc yh0|S@`0<=@ yhRP0=@Bg0.Rn?NjXBn`0.@ nBpRn nm n1n n1n t nBh, nA-H=|dBnBnBn`*0.H n 0-@ @H|f`/.NpXR@=@` nR nR=|Sn0.J@f`Bg0.Rn?NjXNj=@J@g0.@ n12.SA|¼A20FA0.S@H@ yhAЈ @0A0Bn0.gHn?.Nr\RnA-H=|Bg?<HnNP0.SnJ@fRn0.n m0.g nl`Bg0.Rn?NjXNj=@J@g0.@ n12.SA|¼A20FA0.S@H@ yhAЈ @0A00.gHn?.Nr\ n=P/.?.Nr\0.|@ yhA1N 0<N^NuNVA#@9CH|ABgHy?<=NgP3IJ@n2HyHyHyNp\O Hy?<N\`/9h/<?9I?<?NgO |gD?9I?<>NgXHyHyFHyNp\O Hy?<N\`Bn`* 9@м\2.PHЁ2.AA!Rn nmHnHnHnHn 9>-@/NuBOBn`@?.?.?.?. n?( n?( n?( n??.NuORn no?.?.?.?.?< Bg/.NwOBg/.Nv@\|=@?<Bg?./.NO =|`@?.?.?.?. n?( n?( n?( n??.NuORn no nf$HyHy|HyvHyN Of?9I?<>NgX`BgHy?<=NgP=@J@nNHyN X/HyHyNp\O Hy?<N\?9I?<>NgX`Hy/<?.?<?NgO /9@NR0X=@?<?.B?<BNgO / </Ng X=@HnHnHnHn 96-@/NuBOBn`@?.?.?.?. n?( n?( n?( n??.NuORn noHy?</.NO Hy?</.NO B9?.?.?.?.?< Bg/.NwO0.nd0<` 0.nR@=@=n`?.HyHyNp\O ?.?.?.?.?< ?</.NwO0.S@H@/ </NhX -@Bg?./.?<BNgO Hy/<?.?<?NgO 9H|f`$ 9@T/NR0X3> 9@\/NR0XHAЈ @3> 9@P/Hy>NpP 9@м/Hy>NpP 9@м0/Hy>NpPHy>Hy> 9@мI/NO 9H|f0<`0<3>=|`Sn0.g0.S@@A pH|g0.S@ yh0Hn?.Hy>xNO Rn0.nc=|`@?.?.?.?. n?( n?( n?( n??.NuORn no?9I?<>NgX?.?<>NgXN^NuNVHnHnHnHn 9B-@/NuBOBn`@?.?.?.?. n?( n?( n?( n??.NuORn noBnBn`Bn`2?<0.yBW|?0<n?/.NO Rn nm9CH|A?Hy?< /.N\/Np\O 9CH|A?Hy?</.N\/Np\O Hy@?</.NO HyC?</.NO =yB0.<NgXBgNwTN^NuNVBn` n2.AgRRn nm0.S@AB0A-H=|`> .2.AHЁ/NhX2.H n 1 .2.AHЁ @BSnJnlN^NuNV0.S@@AP=p0.S@H/ </NhX м -@Bg?9l/.?<BNgO HyFB/<?9l?<?NgO |V|N^NuNV0.S@@AP=p0.S@H/ </NhX м -@Bg?9l/.?<BNgO HyFB/<?9l?<@NgO |V|N^NuNV?9NHy?</.N\/Np\O ?9FrHy?<(/.N\/Np\O ?9FtHy?<)/.N\/Np\O JyFpm yFpoByFp09FpR@?Hy?< /.N\/Np\O JyF`m yF`oByF`Bn`2?<0.yF`W|?0< n?/.NO Rn nmBn`:?<2.AA2009FnA?0.|?/.NO Rn nmBn`:?<2.AA2009FA?0.|+?/.NO Rn nm?9FjHy?<'/.N\/Np\O JyFdlByFd09FdHO Bg/.Nv@\|=@?<Bg?./.NO Hn?./.N:O /.N8X0.dHH H@=@0.dHNgX=|`@?.?.?.?. n?( n?( n?( n??.NuORn noN^NuNVAFB-HHnHnHnHn 96-@/NuBOBn`@?.?.?.?. n?( n?( n?( n??.NuORn noHy?</.NO Hy?</.NO 0<=@=@=|`HnHnHyHyNvO0.|f 0.|g`?.N4THyFB?.HyHyNp\O?.?.?.?.?< nf0<`0<?/.NwO nHh^ nHhX nHhH nHh4/.HyHyNp\OHyHnNP>P=@ n?(( n0("HP=@ n=h$ n=h& n0(.R@? n?(*0.|@?0.H|??0.HH|?0.HH||dH@?0.|?0.H|?Hy"HyNp\O0.fHyHnNP>P=@ n?(2 n?(0HylHyNp\O n?(,NMT0.fHyHnNP>P=@0.fHyHnNP>P=@Rn0.f0.yNoH0.fBHnNP>P=|`@?.?.?.?. n?( n?( n?( n??.NuORn noN^NuNVA-H`R nfJnfRnBn`22.AA200.Ag0<`0<2.ARn nm=|`>0.S@A0g*0.A0g0.A0g0.A-Rn nmBn`0.A0H|-f( nR-`Rn0.A0H|-g`Z0.A0gL0.R@?Hy/.Np\O R ngR0.A0H|-g nR,Rn nm^ .S @H|,fS nR nR nBN^NuNVBn` nH?NOT=@R ng0.g0.N^NuNVHnHnHnNPO 0.| HNgXHyN X/HyHnNp\O Hn?<N\"0<Ag0<`ZBgHy?<-@/NuBOBn`@?.?.?.?. n?( n?( n?( n??.NuORn no?.?.?.?.?< Bg/.NwOBg/.Nv@\|=@?<Bg?./.NO =|`@?.?.?.?. n?( n?( n?( n??.NuORn no nf"HnHyDHy>HyN Of`bBgHn?<=NgP=@J@n:HnN X/HyZHyNp\O Hy?<N\`HnHnHnHn 96-@/NuBOBn`@?.?.?.?. n?( n?( n?( n??.NuORn noHyz?</.NO Hy?</.NO B9?.?.?.?.?< Bg/.NwO/./<?.?<?NgO @gHy?<N\``Bg?</.NP n(H|f`Z .T/HyHyNp\O ?.?.?.?.?< ?</.NwO .T//.NpP .мG/ nHhNpP .м/NR0X n1@ n(H|< n1@" n1@ nHh& nHh$ .м/NO .м/NR0X n1@( nBh* .м/NR0X n1@, .м/NR0X n1@. .м/NR0X n1@0 .м/NR0X n1@2 .м/ nHh4NpP .м*/ nHhHNpP .м9/ nHhXNpP .мNgXN^NuNVBn`2?<0.nW|?0. nR@?/.NO Rn0.nmN^NuNVBn`(?<0. nR@?/.NlPg0.`Rn0.nm0<N^NuNVAFB-HHnHnHnHn 9:-@/NuBOBn`@?.?.?.?. n?( n?( n?( n??.NuORn no?.?.?.?.?< Bg/.NwOBg/.Nv@\|=@?<Bg?./.NO =|`@?.?.?.?. n?( n?( n?( n??.NuORn no n\f?<?<1/.NlP=@?<?<2/.NlP=@?<?<3/.NlP=@Bn?<//.N\-@ nH|0m: nH|9n, nRH|0=@/.NhXHyIHyJ?<BgNxONNb#V=P3By=TBy>Z3FBBgNw\?< 9&#/Nw:\?9F@?9F>?9I?9JBgBgBgBgBgNuO?9F@?9F>?9I?9JBgBgBgBg?<NuOBnB9?<NgjT @l0<`0<=@0.gHy?<N\0.fN0BgBNw:\?9NxTNsN^NuNuNVHy?<?9NztP=yBn`0.@A& 0/ </NhX ArЈ2.AA&!-@Bn?<NgjT @fDBn?< Bg?./.NO .2.¼Ё @0(| g`Rn`Rn n m\A&#GBn`0.Ar=p0.@2.HHA2.Ar10.Ar=p0.@2.HHA2.Ar10.Ar=p0.@2.HHA2.Ar10.Ar=p0.@2.HHA2.Ar10.Ar00`0.Ar-p ./ </NhX AZЈ2.Ar! `0.Ar-p .AZ 02.Ar! `j`f0.Ar-p ./ </NhX AЈ2.Ar! ./ </NhX A 0/ </NhX A Ј @ ("./"</NhX"A!-@-@ ./ </NhX A00@=@=@ ./ </NhX A00=@=@0.@=@=@0<=@=@Bn=nHnHn?9N{$O `(`$`"|| c0< @ |"|bNRn nmBn`0.AZ 0AZЈ @ 2.AZ!0.AZ 0AZЈ @ 2.AZ!0.AZ 0AZЈ @ 2.AZ!Rn nm^N^NuAIr@Xy@ !J!_ NMYy@AIr@"P$h/( J@NuAIr@Xy@ !J!_ NNYy@AIr@"P$h/( J@NuAIr@Xy@ !J!_ NAYy@AIr@"P$h/( J@NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNVHBG".l~D$. l GD&gHC H@J@g@HCBCւJGgD-C LN^.JNuNV?< B/.NqO N^NuNV 9AT䀰|l yX 0<`0<N^NuNVH`Y y PN 9ATfA*H`0- |g / Ni|X A"Ҽ@m?.N|TL N^NuNVH*n0- |g/ NiXg0<`20- |g /-Nm,XBm ?- NTg0<`0<L N^NuNVH*n0- |f0<`r.0- |gV0- |f0<`R0- |g?<B?- NjtP?/-?- NrP @f m@ 0<`m *Bm0<L N^NuNVJnl3 <`H?.?./. ?<BNgO -@Jm .`?<?.B?<BNgO -@Jl .3 <`?<?.B?<BNgO -@ nf .Ю -@ `& nf .Ю -@ `0.g <` . oH?.NnJT|J@f .3 <``` Hn . /?.?<@NgO Bg?./. ?<BNgO J]|=@g3 <`` . NqN^NuNVH .<".ҼS/"</N|"X/./N|`. /NoX*@f <`(M)G P/Nm,X 9BL0N^NuNVH .<".PS/"</N|"Xށ 9B(@JfAt (@#B#tBx*T -e* -f(`  -+G#B P`( Bf/NkX*@Jf <`(M*U`L0N^NuNV0./NlXXN^NuNVH .f`t .Q*@(yB` m n l`(T o l "-Ёf T (ѭ T*`* ",Ёf -Ѭ(`(#BL0N^NuNVBn`<0.@AI00f&0.@AI10.@AI1 ` Rn nmN^NuNVBn`*0.@AI00nf0.@AIBpRn nmN^NuNVH>.=|\AI"HPgXHf0(LN^NuNVHHyF/.NpPfBG`HyL/.NpPf><`HyR/.NpPf><`0. |gR0. |?/.?<=NgP>J@m 0. |g&JGm??<>NgXBg/.?<`j0. |gD0. |?/.?<=NgP>J@m"??<>NgXBg/.?<`0. |?/.?<=NgP>JGl 3 0<`?. ?NmX0LN^NuNV/.?<HNg\-@ .f-|3 .N^NuNV0./NoXN^NuNV .#^#X3\/./. HyXNO yXB .N^NuNVA X//. /.NpO N^NuNV . @"n rJWfSWfN^NuLB@ggSBAgHJ@gHANuL rWfNu op`R@SJWfFNuNV n R @H=@` n R @H=@ n g n g n g0.N^NuNV=| nxg nXf n f0<`h n0m n9n0.|0=@`2 nam0.|a| =@` nAm0.|A| =@0.n o0<``0.NqN^NuNVBnBHnNpX=@ n-f=| nRH=@`2 ./0.H/NhX 6.HЃ-@ nRH=@?.?.Nq@X=@ @fSJ g n 0.g .D` .NqN^NuNVH*n (MBn ng?.NnJT| fA&H. nU|`H| f S @  . nU| A|l0fD AH-@Hn/.?.?<@NgO <Hg 3 0<`dA&H0f~ =@`J/ 0./?.?<@NgO -@2.¼g .3 0<` .n0.L8N^NuNV?<NxT0<N^NuNVAG#HAG#HA#IAJ#IAJ#I A@#IAH#>V?< NxT3JL09LN^NuNV33 3 3333333333 3"#$J3(3*?<NxT n,0J n00J n40J n80J n<0J n@0J09JN^NuNV3# J?<4NxTN^NuNV#J?<6NxT n 0J n0J n0J n0J09JN^NuNV33 3 333333 nf 333~3|?<3NxTN^NuNV n0 n 0 n0~ n0|N^NuNV#J3 ?<2NxTN^NuNV#J# J?<ZNxT n0J09JN^NuNV?<MNxT n0J n 0J n0J n0J09JN^NuNV?<ONxT n0J n 0J n0J n0JN^NuNV3# J?<NNxTN^NuNV#J3 ?<NxTN^NuNV#J3 3?<!NxTN^NuNV#J3 33333?<*NxTN^NuNV#J3 ?<,NxT n0J n0J09JN^NuNV33 ?<hNxT n 0J n0J n0J n0J09JN^NuNV3?<kNxTN^NuNV3G0.| AHЈ-@=|` nR2.AAGH1Rn nm/9>VNX09JN^NuNV3eByBy3Nz"N^NuNV#>`#>h .мZ#>l3dBy3  n 3Nz"09 n 03hAI#>`AF#>hAG#>lA=V#>dN^NuNV .3 .3N^NuNV .3 .3N^NuNV0969Ƽ n N^NuAIr@Xy@ !JHy!W #>\Hy>\" <sNBYy@AIr@"P$hNuNVAI#>`A=V#>d# >h . мZ#>l3 I3fBy33Nz"AF#>hAG#>lN^NuNV3ByBy3Nz" n 0FN^NuNV/. NyX/.NyX3nByBy3Nz"N^NuNV3 I/.NyX/.NyX# >d3m333Nz"A=V#>dN^NuNV# >d3 I3333Nz"A=V#>dN^NuNVH$.f BB`&". Bvd d``bd-@-A LN^NuNVHL&gHC H@J@g@HCBCւ-C LN^.JNuNV?.?<LNgXN^NuNVH*n ..(U0.`(<< `><<`6<<BE`,<<:< ` `|Xg|dgΰ|ogа|ug°|xg Jl ndf - D.` 0. fμA м&@B#(/8H/N|X(0 D m2<7E`2<0A /0H/N| X.f/ / NP*L8N^NuNVH>. *n (U=| Gf><#I#IHyjHyINlP]|=@0R@?HnHnHnNO0.g-.H|0f.f0` nff<.GRF0no<.JFl0<`0?HnHnHnNOA&HA&H`SFSn0gJnl`0SnJnl0g.` 0RnSG0g nm`JFoH`0<0SFSG0J@l`J0g.A R&@`SG0J@lE-L0.H/HnBg?<dN|O (n*L8N^NuNVHBG n*P`0 HC|0>HAw0H|f n 0L N^NuNVH<*n(n &nBn`P?<%/ N~\$@Jg2. g$/ ??</ NO <n0Gg` R(@`*/ NpX>/ ??</ NO <n`Bn=|Bn8< H|-f=|RH|0f8<0RH|*f R=ST`-LHnNRH|0f8<0RH|*f R=ST`-LHnN.E`4Sm0-J@m0 URH|` / ?NN\ @f` RnSG0J@l`f>.E`4Sm0-J@m0 URH|` / ?NN\ @f` RnSG0J@l/ ??</ NO <n0Eg`f0.LNgX=@g3 0<``0<NqN^NuNVH*n 0- |g0- |fm 0- |fm@ Bm0- |@g0<` -f / NX0- |g UR m `<0- |g2m UR . H| g ml . H|`V/ NiXg m@ 0<`>0- |gBm. H|`$`"0-S@;@m . URH|NqL N^NuNVH *n(n`":,A>. Eo>`>. 0g80n ?// NO 0H0Hє0,g0l0@l JEf/ NiXg0<`":,A0. Emx=n 0g<. 2. HHAA`<. 0n ` 0@0H0g?/ ?, NrP>J@n Gf&l@ ?<0.FH/?, NjtP0<` 0. f0<L0N^NuNVH*n>. <.(n0, |g0, |fl 0, |f0<` ,f/ NX(9lBE`RE0HSF0J@m/ ?/ N^O g0, |fd gX0, |g/ NiXgl@ `:&l`R g H| f gH| f/ NiXgl@ Bl0L8N^Nu o/ f pJWf`g fS `pNuLrWf SNuAIr@Xy@ !J"/0<NBYy@AIr@"P$hNu NV0.f#I#I` nl#I#I` n4o#I#I`A -@ n]|=@g 0.D@=@0.|=@0.g0 .2.HЁQ @#I#I-yI-yI0.@=@0.|=@0.gl .2.HЁм0 @#I#I-yI-yI0.gHnHnNP` #I#I-yI-yI0.@=@0.|=@0.gr .2.HЁмh @#I#I-yI-yI0.f0.gHnHnNP` #I#I-yI-yI0.gF#I#I-yI-yIHnHnN&P#I#I`#I#IN^NuNVH *n(n Bn-L-U-mBEK.g>OG|JGn|m`NB0T@|dm0<d@D@`B0D@S@|dm0<d@?NTTOHyI/ NPO`&0-H@$-JGg FGQ0<0dR@0.BAQ/,>QQԟ׆G|0QB`Rn0.g(nB`0R 2.HmB`d .6.HЃR(@ nH|0fRZ$` R$H|9n nH|0f(n R*@NqfSE .6.HЃ @B n0L0N^Nu#IHyINXONuHyIN2XO 9INu#IHyINvXONuHyIN8XO 9INu#JHyJNXONuHyJN2XO"9JNu#JHyJNvXONuHyJN8XO"9JNu#JHyJNXONuHyJN2XO$9JNu#JHyJNvXONuHyJN8XO$9JNuNVH n "(fJg"¼м@ LN^NuNVH nB fB`м8 LN^NuNVH n g jDh <r`V$<H@J@fBH@ @bQB @bYB @?bUBJ@kSB&<"F€JHBЂJj LN^NuNVH n "($HBJ&<BnDB Bcp`*` B c <`6<BtjABJjD LN^NuHHy//NPOL/WXONuHHy//NPOL/WXONuH o#HyHyNvNN8PO o L/WXONuH o#HyHyNvNN8PO o L/WXONuH////NPLNuH////NBPLNuH////N~PLNuH////N&PLNuH////NPLNuH o#HyNv//NBPLNuH o#HyNv//N~PLNuH o#HyNv//N&PLNuH o#HyNv//NPLNuH o#HyN//NBPLNuH o#HyN//N~PLNuH o#HyN//N&PLNuH o#HyN//NPLNuH o0H#HyN//NBPLNuH o0H#HyN//N~PLNuH o0H#HyN//N&PLNuH o0H#HyN//NPLNuNV n " n $&JjFFJjFFN^NuNVH~ n $& n "(JfJf`n*(fJf "`ZNVH.<`b fcBCD!E xzH@:HB<M8NF E6cH@`~GG~GGH@HBҁрSEg:jփՂ`2 E c&tE Ec 6HCBBHBE|.F΂Ć꫆Jk*RA҃тgRD Dcpr``xg`fSDJf"Jf`hHAJAf HA rD `0BADH@~GcH@`0z`XEJ@gREGcH@Ejpr` |.F΁†SDLHDЄJj LN^NuNVH n $& n "((fJg*fJg H@:HB<MNE1F,<.*FHÁ…HC΃ƅąxHB<:HC>܇ۄHAHB>܇ۄH@HC>܇ۄ>ڇلHDHEHF8:|HB>ڇن>؇HC>ڇنH@HB>ڇن~>(JkڅلSG <"FHD„v 歊ȀۆنGk Gc xz`xz`SGOHG؇Jj LN^NuNVH n $& n "(*fJgx(fJgt H@8HB:LME,<.*FHÁ…HC΃ƅąb fbRD1DHBHC.h~>ЇHG~` B@H@:|FH@HAHF<0BAHBHC8:ǒxjSG҃тd6BBHBHC,h ,ІHF|` B@H@:ƒ*HEHE8BEjSF҃BdHG>H@HA0,h ,ІHF|` B@H@6HC:2HAH@xDjSF҃dhrHF<x8(z <"FHG‡v 殌΀݅߅Dk Dc ~|`~|`SDLHDބJj LN^NuNVH*n Af0?<NpTf"m m ;y@Ah `, Af BgNpTfm m ;y@`X0- |g AAHЈ*+@`.0-?NmT*+@fm `0- |fm -gL N^NuNV n"n 2.HbH0|f |f`$ |g `Q`bA`2Q`VA`"Q`J0|f |f`$ |g ` Q`A`3 Q` A`# QN^NuNV?<?.B?<BNgO -@Bg?./<?<BNgO -@Bg?./.?<BNgO V|N^Nu0123456789ABCDEF:\CONFIG.BBS:\BBS\MAIL.BBS:\BBS\USERLOG.BBSA:\.\CONFIG.BBS[3][Could not find/make 'CONFIG.BBS'][ ABORT ][3][Read error on 'CONFIG.BBS'][ ABORT ][3][Write error on USERLOG.BBS][ OK ][3][Could not open|%s|Refer to the Manual][ OK ][3][Read Error|%s|Refer to the Manual][ OK ][3][Could not open|%s|Refer to the Manual][ OK ][3][Read Error|%s|Refer to the Manual][ OK ]Highest Message is %u%u of %u Blocks in use%u active messages[3][Could not open|%s|Refer to the Manual][ OK ][3][Read Error|%s|Refer to the Manual][ OK ]*.V18Select V1.8 mail file[3][Could not open %s][ ABORT ]Convert Message baseConverting Message %u'%c%c%02d%02d%02d%02d%d%2d%sYesNo%sYesNo\bbs\palette.bbs[1][Colors saved to '\BBS\PALETTE.BBS'][ OK ][3][Could not save colors to '\BBS\PALLET.BBS'][ SORRY ] @ @%d Users%u%u%d%u%d%02d%02d%02d%02d%u%02d%02d%02d[3][No users on file][ OK ][3][The user file may be damaged][ OK ][3][|User is Modified!| |Update the disk?|][ YES | NO ][3][|That user name was already in use|Old name was not changed|][ OK ][3][No user on file that matches that name][ OK ][3][|Delete: %s|][ YES | NO ][3][|You have deleted the last user|][ OK ]Rebuild Index[3][ Rebuild index portion of the user file ][ YES | NO ]Rebuilding %d[3][| %d users were recovered|][ OK ]Non-RegisteredRegisteredJr. SysopSysopWizopExport User FileExporting User %d: %-20s"%s","%s","%s","%s","%s","%s","%s","%s","%s","[3][|Disk full on EXPORT file|][ ABORT ]Print User ListingPrinting User %d: %-20s%-20s%-20s%-15s%-5s%-11s %-10s%-13s%-14s %02d/%02d/%02d per day, %d calls Last call %02d/%02d/%02d at %02d:%02d:%02d, Last msg %u, Default Sig %d %d Upload(s), %d Download(s), Sig(s) %d[3][|Your Printer is not Responding|][ Retry | Cancel ] *.EXPSelect User Export file[2][Overwrite? <%s>][ Yes | No ][3][Create of <%s> Failed][ Ok ]*.V18Select V1.8 User file[3][Could not open %s][ ABORT ]Convert User File[3][READ ERROR on old user file][ ABORT ]%sREVS[1][Duplcate User|%s|was not converted][ OK ][3][DISK FULL on NEW user file][ ABORT ]DeleteUpdateRESOURSE.RSC !"#$%&()*+,- ./0 123 456789 :;<=>? @ABCDE\]^_`abcdefghijklm '#      & &!"#&$%&'()*+,-./01289:&;<=&>?@ABCDEFGHIOPQ&RST&UVW XYZ`ab&cde&ghijkl mnopqrstuvwx*yz{~                             !" #$%&'()*+ ,-. /01234567 89: ;<=>?@ABC DEF GHIJKLMNO PQR STUVWXYZ[ \]^ _`acde -fghZZ     "Z          "!         !  #% $ % "  ((('H@HF#(     (    & c E F G H  I,   J9 K $#c ? L M N O  P Q R S T  U$ V(  W,! X0" Y4# Z8 [<% &'0()*0;+:c?, n- o. p/ q 0 r1 s2 t3 u4 v 5 w$6 x(7 y,8 z09 {4: |8* }<<~@=?c'> ? < AEcDBA CA  D@  E@ * @' 8 3 3'.. ,VN%Nc   !  c     ! c: !     $   0 c ! $c?!         $  (! ," 0# 4$ 8 <V&EN ' ( /).cG*! + ,  - $ . 1 ( = 0 413c*2 3  0  E5Dc?6 7 8 9 : ; < = > ? $@ (A ,B 0C 4D 84 <%FUc?G H I J K L M N O P $Q (R ,S 0T 4U 8E <W^NZXYcY! W  [\ 5] C^V_`c`! ^1  4 )0+'/  %  = &  9 9   '    "     @ . @ !" %'6O  C8# # ,      $ $ %% % &: ':(:):C8*# , 3 4  5 6 7$+ %, %-:.:/:&%C 80$## ,  J! K " L# M N$%1 %2 %'3:1(0C8)4/*.# ,+ [, \ - ]. ^) _$05 %'6 %2f@37: 48= 59: 6::  ;: - <-=c  | }>  c     ? c     ' . @*A.B. C.VLD E1FGD  HHI J$@KD H L MN$ @ODHPQR$@SDHTUV$@WDHXYZ$@[D#"H \!]"^$@_D($'H%`&a'b$#@cD-), H*d+e,f$(@gD2.1 H/h0i1j$-@kD736 H4l5m6n$2@oD<8; H9p:q;r$7@sDA=@ H>t?u@v$<@wDFBEHCxDyEz$A@{DKGJHH|I}J~$F@DPLOHMNO$K@DUQTHRST$P@DVb5(,< <&+qvy.=C (:PRTVXZ\n".8DRnprz|~$8Xl|$(<@DTXht"*0FLRdjp,.0DXltvxz|~ (2:>JPVZfjt~ Dv$Bj  ".02468>TZn2Nt 4Zv  $*06Rx "(Dj  024DFHrtv~ >^~.Nn>^~.NRTVZ\^~"$&*,.Nn>^~.Nn>^bdfjln.246:<>^~ .Nn>^~.Nnrtvz|~>BDFJLNn:h Desk Install User Mail BBS Maintenance--------------------123456 Limit Control.. Modem Control.. Sig Settings.. Save colors------------------- Quit Modify.. Global..------------- Print.. Export..------------- Rebuild..------------- Convert.. Usage.. Convert..-------------BBS 3.0 Maintenance ProgramAuthorTimothy PurvesOKUser 12345 of 12345. 1234567890123456789Username : ___________________XXXXXXXXXXXXXXXXXXX123456789Password : _________XXXXXXXXX1234567890123456789Address : ___________________XXXXXXXXXXXXXXXXXXX123456789012345City : _______________XXXXXXXXXXXXXXX12345State: _____XXXXX1234567890123Phone : _____________XXXXXXXXXXXXX12345678901Zip : ___________XXXXXXXXXXX923Time per day: _:__99911Default Sig: __99Not-RegisteredRegisteredAsst. SysopSysopWizopSig(s)1234567891011121314151612345Last Message: _____99999000000Last day: __/__/__999999000000Last time: __:__:__99999912345Number call(s): _____9999912345Upload(s): _____9999912345Download(s): _____9999912345678910111213141516Flg(s)CancelNext matchUpdateSearchDeletePreviousNextExitSearch for UsernameEnter User name:1234567890123456789___________________XXXXXXXXXXXXXXXXXXXSEARCHRB<===>010180Date: __/__/__999999<===>Not-RegRegJr. SysopSysopWizopTrueFalse12345678910111213141516Give Sig(s)Take Sig(s)UnchangedNot-RegRegAsst. SysopSysopWizop000Time: _:__999Reset MsgReset UplReset Dwn1234567891011121314151612345678910111213141516UpdateDeleteActionsCancelStartConfirmYesNoOld file must be of the type FILENAME.V18This prevents you from confusing the version 1.8and Version 2.0 files. If the file does notnot have the extension of V18, Click onCANCEL and rename the files using the SHOW_INFOoption on the DESKTOP.CANCELCONTINUE_____________________________SysName: _____________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXNon-registeredRegisteredJr. SysopSysopWizop1234Default Time: __:__99990959Non-Registered Default Time: __:__9999System Drive:AMail Drive:A16384Message Blocks: _____999991234567890123456789SysDump Password: ___________________XXXXXXXXXXXXXXXXXXXOKModem1:None300120024009600___________________________InitCode: ___________________________XXXXXXXXXXXXXXXXXXXXXXXXXXX123456789012345678901234567HangCode: ___________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXSelect the maximumbaud rate the modemcan use, or none todisable that port.Modem2:None300120024009600___________________________InitCode: ___________________________XXXXXXXXXXXXXXXXXXXXXXXXXXX123456789012345678901234567HangCode: ___________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXUse / to pause onesecond.Use ^M to enter aModem3:None300120024009600___________________________InitCode: ___________________________XXXXXXXXXXXXXXXXXXXXXXXXXXX123456789012345678901234567HangCode: ___________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXa RETURNModem4:None300120024009600___________________________InitCode: ___________________________XXXXXXXXXXXXXXXXXXXXXXXXXXX123456789012345678901234567HangCode: ___________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXOKUse ~0 for 300Baud SelectUse ~1 for 1200Use ~2 for 2400Use ~3 for 9600Sig 16, 12345678901234567890123456789xxxxUploadNoYesDownloadNoYesPublicNoYesOKMail Data file UsageTOKTTDescriptionPathSigPublic011234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYes011234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYes l01l.1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYes1301o 21234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYes2016801234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYes9011e1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYes001ttm1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYese01he1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYes=01>o1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYesp01e w1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYesee01 o 1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYesOT01E_1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYesrd01fut1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYese01201234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYesXX01eet1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYesXX01XXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1234567890123456789012345678901_______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYes40OK61234567890123456789012345678901Upload Path: _______________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXTEXT802[3][You must be in Medium or High Resolution to run this program][ Ok ]nrn444 T CON:AUX:PRT:w (( (( AAAAAABBBBBB @$@Y@@@È@jA.AcAׄCAy7DxCyٝFnH=c)\I1sKP1P=M8O?ZwH02g$uOs<@ Wi??!TD-@ !TD-@$?!TD-?.B9??* &R2  0V : *<<$" " $X2XHp0@:* d* >8 ,2"0$         *     $".     @2$(4&$Z*"(     B  $4 $D: 8   4*2,D H0,$F0(      B B0D       B  6&,      8T  B0    4 4  &    $H,("B.0d B$$J,   2  "" $ "  hD $      & &   .  <           4 ,  @ B(       " & N    "  $ .$*      L. B  6 BhJ8 .  B & 6*$  $^  B B (& 6. X    B. 6* $0@F    (" B0D"   B   $&N$$   L::* B0D,D&6  (  D:       &4f "<     "    @ ">"*   "  (l@ (X&>&. . 4$f.,*   ."( &t:,Z8 (                 &      ,6$f@D$dHH8PtBF&2l`2d,n,*<\v L: :         v                  Z<x` &*o# m -ZBSj# O# N~BgB ?<LNA# NA/9 Nu# NM/9 Nu# NN/9 NuB?< NA\O# Nu/9 ?< NA\ONuNVH?BCB..,. f <`tlDRCJlDRCnHf zB`<l:HGH`&xe`Jge`|f D D` JLN^NuNVH?/BCB..,. f"< <`xlDRCJlDRCnHf zB`<l:HGH`&xe`Jge`|fD" D`"  "JLN^NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNV n g n g n g n f 0<`B@`N^NuNV 9 м-@ nP.H|0@BB9`&9HH @ 9 9m# ``  nH>N@J@f nJg9HH @ 9 n 'g n "fl n (\g^ nP9H|0@` nH.f n (\f nJf`,`  nJg nH>N@J@g nP nBJ.g 9m.9H?N fTN^NuNV`  nJg nH. f nJg .`B`N^NuNV> /.?< /.?<=N@\`N^NuNV. 0n/?.?<?N@P`N^NuNV. 0n/?.?<@N@P`N^NuNV>?<>N@T`N^NuNV>?./. ?<BN@P`N^NuNV.?<N@TN^NuNV> /.?<NN@\`N^NuNV>ON@`N^NuNV y R yBN^NuNV#./</. NDPN^NuNV0.H@ n f > N>/U?<N\N^NuNV. /</.NDPN^NuNV` .%g.H? n NT`B@@@@@@H@B@=@=@` nH@R`|`|`.H|=@`0. =@.H|n nH@|0@RDm .9oJ.gHJ.g =n`=nS`D|`:|`0|`&|``H | rW hPNJ.gB@=@=@A-H.H`F n0|@TB.`B=| J.g: n-PXJl .D-@0n|-Rn-n`6 n=PTJnl0.D@=@0n|-Rn=n`=|-|J.g n-PX` n=PT`=| J.f n=PT`p=|-|J.g n-PX` n=PT`: n-PX`*nB.``H |nrW hN .dg* .og .ug .xg .XfXJnf.J.g`0.//.N4P=@Jnl 0.n0n2n QRn n f"0.//.NP-@`"2.ITA .-@ .Jfl`F`<0.HH@=@0n2n QRn0.=@Jnf`4J.f0.HJ6g0n2niRn|0.SnJ@fJ.f0n|0Rn0nB(.N ^?0.ΐ_=@Jnf.N ^=@Jno6J.f.`J.g ?<0`?< n NT0.SnJ@f`.H? n NTSn nH@RJ@gJnfJno&J.g`?< n NT0.SnJ@f nH@RJ@fN^NuNVH*nBG`RGRJf0`JL N^NuNVH *n(n `fJL0N^NuNVH *n(n `JfB@`RRHHA=@g0.`JL0N^NuNVH *n(n `RJf`fJL0N^NuNVH*nBG`R  g` H|@ 0m 9o0`JL N^NuNV.N".N"BW/</NX=@oBW/</<?.N\|g.ZN"` >/<?.N\|gb>N`.{N">N`.N"N^NuC-Startup0123456789ABCDEF-.0123456789XcdlosuxH444>4444RXcdosux2h MichTron DOWNLOAD.BBS Convert Program v1.0 Copyright (c) 1987 MichTron Inc. Program By Timothy Purves Converting DOWNLOAD DOWNLOAD.OLDDOWNLOAD.BBS %5d: %-15s %9ld Disk Full writting DOWNLOAD.BBS Cannot Create DOWNLOAD.BBS Cannot Open DOWNLOAD.OLD_downloa_basepag _heap_bo _heap_to _exit8_gemdos@_biosP_xbios`_superp_userldivlmullrem4__main~_index@_creat_open_read_write_close_lseek,_setdtaP_sfirsth_snext_stuffer_sprintf_printf"_strlen ^_strcpy _strcmp _strcat _atoi _main f 2   4b*  ` &&$  ( ,j&(Z,     $`|PH0#*o#| м#Э #Э @Эn#мn 9.@# // Bg?<JNAO Hy?<?<NMPOB?< NA\O#No8N16/9?< NA\OBg?<LNAHy?< NA?<NATO< f`3Ry3pNuNV n0. 2.`QN^Nu o"o0/ |QNu@|Nu|NuFNu o"o@|H?> .QL|Ns Nu o H. n`aQraraLN^Nu0/XNu /XH@XNu\bbs\palette.bbsCOLORSwENDCOLORS4  /Hy.?< NN _Nu #(-27<AFKPUZ_dinsxH?<NNTO3J@f0<3?/NAHGBC???<NN\O6||mL?<NNTO#*LNuH?9/H04|WC|H2<pCQL DNuH04|WC|HrPpQL Nu yg2<pFF(QNurPpFQNu o"o2<0QNuNVH y*r0<o Q nE y*6</4<O8<0aQ _Q naaPL?N^NuNVHAah0.. aL?N^NuNVH nJg(Aa:0. "nan `L?N^NuNVHJngp y*"H0. a0.a2.0SAn&H# # # # QprO####Q`""""QprO""""Q"nC I 2.n(0@SA3 Q2<O0.3QL?N^NuSA2Q2<O0.2QL?N^NuNVHJng* y*0. ap2.SA Q nA 2.SA0.0QL?N^NuNVHJng y*0. at0.a nA 0L?N^NuNVHAaaNL?N^Nu~``|>~|ffl 06ff8|ll88ppv  `0880`ff<<<<80 8pp8~~~~p88p<~ff 8|~<<~fff~~ffff|~ff~|ffff~|<~ff````ff~<x|nffffffn|x~~``||````~~~~``||``````>~``nnffff~<ffff~~ffffff~~~~ff~<``````````~~fffvv~~nnfff<~ffffffff~<|~ffff~|````<~fffffffj|6>~``p8~|~~ffffffffff~<ffffffff<<Ƃfff<<<>~ff~>```|~fffff~|<|`````~>>~fffff~><~ff~``~>~~>~ffff~>~|```|~fffffff88<< |x88<<l<~fffffff<~fffff~<|~fffff~|``>~fffff~>|~f``````>~`p<~|~~fffffff~>fffff<<Ƃff<<<~|~~ 00~~880000880000b<$fB`<|fl0fF8l8pvp88pf< 80 0 ~~`0 0```nff>fff~fff<<f<flxpxlf``````~fv~~nfffffff<ff<f>``|fff|<```<>fff>ff>|``|ffff8<p``flxlf8<|fffffff>|f```>`<|~ffff>fff<|lf<|~ 0~0p p` 44b~NV>hN9vBy>?<>NAT=@JygBy=|>hN8R0.N^NuNV>hN9vBy> /.?<=NA\=@JygBy=|>hN8R0.N^NuNV>hN9vByBW/.?<hN8R0.N^NuNV>hN9vBy.?<ANAT=@JygBy=|>hN8R0.N^NuNV>hN9vBy. /.Bg?<VNAP=@JygBy=|>hN8R0.N^NuNV>hN9vBy>?./. ?<BNAP-@JygBy-|>hN8R .N^NuNV>hN9vBy. 0n/?.?<?NAP=@JygBy=|>hN8R0.N^NuNV>hN9vBy. 0n/?.?<@NAP=@JygBy=|>hN8R0.N^NuNV>hN9v>,NA=@>hN8R0.2< h|"n20.H|?"n 20.|H"n2N^NuNV0.|2< `2. |?AA2. A|A=@>hN9v>?<-NAT=@>hN8R0.N^NuNV>hN9v>*NA=@>hN8R0.H|"n20.|"n 20.2< h||"n2N^NuNV0. |D|2< `2.|AA2. |A=@>hN9v>?<+NAT=@>hN8R0.N^NuNV>hN9v.?<NAT>hN8RN^NuNV>hN9vBy> /.?<NNA\JgB@`0<=@JygB@=@3>hN8R0.N^NuNV>hN9vBy>ONAJgB@`0<=@JygB@=@3>hN8R0.N^NuNV>hN9vBy. ?<9NAT=@JygBy=|>hN8R0.N^NuNV>hN9v>NA=@>W?<NATBy. ?<;NAT=@JygBy=|>?<NAT>hN8R0.N^NuNV>hN9vBy>/. ?<GNA\=@JygBy=| n B>hN8R0.N^NuNV>hN9v>NA=@>hN8R0.N^NuNV>hN9vBW?./?<WNAP n0 n 0>hN8RN^NuNV>hN9v=n =n >?./?<WNAP>hN8RN^NuNV?.?<>NAXON^NuNV?. /.?<=NAPON^NuNVBg/.?<hN9vBy>/?<6NA\O>A"n r 2QJyg By~>hN8R0JLN^NuRy0A fNhA / / / / / / / / Hz @ yNO SyNsRy0A fNhA / / / / / / / / Hy@ yNO SyNsp3Nup3Nu|HyjNAdN#,32Jyf6Jyf.Syj 3Jyg>g ySPjN;N4LNs/<aJAvE><a6AE><a"AE><aNu#b#d#z###p/A pJ(g(fA# pN X@|fNuNuA2EJ*,jaNuAJ(DNuAJ(DNuAJ(DNuAJ(DNu#$ $j$$%H0/HA# pNNVaF( gJ(gadg*?<N:TO`( g?. ?.NsXOpN^NuNVa2. a"da$g*?<N:TO`( g?. ?.NsXOpN^NuNVa2. a0dag*?<N:TO`( g?. ?.NsXOpN^NuNVaf2. adag*?<N:TO`( g?. ?.NsXOpN^NuNVa2. adag*?<N:TO`( g?. ?.NsXOpN^NuNVa2. aRdaNg*?<N:TO`( g?. ?.NsXOpN^Nu%%&&B&n&0/HA% pNp&_N^NuNV/ aTCGIf arg`a&_N^NuNV/ a*CGIf aRg`a&_N^NuNV/ aCGIf a. NLN^NuNu?N+R3dN>pN^NuNVNBN04NJBgBgHyp??<Hy=N1?N5TO09LfNN^NuNVNB=@0.o( nl 0. o0.,A-H f?.NPTOp`$ n=h n1n ?.NPTO0.N^NuNV/ NB=@ n( m*?. N-TTO-@gN,=@ @g nl?.NPTOp` RyL0.,-@ npBn nl n2nQ gRn` n1n0. Y@HЮ-@ n1n0.HЎ-@0.oU nU"n0Sn`0. S@HЮ n!@$ n1n ( n!n *n+</<+.-MU n0 *n, n!M?.NPTO0.*_N^NuNV09`N^NuNVNB=@0.o" nl0.,A-H f?.NPTOp`lSyL nHS@ @b@H0@ PN`8 npN4 n0(HA RP?.N,DTO np?.NPTOpN^NuNVNB=@09`,-@ n0(f npN4 n=h nBh?.NPTO0.N^NuNVNB=@09`,A0g,09`,ABP09`,A=P`p=@?.NPTO0.N^NuNVH009`,*@ M f409HAL0HAH0ml p3bp`n fp?-?9?9`N-\O?9N- TO3`09`,(@p3*Np3bHlHmNVPOpL0N^NuNVNB=@0.o" nl0.,A-H g?.NPTOp`* n=hp??.N.zXO?.NPTO0.N^NuNVNB=@0.mN.=@ @f?.NPTOp`$0.HA 0?.NPTO0.N^NuNVNB=@0.m n(l0.HA f?.NPTOp`r0.H-@ np"n0)HAJ Pl0 n?(N,TO=@ @gBg?.N.zXO`N4?.NPTOpN^NuNVNB=@0.o, nl$0.,A-H g n0(g?.NPTOp`: n1n  nRh n fp??.N.zXO?.NPTOpN^NuNVNB=@0.o" nl0.,A-H f?.NPTOp`8 n1n  nRh n fBg?.N.zXO?.NPTOpN^NuNVH >.NB=@0m G(l0H*@ M f?.NPTOp`40-Rm0lp??-N,TO?N.zXO?.NPTOpL N^NuNVNB=@0.o2 nl*0.g$0.,A-H g n g?.NPTOp`H n f?.N,DTO np` npN4 n=h?.NPTO0.N^NuNVH0NB=@0.m n(l0.H*@ M f?.NPTOp`JSml609`,(@ Lp9n?-?9`N+XON4?.NPTOpL0N^NuNV0.lp`0.fN4`vNB=@?.?9d?9`N/T\Op3g>09dHAJ0HH#09`,ApN4?.NPTOpN^NuNV0.lp`D0.fN4`4 nm?<'N:TOn`0.o0. ?N:TOpN^NuNV09dHAJ Pl@09dHAJ0HAH0nBg?9dN,TO?N.zXO`09dHAJ Plp`B@3g>g$09dHAJ0HH#N4N^NuNVNB=@0.yB=yB?.NPTO0.N^NuNVp=@0.gp?N:TOBgN;TO0fSn09df y hfByd-|Bn nlNp,?/.HnN* =yLN .fRn n,-H`0.f?.Hy&p ?NdPO .ꐮ//././.?.?.?.?..HHAD/HnHyp ?Nd&`~?.N5TON^NuNVN3`?N8TON^NuNVBgHyN\O=@lHyBgNd\Op`N?<tHyh?.NPO=@ ntlHyBgNd\O?.NTO`?.NTOB@N^NuNV-|p?N6.TO3hp?N6.TO3p?N6.TO3gDp?N6.TO3nBp?N6.TO3gBp?N6.TO3gp?N6.TO3gp?N6.TO3Bn nl0.HAjp0Rn`NrBn nPl?<p-??.p?NPORn`p??9N7XOHyBgNd\OHyBgNd\ON=0gp ?N:TO`XNpN0gHy6BgNd\Op ?N:`"HyhBgNd\OB9#ByHyNXO?HyN\O=@N3`?p?Hy{p??<Hy;N1=@?N5TONC#ߺBgp?Hyp??< HyEN1=@?N5TO0.m0.,ABPp=@ nn?.Hy?.NdPO0nk'fRn`0.Aߺ ?.HyHnNn* 0.yhf2?.p?Hnp??< HyEN1=@?N5TO0.m0.,A0`tBgBgHyp??<HyBRN1=@?N5TOp?N:TOp?N;TO0.oN3`?N8TO`BgN;TO0gp?N:TO`?.N3nTONqNsN^NuNVNB=@ n1n ?.NPTON^NuNVBgNoTO3߲Sy"09߬g09լgSyլRy߰9k(g4p?NoTO3Sy809g09gSyRy9k)g4p?NoTO3SyN09g09gSyRy9k*g4p?NoTO3Syd09g09gSyRyN^NuNVBnBnp=@0.g0nk'fSn`09Xlp`B@=@gByXBn noRn0.noBnBn nn yLo0.nnoB@`0.nՊ-@NB=@0.g nBh * n h *o Rn nSh *?.NPTO n?(" n?( & n/( 0 nHh 4 nHh n0( *gpC` n0( @0? n/( ,HyHnNn*Hn?<Bg?.N Rn`0.gNLp?N:TO`N^NuNVBn nl0.HAz0.Պ -@0.f n!| , nf n!| , nf n!| , nf n!| , nf n!| , nf n!| , nf n!| , nf n!|# , nf n!|+ , nB( 4 n!|3 0 nBh " nBh $ nBh 0.H n!@ N n0HyB nHhNPOBn nl*0.P @B(0.H @BhRn`Bn nl0.P @B(Rn`Rn`^N^NuNV/ p?N;TO0.HAz-P/.NnXXO nHh VNvXO=@/.Np~XO nBh "0.gBn nlV0.HGjN3`Sf60.HAl=Po ?.NTO0.HAjp0Rn` ng /.NrhXO/.NDXO/.N|XONIp ??.NsXO nB( 4 ngBg?.NmXO/.NpXOp??.NmXO09g n!|I 0p?N;TO` n1|" n1| HnNGXO0gf?./.HyYNe& /.HyyNcPOHyNcXO/.N#FXO n?NmZTOp? nHh VN\Op ??.NsXO/9NcXO/.NpPXO/.NXO/.N:XO/.NMXOp&_N^NuNV0.gp?/.N\O n 0 n 0np`B@N^NuNVp=@?9gBN9vTORyf-yl/.Hy yffp?`BgNG 0f-yp/.Hy yffp?`BgNG 0f-y`/.Hy yffp?`BgNG 0f yff?< HynD?9NPO @ f|-yd/.Hy yffp?`BgNG 0fJ yff N^0f6-yh/.Hy yffp?`BgNG 0fBn=yop?B?.N:PO?9gBN8RTO n 0.N^NuNV?9gBN9vTOSyff09o?9NTOBy09o?9NTOBy09o?9NTOBy09o?9NTOBy09o?9NTOBy?9gBN8RTON^NuNVN3`=@?9N9vTOBn nlL0.HAj0nf.0.HAl0.Pf0.HAjp0`Rn`?9N8RTO?.NTON^NuNV/ ?. /.N\O=@op?9N9vTOBn nlH0.HAj0l.0.HGjN3`60.HAl0`Rn`?9N8RTO0.&_N^NuNV/ /.NBXO=@op?9N9vTOBn nlH0.HAj0l.0.HGjN3`60.HAl0`Rn`?9N8RTO0.&_N^NuNV n BBn0.nl n0n.?< .\ n!@/?.NPO n0np` n hH@=@ nR nSP nf nBPp?B?.N:PO`Z n gr n f n R p Rn0.@f n fRn` n m8Rn n R 0.`" n B0.N^NuNV nBh Hy/.NXPO0gHyNcXO n h mHyNcXO/.NCxXO`HyNcXO/.Nɲ`N^NuNV n0(.f np1@.0. ynH n m@0. S@HAig*0. S@HC n0(.Qf n h lB@`pN^NuNV n!| 0Hy(NcXOBgp? nHh N/.NY =@m~0.gl0.yn0.S@HAifHyfNcXO`?./.NMx\O0g0.S@ n1@ `"?.Hy~Nc\O``/.NN`B@N^NuNVHyNcXOp=@0.yn?./.NMx\O0gp*`p =@ n0.S@h0fpD`0.=@0.@g 0.yfHy`Hy0.S@HAi-Hg/.`Hy?.?.HyNcRn`PN^NuNV09g@gHyNcXO np1@ *`Hy1NcXOB@N^NuNV n!|\ 0HybNcXOHymNcXOBn nl\0.HAz-P n0( g8 n0( $g."n n0Qg nHh n?( HyNc Rn`HyNcXOBgp? nHh N/.NY =@0.fp=@0.m nn?.HyNc\Op? n?NmXO n1n p=@Bn n0( (g0.fx0.fR?.HyNc\OBgpN? nHh N/.NY @f4Hy nHh NNPOp=@`Hy nHh NNPOBnHy nHh NNUPO0f/.NRXO`RHy nHh NNUPO0fHnBg/.NA ` nHh NNXO0g nHh N nHhHyHnNn*HnNXO=@Bn nl0.HAz-P n0( (g, n0( nf n0( $g?.Hn?.NmPORn` nBh p?N:TOp? n?NmXON^NuNVHnBg/.NA =@ n!| 0?.HyNc\OBgp? nHh N/.NY =@0.m0.nn n0.PfHyMNcXO` n2P0.Ёl-@ ng?.HykNc\O`|0.A߮0f ?.Hy`HyNcXOBgp2?Hn/.NY @g0HnNXO0g Hn nHhHy/.Nn*N^NuNV n09h̰Pf@ n0( *g09Xn yXf$ nBh "/.NgdXO np1@ "p`Bnp=@Bn nlZ0.PЮ-@ ng60.gHyJNcXO/.Hy[NcPO nBBnp=@Rn`0.gHycNcXO0.N^NuNV/. n0( Hi/ n0( R@? n?("HyfNcHyNcXON^NuNV nAm nZn 0.@ `0.N^NuNV nam nzn 0.@ `0.N^NuNV n fp`B@N^NuNV n0m n9o nam nfo nAm nFnp`B@N^NuNVH0*n(n H?NU"TO6H?NU"TOC=@ffB@` RR`0.L0N^NuNVH0*n(n Bng,H?NU"TO6H?NU"TOC=@fRR`0.L0N^NuNV/.NXOHЮ-@ nc* n (\g n (/g n (:gS` .N^NuNVBn0.nl0.RnH @ `Bn0.nl n H?NUHTO0gR ` n g0.RnH @ n 'g n "fR n (\gF n P0.S@H @RR n gD.H n HAf n (\g`$ n g n H?NUHTO0fR ` n P n R B.f0.N^NuNV/.HnNPOp?HnHnNV =@/./.NPOp=@0.nl4Hy/.N nPO0.H @/(/.N nPORn`0.N^NuNVpQ@ nfpY@0.fpN@.H?/. HyNc Bn0.f/.NozXO=@p=@?.NU"TO?HyN \O @bpH0@. PN`Bn-|`p=@-|`p=@-|` nf -|`p nf <` <-@`RBnp?/.Nf.\O`:/.NcXO0.N^NuNVBg?./. /.NY @fp`B/. HnNPOp?HnHnNV /./. NPO/. N XON^NuNV-n n=PBnBnBn0.l0.D@=@p=@Sn0.nlp`B@=@/.NozXO=@/.N\`XO n mt nllBn0.g0.g* n-g" n0m n9op??.NmXO`0.gp#?`?.?.NmXO nR0.Rn`V ng nfz0.gHBnp??.NmXOp ??.NmXOp??.NmXOSnS np `Rn0. @oP/9HyNcPOBn`4 n f$p ??.NmXO nB/. N XO`J ng nfp^??.NmXOpC??.NmXOp ??.NmXO nBpN^NuNV0. f/.N!XO`^Bn ngR0.g nH?NTTO n` nH?NU"TO np=@ n  fBnR`N^NuNV ng nH?NUHTO0fp`R`B@N^NuNV n0("=@ @xo nBh ` n0( "g n0( f.HyNcXO np1@ nl np1@"=@0.fZp? nHhN[\OHyNcXO nHhHyNcPO n?NmZTOp? nHh VN\O0.N^NuNV/ *n #g  fg  f  fR` `R` .*_N^NuNVH0*n(n >.c0o$RRSG`0S@0S@0o SSSG`L0N^NuNV?. Hy.Nc\ON^NuNV0.@f0.dH@0f0.H@0fp`B@N^NuNV=|0.n d?.N]TO@mn Rn`?. N]TO=@p=@0.nd&2.H0.ЁA0n Rn`0. R@H@N^NuNV0. H@=@0. @=@0. HH@=@0.gf0.@??.0.H@B@H@A/0.@??.?.N^ \OHA/Hy nHh NNn*`?. Hy nHh NNn* 0.g nHh NHyNcPON^NuNVH0.H>0oJ<nl>0G:0m00G??/. nNPO0o0G??/. nNPOG`RF`0`LN^NuNVH00. Ю*@0.Ю(@HHAfHl Hm NUPO` HHAL0N^NuNVH00. Ю*@0.Ю(@HHAg HHA`$0-lg 0,m`Hl Hm NUPOL0N^NuNVH00. Ю*@0.Ю(@HHAg HHA`$0-lg 0-l`Hl Hm NUPOL0N^NuNVH00. Ю*@0.Ю(@p?/ HnN]j p?/ / N]j p?Hn/ N]j L0N^NuNV nf -|`*` nf -|``-|_Hy`/. n/( N?. N_lN^NuNVHyNcXOHy/.NjPO=@ @g ng0. |>2<`XHXW PN`,Bn-|`p=@-|`p=@-| /.NcXO/. HyNcPO?.?./. /.Ni =@g n-h NBn0.nl0.R@HH@0f@HyGNcXO/.NozXO=@ @g ngp ?/.Nf.\O nHh HyWNcPO ngHy^`4 n (g$ n (?HyfNc\O`HylNcXO n?( n?(HytNcPO n-HRn`?.Hy{Nc\O`/9,HyNcPON^NuNV n f n Pp  nR n P0.  nR n PBN^NuNV009NHAz-P0A8-H4 n4B/.4p?HycHn /.Nf n00( (fp? n0Hh VN\O/.4NXO?/.4 n0?NmPO n00( (fp? n0Hh VN\ON^NuNV0A8-H4 n4B/.4p?HycHn/. NfBn0/.4NXO=@2o$?.2/.4?.NPOn2gp`B@=@00.0N^NuNVHy?.HysHn/. NfN^NuNV09NHAz-PA-HNi?NiD? nHhHy/.Nn* ngR`/.p?HycHn /.Nf/.Hyp?Nd 09oH@0@`g 0m 9oR`>. n 0L N^NuNV?9/. HyNc Bgp2? nHh N/.NY @fB@`\ n (? Nf/.NNXO`/.NXO=@f n=h.` n0(.n0.fHyNc`0.N^NuNVH0.HH@@H@B@H@,0.H@H@B@H@*0.@H@B@H@( oW` Spd//NnPO.pd//NPO,p/Hy/N.POT/NnPO-@Hy/N.PO&Hy:/N.POЃЮЄCLN^NuNV/?. NlHTO&?.NlHTO&N^NuNV?.N'TON^NuNV?.N'TO0fp?N:TO`N^NuNVH *n >.0SG0g$?.N'>TO0gH??.N#XO`L N^NuNV?. ?.N#XON^NuNV?. ?.N(XON^NuNV?.N&TO0g?.N%TO`pN^NuNV n;f*09hf9Ffp`B@F`By<` n<m nDn0.@;@3<` nTm nXn0.@T@@ ` n]f p3`P nYf p3g@p`6 nZf p3g@p`" n[f p3g@` n\f Byg@p3Xp??9N7XON^NuNV?.N'>TON^NuNV?. ?.N(XON^NuNV n0( (fp? nHh VN\O/.N\`XO n?NmTON^NuNV n?( /.NA<\O n=PBn?.N&TO0f/.N\`XO n0( (fp? nHh VN\O` n h< n0.fp=@HyNcXO` n0( l n0( $g nHhHy. <.0g?-?N~XOF F mt Fnn?0-F?0PmH?/ N: Rm0- @OoBmRU0 @op:?0-@ ??<?<Bg/ N` F f BmBU` F f,BmBU;|?0-@ ??<Bg/ N `b Ff0gX09hfPNL`H F fBm`< F gX Ff 0-g(Sm`" F f0-P@@;@ mOopO;@0g?-?N~XOL N^NuNVHy0.@H@B@H@/N.PO-@?9gN9vTOBg/.09=@?N:PO?</. ?.NPO @gp`B@=@?9gN8RTO0.N^NuNVp? n HhN[\OBg/. N[\OHy0.@H@B@H@/N.PO-@?9gN9vTOBg/.09=@?N:PO?</. ?.NPO @gp`B@=@?9gN8RTO0.N^NuNV?9gN9vTOHyp?B?9N:PO/NnPO=@?9gN8RTO0.N^NuNVBnBn0.f( n l n 0nf 0.R@=@RnT ` n l n 0nf n BPRnT `0.S@N^NuNVBnBn0.g, n l$ n 0fRn n 0`RnRnT ` n l n 0gRnRnT `0.N^NuNV/.?.?. /.0.HA PN N^NuNV n0( @=@ nf=|h`" nfpm` nf=|`p=@0.H//. NnPO=@0.N^NuNV0. HA0H-@Bg/.N[\O/.HyNcPO .?HyNc\OHn .ЮS/NhPO/HyNcPO .Ю//.NxDPO@;NcXOBn nl@/.No:XO @ g.p?/.Nf.\O/.NpPXOp?N:TORn`0.HA8/0. HAL/HyNNc N^NuNV0. gHy`HyHyWNcPO0. gHy`Hy/.NjPO?NU"TO?HyN \O=@0.lHy`0.HAL/NcXO0.N^NuNV n-h N n!| 0p=@ n=h Bg?<Hn0N PO9n"fHyNcXOBgp? nHh N/.NY =@ @g0.f n=h `Sn0.m 0.ܰymHyNcXO`0.Hi-@,"n0.HA0i.f/.,HyNcPO`P0.HAl"f /.,Hy&`Bg/.Nz|\O=@m . N-@,HyLNcXOp ?/.,/.NY` @g n,g/.,NVNPONiD=@RNi=@TBnZBn\0.HA=P^p=@`Hn0NXO?.?./.NyPO nHhHyNcPO nRh2/.NXO0.fp`B@N^NuNV n!| 0p=@Bg/.Nz|\O=@lB@`4p=@/. NV nHhNUPO0f-|,HyNcXOHyNcXO/.,/.NjPO?NU"TO?HyN \O=@lHyNcXO`0. @bH0@\ PN`HyNcXOp=@`HyNcXOp`0.`gHy`HyHyNcPO0.`fp`B@=@`Hn0?.NvN\O`rHyNcXOBgp2? nHh N/.NY @g@&n/.NXOk.=@^g$`HyNcXOBnZ`HyNcXOBgp?Hn>/.NY .>`/9NcXOBn nl\0.P @(pgJ0.P @Hhp0.PЮ/NPO0.P @HhpHy(NcPORn` nl"Hy,0.PЮ/NPORn`Bgp?/.NMPO0o*Bn nl>0.PЮ/0.P @HhpNPO0.P @(pgRn` nlR0.P @B(pRn`/9Hy-NcPOBgp? nHh N/.NY =@\m n\n~`Hy6NcXO n0( gHy 0g nHh N/.Nc|POHy_NcXO/.Noz`xp?Hyo/.NX@ @fBn^Hn0?.NvN\Op?Hn0?./.N> 0g nHh NN`Hn0HyNcPOBgp? nHh N/.NY n( Ng nHh NHn0NPOp?Hn0?./.N> 0` n0( g Hy`Hn?.NwH\O=@lTHn?.Nw\O=@HyNcXOHn?.NwH\O0lp ?HyNc`Hy`Hy3NcXO0.H @Bh`HnBgNw\O=@o$HnHn0/.N 0f=n `HyCNcXO&_N^NuNV/ -|c-|-|HyHy*/.p ?N_lBBnBnBn n l0.f&HyNcXO/.NcXO/.NcXO0.H @=Pg/. ?.Nu\O0gRn` n (&-@Ѯ n /(&/.NxDPO@;=@n?././. ?./.NcRn`/.NcXO?./.Hy?./.Nc?.HyNc\OBgHy/.NX@ =@0.fB@` nf/9>NcXO/.NTXOBnBn n lH0.H @=Pg/. ?.Nu\O0gRn`Bg/. ?./.N> 0g n0( g( n0("g&n n /(&/.NxDPOk"bBg nHh N/.NUr =@fBg nHh NNJ\O=@ot nHh N nHhHyCp?Nd nHh N nHhHySNe& /. ?.Nu\O n Rh*/. ?.NvN\O nRh4/.NXO?.NJLTO`0.fBgHys/.NUr /.NU6XO?.p?/.NyPOp`p&_N^NuNVNv=@ n0(znc nBhz n0.hzN^NuNV,Nv=@,f/9,/9NcPO` n0( gHytNcXO` n!| 0?.,HyNc\OBgp? nHh N/.NY =@. @g0..g0..n,cHyNcXO`Hn0?..Nu\O0fHn0 n?(./.Nh 0f?..HyNc\O`RBgBg n h mp?`BgHn0?../.Np?Hn0?../.N @fN^NuNVBn0.g BgHy /.NX@ =@ @f8p?/.?. /.N> 0g?. nHh N/.N 0.N^NuNV?9gN9vTOp=@ nl nfAn"-HfRn`0.HAl"-Hg/. nHh NNPO/. nHh NN nPOBg nHh NNJ\O=@op?B?.N:PO n!@&?.NJLTO?9gN8RTO ngp`B@=@0.f6/.?. Hy!Ne& 0.g/.?. Hy>Nc 0.N^NuNV n!|` 0p1?/. HnN  HnNVHz*@El:0fRGT`| Flj0HA0Pg3@0HFR@`HRF`BGB@Hz*@y@l*0fRGT`| Fl0HA0PfRF`B@L N^NuNVHyDNcXO?9gDN9vTO09z@=@Ryx09x=@Bg0.Rn?NRXOBn nl0.H @ BPRn` n 1n n Bh$Ni n 1@(NiD n 1@& n Bh, n 1nt n-h N . -@=|dBnBnBn0.nl@0.P @-Hg(/.NXOR@=@0.Sn0g nR"nRp=@Snf n0( g$09B@??9@HyQ/.Nf NX=@fBg0.Rn?NRXO`0.H @ 00.@HH@B@H@Cz0.@@H@B@H@A0F@QBn0.gHn?.N\ORnA-H=|Bg?<HnN PO`Rn`0.g nl n0( g$09B@??9@Hyy/.Nf NX=@fBg0.Rn?NRXO`0.H @ 00.@HH@B@H@Cz0.@@H@B@H@A0F@Q0.gHn?.N\O n =P/. ?.N\O0.@H@B@H@Az0N?9gDN8RTO n HhV n Hh. n HhB?.Hyp ?Nd?.HyNc\OpN^NuNVBnBn . N-@0. fHy/.NPO`~Bn nlD"N0.HA0n gp`B@@gRn0.f 0.R@=@Rn`p=@ nl6 N(g$ N(g N(g Np-@Rn`Bn nl N (-f nRp- N (-fXRn` N(gF0.R@?Hy/.Nn* R ngR N (-g nRp,Rn`p n (,fS nB0.g6 noHy`0.S@Hi/Hy/.Nn* 0.g nHh NHyNcPON^NuNVBn n-P nH?NUHTO0gR` nH=@ @0m& n9n0. =@0.@0nR` n 0.N^NuNV . N-@Bn ngHnNdXO=@=@ n -fRHnNdXO=@ nmf nn^ nmV nnN0.nmD0.nn0.S@HA0nRn` n  g n ,fR`X0.N^NuNV?9gDN9vTO=yx=yz?9gDN8RTO n0(,nc nBh, n0(,nc n=h,0.ncB@`0.n=@ nd0.`0<N^NuNV nBP0. g n h*g n0( ngB@` "n n0(.i"g n h l n h*g nHh. nHhNUPO0fp`B@=@g:/.?. N\O np1@, n0.h f/.?. N\O`& nHhB nHhNUPO0fp`B@=@ n h*fp=@0.f n h*f n h m n h*f n h m n0pN^NuNV nB0.gb?. HyHnNn* ?9N9vTOHnNKtXO=@ l?9N8RTOHnHy`PBn-| `p=@ n=P -|m n=ht .-@ n f n(H?NU"TO @ fp n(gf .T n Bg n/NJ\O=@l nB`,p?B?.N:PO=@?.NJLTOSn nRfBn0.gF nHhV nHh. n0(,gp*`p ? nHhB?. Hy Hn"Nn*` n?(( n?(& n0(*HA /?. Hy'Hn"Nn*Hn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\O nHhBHyAHn"Nn* Hn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\O n0(,gHy``Hyd nHh.HyOHn"Nn*Hn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\O nHhVHyeHn"Nn* Hn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\OHysHn"Nn*POHn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\OBgp?"n n0("i.?/.N nHh NHyHn"Nn* Hn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\O n=h$g noHy`Hy?. noHy`HyHyHn"Nn*Hn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\O0.f0.Sn0o-npP=@0.Sn0g nRf0.g/.HyHn"Nn* Hn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\O-n0.fX/.No:XO=@ @g n g ng nfp`B@=@`HyHn"Nn*POHn"NXO?Hn"?. n NPO0.g n0( (fp? nHh VN\O0.f" n g?. n/HyNc 0.fR0.fL n?NmFTO0f:/.No:XO=@ @g n g ng nfp`B@=@`0.g$/.Np~XO ng nfp`8p`40.g,?. NJLTO?9N8RTOHnHyNcPOB@N^NuNV/ n-h N?9gDN9vTO=yx=yz?9gDN8RTO n h mp`B@=@0.f Hy` 0.f0. g n0(,R@=@nc Hy` b0. fv n=h,g?.Hy6Nc\O`=n?.?.?.HyMNc Bgp? nHh N/.NY =@ @g 0.g=n0.nd=nHy/.NkPO=@g HyNcXOp?Bg?./.N p?Hy/.NX@ =@=@ @g v0.f$p?Hy/.NX@ =@ @g LBgHy/.NX@ =@ @g *HyNcXOBnB@=@=@/.No:XO=@ @g ng /.N\`XORn0. @oHy8NcXOBn?9gDN9vTO=yx=yz0.nd=n0.nc?9gDN8RTOHy=` h?.Hy\HnNn* nC!I 0p??./.NdPO=@Hn/.?.?./.N.=@?9gDN8RTO n0.h,c n1n,0.g0.f0.f n0("nfRn`Bn=np=@0.gRBn?9gDN9vTO?.?./.NdPO?9gDN8RTO n0.h gHykNcXO n h o n h*fxp?Hy/.NX@ =@ ng nfH?9gDN9vTOp??.NRXO?9gDN8RTO`p=@=@Bn n=h.?.?.HyNcPOBgp? nHh N/.NY =@0.ne0.ncb`x nfD`jHnBg?./.?./.Nj=@mB0.fBn n (#Vf nHhWN XO=@0.f 0.g 0.gp`B@=@0.g@Bn0.gHy`Hy0.gHy`HyHyNc n0( oHyNcXOHyNcXO0.gHyNcXO0.f0.g n h*gHyNcXOHyNcXO0.gHyNcXO0.g2 n h*n& n0(*gHy`HyHyNcPO .gHyNcXOBn0.fHy/.NjPO?NU"TO=@p=@0. |2<`XHXW PN` .fp?/.Nf.\O`Bg/./.N Hy+NcXOp=@`r nXgHy-NcXO0.g 0.@=@0.f0.fBnBn`0Hy2NcXOBgp? nHh N/.NY =@ @g0.f p=@`0.g6?9gDN9vTOp??./.NdPO=@Hn/.?.?./.N.=@0.f:p??./.NdPO=@Hn/.?.?./.N.=@?9gDN8RTO0.gF0.f( nPfHy``HyjHyFNcPO`$ nPfHykNcXO0.f=n0.@=@` n0( o,HytNcXO nHhVN].XO/?.Hyz nHh NNn* nB( k n0(*g n h*gp?`Bg n?(" nHh N nHhBp?/.N(0gH?9gDN9vTO/.?.N\O nRh$ n0.h f/.?.N\OBg?./.NdPO0gp`B@=@?9gDN8RTO`Hy`D0.gHyNcXOBn`.0.f0.g n h*gHyNcXO n h m(p?Hy/.NX@ =@0.f`J?9gDN9vTO/.?.N\O n0.h f< n h m np1@*p??.NRXO` np1@*/.?.N\O`0.gp=@ n0( R@?HyNc\OBgp2? nHh N/.NY @g&n/.NXOk.=@f"n0) HA=P?9gDN9vTO/.?.N\O n1n" n0.h g8Bn`6Bnp?/.Nf.\O`0.g n h*np=@ n0(*gHy`HyHyNcPO?9gDN9vTO/.?.N\O n0(*gB@`p n1@* n0.h f^`0.gZHyNcXOp=@Hnp?Bg/.?./.Nj`60.g.HyNcXOB@&_N^NuNVBg?<HnN PO0. f n!| 0`" n f n!| 0` n!|! 0 nHhHnBNPOHy4Hn.NPOHy8HnVNPOBn*"n0) HA=P" n fJ/.Hn.NPO/.HnVNPO n0(.n=@"f"n0) HA=P" n op=@*Hy=Hn.NPO0. g n oB@`p=@HyCNcXO0.f nHhHyENcPO n o Hn.HyS`hHyaNcXOBgp? nHh N/.NY @fB@` nHh NNXO0g nHh NHn.N`Hn.HymNcPOHyzNcXOBgp? nHh N/.NY @g nHh NNXO0g nHh NHnVN`HnVHyNcPO n o*HyNcXOp?Bg?."/.N `L n0( R@? n h lHy`HyHyNc Bgp2? nHh N/.NY =@ @g n (? Nf/.NNXO` n h l~0.f n0( R@=@ nm noHyNc`0.S@HC n0(.Qf?.HyNc\O`0.S@HA=P"`H/.NXO=@"f"n0) HA=P"` n0(.n"0."f Hy`fBn n nBn*p?HnBN[\Op?Hn.N[\OHy Hn.N 4PO0f$HyHn.NPO n h mp=@*HnBHyNcPOHn.Hy)NcPOHnVHy7NcPOHyENcXOp?p??."/.N n*fHyQNcXO`N n oHyt`0.gp?`BgHy/.NX@ =@ @g0.gp`B@=@*p?Hy/.NX@ =@ @g0.gHyNcXOp? n0( gpc`p ?/.NMPO=@nHyNcXO`: n0( f 0.*fp=@*?.Hn/.N N^NuNV n!| 0Bgp?Bg/.N* N^NuNV n!| 0BgBgBg/.N* N^NuNV n!| 0p?BgBg/.N* N^NuNV n!| 0BgBgp?/.N* N^NuNV n!| 0 n0( o6Bg n0( HA?HyHyBg/.N(`HyNcXOB@N^NuNVHy6NcXO?9gDN9vTOBnBn0.yBl60.@HC0.@HAz0QfRnRn`BnBn nl0.HAz0gRnRn`=yx=yz?9gDN8RTOHyNNcXO?.HyYNc\O?.HypNc\O?.?9B?.HyNc N^NuNV n!| 0 n-h N?9gDN9vTO=yx=yz?9gDN8RTO n0(,R@=@ncHyNcXO`>0.nd=nBn nl80.H$@0.H"@0.H @BhB@3@5@Rn`BnHyNcXORn0. @oHyNcXOBn?9gDN9vTO=yx=yz0.nd=n0.nc?9gDN8RTOHyNcXOBn0.yl0.R@?HyNc\ORn`HyNcXOBn0.ynHyNcXORn`HyNcXOBnBn0.yl80.H @?(Hy)Nc\O0.H @0(nRn`?.Hy-Nc\OBnBn0.yl80.H @?(Hy;Nc\O0.H @0(nRn`?.Hy?Nc\OBnBn0.yl80.H @?(HyMNc\O0.H @0(nRn`?.HyQNc\O`?.HyW nHh NNn* . N n!@ 0p??./.NdPO0gz n?("NzTO=@0.H @Rh nHh. nHhNUPO0f0.H @RhHyh nHh.NUPO0f0.H @Rh?9gDN8RTORn`,N^NuNVBn nl0.@f Rn` nfp`0.N^NuNV n-h N n!|l 0?9gDN9vTOBg?. /.NdPO=@?9gDN8RTO0.g0 n0. h f"HnBgBg/.?. /.Njp`B@N^NuNV n/( ,HyxNcPO n!| 0p=@0.Sn0g n?NmZTO/.NpPXOHyNcXO/.N~XO0g np1@ n1@ n1@ n1@ " nBh nBh nBh /.NXOHyNcXO`0HyNcXO n?NmZTOp? nHh VN\ON^NuNV n!| 0BgHy/.NX@ =@ @gH0.g6Bg n0( HA?HyHyp?/.N(/.NɲXON^NuNV n!| 0 n0( &@;?Hy%Nc\OHyhHy=NcPO n?NmZTOp? nHh VN\ON^NuNV n0( HA/ nHhHyhHy]Nc n0(*g n?(&NiD?NmXO=@ n?(*HyzNc\O0.o?.HyNc\OHyNcXOp?p? n?(&/.N^ HyNcXO n?((/.N]\O`HyNcXO n=h"0.<NcXOBgp? .X-@//.NY /.N\.XO0gHy^NcXOBgp ? .^-@//.NY /.N\.XO0gHy~NcXOBgp? .j-@//.NY /.N\.XO0g?9nBN9vTO/.NXO=@0.mN.?9nBN8RTO0.l"?.HyNe&\OHyNcXO` np1@ $ nHhHyNe&PO np1@ "pN^NuNVp?/. N[\OHyNcXO/. HyNcPO n 0(HA/Hy,NcPO n Hh4HyCNcPO n HhHHyZNcPO n HhXHyqNcPO n Hh^HyNcPO n HhjHyNcPO0.g n Hh`HyHyNcPOBgBg n ?(,/.N nHh NHyNcPO n ?("HyNc\O n ?(*HyNc\O n ?(xHyNc\O n 0(.Hi/ n 0(.R@?Hy0Nc n ?(0HyLNc\O n ?(2HycNc\O n ?((HyzNc\O n ?(& n ?($HyNcPOBgBg n ?(z/.N nHh NHyNcPON^NuNV n!| 0 n0( $gBn0.fBg nHhN[\Op? nHh/.N HyNcXOHy/.NjPO?HyN \OJ@g @gHyNcXORn`|?9HyNc\OBgp? nHh N/.NY =@ @g0.oD0.yn8?./.NMx\O0g$0.S@ n1@0?.Hy$Nc\O`0.o0.yn ?.Hy<`Hy_NcXO`HyxNcXOBgp ? nHh N/.NY @g n( NfHy` nHh N nHhNPO`jN^NuNVBn nlr0.Ռ-@/./.NUPO0fFNB=@?</./.N* ?.NPTO n0(" n1@" n1@ `Rn`N^NuNVT/ BnX-|^Al-HhN=@?.HyNc\O0. f:HyNcXOBgp? nHh N/.NY =@ @f` Hy n/NUPO0fp=@X nB( N`r n/ nHh NNPOp=@0.n lNcXO?9nBN9vTO0.dgBHyU/.hNjPO=@m*/.hNXO/.h0.HAnF?Nh\OBnd?9nBN8RTO0.l /.^NcXO&_N^NuNV n=Pg~n .T-@p?/.N[\OHyC?.Nd\O/.HyG?.Nd n0(HA/HyT?.Nd nHh4Hyb?.Nd nHhHHyq?.Nd nHhXHy~?.Nd nHh^Hy?.Nd nHhjHy?.Nd nHhHy?.Nd BgBg n?(,/.N nHh NHy?.Nd n?("Hy?.NdPO n?(*Hy?.NdPO n?(xHy?.NdPO n0(.Hi/ n0(.R@?Hy ?.Nd n?(0Hy%?.NdPO n?(2Hy6?.NdPO n?((HyI?.NdPO n?(& n?($Hy^?.Nd BgBg n?(z/.N nHh NHys?.Nd N^NuNVhAl-HhHyNcXOBgp? nHh N/.NY @g8 n( Nfp`B@=@BnBn0.f~?9nBN9vTOHyU nHh NNjPO=@0.oB/.h0.S@HAnF?N\O0f/.h nHh NNUPO0fSn`?9nBN8RTOHyNcXOHyNcXO?9nBN9vTO=ynD/.h0.RnHAnF?N\O0.nop=@0.f/.h nHh NNUPO0gp=@?9nBN8RTO0.mp?/.hN[\Op? nhHhHN[\OBg nhHhXN[\O/.hHyPNcPO nh0(HA/HyWNcPO nhHhHHy]NcPO nhHhXHycNcPO nh?(& nh?($HyhNcPO nh?((HyoNc\ORnp?/.Nj\O0g?.HysNc\ON^NuNV/. nHhNUPO0fp`B@N^NuNVp?/. nHh 4N  N^NuNV0. fRn NH H@R@N^NuNV/ &nNiDk&fp`B@&_N^NuNV0. o n" l0. < n1@" n0("N^NuNV0. <=@ n0("n o n0. h" n0("N^NuNV?. /.NDz\O0f ?. nHhHyNe& B@`pN^NuNV/. HyANcPOBgp?Hn/.NY =@HyDNcXO0.N^NuNV n0( N^NuNVBg/. /.N =@HyFNcXO0.N^NuNV/. /.N*PO=@HyHNcXO0.N^NuNV/. /.N^POHyJNcXON^NuNV=|% n0gD n0( @ |2<`XHXW PN`=|,`=|`=| ``=|%0.N^NuNV-n Hnp?/.N. N^NuNV n m& n n0. S@HC n0(|QfB@`pN^NuNV n m$ n n0. S@HA0 nh| n0(|N^NuNV n m& n n0. S@HA0F@ nh| n0(|N^NuNV n m& n n0. S@HC n0(.QfB@`pN^NuNV n m$ n n0. S@HA0 nh. n0(.N^NuNV n m& n n0. S@HA0F@ nh. n0(.N^NuNVBg/. /.ND 0l/. HyLNe&POB@`pN^NuNV/. nHhHy`Ne& N^NuNV/. HyhNcPO/.NpPXO/.NozXO=@HylNcXO ng nfp`B@N^NuNV?. NU"TON^NuNV?. NTTON^NuNVBgHn NkH\O@HH=@BgHn NkH\O@?HnBgHn NkH\O@HH=@BgHn NkH\O@?HnNi=@0.ne 0.ncB@`pN^NuNVp?Hn NkH\O@H=@p?Hn NkH\O@npP?Hn NkH\O=@ nPl 0.@`0.@l=@0.@@HHn n0.h&dB@`PBgHn NkH\O@HH=@BgHn NkH\O@?Hn n0.h&f n0.h(epN^NuNVp?Hn NkH\O@H=@p?Hn NkH\O@npP?Hn NkH\O=@ nPl 0.@`0.@l=@0.@@HHnNiDngB@`pN^NuNVp=@0.g/. /.NTPOBn/.NozXO=@ n fp?=@/.NSXO0f?./.N\O0fp?/.Nf.\O`?.NU"TON^NuNV/.Hyn/. Nff B@N^NuNV/.NozXO?NU"TO=@/.NSXO0gBn`&?./. N\O0fp?/.Nf.\O`0.N^NuNV n=h o ?.NJLTO n f np1@ `*Bg/. NJ\O n1@ l/. HyrN~PO/. nHh NPO nB n0( o n?( NJLTO nBh N^NuNV n0( lHyN~XO?9N9vTO-n nBBnBn . -@ nOlJ ng@ n0nBg nHh NJ\O=@0.o| n ( lp?B` Bg n/( ?.N:PO?< .\ n!@/?.NPO n0p?B?.N:PO n!@ ?.NJLTO n0np=@ n hH@=@ nR nSP nf nBP np!@ `Z n g n f nRp Rn0.@f n fRn` n mRn nR0.` nB?9N8RTO nfp` /. NXON^NuNV?9N9vTOBg/. NJ\O=@o ?.NJLTO?9N8RTO0.op`B@N^NuNV/. NXO0fp`B@N^NuNVNiDN^NuNV/?.NlHTO&?. NlHTO&N^NuNV?9nBN9vTOHyU/. NjPO=@?9nBN8RTO0.mp`B@N^NuNV n=PBg/. NJ\O=@lp`Bn0.f|?< n/( N?.NPO=@o^?. n/( N?.NmPO0.f?.NmFTO0f0.g"/.No:XO=@ @g nfp`B@=@`0.g /.NpPXO?.NJLTOpN^NuNV?. NU"TO=@ ng" nH?NU"TOn fp`R`B@N^NuNV/. 9k&H@A?HyHnNn*HnN!XO n0H/NvXO0gp`HnNXO0fNB@N^NuNV9k&H@A?HyHnNn* BgHn/.ND N^NuNVNLN^NuNV/ 9f(Ni6NiD49@H@B@H@?BgП#Hy@-/9NZPOR# 9&N^NuNVHyNcXO?.?.?.?.?. /.Nc09NP/HyNcPOp?09NH/N\ON^NuNV0.HCZ0.HAh bHyN~XO0.HCZ QT0 N^NuNV0.HCZ0.HAgfHyN~XO0.HCZU Q0N^NuNVH Bg/.NJ\O=@lp`/.09N=@P/NPO0. -@p ?/.?.NPO @ g?.NJLTOHyN~XO n Mft n (Cfh n (Lf\ n (3fP n?(NTO n1@m6 n hl* n?(NTO n1@ @m n hm?.NJLTOHyN~XO n?(NTO n1@ @ g?.NJLTOHy-N~XO n6(K n0(H?0.H>-@/?.NPOCg?.NJLTOHyIN~XO n=h0.Sn0o n?NTO n0T`?< 0.HgF*@/?.NPO @ fp`B@=@g?.NJLTOHybN~XO?.NJLTOBn n0.hl(2.H0.HЁAW> fRn`0.HAZ0.Hg 0.HAPBPB@L N^NuNVBn0. lf0. D@=@ n m0. A0. Pm?. HywN~\O2. H0.HЁAW>-Pp=@`N n l&pP=@2. P0.ЁL-@` 0. @ @'bH0@ PN`0.-@p`0. `-|g@`0.-@p``0.߬`|0.$`j0.&`X0.պ`F0.4`40.վ`"0.`0.,`0.հ`0.`0.ն`0.6`0.ղ`0.ժ`0.8`0.Պ`n0.մ`\0.ՠ-@p `0.-@p`0.լ`0.ո`0.-@p`0.ծ`0.߾`60.2`0.ռ`0.Ռ`0.-@p `P0. `l0. `Z0.`H0.`60.`$0.`0.`0.<`?. HyN~\O n 0 .N^NuNVh09N=@HAz-P0.P n!@ 0Bnp=@ n0( m n h o nBh 0.m0. A0.Pm?.HyN~\O n0( (fp? nHh VN\O/.N\`XO2.RnH0.HЁA>=P0.@=@n?0.S@ @>bH0@D PN`6?.NFTO=@?.NFTO=@0.n??.NXO`?.NFTO=@?.NFTO=@0.n`?.NFTO=@0.F@`?.NFTO=@?.NFTO=@0.fHyN~XO0.H`l?.NFTO=@?.NFTO=@0.nfp`?`J0.m nCl0.A Pg?.HyN~\O/.0.A P-HhNXO??.NXO0.P n!@ 0`0.m nCl0.A Pg?.HyN~\O?.NFTO?/.0.A P-HhN\O`t0.m nCl0.A Pg?.Hy9N~\OHn2.RnH0.HЁA>??.N HPO-@/./.0.A P-HhNPO`2.RnH0.HЁA>=P2.RnH0.HЁA>=P0.m nCl0.A Pg?.HyTN~\OHn?.?.N HPO-@Hn?.?.N HPO-@/././.0.A P-HhN `2.H0.HЁA>=P`?.NFTO0gRn`0.g 2Sn0.H @=h`0.H @0.R@1@Rn0. @m~HypN~XO`l?.NFTO``?.NFTO?HyNc\O`@Hn?.?.N HPO-@/.HyNcPO`0.m nCl0.A P$g?.HyN~\O/.0.A P-HhN`0.m nCl0.A P%g?.HyN~\O?.NFTO?/.0.A P-HhN\O`f0.m nCl0.A P&g?.HyN~\OHn2.RnH0.HЁA>??.N HPO-@/./.0.A P-HhNPO`2.RnH0.HЁA>=P2.RnH0.HЁA>=P0.m nCl0.A P'g?.HyN~\OHn?.?.N HPO-@Hn?.?.N HPO-@/././.0.A P-HhN `0.l?.HyN~\O`8 nl0.H @=h`Hn?.?.N HPO @=P?.`?.`~?.NFTO=@?.NFTO=@?.?.NXO`?.NFTO=@Rn0.`.?.NFTO=@Sn`Hn?.?.N HPO-@/.NV??.N HPO-@Hn?.?.N HPO-@/./.NUPO`Hn2.RnH0.HЁA>??.N HPO-@Hn?.?.N HPO-@/.NXO=@0.nl0n"nRRn`0.S@0@B`fHn?.?.N HPO-@/.N XO`2Hn?.?.N HPO-@ nH@` Hn?.?.N HPO/N!`Hn?.?.N HPO/N!p`Hn2.RnH0.HЁA>??.N HPO-@Hn?.?.N HPO-@?.NFTO=@0.lHy4N~XO/.NXOn=@?.0.HЮ/`Hn2.RnH0.HЁA>??.N HPO-@Hn?.?.N HPO-@?.NFTO=@0.lHyRN~XO?././.N  0.nl0n`2Hn?.?.N HPO-@/.N`8?.NFTO?HyoHn?.?.N HPO/Nn*`?.NFTO?Hyr`Hn?.?.N HPO-@/.HyuNcPOBn?.NFTO=@lp=@0.D@=@0.g nOoHyxN~XO?.0.R@?Hnl/.NY =@Hn2.RnH0.HЁA>??.N HPO-@?.Hnl/.N  `Hn?.?.N HPO-@ nPgHyN~XO/./.NPO=@`v0.m nCl0.A P?g?.HyN~\O?.NFTO=@?.NFTO=@?.?.`?.?.HyN~`|N^NuNVH *n~gRGR`0L N^NuNVH0*n(n fL0N^NuNV?./. /.N]j 0.S@0@BN^NuNVH0*n(n HHA=@ffB@` RR`0.L0N^NuNVH0*n(n gR`fL0N^NuNVH *n~  fR` 0m 9n0 >H@0@`0L N^NuNVBn ng nRHn f0.`Rn`pN^NuNVH8*n(n &nfSfL8N^NuNVp=@ n g n R H?/.N \O=@m0.lB@`pN^NuNV/ *ng Am Zn R` .*_N^NuNV/ *ng am zn R` .*_N^NuNV/.NXOHЮS-@ ne" n \g n /g n :fp`B@N^NuNV ng n .gR` .N^NuNVBg/.N[\O/.NXO @m n (:f n Am n PoN` nH@AN^NuNV/. Hy NcPON^NuNV0. HC n0(.QgB@`0. R@?HyNc\OpN^NuNVNiD=@Ni=@Hy7NcXOp?p??./.N^ ?.HyBNc\ON^NuNVHyONcXO/9l?9HyfNc /9`?9HyNc /9d?9HyNc /9h?9HyNc Bn0.yl60.Hl"/0.Hi/HyNc Rn`Hyn"HyNcPOHyNcXOBgp? nHh N/.NY Hyl nHh NNUPO0f /.N$vXON^NuNV-|!/.Hy1NcPOBg/.NXOR@? nHh N/.NY /. nHh NNUPO0fp3HyTNcXON^NuNV0. g n gHy/.N"PO` n-PHnHnHnN ?.HnNkH\O=@?.HnNkH\O=@0.HdH@?HnNkH\O=@ nPl 0.@`0.@l??.?.Nd\O0gHyNcXO/.N"XON^NuNV0. gl n gHy/.N"PO`\ n-PBgHnNkH\O=@BgHnNkH\O=@Bg?.?.N\O0gHyNcXO/.N"XON^NuNV09n Hy`HyNcXOBBn0.f?9N9vTOp?B?9N:PO-@Bg/.?9N:PO?< n/( N?9NPO=@p?B?9N:PO-@Bg/.?9N:PO?9N8RTO0.of n-h N0.fP0.oH nPl?.`pP?/. n?NmPOnP nP-Hp?/.Nj\O=@`0.g /.Np~XO n h m| .gvBgHy /.NX@ @fZ?9N9vTO?9NJLTO/9lNBXO3?9N8RTO09l/9lHy$NcPO .fHy8NcXON^NuNV n H?NU"TO?HyRN \O=@l/. HyXNcPO0.N^NuNV n gHyj/.N"`b n/(/.N(4PO=@mH nfHyNcXO`. n-PBg/.N[\OBg/.NJ\O=@o/.NY .>f HnHn>`Hn>HnNPO0.gNiD` n,0(=@R0.gNi` n,0(=@T n,-hVBnZBn`?./9HyNc Bgp? nHh N/.NY =@\ @gJ n( Nf=n\=n\0.\m n\nHy$NcXOp?p??. /.N Hy/NcXOBgp2? nHh N/.NY @g/.NXO=@^f=n ^`=n^ Bn nl$Hy?0.P @HhpNPORn`Hy@NcXOBgpP?Hnp/.NY @gNHn0NXO=@ fHyONcXO`?. Hn0HygNc Sn n,-H,`lN^NuNVj n gHy~/.N"PO`` n-h Njp1? n/HnN  HnN!XO0gHyęHnN nPOp1? n/(HnnN  HnnN!XO0fHyĝNcXO`BgBgHn/.Ni =@f/9,HyĿNc`J n/N":XO@ n/(N":XO@0.=@ n0.HШ N-@0< n=@ nl.H.HAg Hy`R.H.HAg?.HyNc\O0.gp1? n/HnN  p1? n/(HnnN  njHh HnNV n -@/N!XO0gHyƱ/.N nPOHyƷ/.N"XO/NPOBgBg/./.Ni =@f/9,HyƼNc` n-h N/.NVNcXO/.NTXOBnBn0.f0.n l0.H @/N!XO-@p??/.N \O0lp*?/.N \O0mRn`Bg/./.NUr =@f nRh4/.NXO/. nHhHy/.Hy5Nc Rn`Hy@NcXOB@N^NuNV@ nRh 0( @n/.N"XOBn0.f n!|B 0 n0( @0@n n h oHy\`Hy_HyNNcPOBgpNcPO0.f. nHh . N-@//.NOr @g0.f n /g n *f n(H?NU"TO@ @Sfp=@ nB`: .Ff2 n h m& np np @Bg nHhN[\O`j .Lfb n h mV nB( nRBRBg/.N[\OBg/.NJ\O=@lBn/.HyANcPOSn `> nf(HyT/.NPO0.fRn0. @o`dBn0.S@=@0.n m,0.S@PЮ/0.PЮ/NPOSn`/.0. S@PЮ/NPO`0.S@=@0.m60.P @-Hg n  f n(f nBSn`0.g?.NJLTOBn0.N^NuNV n-h NBn0.g@Bn0.n n0.P @BRn`?. p?Bg/.NJ* =@0. P @BBn0.n l0.P @gRn`0.fBn0.n l0.P @gRn`?.HyVNc\OHy˕/.NjPOH?HyˎN \O @bH0@l PN`?./.NH \O`t?. ?./.NHPO`\?./.NI`?. Bg?./.NJ* =@`,Hy˜NcXOB@`JHyˣNcXOp`Hy˪NcXOBn0.n l0.P @gRn`0.N^NuNV-n n=PBn nB ng Rn nRH??.NmXO` nKm nB0.o n ( g SnS`0.g. .S-@0.S@=@0.m n  f SSn`0.gn0.oh nB( nB(/./.NPO=n nKnp??.NmXORn`=n nKnp ??.NmXORn`p ??.NmXOp`j/.NozXO=@/.N\`XO n m. nl&?.?.NmXO nR0.Rn` n f4 nFl, nRp ??.NmXORn0.@f` ng nf^0.gDp??.NmXOp ??.NmXOp??.NmXOSnS np `0p??.NmXO` n fp ??.NmXO nBB@`J ng nfp^??.NmXOpC??.NmXOp ??.NmXO nBpN^NuNV n=P0.gh n!|ˬ 0p??.NmXO/.Hy˷NcPOpx?/.NA<\O?.NmTO=@ @f n0( o n0( (f n0( (fp`. nfp` HyNcXOp??.NmXOBn0.f?< n ( N-@/?. NPO=@on0.o0.f no?<`?./.?.NmPO?.NmTO=@ @g ng nfp=@n n-H`p??.NmXOp??.NmXO`> n!| 0 n0( (g?.NmFTO0fp?N:TO`p??.NmXOHyNcXO n-h NBnpx?/.NA<\O n0( o n0( (g?.NmTO=@ @g n0( (gh ngl nR0.Rn n g nf`p??.NmXO?. n/( N?. NPOngp??.NmXOp`*p??.NmXOBn n-h N nf&B@N^NuNV n0( (g n?NmFTO0fp?N:TO`Bg n?NmXO n0( @@? n?No"XOp?N:TON^NuNVp? n?NmXO n?( n?No"XOp?N:TON^NuNVBg?< n ( N-@/N PO n g0.g=n/. NV n T 0HH@`$p =@.g8 n -PX .l .D-@0.Rn0@p-@-n` n T =P0.l0.D@=@0.Rn0@p-@=n` n T =P`p=@-|.g n -PX `xp =@.fP`p=@-|.f` n -P nPg& .am .zn.H@ nR`ps@ n -P`nB. .Hf0.=@0.  H@@0@0. H@@0@p:@0.<0.fR.g .gp0.//.NPO=@0.l0.n0.Rn0@2nψQ n fp0.//.NnPO-@`0.HT@".-A .`z0.g>0.H@=@0.Rn0@2nψQp0.€=@`0.Sn0g2.f N(g0.Rn0@"Nip@`.f0.Rn0@p0@ NB(/.Nf0.g8 nf.H?Hn nN\O`.H??. nNXOSn`0.o.g0.Sn0g nfp ?Hn nN\O`p ??. nNXO`N^NuNV nB/.p?Hyf\Hn/. NfN^NuNV/ n!| 0 n=P0.PAFB0.HA0,0.HE0.HC0.HABPB@240.g0nk'H=@0.@g0.HA00.@g0.HA0 `0.@g0.HA0%0.S@k,/ $-@/NPO ng n ,gR` ng nRB0.HGHnHyNUPO0fp`B@6g0.HG/.N XO60.HA0g?.NpTO` /.N|XO&_N^NuNVHy?.Nd\O0.HA??.NuXOBg?.N{XOp ??.N#XOp2??.N{XOHyϚ?.Nt4\O?.NuTO0.HA>BPN^NuNV n!|2 0 n=P0.HA0f/.N|lXO`|09fr n/( ,/9?.Nd 0.HABPBn09f nplp?/.NA<\O09f" n0( oHn?.Nv\O0o`0.HA0g.HyC?.Nd\O n/( ,/9?.Nd 0.HABPRn`X09f?.HyV?.NdPO0.HC0.HA60Qg,0.HA??.NuXOBg?.N{XO?.NuTO0g?.NpTO`N^NuNV n!|m 0 n=PBg?.NmXO0.HA0f/.N~XO` ?.NrTON^NuNV09fd?.NmZTOBg?.N{XOp??.N{XOp ??.N#XOBg?.N'XOp =@0.Sn0gp ?N{TO?.NoTO0fp??.N'XOp ?N{TO?.NoTO0gp=@0.Rn0gpBg?.N{XOHyy?.Nt4\O?.NoTO0g@Hy}?.Nt4\O?.NoTO0g noHyЃ?.Nd\O`0.HA??.NuXO?.NuTO0.HA>BPN^NuNV0.HAz-PHyЧ?.Nd\O/. ?.Nt\Op?/.NA<\O n0( o"?.NzTO=@0.mp2?N{TO0.N^NuNV n g> n H??.NsXO n R H??.N#XOp?N{TO`N^NuNV0.HA0. Pc0.HA=P 0. |V2<`XHXW PN`6=y`,=y`"=y`=y`=y=|, 0.HA60 0.A 0.0??.No"XON^NuNVp=@0.Sn0gHyв?.Nt4\O0mB@`Hyж?.Nd\OpN^NuNV?.NoTO0f(0.HA> Pf0.HA>BP?.NzTO=@0.m0.HAz-P?.?.NxXXOR@ @bH0@t PN`0.HABP0.HA>BPp?/.NA<\O n0( o0?.NoTO0gpd?N{TO0.HA>p00.HA>0f$ n pp0`0.HABP0.HA>BP` nf n pi0p?/.NA<\OHy?.Nd\O0.HC0.HARP0Qm\0.HABPp??.N{XOHy?.Nd\OHy?.Nt\O0.HA>p`0.HA?0.HA?Hy?.Nd 0.HA>0N^NuNVp=@-|0. @bH0@ PN`p=@=|,`p=@=|`p=@=|X`p=@=| ``p=@=|%`Hy`p=@=|-|`p=@=| `-|`pp=@=|%-|`ZHy`BHy#`:Hy-`2Hy8`*HyE`"HyJHnNPO`HyW`HyfHnNPOBn nfJ?.?.NuXOp??.N{XO/.0.HA6?HygHnNn*.gHnHyz?.Nd 0.N^NuNV n0m n9np`B@N^NuNV?.NmTO=@ @gJ0.PAFH0.P/0Hї AG0.@0.PCFH0.P/0Hї AG  g0.PAF FoD0.PAFo0.PAFB0.PG/N XO`0.PAFH0.P/0Hї AGH?NyTO0g0.PAFR0.PAFH0.P/0Hї AGBpN^NuNV0. gF0. HdR@=@ ?.NmTO @f?. N:TO?.NmTO @f`?.NmTO @fN^NuNV0. HdR@=@?.N:TON^NuNV n=PgLHyч?.Nd\O09 n1@ ??.No"XO0.S@k,/?.Nf\ON^NuNV n=P n/( ,/9?.Nd p?/.Np\O/.Np~XOp?N:TO n0( (f09g09f0.gHyѭ?.Nd\Op=@0nk'H=@/.NpPXOp =@0.Sn0g n0( (gx09fn n!|Ѿ 00.lp=@0.m0.HA0.PfSn` n0( (g/.Np~XO0.HC n1Q n?( ?.No"XOp?N:TO/.Np~XOp?Hy?.NmPO?.NmFTO0gp?/.NA<\O n0( o` n0( (gT?.NmTO=@0.@ @ f n f0.HA0`0.HA0@@ n1@ n?( ?.No"XOp?N:TO/.Np~XON^NuNV/.NpPXOBg/.Np\O n?NmZTO n0g" n0S@k/ n?Nf\Op?N:TO n0( (g609f.Bg/.Np\OHyNcXOBg/.Np\Op`p?/.Np\ON^NuNV n R H=@gBn nlRn` n\g n/fp?N:TO` n~fJ n R H=@g n0m n3n0.@0HA??.No"XO`l n^fD n R H=@gJ nAmH nZn>0.@@??.N#XO0f"`?.?.N#XO0f `N^Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉNEFatal: Out of memory! Press p RETURN q 2Tv̻fwfUDf3"f34 34 34 3XXXY b dbnb tb* b8Ldddv Lnbd4> > ApClDJMBNPTQ RZSzWX>l*h>VZr rCDNPQr@LT\d@j  " 2 > V h z          . @ R d v         * < N f x      "\Bn,p&TtxRvFn4`Bb(L77d7n7q7y66NNNNOO$-g:.g0gB1gJ2gJ3gJ4gJ5gJ6gJ7gJ8gJ9gJDgHgSgTgcgdglgogsgugxg-gDhHhShThchdhohsi.uhxhDi8,uNuX `ub%ul,uvw,wTvyjxy&y6yNxy>yFy.xxxybxyjxxyNullProcBootupC, `% @ @jw"-7>a!.;HUbo| MichTron Multi-User BBS. Version 3.0 By Timothy Purves. Copyright (c) MichTron Inc. 1985-1989. All rights reserved. qUnregisteredRegisteredAsst SysopSysopWizopMichTronOpenPrivatePrivate to SysopDeletedAllFreedNormal CompletionABORTED!Lost CarrierTimeoutDisk Space FullASCIIXMODEMXMODEM-CRCXMODEM-1KYMODEMx:\bbs\userlog.bbs---------------x:\bbs\mail.bbs------------------x:\bbs\lastcall.bbs--------------x:\bbs\activity.bbs--------------x:\bbs\download.bbs-------------------CONSOLE-----MODEM 1-----MODEM 2-----MODEM 3-----MODEM 4----ACTIVITY-----UPLOADS---DOWNLOADS-LASTCALLERS--------MAIL-------TASKS---PROFILE 1---PROFILE 2---PROFILE 3---PROFILE 4No file(s) Please Switch to YMODEM BATCH receive CurrentFree Ready ReceiveAsleep SuspendWaiting %d Task(s) active Name Status Prio Sema Msg Rec LowStack HiStack Stack Free %-16.16s%s %04x %04x %04x %04x %08lx %08lx %08lx %08lx config.bbs CONFIG.BBS was not found CONFIG.BBS was the wrong versionTask Disabled Checking files and directories File Creation ERROR Program will now terminate. Checks complete Multi-TaskerConsole No modem attached to port %dModem %dBBS Status%s [%c] %-20.20s%-15.15s %-20.20s %H/%HConsoleModem 1Modem 2Modem 3Modem 4Modem 5Modem 6Modem 7Modem 8System startupTask terminatedError opening file %s, port %d Critical error opening file %s Attempting recovery main Load of MAIN.MCL failed, Wizop detected entering SysopShell, Sorry but you will now be disconnected!Sig change Enter Sig selection [RETURN for list, [ESC] for no change]: Invalid Sig selection  Sorry, you're not cleared for Sig %d [*] = Cleared Sigs [D] = Your default %2d [%c] %-31s %sNot assigned The Sysop is being paged. He will break in, if he can chat. The Sysop is not able to Chat right now. Rooms Room User ==== ==================== %4d %s Enter which room 1 to 4 [1] : Entering room %d, press [ESC] to exit %d>Has LeftIs here/NOTIFY/WHO [%s] %s lots a spaceNotify Notify: User on which modem (0=console to %d) :  You can't notify yourself! You have already notified modem %d. There is no user on modem %d. Notify: [%s] %s29@HR[bklt} ** NOTICES ** %-.79s  [Time Left %H] %d. %s %s Command ? %s (Y,N,Q) [%c] ? NYQ NoYesQuitQuitYesNo%ld Warning: You are almost out of time!  Sorry, you've run out of time for today! Logging off %s... %T SundayMondayTuesdayWednesdayThursdayFridaySaturdayJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember%s, %s %d, %d %D %s Show by [N]ame [D]ate [T]ime: [N] ndt NameDateTime Directory of %s Filename size date time Press any key %-12s %5dk -empty-%D %T %d file(s) listed %s%-20s%D %T: %sLOGFILE ERROR: %s during %s WriteCreateChat%02d.txt Sysop has moved you into chat Sysop has answered your chat request Press [ESC] to end chat %s /record ** Recording of chat with %s on %D at %T ** Show %s in which Sig(s) (? for list) [1-%d] : You have not selected any Sigs to which you have access You have been idle for too long - Please respond or you will be logged off. %s logged off for inactivity System will terminate when all ports are idle Chat disabled Chat answered Chat forced Chat enabled CRT Manager 7OR X*Y(Z(W Please Enter up to 5 lines of description Last download read: %u Downloads range from 1 to %u. Start at what number? [%u] %s in the download File : %s Size : %uK bytes Blocks : %ld Time : %d minute(s) Protocol: %s Please start your transfer now Please go to %s to transmit %s Press [SPACE] %s: %s Transfer protocol: [A]scii [X]modem Xmodem-[C]RC Xmodem-1[K] %s[Q]uit [Y]modem AXCKYaxckyqaxckqQuitUpload files Enter Sig for upload: Invalid Sig Selection You don't have access the %s Sig %s Sig does not have an upload area Filename for upload:  That filename already in use!  Illegal filename! %s %s UPLOAD User: %-20s %s Desc: %s GOODBAD was deleted User: %-20s %s Desc: %sThanks for the upload %s Upload files [MCL] Filename for upload:  That filename already in use!  Illegal filename! %s %s MCL UPLOAD User: %-20s %s Desc: %s GOODBAD was deletedFrom MCL User: %-20s %s From MCLYou don't have enough time to download this fileDownload files File to download: Cannot locate %s to download %s%s DOWNLOAD User: %-20s %s GOODBAD User: %-20s %sError writing to \BBS\DOWNLOAD.BBS %c%c%5u %-12s %9ld %5u %D %-.30s File : %u %s %ld bytes %D %T %s %s[Hidden]Batch-Marked Uploader : %s Sig(s) : Downloaded : %d time(s) Level : %s Description: %s . ARC Search mask: [*.*] *.*files Showing files in Sig(s) Show files in short form Pause between filesDownload listing+  [P]rev [N]ext [B]atch-%sark MUnm[A]rclisting [Z]ap [M]ake-%sOpen Hidden [S]ig(s) [C]ount-Reset [F]ilename [U]ploader [D]esc [L]evel  qpnxab  qpnmscudlxazfb  dqpnxab [D]esc [X]mit [Q]uit PN MSCUDLXAZF BQuitPrevious Next Make %s OpenHiddenSig(s) Enter Sigs: Count-Reset Uploader: %sLevel %sXmit Is currently disabledArclisting Press any key Zap Zap will remove the file from the disk, ZAP it Filename: [%s] Batch Is currently disabledBatch-Mark Cannot mark, %d files is the batch mark limit File is marked for Batch download Batch-Unmarked ***** End of downloads ***** Number Filename Blocks Time ====== ============= ======== ===== %5u %-13s %8ld %H Batch ListTotals %d file(s) marked and ready for batch download [Y] to download [N] to continue marking [Q] to abort marking User: %-20s %sYMODEM DOWNLOAD User: %-20s %s Downloading is currently disabledIndividual download Downloads range from 1 to %u. Which one : Number too Large Don't have access to file %u Download this fileCannot locate file # %u, %s File #%u, %s Cannot be located Download catalog Search mask: [*.*] *.* Packing should be run when no other users are using the download Continue with Packing Packing %s .TMPCannot create %s %u files were removed from %s Disk full Packing %s Saving.... Freefat(1): Lastalloc = %d, Limit = %d Freefat(2): Lastalloc = %d, Limit = %d %6u: %-20.20s%-20.20s%sMessage %u saved (None)%d (%s)Multiple%s MSG%05u.TXT Create of %s Failed %6u: %-20.20s%c%-20.20s%s Message : %u [%s] %D %T From : %s To : %s %s(x) Subject : %s Sig(s) : %s There %s %d repl%s areisiesy %s  File -> %s <- (%uK) attached to this message Message saved in file %s ***** No messages on file ***** ***** No new messages ***** Last message read: %u Messages range from %u to %u. Start at what number? [%u] mail Showing mail in Sig(s) Pause between messages Pause If letter TO or FROM you Show only mail addressed to you Messages range from %u to %u. Read message number? +  ***** End of messages ***** Read mail - %u Message has been removed by another user %s%s[N]ext [J]ump * [P]rev [R]eply [A]gain [S]how [D]elete [Q]uit [C]hange [W]rite [M]ake-%sOpen Private [X]mit  nrasdcopmjxqw NextJump to message #: %s Message not availablePrevious PreviousReply#%u %sAgainShowDelete Are you sure Change Which SIG(s) [%d]: Make %sOpenPrivateWrite Quit Message is marked for deletion. Delete itLeave mailReply mailLeave private mailALLNONESysop From : %s To : %s To : To : %s Subject : Subject : %s Sig(s) : Sig %s[%d]: Invalid Sig You don't have access to Sig %d You don't have access to any of those SigsSysop AllAll From : %s To : %s Subject : %s Sig : Broadcast message from the Sysop Private message to the Sysop Private letter Is this correct Empty messages are not savedScan mailRead mailIndividual mailNew mailLeave mailtosubject Registered users only ! Analyzing Mail File...Completed First Message is %u Highest Message is %u %u of %u Blocks used for %u active messagesMail chart ***** No new messages ***** Scanning for mail .+  SIG Area:%4d Total --------------- New Mail:%4d%4d To You :%4d%4d To ALL :%4d%4d Scanning mail-%uallForce read Logged on to %sLogon Username: Excessive errors - Connection terminating Log off Would you like to leave a private message for the SysOp sysopprivateHangup Total connect time %H Thank you for calling the %s Welcome to the %s. %s, %s %d call(s) Last time was %d day(s) ago on at This is your first call Your account has %d hour(s) %d minute(s) remaining today. No new messages %u new message(s) No new downloads %u new download(s) Last Caller was: %s ASK ON ERROR?DefaultSHUTDOWN Checking Download folder %s Checking Upload folder %s Checking %s, User Log file Checking %s, Mail Data file Extending Mail file %d Creating Mail file %d DISK FULL Checking %s, Last Caller file Checking %s, Download filex:\BBS ERROR! %s not found create (Y/N) ? Yes NO! Last callers No history of last callers History file ranges from %u to %u [RETURN] to see last 20 : Number Caller Name Date Time Online ====== ==================== ======== ======= ====== %6u %-20s %D %T %H %-20s %D %T %H0 = Unregistered, 1 = Registered, 2 = Asst SysOp, 3 = SysOp, 4 = WizOp : allnew Invalid Username Password: Invalid PasswordInvalid Logon Attempt: %s Can't locate you in the user log Is %s your name Would you like to register Ok, but you can only look around New user (just looking) %s What password do you want : What is your street address : What city do you live in : What state do you live in : What is your zip code : What is your phone number : Disk full while expanding userfile (%d) Sorry, I don't have room on the disk to save youNew user registered: %s 1. Name: %s 2. Level: %s 3. Address: %s 4. City: %s 5. State: %s 6. ZipCode: %s 7. Phone: %s 8. Password: -> %s <- 9. Sig(s): %s 10. TimeAllocated: %H 11. Last msg read: %u 12. Last dwn read: %u 13. Default Sig: %d (%s) 14. Upload(s): %d 15. Download(s): %d 16. NumberCall(s): %d 17. LastDay: %D at %T 18. UserFlag(s) %s User modify [P]assword, [D]efault Sig, [Q]uit : dpdpq Default Sig Sig number (1-%d) : Default Sig set to %d You don't have access to Sig %d Invalid Sig selectionPassword change New password : Empty password is not allowed! Old password retainedSave  That user was changed or removed %d users Username: scan User not found End of Userlog scan %s[N]ext [P]rev [Q]uit: [N] [D]elete [C]hange  Critical error! No users on file dcnpq Delete  Delete this userChange which line : Username: There already is a user with that name Error occured renaming that user - user has been removed (%d) %s Address: City: State: ZipCode: Phone: Password: Sig(s): Time [%d]: Last Message: Last Download: Default Sig: Number of Uploads: Number of Downloads: Number of Calls: Date and Time reset UserFlags: NextPreviousQuit Name: %s Level: %s Address: %s City: %s State: %s ZipCode: %s Phone: %s Password: -> %s <- Sig(s): %s TimeAllocated: %H Last msg read: %u Last dwn read: %u Default Sig: %d (%s) Upload(s): %d Download(s): %d NumberCall(s): %d LastDay: %D at %T UserFlag(s): %s Username [RETURN for entire listing]: Username Access Level City State Date Time Calls =================== ============== =============== ===== ======== ======= ===== %-20s%-15s%-16s%-6s%D %T %5u %u Users Listed$8$ &$gd$O6r$$pP$ɲ$@F$$$ o:$O$Z$`$&:'l$6$$6$R^$4P$r$$$L$ˈ$"$N$M&E2&.${p~L$A&Z?%s: Force_read of Message %u failed %s List: %s not found %s: %s %s %s Open() file not found [%s]Read() without open%c:\bbs\%s.mcl%c:\bbs\welcome.msg MCL runtime error [] in %s Stack OverflowStack UnderflowUnexpected EOF [header]Invalid file formatfile does not match versionUnexpected EOF [program]String pool overflowBad offset for GetSysVar %d [literals]Bad offset for GetSysVar %dPC out of range %dDivide by ZeroModulus by ZeroBad offset (AssignNum) %dBad offset (Funcall) %dBad offset (FuncallNum) %dBad offset (FuncallStr) %dBad offset (FuncallStr2) %dGosub's nested to deep%u %sBad offset (Procall) %dBad offset (ProcallNum) %dBad offset (ProcallStr) %dBad offset (ProcallStr2) %dBad offset (PushNum) %d%c:\bbs\%s.mclExecute of %s failedRight() lenght less that zeroLeft() lenght less that zero%u%c%sInput() invalid lenghtRead() invalid lenghtBad offset (FuncallNum2) %dBad opcode (%d) [%d]ONOFF%d byte cache buffer!&P+1T58<@bC6H/NAS8~YBc$i0p<x+}.ȇ*ȑ,XȗgdȢBȨ@FȯBȵ>*Ⱦ4?;#F$v%88+ v(zABUsage: %sYou don't have Access to Sig %d Today is Time is %T System status dump Errorlog file ptr = %2d, %s Userlog file ptr = %2d, %s Maildata file ptr = %2d, %s Lastcaller file ptr = %2d, %s %-32s Download path ->%s<- Upload path ->%s<- Password: System Shutdown To shutdown the BBS type "%s" : When all users have logged off, the BBS will shutdown Date month/day/yearInvalid dateTime hours:minsInvalid time Activity file was not Open Press [SPACE] to stop listing Purge activity file Error creating %s Activity file is empty AXCKYInvalid Mode "%s"Upload filename modeYMODEM upload not yet implemented Overwrite %s Could not create %s%s: SYSOP Upload %s File: %s Download filename mode%s Not found*.*Dir [filename|filemask]*.**.*UplDir [filename|filemask]No upload path defined Edit filenameCould not create %sNew file %s Writing %d lines to %s Fatal error! - File %s was lost! Disk is full, writing %s Disk Error on drive %c: Disk Usage of %c: %9ld bytes total disk space %9ld bytes available on disk Chat [on]|[off]Chat is %s %snowcurrentlyDebug [on]|[off]Debug is %s %snowcurrentlyAddfiles pathmaskSysopAddfiles: %s Use System Date and time Add file %s %ld Uploader [%s] : Access level %s[%d] Default: Which Sig(s) : Description: Error file not added %s added as file %u Move \spath\[mask] \dpath\*.*Move: Destination must be a pathMove: %sMove: Too many files Move: Error files have the same NAME! Move %s -> %s [Y]es [N]o [D]elete [Q]uit : yndqYes Could not relocate fileNoDelete Delete of %s failedQuitSysop is being pagedType filenameACopy source destinationCopy: %sIllegal destination %s -> %s Copy Could not open %s Could not create %sSource disk read error! Destination disk is full!%2d %s Usage: Screen #%-.80s Delete filename*.*Delete: %s Delete %-13s %D %TListarc filename*.ARC.ARCListarc: %s List Archive %-13sRename filename filenameCould not rename %s to %s%s renamed to %sbatch filename [filename]YMODEM DOWNLOAD User: %-20s %s Users On-Line ======== =================== =========== ================ =================== %s: %-20s%s %-16.16s%20.20s On-Line Last caller %d critical errors have occured Clear count 2Activity4Addfiles2Alert4Batch0Bye4Chat4Cls4Copy4Critical2Date4Debug4Delete4Dir4Diskfree3Download4Edit0Enterchat0Exit0Hello0Help0Listarc4Mailstat3Move4Pack4Rename4Screen4Sysdump4Terminate2Time4Type3Upldir3User4Upload4WhoAvailable Commands: %-10s%s Sysop shell %sCommand: * help Unknown Command %s Please be more specific exit Argument for %s: Sysopshell: Bad operand %s There are no lines to %s%s Which line(s) (1-%d) : No defaults allowed here Invalid line number Invalid high range numberList %2d: %sDeleteEdit Which line (1-%d) : Invalid Line number Old line %2d: %s %2d: Old line was not changed There are no lines to editInsert After which line (0-%d) : [ESC] or 3 blank lines will end insert mode %2d: %s Load of %s Failed [%d] [L]ist [D]elete [E]dit [I]nsert [S]ave [Q]uit : ldeiqsldeiqsQuit Save ASCII send Press any key when ready to receive %s ... ASCII Receive Send the upload now, CNTRL-Z ends upload %ld YMODEM Send %sEND OF BATCH %u BlocksYMODEM sendYMODEM receiveXMODEM sendXMODEM receiveXMODEM-CRC sendXMODEM-CRC receiveXMODEM-1k sendXMODEM-1k receive %s send - Wait %s send - %5u %c %s receive - Waiting for handshake Received %s receive - %5u %c - Timeout durring block - Bad block complement - Bad CRC - Bad Checksum - Duplicate block - Block sequence error  Unknown -- -- Packed SqueezedcrunchedcrunchedcrunchedCrunchedArc listing Could not find ARCHIVE file %s Archive %s is bad Archive %s: Name Length Stowage SF Size now Date Time CRC ============ ======== ======== ==== ======== ======== ======= ==== %-12s %8ld %s %3d%% %8ld %D %T %04x ==== ======== ==== ======== Total %6ld %8ld %3d%% %8ld0123456789ABCDEFATE0V0M0X1S0=0 --Use this space if needed---------Modem initializationAUTOBAUD Sending modem initialization codes Waiting for a call on %s Waiting for call Ring Count reset Waking up Modem %d. Hangup code+++ATH0 Cannot make the modem disconnect! Command: AT Modem is not responding. Incoming call Answering now. ATA Ring %d of %d.Ringing/ARQ/ARQ/ARQRingNo AnswerNo CarrierNo Dial ToneBusyFormat errorVoice detectedConnected at %d %s Modem: "%s" Sending modem initialization codes Call detected Detecting caller Press [RETURN] Please disconnect now ! 0|L6JH   NR, ",0. 4 <*H,\p        lp*     ,*T. . (    (&2  2 *0:   ": .   R $$ H*r"@ F " \H@, $"&BT:d.x th>  " > &&   J " &$               DD F 66r $,l ** $4 & "&& "         &4    *2FDZ*      f         "" 6      6&,   & &&  ,     & N <\BN 2    L $4H>   D8@ "     "* $6( $ 6 2   4  (0& $ (    4   "&   ,0      4:(:$  $ <rD  . $0  . $ . & ` &~"J< (   8, P * 6 6 6 6 6$ 6 6N 68 6 @* $, 2  $  " " " b& ",N2:  $ ( 4, 0P( , 6& 6.<$  &   &&: "    * ".  0   d $&&&(,^ 0  "  J  (   >   :$ $ :$        $ $    &$ " 4 L4 *2 6&"*  2^V" 0$( ""   b: "  V2N"* P4  " " " " " "  $  *    ( 6 * . $ r*  &    ((     T  """"LH4(  ,     6                  4  *  *. *V,<<><<." *4V@>.  &"""R2   *.0 &           >&&($" .<6"D .& $ 4 &$( ,$.$" ,\ "* ,$.$" "4"2.(L(  & @*   ,*&  \<~t .         0      D"            ,   `   *    "      $ $ * . * "*: (. $  N  $  "    $  2V   2,    .(  *  ,   * $,    4  "   &D *$"<," : $,(l&F*& & *& @$""$ 2 ,4 6* " &.d(  (  (  (  $  &z"R "\Bz (` $R&` @ (. "2 T$*$ ,, 88 *V~ :            &    *  "  "&    ^     82 .    ("$ $*&  JBHJD`G5P"*o#G m -ZBSj#G O#GN~BgB ?<LNA#GNA/9GNu#GNM/9GNu#GNN/9GNuB?< NA\O#GNu/9G?< NA\ONuNVH?BCB..,. f <`tlDRCJlDRCnHf zB`<l:HGH`&xe`Jge`|f D D` JLN^NuNVH?/BCB..,. f"< <`xlDRCJlDRCnHf zB`<l:HGH`&xe`Jge`|fD" D`"  "JLN^NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNV n g n g n g n f 0<`B@`N^NuNV 9Gм-@ nP.H|0@BB9}.`&9}.HH @| G9}. 9}.m#G|}.``  nH>N@J@f nJg9}.HH @| 9}. n 'g n "fl n (\g^ nP9}.H|0@|` nH.f n (\f nJf`,`  nJg nH>N@J@g nP nBJ.g 9}.m.|9}.H?N8&TN^NuNV`  nJg nH. f nJg .`B`N^NuNV> /.?< /.?<=N@\`N^NuNV. 0n/?.?<?N@P`N^NuNV. 0n/?.?<@N@P`N^NuNV>?<>N@T`N^NuNV>?./. ?<BN@P`N^NuNV.?<N@TN^NuNV> /.?<NN@\`N^NuNV>ON@`N^NuNV y}0 }0 y}0BN^NuNV#}0./</. NLPN^NuNV0.H@ n f > N>/?<N\N^NuNV. /</.NLPN^NuNV`H .%g.H? n NT`*B@@@@@@H@B@=@=@` nH@`|`|`.H|=@`0. =@.H|n nH@|0@Dm .9oJ.gJ.g =n`=n`F|`<|`2|`(|``H |G2<W hPNJ.g B@=@=@A-H.H`n n0|@B.`h=| J.g@ n-PJl .D-@0n|-n-n`< n=PJnl0.D@=@0n|-n=n`=|-|J.g n-P` n=P`=| J.f n=P`~=|-|J.g n-P` n=P`@ n-P`,nB.``H |Hh2<W hN .dg* .og .ug .xg .XfdJnfHJ.g`0.//.N4P=@Jnl 0.n0n2nGQn n f"0.//.NP-@`$2.I| .-@ .Jfh`H`>0.HH@=@0n2nGQn0.=@Jnf`6J.f0.HJ6g 0n2nin|0.nJ@fJ.f0n|0n0nB(.N ?0.ΐ_=@Jnf.N =@Jno8J.f0`J.g ?<0`?< n NT0.nJ@f`.H? n NTn nH@J@gJnfJno(J.g `?< n NT0.nJ@f nH@J@fN^NuNVH*nBG` |Jf0`JL N^NuNVH *n(n `fJL0N^NuNVH *n(n `JfB@`&HHA=@g0.`JL0N^NuNVH *n(n `Jf`fJL0N^NuNVH*nBG`  g` H|@ 0m 9o0`JL N^NuNVH>.0`L <h` <h` <h` <h` <h` <h` <h``H |d2<W hNо|o"|Il0G"<c 0`n| m$|zn>/<h/<}4NP`:|l>/<h/<}4NP`>/<h/<}4NP <}4`JLN^NuNVXHBnf3dBydBydAn-Hb-|X\b .bdB/<hN;X0<`X nb0f\ n\0V0nfX=P` n`oJydlN.3dlByd09dn`Jn`md n`lZ0n`"|H0p=H`"<]D00ydf03d3~DV=n`fJydo yd`0nf"<`h00=@`|fJydlN.3dlByd#HF` F yF Pf yF0(nff` yF0ydgF yFJPl yF=h`lB@`Jn`f09d`j0nf"<X00=@`|o| n`lrJn`o 0.``B@>`T0G"|H0p"<]D002n`Af*0n`|g>0.`WN .BN;X||mBBN;Xyd3d` nb0P"<X00|=@`Jn`m@ n`l60n`"|H0p]D Pf0n`H=Pf`8 nb0PX=P`b\ мpbcp0<`~Jydg3d`.`"J@g|g6|g.|g`0n`"<\H00H】b-n\h0n`"<\H00H】\ n\3V=n`l0n`[L=P`0n`"<[$00"nb2A|=@n nnl.0nn"|H0p=Hf"<]D002.`DAAg0n`"|[$0pH=Pf0.l`V.iN;B@`^>"N<`P nh0@>W#N<3V`2>"N<`$ nh0@>W#N<` 3jxV`3jxV`>!N<3V` nh0(мX @=PZJnZo.iN;`<0.ZD@=@Z0nZ~F=PX0nZ~F0jx=nXZJnZm nh0(мX @0jx`N nh3V nh0(@>W-N<`(>N< nh0(мX @JPnF nh0( @"<X>N<09jx|D@"nh2)ҼX"A2` nh0( @"<X>N<`> N< nh0(мX @JPnF nh0( @"<X>N<09jx|D@"nh2)ҼX"A2` nh0( @"<X>N<`Jyjtf.i$N'~ nh>N%8`Jyjtf.iJN'~ nh>N%`>N<` nh3V nh0(@>W1N< nh>N<` nh3V nh0(@>W3N<`\ nh3V nh0(@>W4N<`6 nh3V nh0(@>W5N< nh>N<` nh3V nh0(@>W6N< nh>N<` nh3V nh0(@>W8N<` nh3V nh0(@>W;N<` nh3V nh0(@>W$N<` \ nh3V nh0(@>W%N<` 6 nh3V nh0(@>W&N< nh>N<`  nh3V nh0(@>W'N< nh>N< nh>N<` nh3V` nh0("nh2)Af6 nh0h~F0 nh0h~F"nh0` nh0h~F"nh0 nh0h~F"nh0 nh>N-$ nh0h~F"nh0 nh>N-$ nh0h~F"nh0 nh>N-$ nh>N% nh>N-$ nh>N&Ryjt` nh0h~F"nh0 nh>N% nh>N-$ nh>N&R nh>N-$yjt` < nh0h~F"nh0 nh>N-$ nh0h~F"nh0 nh>N-$ nh>N% nh>N&Ryjt` nh0h~F"nh0 nh>N-$` nh0h~F"nh0 nh>N-$ nh0h~F"nh0 nh>N-$` H nh3V` 8 nh0(@>W0N<3V nh>N<>!N<` nh0(@>W2N<3V>!N<` nh0(@>W:N<3V>!N<` nh0(@>W7N<3V>!N<` nh0(@>W!N<` X nh0(@>W=N<3V>!N<` . nh0(@>W>N<3V>!N<`  nh0(@>W9N<3V nh>N<>!N<` nh0(@>W9N<3V nh>N<>!N<` nh0(@>WN<3V>!N<`j nh0(@>WN<3V>!N<`@ nh0(@>W?N<3V>!N<` nh0(@>WN<3V nh>N<>!N<` nh0(@>WN<3V nh>N< nh>N<>!N<` nh0(@>WN< nh3V`t nh0@>W)N< nh0(@>WN< nh3V`< nh0@>W)N< nh0(|@>WN< nh3V` nh0(@>W(N<3V>*N< nh>N< nh0(@>WN<` nh0(@>W(N<3V>+N< nh0(@>WN<`r nh0@>W(N<3V>+N< nh0@>WN<`6 nh0(@>W(N<3V>,N< nh0(@>WN<` nh0@>W(N<3V>,N< nh0@>WN<` nh3V`yjt3jxV`yjt3jxV`~3jxV`pyjt3jxV`Z3jxV`L>N<3VBWN<`0>N<3VBWN<` nh0|3V` nh3V`3V`3V`3 V`3V`3 V`3V`3V`3V`3V`3V`z3jxV`l nh3V`^ nh3V`P nh0|3V`< nh0|3V`( nh0D@3V`3jxV` nh3V>!N<` nh Pm nh Po">N<3V nh>N<` nh0@>W.N<3V` nh0@>W(N<3V`| nh0|@>W(N<3V`Z nh3V`J nh0(@>W0N<3V nh>N<` nh0(@>W2N<3V` nh0(@>W:N<3V` nh0(@>W7N<3V` nh0(@>WW=N<3V`| nh0(@>W>N<3V`\ nh0(@>W9N<3V nh>N<`. nh0(@>WN<3V` nh0(@>WN<3V` nh0(@>W?N<3V` nh0(@>WN<3V nh>N<` nh0(@>WN<3V nh>N< nh>N<`d>N<`V>N<`H>N<`:>N<`,>N<`>N<`>N<`> N<`>N<`> N<` nh3V>N<`>N<`>N<`> N<`>N<`>N<`z>N<`l> N<`^> N<`P nh3V>N<`8 nh3V>N<` `||zb@0@d PN`JLN^NuNV nam nzn0.|_`0.`N^NuNV nAm nZn0.| `0.`N^NuNVH *n(n `Jg.H>N#>H>N#Ҟ@JGg0`JL0N^NuNV3mN^NuNV=ymgBym0.`vJymn2> <J#R/?.N\3mn 0<`<ym yRH=@R nf 0<` 0.`N^NuNV.vN*`>N@ f>N8N^NuNV0ym00ym1yjtym09m|@m.wN'~N^NuNVym`.0ym"|0p~F0ymJymm0ym"<00yjtgymN^NuNV0ymJ00ymJ1yjtym09m|m.w:N'~N^NuNVym`.0ym"|J0p~F0ymJymm0ym"<J00yjtgymN^NuNVN<>?.?.?.?. /.N* .wXN*N^NuNVyd>d/<wZN*X>?.?.?.?. /.N& N^NuNV.wfN*>?.?.?.?. /.N& N^NuNV.wqN*>?.?.?.?. /.N& >N$N^NuNV.wN*>?.?.?.?. /.N& >N$N^NuNV.N >WN)-@g./.N X .`.wN'~B`N^NuNV n g& n g n g n gB@`0<`N^NuNV n0m n9oB@`0<`N^NuNV n0m n9o0 nam nfo nAm nFoB@`0<`N^NuNV nam nzo nAm nZoB@`0<`N^NuNV nam nzo0 nAm nZo n0m n9oB@`0<`N^NuNVH*n`H>N#HJf .`JL N^NuNV-ym0.Hѹm <EmdB` .`N^NuNV n\f>XN$h=@``=|`=|`=| `=|`=| `=| `=| `0.|=@ n0f>XN$h=@|xg nXf>XN$h=@>N(J@f.wN'~>N(J@g0.|@=@`>N#|@=@>XN$h=@>N(J@f.wN'~>N(J@g0.|n`>N#|n0.``>X?.N$XT`0. =@0.|n>XN$h=@>N(J@f no.wN'~>X?.N$XT0.`*``H |m2<W hDN0.`N^NuNVHBG=yjv`0|*f>XN$h>|/g&| f yjv>XN$h>|f|f3jv.wN'~`| f yjv>XN$h>>N(RJ@f0`JLN^NuNVBn`,0. @"<X00nf 0.`n0.yj~m0<`N^NuNV>/<w/NP.N-dмX @0N^NuNVBn`60. @"<X./.N$XJ@f 0.`pn0.yj~m.N(/0.мX @!_0.мX @BP yj~m.xN'~09j~yj~`N^NuNVA-H` n f yjv>XN$h=@>N(RJ@f n/f<>XN$h=@|*fN,$=@``>X?.N$XT nfB@`  n'fD>XN$h>N*3~D>XN$h|'g.xN'~0<` n"f>XN$h=@A-H` n f nB./<x;N'~X/.?.N*T _ мb nB./<xWN'~X>XN$h=@ n"g nfp nB=|`@0n"<F./N XJ@f3~D0<`n0.yjzoyjz09jz|m.xiN'~.N |yj| y j|m.x~N'~.N(/0yjzF 3jz~D0<` >N(J@g0.|=@ n0f>XN$h=@|xg nXf>XN$h=@>N(J@f.xN'~>N(J@g0.|=@`>N#|=@`>0.@=@>N(J@g0.|n`>N#|n>XN$h=@>N(J@f>X?.N$XT3~D0<``>X?.N$XT`0. n|=@>XN$h=@>N(J@f>X?.N$XT3~D0<`>N) J@g: мﰮb nB./<xN'~X0."n>XN$h=@|g(>N)JJ@f n_g n$g n#g>X?.N$XT nB.N |f<.H>N#=@|Am" nZn0.|3~D0<`.N |ff.H>N#=@|AmL nZnB .#f0.|3~D0<`D .$f0.|3~D0<`$Bn=|`|0.nH=@.0. @"<j/0N$X=@f0. @"<j00`Jno0.|=@`0.|=@0.no|=|(Bn`T.0. @"<k*/0N$X=@f"3~D0. @"<k*00`6n0.nm=|CBn`T.0. @"<l/0N$X=@f"3~D0. @"<l00`n0.nm.x/N$XJ@f3~D0<`.x/N$XJ@fBy~D0<`f.N-d3~D0<`J0.`*>=?<=?<=N7X`*>+?<!?<=N7X`>-?<"?<=N7X`>*?<#?<=N7X`>/?<$?<=N7X`>%?<%?<=N7X`>^?<)?<=N7X`>F?<>?<=N7X`>A?<B?<=N7X|Bf 0<B`^>A?<>?<>N7X|>f 0<>`:>A?<C?<C?<'?<=N7X`>??<@?<=N7X|@f 0<@`>??<D?<>N7X|?f 0<?`>D?<&?<=N7X`>|?<;?<|N7X|;f 0<;`z>|?<*?<=N7X`b>&?<>&?<(?<=N7X`&0.``H |nH2< W h0NN^NuNV>XN$h=@0.nf 0. `T n+ f n+f 0<G`8 n- f n-f 0<H`>X?.N$XT0. `N^NuNV.xN*.xN*.yN*n `:.yN n /N$XJ@f3j``n Jnn3jv <yU#F.N |3j| ng.ykN'~ n . <-@/N X`$/. nH?N#T _ nJg n .f.y/.N XBW/<NX3XJyXl./<yN'~X>NNXNJydf&.y/.N XN?J.N:DBWN$N^NuNVH>._0`JLN^NuNVBW/.NX=@Jnl.yN'~|M|C|L|3> N:&=@>jxN:&=@>jzWN:&=@> /?.N\| g.yN'~Bn`.0n"<~F>N:&?0n~F0n0.yjxm09jx@=@>/<~F?.N\ng.yN'~Bn`^0n"<F.N |=@>0n"<F/0?.N\ng.zN'~n0.yjzo>NN^NuNVH *n(n f Jynfl>dW/<zN*XN< g./<z#N*X`` g./<z'N*X3n`>.z5N*`. g./<zCN*X`.zGN*BynJL0N^NuNV>jv/</<zIN*PN^NuNV=yjx yjxm.z[N'~0yjx~F0yjx0.`N^NuNV-|}D` n\f& n\ n\` n m" nn0."n` nf& n\ nb` nf& n\ ne`R n f& n\ nf`$ nf& n\ ng` n f& n\ nn` n f& n\ nr` n f& n\ nt`l n\ n0 nx n2.A2Azl n2.|2Az} nH|=@J@f nB <}D`N^NuNV.zN*.zN*.N)./<zN*X.zN*.zN*Jyjg=|`j0n~F=P>N,=@l.{MN*`H0. @"<X 0-@./<{ON*X.N |o.{TN*0.|?0@"<it./<{VN*Xn0.|?`0.@ @"<l./<{ZN*X`0.@ @"<l./<{^N*X`j0.@ @"<l./<{bN*X0n~F=PnJnl20.D@0@"<F.N=./<{gN*X`L nl>Wa/<{mN*X`(0.| @"<k*./<{rN*X`0.@ @"<l0<? Q/<{vN* 0n~F=PnJnl20.D@0@"<F.N=./<{{N*X`L nl>Wa/<{N*X`(0.| @"<k*./<{N*X0n~F=PnJnl20.D@0@"<F.N=./<{N*X`L nl>Wa/<{N*X`(0.| @"<k*./<{N*X`@0.@=@Jnl20.D@0@"<F.N=./<{N*X`T nl>Wa/<{N*X`00.| @"<k*.?.W/<{N*\`0.@=@ nl>Wa/<{N*X`00.| @"<k*.?.W/<{N*\`H0.@=@Jnl.{N*`T nl>Wa/<{N*X`00.| @"<k*.?.W/<{N*\`0.@>/<{N*X`0n"<~F>/<{N*Xn`0.@=@Jnl20.D@0@"<F.N=./<{N*X`L nl>Wa/<{N*X`(0.| @"<k*./<| N*X0n~F=PnJnl20.D@0@"<F.N=./<|N*X`T nl>Wa/<|N*X`00.| @"<k*.?.W/<|%N*\`^0n"<~F>N,мX @./<|.N*Xn` `||(b@0@n PN0.yjxm.|2N*Bn`80n"<F.N=.?.W/<|?9jx/<|UN*\/</<d09j~|H/NP/NP>?9j~W/<|wN*\/</<d09jz|H/NP/NP>?9jzW/<|N*\/< /<d0yj|/NP/NP>?9j|/<|N*\N^NuC-Startup0123456789ABCDEF-.0123456789Xcdlosux\HHHRHHHHfXcdosuxX 9c+a20!?@ABCDEFGHILM^YZ[\]<;no4:5=.ml&|{+ts+Nro'()*@?:97 ut,srp>/L768xg\[WIB6wvunf_ZVUT+JFEDC5O)('&%~P}|{zyxwvqXWVUTSRQKJ*_-+OPbcdefghijk+,`aO+QhijkRSkQRS}+{.ON9+}VW^_~<    "#=>KLPX&'*4lWpqy[\exRSTXlmq $/18;<AMNY(`b)6BHgz 0&'()* 3451 -,2 !% "#$./ 0&'()* 3451 -,2 !% "#$./ 0&'()* 3451 -,2 !% "#$./~m45e./45-,d^./]HG43;:=($7%%642.-q] [5,5lk55edcba*`q)x:a*_('&%$5IVTTSSAAAA_L^]{zy\xZYwvO5AutsrN,!!qp/, W      ;5  ,./0137{+-6289:4  GH  ;;:;(((((((((((=GH!"#$%&'()*==;(;;;;((((((((((((+-6289:4  -F~}(((((),)|^&DC+-*/%?@AB=><;((((((((;),)))),,,)),)),,,,;)),;)(((((),),;;;;;,)))),,,)))),),,)))),),));;;;))),;;)))));;)) @AA@@@@@@@@@@@@@@@@@@?<=>CD UB79EFGHIJKLMN8: WXYZ@@@@@QRSTVB $QS3645s|}@@;&'().ijklmnopqrtuvwxyz{[OBA"A/1 ]^_`d@P@@@%*+eg!02\abB @,fhA#c@UA@A@fffffgg ggg$g-g3g8g;gAgRgjgngsgyggggggggggggggggggghhhhhh!h&h,h2h7h=hAhEhKhShWh[h`hghnhqhuhxh{h~hhhhhhhh  $    J&8Fdr#Hn:`:`ZN^>h,V"Z$`&<Jf*8FZn#  < L z !!:!h!!!!"2"@"N"\"j"x""""""""####*#8#F#^breakcontinueelseendifforfunctionfunctionfunctionfunctionfunctiongosubgotoiflabelnumeric constantnumeric system variablenumnvarprintprocallprocallnprocallsprocallxrepeatreturnsconstsliteralssysvarsvaruntilwendwhileaddeqsubeqmuleqdiveqmodeqshreqshleqandeqxoreqoreqstrcmpstrcatatoiucaselcaseleftrightlenstrinputexecuteascchrreadgettokputtokorandeqnegtgeltleshlshrunaryminusnotincdec[end of file][error]'\b''\f''\n''\r''\t''%c'char 0x%02xtoken 0x%04xyacc stack overflowSyntax errorDuplicate label(break) Outside of (for/repeat/while)(continue) Outside of (for/repeat/while)oVoWodoqo~ooooooooopp pp'p4pApNp[phpuppppppppppqqqq+q8qEqRq_qlqyqqqqqqqqqqrrr"r/r<rIrVrcrpr}r6r-rr7rrr5rr9r r r r4r/r0r2rr8rrr1s:s3s,s+s .s&s, s2s;sDsIsOsUs`sfsqsssssssssssssssstt ttt(t0t:tCtMtWtatktuttttttttt t tt ttttuu uu#u)u4 u>uJuT uYufujur uzuuuu uu uu uuuuuuvvvv+v8vEvNvWvavlvrvzv vv vvvvvv v vvv F0123456789befgnrt*~*~*~*~*~*~*~*~*~*~*8*B*L*V*`*j*t*4!%&*+-/<=>^|6 57D55|556$5d6577CCpDb@^@@AnEEFEFFB@^@@AnCBFFFBDHFDDBBBDDBBDBBBBBAdd And Complment Division Equal GreaterEqualGreaterThan LessEqual LogicalAnd LogicalOr LessThan Modulus Multiply NotEqual Negate Not Or ShiftLeft ShiftRight Subtract Xor AssignNum AssignStr ConstPush Funcall FuncallNum FuncallStr FuncallStr2 Jump JumpZero Return Gosub PopStack PrintNum PrintStr Procall ProcallNum ProcallStr ProcallStr2 PushNum PushStr SwapStack Increment Decrement Execute PushImed JumpNotZero Strcmp Strcat Atoi Ucase Lcase Left Right Len Str Input Asc Chr Read GetToken PutToken FuncallNum2 ascatoibreakchrcontinueelseexecuteforget_tokengosubgotoifinputlcaseleftlenprintreadrepeatreturnrightsend_tokenstrstrcatstrcmpucaseuntilwhileaddress$baudratechatcity$clockcurrentsigdebugdefaultsigdownloadclockdownloadsflagsidletimelastdaylastdownloadlastmsglastrecordlasttimelevelmenumodemnumcallspassword$phone$remtimesigaccessstate$timedaytitle$uploadclockuploadsusername$zipcode$user_var0user_var1user_var2user_var3user_var4user_var5user_var6xfer_inhibitalertbaudbeepcatalogchatloopchatreqdecimaldiskfreedisplay_usersdownloadflushforce_readhanguphellohowdyindivdownloadindivmailinkeyinter_chatkey_matchlastcallersleavemaillistlistdownloadloglogfilelognamelogoffmailchartnewmailnotifypauseprofilepromptrandomrange_timereadmailreset_userflagreset_usersigsame_dayscanmailset_timeset_userflagset_usersigshow_lastcallershow_newmailshow_newxfershowdateshowsigssigchangesysopshelltitletolowertoupperuploaduploadmenuuser_dateuser_leveluserflagusersigwhoopenexistdeletecurrent_datenumber_daysis_user Press p RETURN q to return to the DeskTop Too many (break) statmentsToo many (continue) statments [error %d] [warning] [fatal error] BUG: No more room to save strings. Illegal Hex constant Illegal Hex constant Illegal Decimal constantEOF within comment$%dLabel Pool OverFlowMissing trailing ' in string constantNewline in quoted string %sString to long %sString Pool OverFlowNo more room to save strings. Illegal Hex constantName to long %struefalseEv MichTron Command Language Compiler v3.0 By Timothy Purves. Copyright (c) MichTron Inc. 1989. All rights reserved. -debugCompiled on an ATARI Usage Compiler: options filename.MCompiler: cannot open %sLabel [%s] not defined.MCLCannot Create OutputCannot Write HeaderCannot Write programCannot Write Strings[error %d] %s expecting: %ssyntax error %s file %s, line %d Program to large0123456789ABCDEF0123456789ABCDEF ****************************************************************************** * * Compile Results of %s * ****************************************************************************** %s: %s %s %s %s, "%s" %c$ %s %s,"%s",%c$,%s,"%s"%c$%s "%s" Variable %c$ (%d) %s Variable %c$ (%d) %s CodeGen Error! Variable %c# (%d) %s %d %d "%s" Variable %c$ %s "%s" Variable %c$ (%d) %s %s Strings %5d: "%s" Statistics: %5d Program steps, %3d%% used %5d Labels defined, %3d%% used %5d Strings defined, %3d%% used %5d Bytes in Strings, %3d%% used  2   4b*  ` &&$ ( 8l&*\ 0 "$   "      < ,  * 2 4*        *                                 &    "  (             r**n  "   $  , 0$ &  *  ".26    "     *" $. @ ^ > "$$$$$$$V  $  (      2"          4  &   $  $  $  * ( 0  $  &      $( L8. am,.. amCOOKIES0 li-IEMAIL M hr50GETFMAILM إqBMAIN M :zI;SNDFMAILM $irXWHEEL M v\Z;WHEEL0 vekWHEEL1 enWHEEL2 ep`WHEEL3 8erUWHEEL4 Uev%% Let me play with it first and I'll tell you what it is later. - Miles Davis %% You will be successful in your work. %% In the beginning i was made. I didn't ask to me made. No one consulted me or considered my feelings in this matter. But if it brought some passing fancy to some lowly humans as they haphazardly pranced their way through life's mournful jungle then so be it. - Marvin the Paranoid Android %% I just thought of something funny...your mother. - Cheech Marin %% Lack of skill dictates economy of style. - Joey Ramone %% Life is wasted on the living. - Zaphod Beeblebrox IV %% Youth is wasted on the young. - George Bernard Shaw %% The life of a repo man is always intense. %% You will soon meet a tall dark handsome stranger. %% !xob XINEX siht edisni kcuts m'I ,pleH %% I like the future, I'm in it. %% If you don't watch it, you're going to catch something. %% To be, or what? - Sylvester Stallone %% Givea man a fish, and you feed him for a day. Teach a man to fish, and he'll invite himself over for dinner. %% I waited and waited, and when nobody called, I knew it was from you. %% A stitch in time saves nine. %% There's a bug somewhere in your code. %% Een schip op het strand is een baken in zee. [A ship on the beach is a lighthouse to the sea.] - Dutch Proverb %% Faire de la bonne cuisine demande un certain temps. Si on vous fait attendre, c'est pour mieux vous servir, et vous plaire. [Good cooking takes time. If you are made to wait, it is to serve you better, and to please you.] Menu of Restaurant Antoine, New Orleans [Also, what we're going to be telling our customers] %% Adde parvum parvo magnus acervus erit. [Add little to little and there will be a big pile.] - OVID %% He'll sit here and he'll say, "Do this! Do that!" And nothing will happen. - Harry S. Truman, on presidential power %% Practice is the best of all instructors. - Publilius %% Experience is a dear teacher, but fools will learn at no other. - Poor Richard's Almanac %% The author should gaze at Noah, and ... learn, as they did in the Ark, to crowd a great deal of matter into a very small compass. - Sydney, Smith, Edinburgh Review %% The hypothesis: Amid a wash of paper, a small number of documents become the critical pivots around which every project's management revolves. These are the manager's chief personal tools. - Frederick P. Brooks, Jr., The Mythical Man Month %% There is nothing in this world constant but inconstancy. - Swift %% It is common sense to take a method and try it. If it fails, admit it frankly and try another. But above all, try something. - Franklin D. Roosevelt %% Things are always at their best in the beginning. - Pascal %% That is the key to history. Terrific energy is expended -- civilizations are built up -- excellent institutions devised; but each time something goes wrong. Some fatal flaw always brings the selfish and cruel people to the top, and then it all slides back into misery and ruin. In fact, the machine conks. It seems to start up all right and runs a few yards, and then it breaks down. - C. S. Lewis %% A good workman is known by his tools. %% I can call spirts from the vasty deep. Why so can I, or so can any man; but will they come when you do call for them? - Shakespeare, king Henry IV, Part I %% None love the bearer of bad news. - Sophocles %% How does a project get to be a year late? ... One day at a time. - Frederick Brooks, Jr., The Mythical Man Month %% What we do not understand we do not possess. - Goethe %% The tar pit of software engineering will continue to be sticky for a long time to come. One can expect the human race to continue attempting systems just within or just beyond our reach; and software systems are perhaps the most intricate and complex of man's handiworks. The management of this complex craft will demand our best use of new languages and systems, our best adaptation of proven engineering management methods, liberal doses of common sense, and ... humility to recognize our fallibility and limitations. - Frederick Brooks, Jr., The Mythical Man Month %% All programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers. Perhaps the hundreds of nitty frustrations drive away all but those who habitually focus on the end goal. Perhaps it is merely that computers are young, programmers are younger, and the young are always optimists. But however the selection process works, the result is indisputable: "This time it will surely run," or "I just found the last bug." - Frederick Brooks, Jr., The Mythical Man Month %% The flow chart is a most thoroughly oversold piece of program documentation. - Frederick Brooks, Jr., The Mythical Man Month %% The first 90% of a project takes 90% of the time. The last 10% of a project takes 90% of the time. %% At first sight, the idea of any rules or principles being superimposed on the creative mind seems more likely to hinder than to help, but this is quite untrue in practice. disciplined thinking focuses inspiration rather than blinkers it. - G. L. Glegg, The Design of Design %% "GOTO statement considered harmful" - E. W. Dijkstra, title to a letter in CACM 11, 3 (March, 1968) %% The meek shall inherit the earth. The rest of us will go to the stars. %% The emperor has no clothes. %% Here at Controls, we have one chief for every Indian. %% The clothes have no emperor. - C. A. Hoare, about Ada. %% There will always be survivors. - Robert Heinlen %% The programmer, like the poet, works only slightly removed from pure thought- stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. - Frederick Brooks, Jr., The Mythical Man Month %% Mind your own business, Mr. Spock. I'm sick of your halfbreed interference. %% A Puritan is someone who is deathly afraid that someone somewhere is having fun. %% A foolish consistency is the hobgoblin of little minds. - Samuel Johnson %% A gift of flower will soon be made to you. %% A liberal is someone too poor to be a capitalist and too rich to be a communist. %% A man forgives only when he is in the wrong. %% A professor is one who talks in someone else's sleep. %% University: A modern school where football is taught. %% Actors will happen in the best-regulated families. %% Admiration: Our polite recognition of another's resemblance to ourselves. %% We're fighting for this woman's honor, which is more than she ever did. - Rufus T. Firefly, in "Duck Soup" %% It's not often that you get so much class entertainment outside your bedroom window or outside your bedroom, period. - Groucho Marx %% All that glitters has a high refractive index. %% Anybody can win, unless there happens to be a second entry. %% Been Transferred Lately? %% Beware of a tall dark man with a spoon up his nose. %% Blessed are they that run around in circles, for they shall be known as wheels. %% Angular momentum makes the world go round. %% Charity: a thing that begins at home and usually stays there. %% Crazee Edeee, his prices are INSANE!!! %% Death: to stop sinning suddenly. %% Do not underestimate the power of the Force. %% /* EMAIL.M - Electronic Mail Room This code was written by Michael B. Vederman, Double Click Software for distribution with MichTron BBS. If you use this code, please keep my name in it. This code is placed in the PUBLIC DOMAIN, and as such, is not copyright. 03/12/89 - mbv - start and finish e-mail module this is a shell for both the email and fmail funcs 03/13/89 - mbv - add (flags&4) for f-mail, so e-mail is for everyone but f-mail is for members only. change logic so check_email will continue to delete old files even if it can't delete email.log 03/16/89 - mbv - add user_flag(4) for 'Honorary Member' add user_flag(5) sysop mail check 03/17/89 - mbv - add [R]eply to E-Mail and [Q]uit uses: c - counter j - julian date since 1/1/80 k - key r - random number for email file p$ - general purpose prompt d$ - email file - randomly generated e$ - email log file f$ - from user h$ - holding string j$ - julian date as a numeric string l$ - log file string m$ - mail room prompt r$ - random number as string t$ - to user s$ - subject z$ - my name */ z$ = "EMAIL was written by Michael B. Vederman, 1989"; m$ = "HASTE E-Mail Menu"; if (flags & 16) goto access; /* sysop access in progress */ if (!(flags & 2)) /* just logged on? goto check email */ goto getemail; email:; while (TRUE) { /* main loop */ p$ = "rsgm?"; /* non member access - all but f-mail */ if (flags & 4 || flags & 8) p$ = "rsfgm?"; /* members get f-mail too! */ if (level >= 2) p$ = "rsfgm?/a"; /* sysops/wizops get everything!! */ k = prompt(m$,p$); if (k == 'R') { print("Read E-Mail\n"); gosub getemail; } else if (k == 'S') { print("Send E-Mail\n"); gosub sndemail; } else if (k == 'F') { print("F-Mail Submenu\n\n"); gosub fmail; } else if (k == 'M') { print("Main menu\n"); return; } else if (k == 'G') { print("Good-Bye\n"); if (!(flags & 4)) list("\\BBS\\LOGOUT.TXT"); logoff(); } else if (k == '/') { sysopshell(""); } else if (k == 'A') { print("Access\n"); set_userflag(5); while (TRUE) { access:; print("\nAccess [E]-Mail, [F]-Mail or [Q]uit? "); k = key_match("EFQ"); if (k == 'E') { print("E-Mail\n"); gosub getemail; } else if (k == 'F') { print("F-Mail\n"); execute("GETFMAIL"); } else { print("Quit"); reset_userflag(5); break; } } } else if (k == '?') { print("HELP\n\n"); print("HASTE QUICK Help\n================\n\n"); print("These commands are available from the HASTE E-Mail system:\n"); print(" [R]ead E-Mail - read E-Mail to you\n"); print(" [S]end E-Mail - send E-Mail to another user\n"); if (flags & 4) print(" [F]-Mail - goto F-Mail submenu\n"); print(" [M]ain menu - Return to the HASTE main menu\n"); print(" [G]oodbye - Log off of the HASTE BBS\n"); if(level >= 2) { print(" [A]ccess - access ALL E-Mail\n"); print(" [/] SysOp - goto SysOp Shell\n"); } } } return; getemail:; c = 0; e$ = "\\BBS\\EMAIL.LOG"; if (exist(e$)) { open(e$); while (TRUE) { if (read(t$) < 0) /* to user */ break; if (read(f$) < 0) /* from user */ break; if (read(s$) < 0) /* subject */ break; if (read(h$) < 0) /* email filename */ break; if (read(j$) < 0) /* julian date mail sent */ break; if (logname(t$) || flags & 16) { e$ = "\\EMAIL\\ "; /* lexical bug */ left(e$,e$,len(e$)-1); /* fix it up */ strcat(e$,h$); /* make a full filename */ if (exist(e$)) { /* do it exist? */ if (flags & 16) print("\nE-Mail from ",f$," to ",t$,".\nSubject: ",s$,"\n"); else print("\n",username$," you have E-Mail from ",f$,".\n"); print("Would you like to read it now? [Y]es, [N]o or [Q]uit? "); k = key_match("ynq"); if (k == 'N') { print("No\n"); c = TRUE; print("This E-Mail message will be deleted in ",30-(current_date()-atoi(j$)),"days.\n"); continue; } else if (k == 'Q') { print("Quit\n"); c = -1; break; } print("Yes\n"); print("\nTo : ",t$,"\n"); print("From : ",f$,"\n"); print("Subject: ",s$,"\n\n"); list(e$); print("\n\n[R]eply to E-Mail, [D]elete E-Mail, or [N]ext? "); k = key_match("dnr"); if (k == 'D') { print("Delete\n"); print("E-Mail message deleted.\n"); delete(e$); } else if (k == 'N') { print("Next\n"); print("This E-Mail message will be deleted in ",30-(current_date()-atoi(j$)),"days.\n"); } else if (k == 'R') { print("Reply\n"); t$ = f$; left(h$,s$,3); if (strcmp(h$,"RE:")) { h$ = "RE: "; strcat(h$,s$); s$ = h$; } print("\nTo : ",t$,"\nFrom : ",username$, "\nSubject: ",s$,"\n"); gosub reply; print("\nCan I delete the E-Mail message from ",t$,"? [Y]es or [N]o? "); k = key_match("yn"); if (k == 'Y') { print("Yes\n"); print("E-Mail message deleted.\n"); delete(e$); } else if (k == 'N') { print("No\n"); print("This E-Mail message will be deleted in ",30-(current_date()-atoi(j$)),"days.\n"); } } c++; } /* if exist - email message */ } /* if logname */ } /* while TRUE */ open(""); } /* if exist - EMAIL.LOG */ if (!c) /* did we get any e-mail? */ print("\nNo E-Mail Waiting.\n"); /* nope - sniff, sniff */ else if (c > 0) print("\nNo more E-Mail.\n"); gosub check_email; if (flags & 2) /* did we just logon? */ return; /* nope, return to sender */ if (flags & 4 || flags & 8) /* yep, are we a member? */ execute("getfmail"); /* you bet, check for f-mail */ return; sndemail:; print("\nYou will need to know the logon name of the user which you\n"); print("are sending this message to. If you do not know the name of the\n"); print("user, type 'LIST' at the 'TO:' prompt.\n"); print("Press to go back to the E-Mail menu.\n"); while (TRUE) { print("\n"); if (input("To: ",t$,25) < 0) /* get who e-mail is to */ return; if (!strcmp("LIST",t$)) { /* 'LIST'? search for user */ display_users(); print("\n"); continue; /* get 'To:' again */ } print("\n"); if (!is_user(t$)) { /* a real user? */ print(t$," is not a registered user.\n"); continue; } if (logname(t$)) { /* silly! */ print("\gYou can't send E-Mail to yourself!\n"); continue; } if (input("Subject: ",s$,10) < 0) return; /* input subject - ESC cancels */ print("\n\n"); print("To : ",t$,"\nFrom : ",username$,"\nSubject: ",s$,"\n"); print("\nIs this correct? [Y]es or [N]o? "); /* all OK? */ k = key_match("yn"); if (k == 'N') { /* nope, try again */ print("No\n"); continue; } print("Yes\n"); /* yep */ reply:; l$ = t$; /* to - build string for ONE logfile cmd */ strcat(l$,"\n"); /* CR */ strcat(l$,username$); /* from */ strcat(l$,"\n"); /* CR */ strcat(l$,s$); /* subject */ strcat(l$,"\n"); /* CR */ repeat { /* make an email message name */ r = random(32767); /* random number */ str(h$,r); /* number to string */ d$ = "\\EMAIL\\ "; /* lexical bug */ left(d$,d$,len(d$)-1); /* fix */ strcat(d$,h$); /* make a real filename */ } until (!exist(d$)); /* if exists, repeat, else go on */ strcat(l$, h$); /* email file */ strcat(l$,"\n"); /* CR */ j = current_date(); /* julian date */ str(j$,j); strcat(l$,j$); /* date email sent */ p$ = "edit "; strcat(p$, d$); print("\nEnter text of E-Mail.\n"); print(p$, "\n"); sysopshell(p$); /* create/edit email file */ e$ = "\\BBS\\EMAIL.LOG"; logfile(e$,l$); /* log it for recall */ return; } /* while TRUE */ return; check_email:; /* check to see if email.log can be deleted */ c = 0; e$ = "\\BBS\\EMAIL.LOG"; if (exist(e$)) { open(e$); while (read(t$) >= 0) { /* to user */ if (read(f$) < 0) /* from user */ break; if (read(s$) < 0) /* subject */ break; if (read(d$) < 0) /* email filename */ break; if (read(j$) < 0) /* julian date */ break; s$ = "\\EMAIL\\ "; left(s$,s$,len(s$)-1); /* bug fix */ strcat(s$,d$); if (exist(s$)) { /* file exists? */ if (number_days(atoi(j$),current_date()) >= 30) { /* if email is 30 days old, delete it */ delete(s$); continue; } c = TRUE; /* found a file that isn't 30 days old */ continue; /* can't delete, but search for old ones */ } } open(""); if (!c) delete(e$); /* no matches, delete it */ } return; fmail:; /* what do we wanna do? */ print("[S]end F-Mail or [G]et F-Mail? "); k = key_match("sg"); if (k == 'S') { print("Send F-Mail\n"); execute("SNDFMAIL"); } else { print("Get F-Mail\n"); execute("GETFMAIL"); } /* GETFMAIL.M - Get File Mail This code was written by Michael B. Vederman, Double Click Software for distribution with MichTron BBS. If you use this code, please keep my name in it. This code is placed in the PUBLIC DOMAIN, and as such, is not copyright. 03/06/89 - mbv - start fmail module 03/10/89 - mbv - add e-mail attachment 03/12/89 - mbv - made f-mail submenu to e-mail (see email.m) 03/16/89 - mbv - add user_flag(5) sysop f-mail check 03/17/89 - mbv - add [Q]uit option uses: c - counter to see if fmail log is empty k - key b$ - another dummy string c$ - date file was sent d$ - dummy string e$ - email file f$ - fmail log filename p$ - prompt s$ - file that was sent t$ - name of user fmail is to u$ - name of user fmail is from z$ - my name */ z$ = "GETFMAIL was written by Michael B. Vederman, 1989"; get_fmail:; c = 0; f$ = "\\bbs\\fmail.log"; if (exist(f$)) { open(f$); while (TRUE) { if (read(t$) < 0) /* get a name */ break; if (read(u$) < 0) /* who from? */ break; if (read(d$) < 0) /* read filename */ break; if (read(b$) < 0) /* read attached email filename */ break; if (read(c$) < 0) /* read date file was sent */ break; if (logname(t$) || flags & 16) { /* is the name the user? */ s$ = "\\FMAIL\\ "; /* build filename */ left(s$,s$,len(s$)-1); /* fix bug */ strcat(s$,d$); /* build entire path */ e$ = "\\EMAIL\\ "; left(e$,e$,len(e$)-1); strcat(e$,b$); if (exist(s$)) { /* does it exist? */ c = TRUE; if (flags & 16) print("\nF-Mail from ",u$," to ",t$,".\n"); else print("\n\n",username$," you have F-Mail from ",u$,".\n"); print("FILENAME: ",d$,"\n\n"); print("Would you like to get the file? [Y]es, [N]o, [D]elete or [Q]uit? "); k = key_match("yndq"); if (k == 'N') { print("No\n"); print(d$," will be purged in ",14-(current_date()-atoi(c$)),"days!\n"); continue; } else if (k == 'D') { print("Delete\n"); print("\g\nReally delete ",d$,"? "); k = key_match("yn"); if (k == 'Y') { print("Yes\n"); delete(s$); delete(e$); print(d$," has been deleted.\n"); } else print("No\n"); continue; } else if (k == 'Q') { print("Quit\n"); c = -1; break; } print("Yes\n"); while (TRUE) { print("\nTo : ",t$,"\n"); print("From: ",u$,"\n"); print("File: ",d$,"\n\n"); list(e$); if (download(s$)) { /* download complete */ print("\g\nF-Mail downloaded successfully.\n"); print("Can I delete ",d$,"? [Y]es or [N]o? "); k = key_match("yn"); if (k == 'Y') { print("Yes\n"); print(d$," has been deleted.\n"); delete(s$); /* delete the file */ delete(e$); /* delete the email */ } else { print("No\n"); print(d$," will be purged in ",14-(current_date()-atoi(c$)),"days!\n"); } break; /* look for more fmail */ } else { print("\g\nF-Mail download not successful. Try again? [Y]es or [N]o? "); k = key_match("yn"); if (k == 'N') { print("No\n"); break; } else print("Yes\n"); } /* if !download */ } /* while true */ } /* if exist */ } /* if logname */ } /* while true */ } open(""); if (!c) print("\nNo F-Mail waiting.\n"); else if (c > 0) print("\No more F-Mail.\n"); check_file:; /* check to see if fmail.log can be deleted */ c = 0; if (exist(f$)) { open(f$); while (read(d$) >= 0) { /* to user */ if (read(d$) < 0) /* from user */ break; if (read(d$) < 0) /* filename */ break; s$ = "\\FMAIL\\ "; left(s$,s$,len(s$)-1); /* bug fix */ strcat(s$,d$); if (read(d$) < 0) /* email file */ break; e$ = "\\EMAIL\\ "; left(e$,e$,len(e$)-1); /* bug fix */ strcat(e$,d$); if (read(c$) < 0) /* date file was sent */ break; if (exist(s$)) { /* file exists */ if (number_days(atoi(c$),current_date()) >= 14) { delete(e$); delete(s$); continue; } c = TRUE; } } open(""); if (!c) delete(f$); /* no matches, delete it */ } if (flags & 16) execute("EMAIL"); if (flags & 2) { print("\n[S]end F-Mail, [E]-Mail menu or [M]ain menu? "); k = key_match("esm"); if (k == 'S') { print("Send F-Mail\n"); execute("sndfmail"); } else if (k == 'E') { print("E-Mail menu\n"); execute("EMAIL"); } else { print("Main menu\n"); execute("main");; } } set_userflag(2); return; /* MAIN.M - Main Menu This code was written by Michael B. Vederman, Double Click Software for distribution with MichTron BBS. If you use this code, please keep my name in it. This code is placed in the PUBLIC DOMAIN, and as such, is not copyright. HASTE = Houston Atari ST Enthusiasts - (713)973-6555 and 973-6665 HISTORY: 03/04/89 - mbv - start history add fortune, prompt before application capture 03/12/89 - mbv - add e-mail/f-mail add member/non-member status via user_flag(3) 03/13/89 - mbv - add user_flag(3) so e-mail is for all, but f-mail is for members only (see email.m) boost idletime for sysops/wizops 03/16/89 - mbv - add user_flag(4) for 'Honorary Member' add database uses: c = counter - which file (int - fortune) f = random number (int - fortune) user_var0 = how many times has wheel been played today? j = mail chart shown? (boolean - mail) k = key input (global) f$ = filename - phrase - (fortune) p$ = prompts (global) z$ = my name flags(1) = quote on startup flags(2) = kludge so email doesn't show prompt on startup flags(3) = user is a member flags(4) = 'Honorary Member' flags(5) = sysop E/F-Mail check in progress */ z$ = "MAIN was modified by Michael B. Vederman, 1989 for HASTE"; if (menu) goto restart; else menu++; NewUser:; idletime=120; j = 0; h = 0; print("\n"); if (level >=2) { idletime = 600; print("MAIN.MCL V1.5 03/16/89 mbv\n"); } list("\\bbs\\login.txt"); print("Press "); k = key_match(" "); howdy(); print("\nYou are logged onto Double Click Software's DC-PORT ",modem,"\n"); show_newmail(); show_newxfer(); show_lastcaller(); showdate(); who(); chat=0; MainMenu:; if (flags & 1) gosub fortune; if (!same_day()) user_var0 = 0; if (flags & 4) { title$ = "HASTE Member"; } else if (flags & 8) { title$ = "Honorary Member"; } else if (level == 0) { title$ = "Unregistered"; xfer_inhibit = TRUE; } else { title$ = "Non-Member"; } reset_userflag(2); execute("EMAIL"); restart:; while(1) { p$ = "cdfghkmqrstvwy?"; if(level > 0) p$ = "wphsfmcygbt?rvqed"; if(level >= 2) p$ = "wphsfmcygbt?/*rvqed"; k = prompt("HASTE Main Menu",p$); if(k == 'D') { print("Database\n"); gosub Database; } else if(k == 'F') { print("File transfer\n"); gosub FileXfer; } else if(k == 'M') { print("Message base\n"); gosub MailMenu; } else if(k == 'S') { print("Sig change\n"); sigchange(); } else if(k == 'Y') { print("YELL for Sysop\n"); chatreq(); } else if(k == 'P') { print("Edit profile\n\n"); print("Would you like to read a quotation when you logon?\n"); print("[Y]es or [N]o? "); k = key_match("yn"); if (k == 'Y') { print("Yes\n"); set_userflag(1); } else { print("No\n"); reset_userflag(1); } print("Continue Profile Edit? [Y]es or [N]o "); k = key_match("yn"); if (k == 'Y') { print("Yes\n"); profile(); } else print("No\n"); } else if(k == 'O') { print("Options menu\n"); gosub Options; } else if(k == '/') { print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'G') { print("Goodbye (log off)\n"); if (!(flags & 4)) list("\\BBS\\LOGOUT.TXT"); logoff(); } else if(k == 'W') { print("Who\n"); who(); } else if(k == 'C') { print("CHAT Rooms\n\n"); print("Welcome to the HASTE party line.\n"); print("These commands are available from CHAT:\n"); print(" /notify - notify another user to join you on the party line.\n"); print(" /who - see who else is on the HASTE BBS.\n"); idletime=576; inter_chat(); idletime=120; } else if(k == 'T') { print("Tell\n"); notify(); } else if(k == '*') { print("Force reload of MAIN.MCL (Y/N) ? "); if(key_match("YN") == 'Y') return; } else if(k == '?') { list("\\BBS\\MAINMENU.TXT"); if(level >= 2) print(" / SysOp functions\n * Reload MAIN.MCL\n"); } else if(k == 'R') { print("Read a Quotation\n"); gosub fortune; } else if(k == 'V') { if (user_var0 > 2) { print("Sorry, you are limited to three games per day.\n"); continue; } user_var0++; print("Vanna pick me a letter\n"); execute("wheel"); } else if(k == 'Q') { print("QUICK Logoff. Bye...\n"); if (!(flags & 4)) list("\\BBS\\LOGOUT.TXT"); hangup(); } else if(k == 'E') { print("Electronic Mail Room\n"); execute("EMAIL"); } } FileXfer:; while(1) { p$ = "lmg?"; if(level > 0 ) p$ = "ldumg?"; if(level >= 2) p$ = "ldu/mg?"; k = prompt("HASTE File System",p$); if(k == 'L') { print("Listing of files\n"); listdownload(); } else if(k == 'D') { print("Download individual\n"); indivdownload(); } else if(k == 'U') { print("Upload\n"); uploadclock = 1; uploadmenu(); uploadclock = 0; } else if(k == '/') { print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'G') { print("Goodbye (log off)\n"); if (!(flags & 4)) list("\\BBS\\LOGOUT.TXT"); logoff(); } else if(k == 'M') { print("Main menu\n"); return; } else if(k == '?') { print("HELP\n\n"); print("HASTE QUICK Help\n================\n\n"); print("These commands are available from the HASTE file system:\n"); print(" [L]ist files - get a verbose or short list of files\n"); print(" [D]ownload - X-Modem Checksum/CRC or Y-Modem Batch\n"); if(level > 0) print(" [U]pload - X-Modem Checksum/CRC\n"); if(level >= 2) print(" [/] SysOp - goto SysOp Shell\n"); print(" [M]ain menu - Return to the HASTE main menu\n"); print(" [G]oodbye - Log off of the HASTE BBS\n"); } } MailMenu:; if (j == 0) mailchart(); j = 1; while(1) { p$ = "srcimg?"; if(level > 0) p$ = "srcilnmg?"; if(level >= 2) p$ = "srciln/mg?"; k = prompt("HASTE Message System",p$); if(k == 'S') { print("Scan messages\n"); scanmail(); } else if(k == 'R') { print("Read messages\n"); readmail(); } else if(k == 'I') { print("Individual read\n"); indivmail(); } else if(k == 'L') { print("Leave a message\n"); leavemail(); } else if(k == 'N') { print("NEW messages only\n"); newmail(); } else if(k == '/') { print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'G') { print("Goodbye (log off)\n"); if (!(flags & 4)) list("\\BBS\\LOGOUT.TXT"); logoff(); } else if(k == 'M') { print("Main menu\n"); return; } else if(k == '?') { print("HELP\n\n"); print("HASTE QUICK Help\n================\n\n"); print("These commands are available in the HASTE message system.\n"); print(" [I]ndividual - read one message\n"); if(level > 0) print(" [L]eave messages - leave a mail message in one of the SIGs\n"); print(" [N]ew messages - read new messages in the HASTE message system\n"); print(" [R]ead messages - read message in the HASTE message system\n"); print(" [S]can messages - browse message topics and to/from user\n"); print(" [C]hart - graphical display of message in HASTE message system\n"); print(" [M]ain menu - return to the HASTE main menu\n"); print(" [G]oodbye - log off of the HASTE BBS\n"); if(level >= 2) print(" [/] SysOp - goto SysOp shell\n"); } else if(k == 'C') { print("Message chart\n"); mailchart(); } } NewsFile:; list("\\bbs\\news.txt"); print("\nWould you like to capture the application or would you like more info?\n"); print("\n[A]pplication, [I]nfo or [Q]uit -> "); k = key_match("AIQ"); if(k == 'A') { print("Capture the Application\n"); print("\nPress when you are ready to start the capture."); k = key_match(" "); list("\\BBS\\APPL.TXT"); } else if(k == 'I') { print("More Info\n"); list("\\BBS\\MORE.TXT"); print("\nWould you like to capture the application?\n[Y]es or [N]o -> "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); print("\nPress when you are ready to start the capture."); k = key_match(" "); list("\\BBS\\APPL.TXT"); } else print("No\n"); } else print("Quit\n"); return; Options:; repeat { print("\n\n--- SIG Toggle Utility ---\n"); showsigs(); print("\n[L]ist [S]et [C]lear [Q]uit "); k = key_match("LSCQ"); if(k == 'S') { w = decimal("Set\nWhich sig [1-11]: "); if(w < 1 || w > 11) print("Invalid Sig selection"); else set_usersig(w); } if(k == 'C') { w = decimal("Clear\nWhich sig [1-11]: "); if(w < 1 || w > 11) print("Invalid Sig selection"); else reset_usersig(w); } if(k == 'L') print("List"); if(k == 'Q') print("Quit\n\n"); } until(k == 'Q'); return; fortune:; print("\nTodays Quotation or Fortune:\n\n"); /* These lines can be uncommented out if you have the cookie files See the read me file for more information */ f$ = "\\BBS\\COOKIES0"; /* c = random(10); if (c == 1) f$ = "\\BBS\\COOKIES0"; if (c == 2) f$ = "\\BBS\\COOKIES1"; if (c == 3) f$ = "\\BBS\\COOKIES2"; if (c == 4) f$ = "\\BBS\\COOKIES3"; if (c == 5) f$ = "\\BBS\\COOKIES4"; if (c == 6) f$ = "\\BBS\\COOKIES5"; if (c == 7) f$ = "\\BBS\\COOKIES6"; if (c == 8) f$ = "\\BBS\\COOKIES7"; if (c == 9) f$ = "\\BBS\\COOKIES8"; if (c == 10) f$ = "\\BBS\\COOKIES9"; */ c = 0; if (exist(f$)) { f = random(65); open(f$); repeat { repeat { if (read(f$) < 0) { open(""); print("Hmmm... I seem to be unavailable\n"); return; } } until (asc(f$) == '%'); c++; } until (c == f); while (1) { if (read(f$) < 0) break; if (asc(f$) == '%') break; print(f$,"\n"); } } else { print("Bad luck will follow you wherever you go.\n"); } open(""); return; database:; while (TRUE) { k = prompt("HASTE Database System","aimnq?"); if (k == '?') { print("HELP\n\n"); print("HASTE QUICK Help\n================\n\n"); print("These commands are available in the HASTE datbase system.\n"); print(" [A]bout MichTron BBS 3.0 and DC-PORT\n"); print(" [I]nformation about HASTE\n"); print(" [M]eetings - What, where and when\n"); print(" [N]ews - What's new\n"); print(" [Q]uit database\n\n"); } else if (k == 'A') { print("About this BBS\n"); list("\\BBS\\ABOUT.TXT"); } else if (k == 'I') { print("Information about HASTE\n"); gosub Newsfile; } else if (k == 'M') { print("Meeting Info\n"); list("\\BBS\\MEETINGS.TXT"); } else if (k == 'N') { print("News\n"); list("\\BBS\\INFO.TXT"); } else if (k == 'Q') { print("Quit\n"); return; } } /* SNDFMAIL.M - Send File Mail This code was written by Michael B. Vederman, Double Click Software for distribution with MichTron BBS. If you use this code, please keep my name in it. This code is placed in the PUBLIC DOMAIN, and as such, is not copyright. 03/06/89 - mbv - start fmail send 03/10/89 - mbv - add attached e-mail message 03/12/89 - mbv - add is_user, clean up prompts uses: c - current date k - key r - random number c$ - current date as a string d$ - dummy string e$ - email file f$ - fmail log filename l$ - string to write to log file p$ - general purpose string r$ - string of random number s$ - file that was sent t$ - name of user fmail is to u$ - name of user fmail is from z$ - my name */ z$ = "SNDFMAIL was written by Michael B. Vederman, 1989"; send_fmail:; f$ = "\\bbs\\fmail.log"; s$ = "\\fmail\\ "; left(s$,s$,len(s$)-1); while (TRUE) { print("\n\nPlease enter the name of the user to send F-Mail to.\n"); print("The name must be *EXACTLY* the same as the logon name.\n"); print("If you are unsure, type LIST for the name.\n"); print("Press to return to E-Mail menu.\n"); while (TRUE) { print("\n"); if (input("Name: ",t$,25) < 0) execute("EMAIL");; if (!is_user(t$)) { print("\n",t$," is not a registered user.\n"); continue; } if (!strcmp("LIST",t$)) { display_users(); print("\n"); continue; } if (logname(t$)) { print("\gYou can't send F-Mail to yourself!\n"); continue; } break; } l$ = t$; strcat(l$,"\n"); strcat(l$,username$); strcat(l$,"\n"); while (TRUE) { print("\n"); if (input("Filename: ",t$,13) < 0) return; print("\n"); print(t$," <- Is this correct? [Y]es or [N]o? "); k = key_match("yn"); if (k == 'Y') { print("Yes\n\n"); strcat(s$,t$); if (exist(s$)) { print("That file already exists, please enter a new name.\n"); s$ = "\\fmail\\ "; left(s$,s$,len(s$)-1); continue; } break; } print("No\n\n"); } strcat(l$,t$); strcat(l$,"\n"); while (!upload(s$)) { print("\nUpload failed! Try again? [Y]es or [N]o? "); k = key_match("yn"); if (k == 'N') { print("No\n"); goto what_now; } else print("Yes\n"); } repeat { r = random(32767); str(e$,r); d$ = "\\EMAIL\\ "; left(d$,d$,len(d$)-1); strcat(d$,e$); } until (!exist(d$)); print("\nEnter an E-Mail message to attach to the file.\n"); print("Creating E-Mail file...\n\n"); strcat(l$, e$); strcat(l$, "\n"); p$ = "edit "; strcat(p$, d$); sysopshell(p$); c = current_date(); str(c$,c); strcat(l$,c$); logfile(f$,l$); what_now:; print("\n[S]end another, [G]et F-Mail, [E]-Mail menu or [M]ain menu? "); k = key_match("esgm"); if (k == 'S') { print("Send another\n"); } else if (k == 'G') { print("Get F-Mail\n"); execute("getfmail"); } else if (k == 'E') { print("E-Mail menu\n"); execute("EMAIL"); } else { print("Main menu\n"); return; } } /* WHEEL.M - Wheel of Fortune Game (VANNA) Wheel of Fortune is copyright Merv Griffin Enterprises. This code was written by Michael B. Vederman, Double Click Software for distribution with MichTron BBS. If you use this code, please keep my name in it. This code is placed in the PUBLIC DOMAIN, and as such, is not copyright. HISTORY: 3/4/89 - mbv - start and finish wheel 3/12/89 - mbv - add hi score and rounds/multiplier display category with each spin double chance of BANKRUPT! (hee hee) 3/13/89 - mbv - fix spin values to keep them reasonable no values over 1000, except 2000 & 3000, and only in the 2nd and 3rd rounds (respectively) uses: a = accumulated total c = counter - which file f = random number g = grand total - for some time period h = how many times has wheel been played i = counter k = key input s = how many spins? t = temp a$ = accumulated total as a string c$ = category f$ = filename - phrase g$ = user's guess thus far h$ = hi score file n$ = new guess l$ = letters available s$ = accumulated spins as a string t$ = temp string u$ = letters used v$ = vowels available w$ = temp string x$ = temp string y$ = temp string p$ = prompts z$ = my name */ z$ = "WHEEL was written by Michael B. Vederman, 1989"; wheel:; h$ = "\\BBS\\WHEEL.HI"; a = 0; s = 0; l$ = "bcdfghjklmnpqrstvwxyz"; v$ = "aeiou"; u$ = ""; c = random(5); c$ = "Category is "; if (c == 1) { strcat(c$,"people or person.\n"); f$ = "\\BBS\\WHEEL0"; } else if (c == 2) { strcat(c$,"place.\n"); f$ = "\\BBS\\WHEEL1"; } else if (c == 3) { strcat(c$,"thing(s).\n"); f$ = "\\BBS\\WHEEL2"; } else if (c == 4) { strcat(c$,"quotes and phrases.\n"); f$ = "\\BBS\\WHEEL3"; } else if (c == 5) { strcat(c$,"famous person.\n"); f$ = "\\BBS\\WHEEL4"; } print("Round #",user_var0,"\n"); print("Dollar values go up to ",user_var0 * 1000,"in this round.\n"); c = 0; check:; if (exist(f$)) { f = random(100); open(f$); repeat { repeat { if (read(f$) < 0) { print("Wheel unavailable\n"); return; } } until (asc(f$) == '%'); c++; } until (c == f); t = read(f$); if (t < 0) goto check; /* fill g$ with spaces - users current guess string */ g$ = ""; for (d = 0; d < t; d++) strcat(g$," "); while (1) { retry:; print("\nSo far you have guessed:\n\n"); print(g$,"\n"); for (d = 1; d <= t; d++) { left(t$,f$,d); right(x$,t$,1); if (asc(x$) != ' ') { print("-"); } else { print(" "); } } print("\n"); for (d = 1; d <= t; d++) { left(t$,g$,d); right(x$,t$,1); if (asc(x$) == ' ') { left(t$,f$,d); right(x$,t$,1); k = asc(x$); if (k != 'A' && k != 'E' && k != 'I' && k != 'O' && k != 'U' && k != ' ') break; } } print(c$); if (d > t) { print("Only vowels are left in the puzzle.\n"); print("You have ",a,"total points.\n"); if (a >=250) { p$ = "bgq"; print("[B]uy a vowel, [G]uess or [Q]uit -> "); } else { p$ = "gq"; print("You don't have enough points to buy a vowel.\n"); print("[G]uess or [Q]uit -> "); } k = key_match(p$); if (k == 'B') goto letter; } else { print("You have ",a,"total points.\n"); if (a >= 250) { p$ = "bgsq"; print("[S]pin wheel, [B]uy a vowel, [G]uess or [Q]uit -> "); } else { p$ = "sgq"; print("[S]pin, [G]uess or [Q]uit -> "); } k = key_match(p$); c = 0; if (k == 'B') goto letter; } if (k == 'S') { print("I'll spin the wheel, Pat.\n\n"); s++; repeat { c = random(user_var0 * 100); f = c & 1; c = c/10; c *= 100; f *= 50; c += f; } until (c > 50); if (c == 550) { print("\g\gBANKRUPT!\n"); a = 0; continue; } else if (c == 950) { print("\gLOSE A TURN!\n"); continue; } else if (c > 1000 && c < 2000) { /* round out the value */ c /= 200; c *= 100; c += f; } else if (c > 2000 && c < 3000) { /* round out the value */ c /= 400; c *= 100; c += f; } print("You spun ",c,"points.\n"); k = 'L'; letter:; if (k == 'L') { print("Let me have a letter, Pat.\n\n"); print("Letters used : ",u$,"\n\n"); print("Pick a letter -> "); k = key_match(l$); chr(y$,k); print("Are there any ",y$,"'s?\n"); } else if (k == 'B') { print("I think I'll buy a vowel.\n\n"); print("Letters used : ",u$,"\n\n"); print("Pick a vowel -> "); k = key_match(v$); chr(y$,k); print("I'll buy an ",y$,", please.\n"); a = a - 250; c = 0; } w$ = ""; i = len(u$); for (d = 1; d <= i; d++) { left(t$,u$,d); right(x$,t$,1); if (asc(x$) == k) { print("You already used that letter! You lose this turn!\n"); print("Be sure to watch that used letter board...\n"); goto retry; } } strcat(u$,y$); w$ = ""; i = 0; for (d = 1; d <= t; d++) { left(t$,f$,d); right(x$,t$,1); if (asc(x$) == k) { i++; a += c; strcat(w$,x$); } else { left(t$,g$,d); right(x$,t$,1); if (asc(x$) != ' ') { strcat(w$,x$); } else { strcat(w$,x$); } } } if (i == 0) print("Sorry, no ",y$,"'s.\n"); else if (i > 1) { if (c == 0) print("That's a good buy, there are ",i,y$,"'s.\n"); else print("There are ",i,y$,"'s.\n"); } else print("There is ",i,y$,".\n"); g$ = w$; if (!strcmp(g$,f$)) { print("\n",g$,"\n"); print("\g\g",username$,", you have guessed it!\n"); print("You earned ",a,"points in ",s,"spins.\n"); break; } } else if (k == 'Q') { print("I give up!\n\n"); print("Really quit? [Y]es or [N]o -> "); k = key_match("yn"); if (k == 'Y') { a = 0; print("Yes\n"); print("\nThe word/phrase is:\n",f$,"\n"); return; } print("No\n"); } else if (k == 'G') { print("I'll solve the puzzle, Pat.\n\n"); input("Your guess?\n", n$, 79); print("\n"); if (!strcmp(n$,f$)) { print("\n\g\g",username$,", you have guessed it!\n"); print("You earned ",a,"points in ",s,"spins.\n"); break; } else { print("Sorry, that's not it...\n"); } } } /* while (1) */ try_it_again:; if (exist(h$)) { open(h$); if (read(a$) < 0) open(""); else if (atoi(a$) < a) { print("\g\gYou are the new high scorer!!!\n"); open(""); delete(h$); } else { print("\nHigh score belongs to:\n\n"); if (read(u$) < 0) /* user */ goto try_it_again; if (read(v$) < 0) /* spins */ goto try_it_again; if (read(w$) < 0) /* category */ goto try_it_again; if (read(x$) < 0) /* round */ goto try_it_again; print(u$,"\n"); print("with ",a$," points\n"); print(v$,"\n"); print(w$,"\n"); print("Round ",x$,".\n"); open(""); return; } } str(a$,a); /* hi score */ p$ = a$; strcat(p$,"\n"); strcat(p$,username$); /* user */ strcat(p$,"\nin "); str(s$,s); strcat(p$,s$); /* number of spins */ strcat(p$," spins.\n"); strcat(p$,c$); /* category */ str(x$,user_var0); strcat(p$,x$); /* round */ logfile(h$,p$); } else { print("I don't seem to be available now...\n"); user_var0--; } % PINK FLOYD % FLEETWOOD MAC % HOUSTON POLICE DEPARTMENT % SISKEL AND EBERT % BERT AND ERNIE % NOT READY FOR PRIME TIME PLAYERS % MORMOM TABERNACLE CHOIR % FIRE DEPARTMENT % LONDON SYMPHONY ORCHESTRA % UNITED AUTO WORKERS % UNITED STATES CONGRESS % UNITED STATES SENATE % US NAVY % US ARMY % US AIR FORCE % US MARINES % US COAST GUARD % ROYAL CANADIAN MOUNTIES % ROCKY AND BULLWINKLE % HIGH SCHOOL TEACHERS % KERMIT AND MISS PIGGY % COMPUTER PROGRAMMERS % BUILDING SUPERINTENDANT % MAINTANANCE MAN % AIR CONDITIONING REPAIRMAN % HAIR DRESSER % UNITED STATES POST OFFICE % ARMY CORP OF ENGINEERS % JR HIGH SCHOOL PRINCIPAL % CALVALRY % ESKIMOES % MONTY PYTHONS FLYING CIRCUS % BARNUM AND BAILEY CIRCUS % GO GO DANCERS % NEW YORK CITY ROCKETS % HOUSTON OILERS % HOUSTON ASTROS % TEXAS RANGERS % BOSTON CELTICS % LOS ANGELES RAIDERS % ST LOUIS CARDINALS % PHILADELPHIA EAGLES % AMERICAL BASEBALL LEAGUE % NATIONAL FOOTBALL LEAGUE % NATIONAL BASKETBALL ASSOCIATION % NATIONAL RIFLE ASSOCIATION % AMERICAN TELEPHONE AND TELEGRAPH % ELECTRICAL ENGINEER % COLLEGE STUDENT % NUCLEAR PHYSICIST % TELEPHONE OPERATOR % NEWS ANCHORMAN % SPORTS ANNOUNCER % FRED ASTAIRE AND GINGER ROGERS % UNITED FEDERATION OF PLANETS % HOCKEY TEAM % UNITED STATES OLYMPIC TEAM % SOVIET UNION GYMNASTICS TEAM % CONTRA FREEDOM FIGHTERS % BUTLER % SUPREME COURT % REFEREE % UMPIRE % SCHOOL BUS DRIVER % AIRLINE PILOT % STEWARDESS % BARTENDER % JANITOR % PRISON INMATE % CHIMNEY SWEEP % COMEDY TROUPE % ABBOTT AND COSTELLO % AEROSMITH % LEDD ZEPPELIN % SMART ALEC % GENESIS % CROSBY STILLS NASH AND YOUNG % AMERICAN MEDICAL ASSOCIATION % MIKE AND THE MECHANICS % ELEVATOR OPERATOR % BELL BOY % SARGEANT AT ARMS % PRESIDENT OF THE UNITED STATES % NATIONAL ASSOCIATION FOR THE ADVANCEMENT OF COLORED PEOPLE % AMERICAN CIVIL LIBERTIES UNION % UNICEF % BODY BUILDER % LARGE BREASTED WOMEN % ASTRONAUT % COSMONAUT % GIRL SCOUTS % CAMP FIRE GIRLS % ATTORNEY GENERAL % SUPREME COURT JUSTICE % PET GROOMER % VETERINARIAN % TEXAS AGGIE % THE POPE % TAX ASSESSOR % MENS ROOM ATTENDANT % % HIGH SCHOOL GYMNASIUM % SHOPPING MALL % GROCERY MARKET % MILAN ITALY % BOISE IDAHO % AUSTIN TEXAS % SEATTLE WASHINGTON % PARIS FRANCE % ASTRODOME % DANCE HALL % FOOTBALL STADIUM % MASSAGE PARLOR % TATTOO SHOP % GAS STATION % COLLEGE CAMPUS % WEST INDIES % CANARY ISLANDS % BERMUDA TRIANGLE % MOSCOW % LONDON ENGLAND % BACK SEAT OF THE CAR % IN THE GARAGE % ON THE BEACH % KEY WEST FLORIDA % LOS ANGELES CALIFORNIA % CLUB MED % IXTAPA MEXICO % NILE RIVER % SOUTH POLE % ANTARCTICA % JUNO ALASKA % UNDER THE RUG % IN A DUNGEON % SAN ANTONIO TEXAS % THE LOUVRE MUSEUM % FINE ARTS MUSEUM % CHILDRENS PETTING ZOO % HOSPITAL EMERGENCY ROOM % WAITING ROOM % OUT PATIENT CLINIC % EMPIRE STATE BUILDING % IN A BOAT % THE ENGLISH CHANNEL % SATURN % MERCURY % VENUS % ANDROMEDA GALAXY % IN DEEP SPACE % POLICE HEADQUARTERS % FIRE STATION % LOCH NESS SCOTLAND % SESAME STREET % ICE SKATING RINK % IN AN ELEVATOR % STATE PENITENTIARY % VANDENBURG AIR FORCE BASE % JOHNSON SPACE CENTER % PLAYBOY MANSION % MEXICAN RESTAURANT % BEHIND THE HOUSE % PRESIDENTS AND FIRST LADY HEALTH SPA % OVAL OFFICE % THE GREEN ROOM % DAVID LETTERMAN SHOW % ON AN OIL RIG % AT THE RODEO % NIAGARA FALLS % MACDONALDS % BURGER KING % TACO BELL % HEALTH SPA SAUNA % NEW BRAUNFELS TEXAS % LINCOLN NEBRASKA % AUTO DEALERS SHOWROOM % EPCOT CENTER DISNEY WORLD % DISNEYLAND % EIFEL TOWER % CAIRO EGYPT % JOHANESBERG SOUTH AFRICA % THE SWISS ALPS % GRAND CANYON % MOUNT RUSHMORE % LAKE SUPERIOR MICHIGAN % ST LOUIS MISSOURI % SALT LAKE CITY UTAH % BERING STRAIT % CAMBRIDGE UNIVERSITY % HARVARD UNIVERSITY % CAFETERIA % LAS VEGAS CONVENTION CENTER % CEASERS PALACE HOTEL % CENTRAL PARK NEW YORK % SYDNEY AUSTRALIA % TEHRAN IRAN % VIDEO GAME ARCADE % BAHAMAS % WEST GERMANY % RHODE ISLAND % PONTIAC MICHIGAN % SILICON VALLEY % % PENCIL % PAPER % KEY CHAIN % PEN HOLDER % CRAYOLA CRAYONS % MAGIC MARKER % FELT TIP PEN % AUTOMOBILE TIRE % WINDSHIELD WIPER % SHOPPING CART % NEWSPAPER STAND % SILICON CHIP % RANDOM ACCESS MEMORY % READ ONLY MEMORY % CEREAL BOX % CHINA PLATE % SILVER SPOON % GRAND FATHER CLOCK % FLOPPY DISK DRIVE % WEBSTERS ENGLISH DICTIONARY % ROGETS THESAURUS % NUCLEAR ENERGY % A WOOD NYMPH % CORINTHIAN LEATHER % DOUBLE HEADER % SHARKS TOOTH % BOULDER % BOOMERANG % BOOBY PIN % BOOKMOBILE % FOREARM % FILET MIGNON % REAL ESTATE % USS ENTERPRISE % SEARS AND ROEBUCK TOWER % SPINAL COLUMN % VENTRILOQUIST % EATING UTENSIL % UNWRITTEN LAW % CONSTITUTION OF THE UNITED STATES % THE BILL OF RIGHTS % FUNGUS % FRATERNITY HOUSE % FRIGATE % FORTUNE COOKIE % PORTFOLIO % PERSONAL RESUME % STAIRCASE % LADDER % PAINT BRUSH % STEPPING STONE % CORNER STONE % KEYSTONE COPS % LETTERHEAD % LAXATIVE % LARIAT % HANDKERCHIEF % COFFEE MUG % BIG MAC % FRENCH FRIES % COCA COLA % ROOT BEER % CHOCOLATE ICE CREAM % KEROSENE LAMP % SLEEPING BAG % TWO MAN TENT % CREDIT CARD APPLICATION % PLAYBOY MAGAZINE % TECHNICAL DOCUMENTATION % GIRL SCOUT COOKIES % WAGON TRAIN % GALLON OF MILK % BARBELL WEIGHTS % PHOTOGRAPHY STUDIO % SHOWER CURTAIN % TOILET SEAT % FEMININE SANITARY NAPKIN % BLUE EYES % SPIRAL BINDER % SHEET OF PAPER % GREEN ONIONS % SPACE SHUTTLE % COLOR MONITOR % CATHODE RAY TUBE % ATARI VIDEO GAME % AM FM CLOCK RADIO % TOOTHPASTE AND TOOTHBRUSH % KITCHEN COUNTER % DEVILS FOOD CAKE % HOT DOGS AND BAKED BEANS % TELEVISION ANTENNA % VACUUM CLEANER HOSE % ONE QUART OF OIL % AIRPLANE BARF BAG % PENLIGHT BATTERIES % NUTS AND BOLTS % WINDOW PANE % FIREPLACE HEARTH % ELECTRONIC CALCULATOR % MICHTRON BBS % % POWER TENDS TO CORRUPT AND ABSOLUTE POWER CORRUPTS ABSOLUTELY % NEARER MY GOD TO THEE NEARER TO THEE % ALL CREATURES GREAT AND SMALL % STUCK IN THE MIDDLE % AS AMERICAN AS APPLE PIE % THE WALLS HAVE EARS % TO THYNE OWN SELF BE TRUE % ALWAYS A BRIDES MAID AND NEVER A BRIDE % NATURE MADE HIM THEN BROKE THE MOLD % AND WE FORGET BECAUSE WE MUST AND NOT BECAUSE WE WILL % GIVE ME LIBERTY OR GIVE ME DEATH % FOUR SCORE AND SEVEN YEARS AGO % SILENCE IS THE VIRTUE OF FOOLS % HE SAID IT THAT KNEW IT BEST % TO CHOOSE TIME IS TO SAVE TIME % THE PEN IS MIGHTIER THAN THE SWORD % THERE IS A SUCKER BORN EVERY MINUTE % IN THE BEGINNING GOD CREATED THE HEAVEN AND THE EARTH % BE FRUITFUL AND MULTIPLY % AM I MY BROTHERS KEEPER % HERES LOOKING AT YOU KID % LIE DOWN WITH DOGS AND YOU GET UP WITH FLEAS % HE IS AS DEAF AS A DOOR % TELL ME WHAT YOU EAT AND I WILL TELL YOU WHAT YOU ARE % IT ALL COMES TO THE SAME THING IN THE END % IF I KNEW YOU WERE COMING I WOULD HAVE BAKED A CAKE % A CHIP OF THE OLD BLOCK % LOVE COMES FROM BLINDNESS FRIENDSHIP FROM KNOWLEDGE % TWINKLE TWINKLE LITTLE STAR % I AM THE WALRUS % THE LONG ARM OF THE LAW % IGNORANCE IS BLISS % THERE LIES THE TEST % NEVER IN THE FIELD OF HUMAN CONFLICT WAS SO MUCH OWED BY SO MANY TO SO FEW % THIS IS NOT THE END THIS IS NOT EVEN THE BEGINNING OF THE END % THE BUSINESS OF AMERICA IS BUSINESS % THE MIDDLE OF THE ROAD % FASTEN YOUR SEATBELTS ITS GOING TO BE A BUMPY NIGHT % I THINK THEREFORE I AM % CLEAN AS A WHISTLE % HUNGRY ENOUGH TO EAT A COW % PLAY IT AGAIN SAM % ELEMENTARY MY DEAR WATSON % HOLY COW BATMAN % ALL FOR ONE ONE FOR ALL % THIS IS THE WAY THE WORLD ENDS NOT WITH A BANG BUT A WHIMPER % TO HAVE A FRIEND IS TO BE ONE % AN OUNCE OF PREVENTION IS WORTH A POUND OF CURE % A PENNY SAVED IS A PENNY EARNED % WALKING A FINE LINE % THATS THE WAY THE BALL BOUNCES % FAMILIARITY BREEDS CONTENT % THE BUCK STOPS HERE % TIME IS MONEY % SOME ARE WEATHER WISE SOME ARE OTHERWISE % THREE MAY KEEP A SECRET IF TWO OF THEM ARE DEAD % HE THAT LIVES UPON HOPE WILL DIE FASTING % WE MUST HANG TOGETHER OR HANG SEPARATELY % SOMETHING IS ROTTEN IN THE STATE OF DENMARK % GO WEST YOUNG MAN AND GROW UP WITH THE COUNTRY % I ONLY REGRET THAT I HAVE BUT ONE LIFE TO LOSE FOR MY COUNTRY % IT IS BETTER TO DIE ON YOUR FEET THAN LIVE ON YOUR KNEES % PURPLE MOUNTAIN MAJESTY % OH SAY CAN YOU SEE BY THE DAWNS EARLY LIGHT % A WOLF IN THE FOLD % A WOLF IN SHEEPS CLOTHING % FIRST IN THE HEARTS OF HIS COUNTRYMEN % THE BALLOT IS STRONGER THAN THE BULLET % YOU CAN FOOL ALL THE PEOPLE SOME OF THE TIME % YOU CAN NOT FOOL ALL THE PEOPLE ALL OF THE TIME % I SHOT AN ARROW INTO THE AIR IT FELL TO EARTH I KNOW NOT WHERE % LET THEM EAT CAKE % EITHER HE IS DEAD OR MY WATCH HAS STOPPED % ADDING INSULT TO INJURIES % BEYOND YOUR WILDEST DREAMS % CANDY IS DANDY BUT LIQUOR IS QUICKER % TAXATION WITHOUT REPRESENTATION IS TYRANNY % HOME HOME SWEET SWEET HOME % ONCE UPON A MIDNIGHT DREARY % THE MORE I SEE OF MEN THE MORE I LIKE DOGS % SPEAK SOFTLY AND CARRY A BIG STICK % GHOST IN THE MACHINE % THE COOK WAS A GOOD COOK AS COOKS GO AND AS COOKS GO SHE WENT % WOMEN AND ELEPHANTS NEVER FORGET AN INJURY % BEWARE THE IDES OF MARCH % TO BE OR NOT TO BE THAT IS THE QUESTION % TWAS THE NIGHT BEFORE CHRISTMAS % I MUST BE CRUEL ONLY TO BE KIND % SWEETS TO THE SWEET % HOW SHARPER THAN A SERPENTS TOOTH % THE WORST IS YET TO COME % BAD NEWS COMES IN THREES % DOUBLE DOUBLE TOIL AND TROUBLE FIRE BURN AND CALDRON BUBBLE % JACK AND JILL WENT UP THE HILL % JACK OF ALL TRADES MASTER OF NONE % PUT YOUR MONEY WHERE YOUR MOUTH IS % AS FUN AS A BARREL OF MONKIES % O ROMEO ROMEO WHEREFORE ART THOU ROMEO % THAT WHICH WE CALL A ROSE BY ANY OTHER NAME WOULD SMELL AS SWEET % YO HO HO AND A BOTTLE OF RUM % % TOM CRUISE % CLINT EASTWOOD % MARLON BRANDO % MARY TYLER MOORE % MICHAEL JACKSON % PHIL DONAHUE % JOHNNY CARSON % TOM HANKS % SHIRLEY TEMPLE % PAT SAJAK % VANNA WHITE % ED MCMAHON % RONALD REAGEN % GEORGE BUSH % DAN QUAYLE % JACK TRAMIEL % TOM HUDSON % TIM PURVES % OPRAH WINFREY % DAVID LETTERMAN % SEKA % STEVE MARTIN % DOM DELUISE % ART CARNEY % JACKIE GLEASON % ROGER MOORE % SEAN CONNERY % CLORIS LEACHMAN % SANDY DUNCAN % MEL BROOKES % BROOKE SHIELDS % JOHN GLENN % VICTORIA PRINCIPAL % VIDAL SASOON % GEORGE LUCAS % HARRISON FORD % STEVEN SPIELBERG % BILL COSBY % MARTIN MULL % TOM BROKAW % DUSTIN HOFFMAN % GEORGE WASHINGTON % JOHN HAMILTON % ABRAHAM LINCOLN % THEODORE ROOSEVELT % BEAVER CLEAVER % MICHAIL GORBACHEV % BURT REYNOLDS % SIGORNEY WEAVER % BETTE DAVIS % ROBERT REFORD % BOB WOODWARD % CARL BERNSTEIN % ROY ROGERS % GABBY HAYES % SYNBIL DANNING % CYBIL SHEPHERD % CHARLES BRONSON % JOHN WAYNE % JAMES STEWART % HENRY FONDA % JANE FONDA % GEORGE PEPPARD % AUDREY HEPBURN % TONY DANZA % DANNY DE VITO % JACK NICHOLSON % RANDY QUAID % BUFFALO BILL CODY % CANDICE BERGEN % ROBERT MITCHUM % GEORGE KENNEDY % JOHN F KENNEDY % DAVID CARRADINE % BARBARA EDEN % RINGO STARR % PAUL MC CARTNEY % JOHN LENNON % GEORGE HARRISON % JOHN DENVER % WHOOPI GOLDBERG % ROSANNA ARQUETTE % RITA MORENO % MARTIN SHEEN % W C FIELDS % CLARK GABLE % LUCILLE BALL % PHYLLIS DILLER % EDDY MURPHY % PETER SELLERS % JOHN TRAVOLTA % JAMES GARNER % GENE KELLEY % ORSON WELLES % PAUL NEWMAN % BURT LANCASTER % SPENCER TRACY % ERNEST BORGNINE % CHEECH MARIN % THOMAS CHONG % . amx.. amGETEMAILM ty GETFMAILM t| MAIN M ,Yv;SNDEMAILM ȸtSNDFMAILM Ҹt /* ################################ get E-mail ########################### */ menu=100; c = 0;t = 0; t$ = username$; ucase(t$); while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "c:\\bbs\\downmsg\\user"; strcat(f$,t$); strcat(f$,".EMA"); if(exist(f$)) { open(f$); while (true) { if(read(t$) < 0) { if(!c) print(" No E-Mail messages waiting."); goto CHECK_FILE; } if(logname(t$)) { if(read(u$) < 0) goto CHECK_FILE; if(read(s$) < 0) goto CHECK_FILE; if(read(c$) < 0) goto CHECK_FILE; if(exist(s$)) { c++; print("\g\n\n"); print(h$,"You have a E-Mail message from '",u$,"'.",i$,"\n\n"); print("Please delete it as soon as possible. It will automatically\n"); print("be deleted after 14 days anyway, so retrieve it ASAP!\n\n"); print("Do you want to receive it now? [Y]es, [N]o, [D]elete it: "); k = key_match("YND"); if(k == 'N') { print("No\n"); continue; } else if(k == 'D') { print("Delete\n"); print("\g\nReally delete this E-Mail? (Y,N): "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); delete(s$); print("This E-Mail deleted.\n"); } else print("No\n"); continue; } print("Yes\n"); while (true) { pause("\gPress any key to begin receiving E-mail message: "); print("\rFrom User: '",u$,"': \n\n"); list(s$); a$ = " Received E-Mail from "; strcat(a$,u$); log(a$); a$ = ""; print("\g\nShall I delete this E-Mail now? (Y,N): "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); print("This E-Mail has been deleted.\n"); delete(s$); } else { print("No\n"); print("This E-Mail will be purged in 14 days!\n"); } break; } } } else { read(d$); read(d$); read(d$); } } } else print(" No E-Mail messages waiting."); CHECK_FILE:; c = 0; if(exist(f$)) { open(f$); while (read(d$) >= 0) { if(read(d$) < 0) break; if(read(s$) < 0) break; if(read(c$) < 0) break; if(exist(s$)) { if(number_days(atoi(c$),current_date()) >= 14) { delete(s$); continue; } c = TRUE; } } if(!c) delete(f$); } return; /* ################################ E N D ################################ */ /* ################################ GETFMAIL ############################ */ menu=100; c = 0;t = 0; t$ = username$; ucase(t$); while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "C:\\bbs\\downmsg\\user"; strcat(f$,t$); strcat(f$,".FMA"); if(exist(f$)) { open(f$); while (true) { if(read(t$) < 0) { if(!c) print("\g No F-Mail files waiting."); goto CHECK_FILE; } if(logname(t$)) { if(read(u$) < 0) goto CHECK_FILE; if(read(s$) < 0) goto CHECK_FILE; if(read(c$) < 0) goto CHECK_FILE; if(exist(s$)) { c++; print("\n\n"); print(h$,"\gYou have a F-Mail file from '",u$,"', file '",s$,"'.",i$,"\n\n"); print("Please delete it as soon as possible. It will automatically\n"); print("be deleted after 14 days anyway, so retrieve it ASAP!\n\n"); print("Do you want to receive it now? [Y]es, [N]o, [D]elete it: "); k = key_match("YND"); if(k == 'N') { print("No\n"); continue; } else if(k == 'D') { print("Delete\n"); print("\g\nReally delete '",d$,"' (Y,N): "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); delete(s$); print("This F-Mail deleted.\n"); } else print("No\n"); continue; } print("Yes\n"); while (true) { print("\nTo : ",t$,"\n"); print("From: ",u$,"\n"); print("File: ",s$,"\n\n"); if(download(s$)) { print("\g\nF-Mail downloaded successfully.\n\n"); print("Shall I delete this F-Mail now? (Y,N): "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); print("This F-Mail has been deleted.\n"); delete(s$); } else { print("No\n"); print("This F-Mail will be purged in 14 days!\n"); } break; } else { print("\g\nF-Mail download failed. Try again? (Y,N): "); k = key_match("YN"); if(k == 'N') { print("No\n"); break; } else print("Yes\n"); } } } } else { read(d$); read(d$); read(d$); } } } else print("\g No F-Mail files waiting."); CHECK_FILE:; c = 0; if(exist(f$)) { open(f$); while (read(d$) >= 0) { if(read(d$) < 0) break; if(read(s$) < 0) break; if(read(c$) < 0) break; if(exist(s$)) { if(number_days(atoi(c$),current_date()) >= 14) { delete(s$); continue; } c = TRUE; } } if(!c) delete(f$); } return; /* ################################ E N D ################################ */ if(menu == 100) { gosub mailmenu; goto mainmenu; } if(menu > 0) goto MainMenu; ++menu; user_var0=23; howdy(); show_newmail(); show_newxfer(); show_lastcaller(); showdate(); who(); gosub checkmail; chat=(0); uploadclock=1; if(numcalls == 0) { print("\n\n\nWe need to know what kind of computer you have?\n\n"); print("1 - IBM or Compatable\n"); print("2 - Atari ST\n"); print("3 - Atari 8-Bit\n"); print("4 - Commodore\n"); print("5 - Other\n"); NewUserGoof:; input("\n\nEnter your choice ===>>>",k$,1); n=atoi(k$) + 2; if(n < 3 || n > 7) { beep(); goto NewUserGoof; } set_userflag(n); f$ = "\\bbs\\rules1.msg"; gosub fdisplay; } if(level == 4) { chat=(1); idletime=546; } MainMenu:; while(1) { p$ = "winqfmslbd?"; if(level > 0) strcat(p$,"goceruh"); if(level > 1) strcat(p$,"t"); if(level == 4) strcat(p$,"x/*="); flush(); k = prompt("Main Menu:",p$); if(k == 'W') { title$ = "who cmd"; print("Who's on-line?\n"); who(); } else if(k == 'I') { title$ = "info file"; print("Information\n"); gosub Information; } else if(k == 'N') { title$ = "news file"; print("News file\n"); gosub NewsFile; } else if(k == 'Q') { title$ = "ques"; print("Questionnaire\n"); gosub Question; } else if(k == 'F') { print("File transfer\n"); gosub FileXfer; } else if(k == 'M') { print("Message base\n"); mailchart(); gosub MailMenu; } else if(k == 'S') { title$ = "sig chng"; print("Sig change\n"); sigchange(); } else if(k == 'C') { title$ = "call others"; print("Call other users\n"); notify(); } else if(k == 'E') { title$ = "edit prof"; print("Edit profile\n"); profile(); } else if(k == 'L') { title$ = "last call"; print("Last callers\n"); lastcallers(); } else if(k == 'U') { title$ = "userlist"; print("Userlist\n"); display_users(); } else if(k == 'D') { title$ = "quick dis"; print("Disconnect\n\n Thanks for calling Southern Atari Remote BBS!! \n"); hangup(); } else if(k == '/') { print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'B') { title$ = "goodbye"; print("Bye (log off)\n"); execute("goodbye"); } else if(k == 'O') { title$= "other bbs"; print("Other BBS's\n"); gosub otherbbs; } else if(k == 'G') { title$= "wheel game"; print("Wheel of Fortune\n"); execute("wheel"); } else if(k == 'H') { title$ = "hilo game"; print("Hi-low game\n"); gosub hilow; } else if (k == 'X') { title$ = "xam act"; print("Examine activity\n"); sysopshell("activity n"); } else if(k == 'T') { title$ = "trfr files"; print("Transfer Files\n"); gosub transfers; } else if(k == 'R') { title$ = "rooms"; print("Rooms (inter-line chat)\n"); inter_chat(); } else if(k == '=') { print("Hello Command (re-login without dropping carrier) (Y/N) ?"); if(key_match("YN") == 'Y') hello(); } else if (k == '*') { title$ = "new mail"; print ("Read New Mail ONLY\n"); newmail(); } else if(k == '?') if(level == 4) { print("\n S.A.R. WizOp Menu"); print("\n\n\n [?] Help"); print(" [W]ho's on-line?\n"); print(" [I]nformation"); print(" [N]ews file\n"); print(" [Q]uestionnaire"); print(" [F]ile transfer\n"); print(" [M]essage base"); print(" [S]ig change\n"); print(" [H]i-low game"); print(" [C]all others online\n"); print(" [L]ast callers"); print(" [D]isconnect\n"); print(" [B]ye (log off)"); print(" [T]ransfer files\n"); print(" [*] New Mail"); print(" [=] Hello Command\n"); print(" [X]amine activity"); print(" [E]dit profile\n"); print(" [R]ooms (inter-line chat)"); print(" [U]serlist\n"); print(" [G]ames"); print(" [O]ther BBS's\n"); print(" [/] WizOp functions\n"); } else { print("\n S.A.R. Main Menu\n"); print("[W]ho's on-line?\n"); print("[I]nformation\n"); print("[N]ews file\n"); print("[Q]uestionnaire\n"); print("[F]ile transfer\n"); print("[M]essage base\n"); print("[S]ig Change\n"); print("[L]ast callers\n"); print("[D]isconnect\n"); if(level > 0) { print("[C]all others users online\n"); print("[H]i-low game\n"); print("[G]ame Wheel of Fortune\n"); print("[E]dit profile\n"); print("[R]ooms (inter-line chat)\n"); print("[U]serlist\n"); print("[O]ther BBS's\n"); print("[B]ye (log off)\n"); print("[?] Help\n"); } } } transfers:; while(1) { title$ = "trnsfr menu"; print("\n\nTransfer files from upload dir to:(?=help, Q=Quit)"); t=key_match("S8DMWQL?"); if(t == 'S') { print("ST\n"); sysopshell("move c:\\upload\\*.* d:\\dwn2\\ "); } else if(t == '8') { print("Atari 8-Bit\n"); sysopshell("move c:\\upload\\*.* c:\\dwn3\\ "); } else if(t == 'D') { print("Developers'\n"); sysopshell("move c:\\upload\\*.* c:\\dwn5\\ "); } else if(t == 'M') { print("MIDI\n"); sysopshell("move c:\\upload\\*.* c:\\dwn6\\ "); } else if(t == 'W') { print("Wizop Area\n"); sysopshell("move c:\\upload\\*.* c:\\dwn8\\ "); } else if(t == 'Q') { print("Quit"); return; } else if(t == 'L') { print("Goodbye\n"); execute("goodbye"); } else if(t == '?') { print("Help\n"); print("\n S.A.R. Transfer Files Menu"); print("\n\n[?] Help\n"); print("[S]t Atari ST sig\n"); print("[8]-bit Atari sig\n"); print("[D]eveloper's sig\n"); print("[M]IDI Sig\n"); print("[W]izOp Sig\n"); print("[Q]uit to Main Menu\n"); print("[L]og-off\n"); } } FileXfer:; while(1) { title$ = "file xfer"; p$ = "lmb?"; if(level > 0) strcat(p$,"dugs"); if(level == 4) strcat(p$,"/f"); k = prompt("File Transfer:",p$); if(k == 'L') { print("Listing of files\n"); listdownload(); } else if(k == 'D') { print("Download individual\n"); indivdownload(); } else if(k == 'S') { print("Sig Change\n"); sigchange(); } else if(k == 'G') { print("Message base\n"); mailchart(); goto MailMenu; } else if(k == 'U') { print("Upload\n"); uploadmenu(); } else if(k == '/') { print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'M') { print("Main menu\n"); return; } else if(k == 'B') { title$ = "goodbye"; print("Bye (log off)\n"); execute("goodbye"); } else if(k == 'F') { print("Diskfree"); Dfreegoof:; print("\n\nWhich drive (C,D,E,F)? "); chr(d$,toupper(key_match("CDEF"))); strcat(d$,":"); diskfree(d$); } else if(k == '?') { print("\n S.A.R. File Transfer Section\n\n"); print("[L]isting of files\n"); if(level > 0) { print("[D]ownload individual\n"); print("[U]pload\n"); print("[S]ig change\n"); print("[G]o to Mail Section\n"); } if(level >= 2) { print("[/]SysOp functions\n"); print("[F]ree disk space\n"); } print("[B]ye (log off)\n"); print("[M]ain menu\n"); print("[?]Help\n"); } } MailMenu:; while(1) { title$ = "mail menu"; p$ = "srimb?"; if(level > 0) strcat(p$,"glcnf"); if(level == 4) strcat(p$ ,"/"); k = prompt("Mail Menu:",p$); if(k == 'S') { title$ = "scan mail"; print("Scan mail\n"); scanmail(); } else if(k == 'R') { title$ = "read mail"; print("Read mail\n"); readmail(); } else if(k == 'F') { title$ = "file xfer"; print("File transfer\n"); goto FileXfer; } else if(k == 'I') { title$ = "ind read"; print("Individual read\n"); indivmail(); } else if(k == 'C') { title$ = "sig chg"; print("Sig Change\n"); sigchange(); } else if(k == 'L') { title$ = "lve mail"; print("Leave mail\n"); leavemail(); } else if(k == 'N') { title$ = "new mail"; print("NEW mail only\n"); newmail(); } else if(k == '/') { print("/ SysOp functions\n"); sysopshell(""); } else if(k == 'M') { print("Main menu\n"); return; } else if(k == 'B') { title$ = "goodbye"; print("Bye (log off)\n"); execute("goodbye"); } else if(k == 'G') { title$ = "g/s fmail"; print("Get/Send Fmail & Email\n"); gosub efmail; } else if(k == '?') { print("\n S.A.R. Mail Menu\n\n"); print("[S]can mail\n"); print("[R]ead mail\n"); print("[I]ndividual read\n"); if(level > 0) { print("[C]hange sigs\n"); print("[L]eave mail\n"); print("[N]ew mail only\n"); print("[F]ile transfer\n"); print("[G]et/send Email & Fmail\n"); } if(level >= 2) { print("[/]SysOp functions\n"); } print("[B]ye (log off)\n"); print("[M]ain menu\n"); print("[?]Help\n"); } } Information:; print("This BBS is run by a few good men with the following\n"); print("equipment:\n"); print("\nA Atari 1040ST"); print("\nA Supra 30 Megabyte Hard Disk Drive"); print("\nA U.S. Robotics 2400 baud modem"); print("\nA External Atari SF314 Floppy Disk Drive"); print("\nAnd Michtron's BBS 3.0 (many thanks to Tim Purves)"); print("\nAny inquiries about the software can be made to: \n"); print("\nMichTron Inc."); print("\n576 S. Telegraph"); print("\nPontiac Mi, 48054"); return; Otherbbs:; while(1) { p$ = "123M?"; k = prompt("Other BBS Menu:",p$); if(k == '1') { f$ = "\\bbs\\instruct\\otherbbs\\localbbs.txt"; gosub fdisplay; } else if(k == '2') { f$ = "\\bbs\\instruct\\otherbbs\\bbs.txt"; gosub fdisplay; } else if(k == '3') { f$ = "\\bbs\\instruct\\otherbbs\\bbs2.txt"; gosub fdisplay; } else if(k == 'M') { print("Return to Main Menu\g\n"); return; } else if(k == '?') { print("\n S.A.R. Other BBS Menu\n\n"); print("[1] Display Local BBS List\n"); print("[2] Display Hotlist BBS List\n"); print("[3] Display X-press BBS List\n\n"); print("[M] Return to Main menu\n"); print("[?]Help\n"); } } NewsFile:; e=list("c:\\bbs\\newsx.msg"); if(--e) print("\n\n Sorry!!! No news lately!\n\n"); return; Question:; e=list("Poll.msg"); if(--e) { print("\n\nFrom time to time a hot topic arises out of the media,\n"); print("we will place a public opinion type poll questions here at \n"); print("appropriate times.\n\n"); } return; Options:; repeat { print("\n\n--- SIG Toggle Utility ---\n"); showsigs(); print("\n[L]ist [S]et [C]lear [Q]uit "); k = key_match("LSCQ"); if(k == 'S') { w = decimal("Set\nWhich sig [1-8]: "); if(w < 1 || w > 8) print("Invalid Sig selection"); else if(w == 2 || w == 2 || w == 5 || w == 8) print("Sorry but sig",w," is private"); else set_usersig(w); } if(k == 'C') { w = decimal("Clear\nWhich sig [1-8]: "); if(w < 1 || w > 8) print("Invalid Sig selection"); else reset_usersig(w); } if(k == 'L') print("List"); if(k == 'Q') print("Quit\n\n"); } until(k == 'Q'); return; hilow:; t = random(100); for(l = 1;l <= 10;++l) { g = decimal("\nI have a number from 1 to 100\nGuess? "); if(g == -1) return; if(g < t) print("too low!\g"); else if(g > t) print("too high!\g"); else { print("So you guessed it! And it only took you ",l,"tries\n"); return; } } print("\nYou need a course on binary searches, the number was ",t); return; /* ############### E/F-Mail ################ */ EFMAIL:; while(true) { title$ = "E/FMail"; m = true; gosub CHECKMAIL; p$ = "\r12"; print("\f\n\t\tPrivate Mail & File Transfer\n"); print("\n\t\t 1 - Send a E-mail message"); print("\n\t\t 2 - Send a F-mail file"); print("\n\t\t 3 - Receive E-mail message(s) "); if(e) { print("(You have mail waiting)"); strcat(p$,"3"); } else print("(None waiting)"); print("\n\t\t 4 - Receive F-mail file(s) "); if(f) { print("(You have F-mail files waiting!)"); strcat(p$,"4"); } else print("(None waiting)"); print("\n\n\t\tSelection or [Return] to exit: "); k = key_match(p$); if(k == '\r') { m = false; e = false; f = false; break; } else if(k == '1') { title$ = "Send e-mail"; execute("SNDEMAIL"); } else if(k == '2') { title$ = "Send F-Mail"; execute("SNDFMAIL"); } else if(k == '3') { title$ = "Rcv E-Mail"; execute("GETEMAIL"); } else if(k == '4') { title$ = "Rcv F-Mail"; execute("GETFMAIL"); } } return; /* ##################### Check for E/F-Mail ##################### */ CHECKMAIL:; t = 0;e = false;f = false; t$ = username$; ucase(t$); while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "C:\\BBS\\DOWNMSG\\USER"; strcat(f$,t$); strcat(f$,".FMA"); if(exist(f$)) { f = true; if(!menu) print("\g\n",h$,"You have F-Mail waiting! Use 'G' from the [M]ail menu to receive it!",i$,"\n"); } f$ = "C:\\BBS\\DOWNMSG\\USER"; strcat(f$,t$); strcat(f$,".EMA"); if(exist(f$)) { e = true; if(!m) print("\n\g",h$,"You have E-Mail waiting! Use 'G' from the [M]ail menu to receive it.",i$,"\n"); } t$ = "";t = 0;z$ = "";f$ = ""; return; /* ############### File Display ############## */ FDISPLAY:; if(exist(f$)) f = true; else { f = false; strcat(f$,"\gSORRY, FILE NOT FOUND FOR DISPLAY!"); log(f$); return; } if(f && user_var0 == 999) { f = false; list(f$); flush(); pause("\nEnd Of File - Press any key to continue: "); return; } if(f) { open(f$); c = 0;f = 0; while(read(a$) >= 0) { ++c; print(a$,"\n"); if(c >= user_var0) { print(h$,"Continue listing? ([Y], or Q = Quit): ",i$); flush(); if(key_match("\r YQ") == 'Q') { f = -1;a$ = ""; break; } print("\r \r"); c = 0; } } } return;  /* ################################ send e-mail ########################## */ menu=100; print("\f\n"); print("\nPlease enter the username to receive this E-Mail. If you're\n"); print("not sure of the spelling, type '?' to search the User Listing\n"); print("for the correct spelling.\n\n"); print("Press only [Return] at the next prompt to abort sending E-Mail.\n\n"); while (true) { input("Send to what Username: ",a$,19); ucase(a$); if(len(a$) == 0) return; else if(!strcmp("?",a$)) { print("\n"); display_users(); print("\n"); continue; } else if (!is_user(a$)) { print("\r\g'",a$,"' is not a valid user name! Press any key: "); pause(""); continue; } print("\rSending to: '",a$,"' - Is this correct? (Y,N): "); k = key_match("YN"); if (k == 'Y') { print("Yes\n\n"); l$ = a$; t$ = a$; t = 0; while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "c:\\bbs\\downmsg\\user"; strcat(f$,t$); r$ = f$; strcat(r$,"."); strcat(f$,".EMA"); break; } print("No\n\n"); } strcat(l$,"\n"); t$ = username$; ucase(t$); strcat(l$,t$); strcat(l$,"\n"); t = 1; repeat { str(w$,t); z$ = "00"; strcat(z$,w$); right(w$,z$,2); s$ = r$; strcat(s$,"E"); strcat(s$,w$); ++t; } until(!exist(s$)); print("\n\gEnter your message as you normally would enter any message:\n"); strcat(l$,s$); strcat(l$,"\n"); p$="edit "; strcat(p$,s$); sysopshell(p$); str(c$,current_date()); strcat(l$,c$); logfile(f$,l$); l$ = " sent E-Mail to "; strcat(l$,a$); log(l$); print("\nYour E-Mail has been sent. It will be automatically deleted\n"); print("after 14 days, received or not.\n"); /* ################################ E N D ################################ */ /* ################################ send fmail############################## */ menu=100; print("\f\n"); diskfree("C:"); print("\nPlease enter the username to receive this F-Mail. If you're\n"); print("not sure of the spelling, type '?' to search the User listing\n"); print("for the correct spelling.\n"); print("\nPlease be sure the size of your uploaded file is LESS than the\n"); print("free disk space as shown above, or your upload will fail! Press\n"); print("[Return] at the next prompt to abort sending F-Mail.\n\n"); while (true) { input("Send to what Username: ",a$,19); ucase(a$); if(len(a$) == 0) return; else if(!strcmp("?",a$)) { print("\n"); display_users(); print("\n"); continue; } else if (!is_user(a$)) { print("\r\g'",a$,"' is not a valid user name! Type '?' to see a User Listing.\n Press any key: "); pause(""); continue; } print("\rSending to: '",a$,"' - Is this correct? (Y,N): "); k = key_match("YN"); if (k == 'Y') { print("Yes\n\n"); l$ = a$; t$ = a$; t = 0; while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "c:\\bbs\\downmsg\\user"; strcat(f$,t$); strcat(f$,".FMA"); break; } print("No\n\n"); } strcat(l$,"\n"); t$ = username$; ucase(t$); strcat(l$,t$); strcat(l$,"\n"); while (true) { print("\n"); input("Filename for upload: ",t$,12); ucase(t$); if(len(t$) == 0) return; s$ = "c:\\bbs\\downmsg\\ "; left(s$,s$,len(s$)-1); strcat(s$,t$); if (exist(s$)) { print("'",t$,"' already exists! Please use a different name.\n"); continue; } print("\rSend file '",t$,"' - Is this correct? (Y,N): "); k = key_match("YN"); if (k == 'Y') { print("Yes\n\n"); break; } print("No\n\n"); } strcat(l$,s$); strcat(l$,"\n"); while (!upload(s$)) { print("\nThe upload failed! Try again? (Y,N): "); k = key_match("YN"); if (k == 'N') { print("No\n"); execute("MAIN"); } else print("Yes\n"); } str(c$,current_date()); strcat(l$,c$); logfile(f$,l$); l$ = " sent F-Mail file to "; strcat(l$,a$); log(l$); print("\nYour F-Mail has been sent. It will be automatically\n"); print("deleted after 14 days, received or not.\n"); /* ################################ E N D ################################ */ . am.. amGETEMAILM z GETFMAILM zKLISTINGSM z>MAIN M z=PROFILERM zV SNDEMAILM zSNDFMAILM z /*############################################################################# # GETEMAIL.M Ver 1.03 - 03/20/89 by Wm. A. Van Nest, Sr. # # # # VanGuard Datasystems BBS 301-577-3659 24 Hours 3/12/2400 baud # #############################################################################*/ c = 0;t = 0; t$ = username$; ucase(t$); while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "D:\\MAIL\\USER"; strcat(f$,t$); strcat(f$,".EMA"); if(exist(f$)) { open(f$); while (true) { if(read(t$) < 0) { if(!c) print(" No E-Mail waiting."); goto CHECK_FILE; } if(logname(t$)) { if(read(u$) < 0) goto CHECK_FILE; if(read(s$) < 0) goto CHECK_FILE; if(read(c$) < 0) goto CHECK_FILE; if(exist(s$)) { c++; print("\n\n"); print(h$,"You have E-Mail from '",u$,"'.",i$,"\n\n"); print("Please delete it as soon as possible. It will automatically\n"); print("be deleted after 14 days anyway, so retrieve it ASAP!\n\n"); print("Do you want to receive it now? [Y]es, [N]o, [D]elete it: "); k = key_match("YND"); if(k == 'N') { print("No\n"); continue; } else if(k == 'D') { print("Delete\n"); print("\g\nReally delete this E-Mail? (Y,N): "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); delete(s$); print("This E-Mail deleted.\n"); } else print("No\n"); continue; } print("Yes\n"); while (true) { pause("Press any key to begin receiving message: "); print("\rFrom User: '",u$,"': \n\n"); list(s$); a$ = " Received E-Mail from "; strcat(a$,u$); log(a$); a$ = ""; print("\g\nShall I delete this E-Mail now? (Y,N): "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); print("This E-Mail has been deleted.\n"); delete(s$); } else { print("No\n"); print("This E-Mail will be purged in 14 days!\n"); } break; } } } else { read(d$); read(d$); read(d$); } } } else print(" No E-Mail waiting."); CHECK_FILE:; c = 0; if(exist(f$)) { open(f$); while (read(d$) >= 0) { if(read(d$) < 0) break; if(read(s$) < 0) break; if(read(c$) < 0) break; if(exist(s$)) { if(number_days(atoi(c$),current_date()) >= 14) { delete(s$); continue; } c = TRUE; } } if(!c) delete(f$); } return; /* ################################ E N D ################################ */ /*############################################################################# # GETFMAIL.M Ver 1.03 - 03/20/89 by Wm. A. Van Nest, Sr. # # # # VanGuard Datasystems BBS 301-577-3659 24 Hours 3/12/2400 baud # #############################################################################*/ c = 0;t = 0; t$ = username$; ucase(t$); while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "D:\\MAIL\\USER"; strcat(f$,t$); strcat(f$,".FMA"); if(exist(f$)) { open(f$); while (true) { if(read(t$) < 0) { if(!c) print(" No F-Mail waiting."); goto CHECK_FILE; } if(logname(t$)) { if(read(u$) < 0) goto CHECK_FILE; if(read(s$) < 0) goto CHECK_FILE; if(read(c$) < 0) goto CHECK_FILE; if(exist(s$)) { c++; print("\n\n"); print(h$,"You have F-Mail from '",u$,"', file '",s$,"'.",i$,"\n\n"); print("Please delete it as soon as possible. It will automatically\n"); print("be deleted after 14 days anyway, so retrieve it ASAP!\n\n"); print("Do you want to receive it now? [Y]es, [N]o, [D]elete it: "); k = key_match("YND"); if(k == 'N') { print("No\n"); continue; } else if(k == 'D') { print("Delete\n"); print("\g\nReally delete '",d$,"' (Y,N): "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); delete(s$); print("This F-Mail deleted.\n"); } else print("No\n"); continue; } print("Yes\n"); while (true) { print("\nTo : ",t$,"\n"); print("From: ",u$,"\n"); print("File: ",s$,"\n\n"); if(download(s$)) { print("\g\nF-Mail downloaded successfully.\n\n"); print("Shall I delete this F-Mail now? (Y,N): "); k = key_match("YN"); if(k == 'Y') { print("Yes\n"); print("This F-Mail has been deleted.\n"); delete(s$); } else { print("No\n"); print("This F-Mail will be purged in 14 days!\n"); } break; } else { print("\g\nF-Mail download failed. Try again? (Y,N): "); k = key_match("YN"); if(k == 'N') { print("No\n"); break; } else print("Yes\n"); } } } } else { read(d$); read(d$); read(d$); } } } else print(" No F-Mail waiting."); CHECK_FILE:; c = 0; if(exist(f$)) { open(f$); while (read(d$) >= 0) { if(read(d$) < 0) break; if(read(s$) < 0) break; if(read(c$) < 0) break; if(exist(s$)) { if(number_days(atoi(c$),current_date()) >= 14) { delete(s$); continue; } c = TRUE; } } if(!c) delete(f$); } return; /* ################################ E N D ################################ */ /*############################################################################# # LISTINGS.M Ver 1.03 - 03/20/89 by Wm. A. Van Nest, Sr. # # # # VanGuard Datasystems BBS 301-577-3659 24 Hours 3/12/2400 baud # #############################################################################*/ a = true; while(true) { title$ = "BBS Listings"; if(a) { w$ = "Atari ST"; print("\f\n\n\t\t -=> ",w$," <=- ",h$,"BBS Listing Service",i$,"\n\n"); f$ = "D:\\D1\\BBSLIST.ST"; print("\t\t\tS - Switch to Macintosh listings\n"); } else { w$ = "Macintosh"; print("\f\n\n\t\t -=> ",w$," <=- ",h$,"BBS Listing Service",i$,"\n\n"); f$ = "D:\\D1\\BBSLIST.MAC"; print("\t\t\tS - Switch to Atari ST listings\n"); } print("\t\t\tD - Display all ",w$," listings\n"); print("\t\t\tE - Enter a NEW ",w$," listing\n"); print("\n\t\t Enter your selection or [Return] to exit: "); if(level > 0) l = key_match("SDE\r"); else l = key_match("SD\r"); if(l == '\r') break; else if(l == 'S') a = !a; else if(l == 'D') { print("\f"); gosub FDISPLAY; if(f != -1) pause("\nEND - Press any key to continue: "); } else if(l == 'E') { if((userflag(8) && (a == true)) || (userflag(9) && (a == false))) { print("\n\n\gYou've already listed a BBS for the ",w$,"! Contact "); print("the SysOp if you need\nto change one or list another.\n"); pause("\nPress any key to continue: "); } else gosub ENTER; } } a = 0;k = 0; a$ = "";b$ = "";c$ = "";d$ = "";e$ = ""; f$ = "";g$ = "";t$ = "";w$ = ""; execute("MAIN"); /* ################## Enter a BBS listing ################### */ ENTER:; title$="BBS Entry"; print("\f\n -=> ",w$," <=- ",h$,"BBS Listing Editor Information",i$,"\n\n"); print("This function is intended for the use of visiting SysOps, as\n"); print("a means to gain an 'instant listing' for their BBS.\n\n"); print("You are trusted to give accurate, timely information on a\n"); print("current BBS. Your entry is being logged with your Username,\n"); print("so if you give false information or enter foul language, you\n"); print("will be immediately deleted from this BBS!\n\n"); print("Now that we've taken care of the few idiots who will make it\n"); print("this far, I'd like to thank the rest if you for caring enough\n"); print("to participate! I hope you have read the current BBS Listing\n"); print("to ensure yours is not a duplicate entry? If not, please do so\n"); print("before creating an entry!\n\n"); print("Keeping all this in mind, do you now wish to create an entry to\n"); print("the BBS listing database? (Please press Y or N): "); if(key_match("YN") == 'N') return; print("\f\n\t-=> ",w$," <=- ",h$,"BBS Listing Editor - Entry",i$,"\n\n\n"); input("\nBBS Name and Sysop Name if room (25 characters max): ",a$,25); input("\nTelephone number with area code (XXX-XXX-XXXX) : ",b$,12); input("\nLocated in what City, State (XXXXXXXXXXX, XX) : ",c$,19); input("\nBaud rates (12/24, 3/12, 3/12/24, 3/12/24/96 etc) : ",d$,10); input("\nHours of operation (24 Hours, 10a-6p, etc.) : ",e$,8); gosub VERIFY; return; /* ################## Verify a BBS listing ################### */ VERIFY:; while(true) { title$="BBS Verify"; print("\f\n\t-=> ",w$," <=- ",h$," BBS Listing Editor - Verify",i$,"\n\n\n"); print("Field 1 - (BBS Name) : ",a$,"\n"); print("Field 2 - (Telephone) : ",b$,"\n"); print("Field 3 - (Location) : ",c$,"\n"); print("Field 4 - (Baud Rate) : ",d$,"\n"); print("Field 5 - (Hours) : ",e$,"\n"); print("\n\nPress number of field to change, S to save, or Q to abort: "); k = key_match("12345SQ"); if(k > '0' && k < '6') print("\rTo leave field alone, just press [Return]... \n"); if(k == '1') { input("\n\nBBS Name and Sysop Name if room (25 characters max): ",g$,25); if(strcmp(g$,"") != 0) a$ = g$; } if(k == '2') { input("\n\nTelephone number with area code (XXX-XXX-XXXX) : ",g$,12); if(strcmp(g$,"") != 0) b$ = g$; } if(k == '3') { input("\n\nLocated in what City, State (XXXXXXXXXXX, XX) : ",g$,19); if(strcmp(g$,"") != 0) c$ = g$; } if(k == '4') { input("\n\nBaud rates (12/24, 3/12, 3/12/24, 3/12/24/96 etc) : ",g$,10); if(strcmp(g$,"") != 0) d$ = g$; } if(k == '5') { input("\n\nHours of operation (24 Hours, 10a-6p, etc.) : ",g$,8); if(strcmp(g$,"") != 0) e$ = g$; } if(k == 'Q') { print("\n\nAbort BBS listing entry? Are you sure? (Y,N): "); b = key_match("YN"); if(b == 'Y') break; } if(k == 'S') { g$ = "";t$ = ""; print("\n\nSaving record ."); strcat(a$," "); left(t$,a$,25); strcat(g$,t$); strcat(g$," "); print("."); strcat(b$," "); left(t$,b$,12); strcat(g$,t$); strcat(g$," "); print("."); strcat(c$," "); left(t$,c$,19); strcat(g$,t$); strcat(g$," "); print("."); strcat(d$," "); left(t$,d$,10); strcat(g$,t$); strcat(g$," "); print("."); strcat(g$,e$); print("."); logfile(f$,g$); if(level < 4) { if(a) { set_userflag(8); log(" Entered a BBS listing for Atari ST!"); } else { set_userflag(9); log(" Entered a BBS listing for Macintosh!"); } pause("\nDone! Thanks for your input! Press any key to continue: "); } a$ = "";b$ = "";c$ = "";d$ = "";e$ = "";g$ = "";t$ = ""; break; } } return; /* ################## Display a BBS listing ################### */ FDISPLAY:; if(exist(f$)) f = true; else { f = false; strcat(f$," NOT FOUND FOR DISPLAY!"); log(f$); return; } if(f && user_var0 == 999) { f = false; list(f$); flush(); pause("\nEnd Of File - Press any key to continue: "); return; } if(f) { open(f$);c = 0;f = 0; while(read(a$) >= 0) { ++c; print(a$,"\n"); if(c >= user_var0) { print(h$,"More? ([Y],N): ",i$); flush(); if(key_match("\r YN") == 'N') { f = -1; break; } print("\r \r"); c = 0; } } } return; /* ################################ E N D ################################ */ /*############################################################################# # MAIN.M Ver 1.03 - 03/20/89 by Wm. A. Van Nest, Sr. # # # # VanGuard Datasystems BBS 301-577-3659 24 Hours 3/12/2400 baud # #############################################################################*/ if(m) gosub EFMAIL; if(menu) goto MAIN; ++menu; idletime = 90; gosub SCREENCODES; if(!user_var0) user_var0 = 23; if(level == 0) { beep(); title$ = "UnReg Logon"; print("\nJust two more questions, please:\n"); lastrecord = 0; print("\nPlease tell me where/how you heard of this BBS?\n"); flush(); input(": ",s$,55); if(strcmp(s$,"") != 0) log(s$); beep(); print("\n\nWhat type of computer are you using (Atari ST, Mac, etc)?\n"); flush(); input(": ",s$,55); if(strcmp(s$,"") != 0) log(s$); s$ = ""; list("\\BBS\\UNREG.MSG"); flush(); pause("Press any key to continue: "); } howdy(); showdate(); show_newmail(); print("\n"); show_newxfer(); print("\n"); f = false; e = false; gosub CHECKMAIL; show_lastcaller(); if(userflag(1) || userflag(2) || userflag(3)) { print("\n",j$); print("********* The red carpets rolls out for a BBS Donator! "); print("*********",k$,"\n"); } if(logname("Sysop") || logname("Test User") || (level == 4)) { lastrecord = 0; idletime = 3600; } else /* ########## MESSAGE OF THE DAY ########## */ { idletime = 120; print("\nPress Control-S to pause and Control-Q to resume any display.\n\n"); print("F-Mail (user to user file transfer) and E-Mail (private uset to\n"); print("user mail) is now available! I can't guarantee it works perfectly,"); print("\nso don't be surprised if it breaks. Please don't abuse it.\n"); } /* ############### Main Menu ################ */ MAIN:; gosub SCREENCODES; while(true) { clock = true; if(level == 0) { print("\nAs an unregistered user, you have very limited access!\n"); p$ = "WBFCLG*MD+?"; } else { p$ = "WBFCLEG*VMUD+?"; if(level == 4) strcat(p$,"/|"); } title$ = "Main Menu"; flush(); k = prompt(" >> Main << [Return] for help.",p$); print("\r \n"); if(k == '?') { print("\f\n ",h$,"M a i n M e n u",i$,"\n\n"); print(" W - Welcome Message * - Current Date & Time\n"); print(" B - Bulletins V - VT52 Graphics Screens\n"); print(" F - File Transfer M - Message Base\n"); print(" C - Chat with SysOp U - User Profile & Sigs\n"); print(" L - Last Callers Listing D - Display Users\n"); print(" E - E-Mail/F-Mail + - BBS Listing Service\n"); print(" G - Goodbye (Log Off)\n"); } else if(k == '/') { print(h$,"SysOp Shell",i$,"\n\n"); title$ = "SysOp Shell"; sysopshell(""); } else if(k == '|' && exist("\\BBS\\SPECIAL.MCL")) { print(h$,"Special MCL",i$,"\n\n"); execute("SPECIAL"); } else if(k == 'W') { print(h$,"Welcome Message",i$,"\n\n"); title$ = "Welcome Msg"; list("\\BBS\\WELCOME.MSG"); } else if(k == 'B') { print(h$,"Bulletins",i$,"\n"); gosub BULLETINS; } else if(k == 'F') { print(h$,"File Transfer",i$,"\n"); gosub XFER; } else if(k == 'M') { print(h$,"Message Base",i$,"\n"); gosub MAIL; } else if(k == 'C') { print(h$,"Chat with Sysop",i$,"\n"); title$ = "Chat Request"; chatreq(); } else if(k == 'U' && exist("\\BBS\\PROFILER.MCL")) { print(h$,"Edit Profile",i$,"\n"); execute("PROFILER"); } else if(k == 'L') { print(h$,"Last Callers",i$,"\n"); title$ = "LastCallers"; lastcallers(); } else if(k == '*') showdate(); else if(k == 'G') { print(h$,"Goodbye",i$); title$ = "Log Off"; if(level == 4) hangup(); else logoff(); } else if(k == 'V') { print(h$,"VT52 Graphics",i$,"\n"); gosub VT52; } else if(k == 'D') { print(h$,"Display Users",i$,"\n"); title$ = "Display Users"; display_users(); } else if(k == '+' && exist("\\BBS\\LISTINGS.MCL")) { print(h$,"BBS Listing Service",i$,"\n"); execute("LISTINGS"); } else if(k == 'E') { print(h$,"E-Mail/F-Mail",i$,"\n"); gosub EFMAIL; } } /* ############### Bulletins ################ */ BULLETINS:; while(true) { title$ = "Bulletins"; print("\f\n ",h$,"Bulletins",i$,"\n\n"); print(" 1 - BBS system configuration\n"); print(" 2 - New User Instructions\n"); print(" 3 - About VanGuard Datasystems\n"); print(" 4 - VanTerm Update History\n"); print(" 5 - Download VanTerm ver 3.71 updated 08/23/88\n"); print(" 6 - Donations to this BBS for increased access\n"); print("\n Enter your selection or [Return] to exit: "); k = key_match("\r123456"); print("\f\n"); if(k == '\r') break; else if(k == '1') { f$ = "\\BBS\\SYSTEM.MSG"; title$ = "System Info"; gosub FDISPLAY; } else if(k == '2') { f$ = "\\BBS\\NEWUSER.MSG"; title$ = "NewUser Info"; gosub FDISPLAY; if(f != -1) log("Read New User instructions"); } else if(k == '3') { f$ = "\\BBS\\VANGUARD.MSG"; title$ = "VanGuard Info"; gosub FDISPLAY; } else if(k == '4') { f$ = "D:\\D9\\HISTORY.DOC"; title$ = "VanTerm History"; gosub FDISPLAY; } else if(k == '5') { title$ = "VanTerm DL"; print("\n\n",j$,"The clock has stopped for this download...",k$,"\n\n"); clock = false; xfer_inhibit = false; download("D:\\D9\\VANTERM.ARC"); if(level == 0) xfer_inhibit = true; clock = true; print("\n\n",j$,"The clock is running again...",k$,"\n\n"); f = 0; } else if(k == '6') { f$ = "\\BBS\\DONATION.MSG"; title$ = "Donation Info"; gosub FDISPLAY; } if(f != -1) { flush(); pause("END - Press any key to continue: "); } } f = 0; return; /* ############### E/F-Mail ################ */ EFMAIL:; while(true) { title$ = "E/FMail"; m = true; gosub CHECKMAIL; p$ = "\r12"; print("\f\n\t\tPrivate Mail & File Transfer\n"); print("\n\t\t 1 - Send a message"); print("\n\t\t 2 - Send a file"); print("\n\t\t 3 - Receive message(s) "); if(e) { print("(You have mail waiting)"); strcat(p$,"3"); } else print("(None waiting)"); print("\n\t\t 4 - Receive file(s) "); if(f) { print("(You have files waiting!)"); strcat(p$,"4"); } else print("(None waiting)"); print("\n\n\t\tSelection or [Return] to exit: "); k = key_match(p$); if(k == '\r') { m = false; e = false; f = false; break; } else if(k == '1') { title$ = "Send E-Mail"; execute("SNDEMAIL"); } else if(k == '2') { title$ = "Send F-Mail"; execute("SNDFMAIL"); } else if(k == '3') { title$ = "Recv E-Mail"; execute("GETEMAIL"); } else if(k == '4') { title$ = "Recv F-Mail"; execute("GETFMAIL"); } } return; /* ############### Message Base ################ */ MAIL:; show_newmail(); while(true) { if(level == 0) { print("\nAs an unregistered user, you have very limited access!\n"); p$ = "RISG*\\M?"; } else { p$ = "RISLG*+D\\M?"; if(level == 4) strcat(p$,"/"); } title$ = "Message Base"; k = prompt(" >> Message Base << [Return] for help.",p$); print("\r \n"); if(k == '?') { print("\f\n ",h$,"M e s s a g e B a s e",i$,"\n\n"); print(" R - Read Messages * - Display Date & Time\n"); print(" I - Read Individual Message + - Mail Statistics\n"); print(" S - Scan Message Headers D - Display/Search Userlog\n"); print(" L - Leave a Message \\ - File Transfer Menu\n"); print(" G - Goodbye (Log Off) M - Main Menu\n"); } else if(k == '/') { print(h$,"SysOp Shell",i$,"\n"); title$ = "SysOp Shell"; sysopshell(""); } else if(k == 'R') { print(h$,"Read Messages",i$,"\n"); title$ = "Read Mail"; readmail(); } else if(k == 'I') { print(h$,"Individual Message",i$,"\n"); title$ = "Indiv Mail"; indivmail(); } else if(k == 'S') { print(h$,"Scan Messages",i$,"\n"); title$ = "Scan Mail"; scanmail(); } else if(k == 'L') { print(h$,"Leave a Message",i$,"\n"); title$ = "Leave Mail"; leavemail(); } else if(k == 'D') { print(h$,"Display/Search Userlog",i$,"\n"); title$ = "Display Users"; display_users(); } else if(k == '*') showdate(); else if(k == '+') { print(h$,"Mail Statistics",i$,"\n"); title$ = "Mail Stats"; mailchart(); } else if(k == 'M') { print(h$,"Main Menu",i$,"\n"); break; } else if(k == 92) { print(h$,"File Transfer Menu",i$,"\n"); goto XFER; } else if(k == 'G') { print(h$,"Goodbye",i$); title$ = "Log Off"; if(level == 4) hangup(); else logoff(); } } return; /* ############### File Transfer ############## */ XFER:; show_newxfer(); if(menu == 1) { print("\n\nUploads are visible ONLY to SysOp until validated/deleted!\n"); menu = 2; } while(true) { clock = true; if(level == 0) { xfer_inhibit = true; print("\nAs an unregistered user, you have very limited access!\n"); p$ = "LD*?M\\G"; } else { p$ = "LDU*?SM\\G"; if(level == 4) strcat(p$,"/"); } title$ = "File Xfer"; k = prompt(" >> File Transfer << [Return] for help.",p$); print("\r \n"); if(k == '?') { print("\f\n ",h$,"F i l e T r a n s f e r",i$,"\n\n"); print(" L - List Downloads (browse) S - Your Statistics\n"); print(" D - Download by number M - Go to Main Menu\n"); print(" U - Upload a file \\ - Message Base Menu\n"); print(" * - Display Date & Time G - Goodbye (Log Off)\n"); } else if(k == '/') { print(h$,"SysOp Shell",i$,"\n"); title$ = "SysOp Shell"; sysopshell(""); } else if(k == 'L') { print(h$,"List Downloads (Browse)",i$,"\n"); title$ = "List DLs"; listdownload(); } else if(k == 'D') { print(h$,"Download by number",i$,"\n"); title$ = "Indiv DL"; indivdownload(); } else if(k == 'U') { title$ = "Upload"; print(h$,"Upload a file",i$,"\n\n"); diskfree("D:"); print("\n"); print("You are not charged time while uploading. Please select [Q]uit\n"); print("if your upload is larger than the free space shown above, or you\n"); print("will waste your time on an aborted upload! Please be sure your\n"); print("upload doesn't already exist here under any name. If you upload\n"); print("a duplicate file, you will receive no credit for the upload!\n\n"); clock = false; uploadmenu(); clock = true; } else if(k == '*') showdate(); else if(k == 'S') { print(h$,"Up/Download Statistics:",i$,"\n\nYou have downloaded ",downloads); print("and uploaded ",uploads,"file(s).\n\n"); } else if(k == 'M') { print(h$,"Main Menu",i$,"\n"); break; } else if(k == 92) { print(h$,"Message Base Menu",i$,"\n"); goto MAIL; } else if(k == 'G') { print(h$,"Goodbye",i$); title$ = "Log Off"; if(level == 4) hangup(); else logoff(); } } return; /* ############### VT52 Menu ############## */ VT52:; while(true) { title$ = "VT52"; print("\f\n ",h$,"Atari ST VT-52 Graphics Screens",i$,"\n\n"); print(" 1 - VT52 Graphic #1 by Roger Yee 01/23/88\n"); print(" 2 - VT52 Graphic #2 by Van 01/31/88\n"); print(" 3 - VT52 Graphic #3 by Roger Yee 03/07/88\n"); print(" 4 - Amiga gets destroyed (This is a full length\n"); print(" cartoon! It will be an ASCII download)\n"); print("\n Enter your selection or [Return] to exit: "); flush(); k = key_match("\r1234"); print("\f"); if(k == '\r') break; if(k == '1') list("D:\\D1\\GRAPHIC1.V52"); if(k == '2') list("D:\\D1\\GRAPHIC2.V52"); if(k == '3') list("D:\\D1\\GRAPHIC3.V52"); if(k == '4') sysopshell("download D:\\D1\\COMMANDO.V52 A"); pause("\rPress any key to continue: "); } return; /* ############### File Display ############## */ FDISPLAY:; if(exist(f$)) f = true; else { f = false; strcat(f$," NOT FOUND FOR DISPLAY!"); log(f$); return; } if(f && user_var0 == 999) { f = false; list(f$); flush(); pause("\nEnd Of File - Press any key to continue: "); return; } if(f) { open(f$); c = 0;f = 0; while(read(a$) >= 0) { ++c; print(a$,"\n"); if(c >= user_var0) { print(h$,"More? ([Y],N): ",i$); flush(); if(key_match("\r YN") == 'N') { f = -1;a$ = ""; break; } print("\r \r"); c = 0; } } } return; /* ############### Screen Codes ############## */ SCREENCODES:; if(user_var1 == 0) /* Dumb ASCII */ { h$ = ""; i$ = ""; j$ = ""; k$ = ""; } else if(user_var1 == 1) /* Atari ST VT52 */ { h$ = "\eb1"; /* Color highlight */ i$ = "\eb3"; /* Color normal */ j$ = "\ep"; /* Inverse video */ k$ = "\eq"; /* Normal video */ } return; /* ##################### Check for E/F-Mail ##################### */ CHECKMAIL:; t = 0;e = false;f = false; t$ = username$; ucase(t$); while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "D:\\MAIL\\USER"; strcat(f$,t$); strcat(f$,".FMA"); if(exist(f$)) { f = true; if(!m) print("\n",h$,"You have F-Mail! Use 'E' to receive it.",i$,"\n"); } f$ = "D:\\MAIL\\USER"; strcat(f$,t$); strcat(f$,".EMA"); if(exist(f$)) { e = true; if(!m) print("\n",h$,"You have E-Mail! Use 'E' to receive it.",i$,"\n"); } t$ = "";t = 0;z$ = "";f$ = ""; return; /* ################################ E N D ################################ */ /*############################################################################# # PROFILER.M Ver 1.03 - 03/20/89 by Wm. A. Van Nest, Sr. # # # # VanGuard Datasystems BBS 301-577-3659 24 Hours 3/12/2400 baud # #############################################################################*/ while(true) { title$ = "Profiler"; print("\f\n ",h$,"User Profile Editor Menu",i$,"\n\n"); print(" E - Edit Password/Default Sig\n"); print(" S - Set Screen Page Length (",user_var0,"\b)\n"); print(" T - Set Terminal Type "); if(user_var1 == 0) print("(currently: ASCII)\n"); else if(user_var1 == 1) print(j$,"(Currently: Atari ST Color VT52)",k$,"\n"); print(" A - Add a Sig\n"); print(" R - Remove a Sig\n\n"); print(" Enter your selection or [Return] to exit: "); flush(); k = key_match("ESTAR\r"); if(k == '\r') { print("\f"); execute("MAIN"); } else if(k == 'T') { repeat { print("\f\n\t\tSet Terminal Type (currently ",user_var1,"\b)\n\n"); print("\t\t 0 = Standard ASCII (dumb)\n"); print("\t\t ",h$,"1 = Atari ST Color VT52",i$,"\n\n\n"); user_var1=decimal("\t\tEnter your selection ([Return] for ASCII): "); } until(user_var1 == 0 || user_var1 == 1); } else if(k == 'E') { print("\f"); profile(); } else if(k == 'A') { print("\f"); showsigs(); flush(); s = decimal("\n\n Which Sig do you wish to add: "); if(s > 1 && s < 9) set_usersig(s); } else if(k == 'R') { print("\f"); showsigs(); flush(); s = decimal("\n\n Which Sig do you wish to remove : "); if(s > 1 && s < 9) reset_usersig(s); } else if(k == 'S') { print("\f\n\t\t\t",h$,"Set Screen Page Length",i$,"\n\n\n"); print("When listing text files, such as those in the Bulletins menu,\n"); print("the BBS will pause after every 23 (by default) lines and prompt\n"); print("you with 'More? ([Y],N): ' giving you time to read and/or abort\n"); print("the display. You can change this to pause after every 5 to 50\n"); print("lines, or to never pause by entering a value of 999.\n\n"); flush(); print("\nEnter new page length (currently ",user_var0,"\b) or "); s = decimal("[Return] for no change: "); if((s == 999) || (s >= 5 && s <= 50)) user_var0 = s; else { if(s != 0) { pause("\nInvalid value, unchanged - Press any key to continue: "); } } } } return; /* ################################ E N D ################################ */ /*############################################################################# # SNDEMAIL.M Ver 1.03 - 03/20/89 by Wm. A. Van Nest, Sr. # # # # VanGuard Datasystems BBS 301-577-3659 24 Hours 3/12/2400 baud # #############################################################################*/ print("\f\n"); print("\nPlease enter the username to receive this E-Mail. If you're\n"); print("not sure of the spelling, type '?' to search the Userlog.\n\n"); print("Press only [Return] at the next prompt to abort sending E-Mail.\n\n"); while (true) { input("Send to what Username: ",a$,19); ucase(a$); if(len(a$) == 0) return; else if(!strcmp("?",a$)) { print("\n"); display_users(); print("\n"); continue; } else if (!is_user(a$)) { print("\r\g'",a$,"' is not a valid user name! Press any key: "); pause(""); continue; } print("\rSending to: '",a$,"' - Is this correct? (Y,N): "); k = key_match("YN"); if (k == 'Y') { print("Yes\n\n"); l$ = a$; t$ = a$; t = 0; while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "D:\\MAIL\\USER"; strcat(f$,t$); r$ = f$; strcat(r$,"."); strcat(f$,".EMA"); break; } print("No\n\n"); } strcat(l$,"\n"); t$ = username$; ucase(t$); strcat(l$,t$); strcat(l$,"\n"); t = 1; repeat { str(w$,t); z$ = "00"; strcat(z$,w$); right(w$,z$,2); s$ = r$; strcat(s$,"E"); strcat(s$,w$); ++t; } until(!exist(s$)); print("\nEnter your message with the standard editor:\n"); strcat(l$,s$); strcat(l$,"\n"); p$="edit "; strcat(p$,s$); sysopshell(p$); str(c$,current_date()); strcat(l$,c$); logfile(f$,l$); l$ = " sent E-Mail to "; strcat(l$,a$); log(l$); print("\nYour E-Mail has been sent. It will be automatically deleted\n"); print("after 14 days, received or not.\n"); /* ################################ E N D ################################ */ /*############################################################################# # SNDFMAIL.M Ver 1.03 - 03/20/89 by Wm. A. Van Nest, Sr. # # # # VanGuard Datasystems BBS 301-577-3659 24 Hours 3/12/2400 baud # #############################################################################*/ print("\f\n"); diskfree("D:"); print("\nPlease enter the username to receive this F-Mail. If you're\n"); print("not sure of the spelling, type '?' to search the Userlog.\n"); print("\nPlease be sure the size of your uploaded file is LESS than the\n"); print("free disk space as shown above, or your upload will fail! Press\n"); print("only [Return] at the next prompt to abort sending F-Mail.\n\n"); while (true) { input("Send to what Username: ",a$,19); ucase(a$); if(len(a$) == 0) return; else if(!strcmp("?",a$)) { print("\n"); display_users(); print("\n"); continue; } else if (!is_user(a$)) { print("\r\g'",a$,"' is not a valid user name! Press any key: "); pause(""); continue; } print("\rSending to: '",a$,"' - Is this correct? (Y,N): "); k = key_match("YN"); if (k == 'Y') { print("Yes\n\n"); l$ = a$; t$ = a$; t = 0; while (len(t$)) { t *= 125; t += asc(t$); right(t$,t$,len(t$)-1); } t = t & 32767; t %= 10000; str(t$,t); z$ = "0000"; strcat(z$,t$); right(t$,z$,4); f$ = "D:\\MAIL\\USER"; strcat(f$,t$); strcat(f$,".FMA"); break; } print("No\n\n"); } strcat(l$,"\n"); t$ = username$; ucase(t$); strcat(l$,t$); strcat(l$,"\n"); while (true) { print("\n"); input("Filename for upload: ",t$,12); ucase(t$); if(len(t$) == 0) return; s$ = "D:\\MAIL\\ "; left(s$,s$,len(s$)-1); strcat(s$,t$); if (exist(s$)) { print("'",t$,"' already exists! Please use a different name.\n"); continue; } print("\rSend file '",t$,"' - Is this correct? (Y,N): "); k = key_match("YN"); if (k == 'Y') { print("Yes\n\n"); break; } print("No\n\n"); } strcat(l$,s$); strcat(l$,"\n"); while (!upload(s$)) { print("\nThe upload failed! Try again? (Y,N): "); k = key_match("YN"); if (k == 'N') { print("No\n"); execute("MAIN"); } else print("Yes\n"); } str(c$,current_date()); strcat(l$,c$); logfile(f$,l$); l$ = " sent F-Mail to "; strcat(l$,a$); log(l$); print("\nYour F-Mail has been sent. It will be automatically\n"); print("deleted after 14 days, received or not.\n"); /* ################################ E N D ################################ */ `^-d˰*o#O - ЭЭ// /<JNAO N~3aN̊09y329֒y3` 333333 3"3$3&3(3*3,3.3032#F <|H@#4pN33:3<Q33 phN09:yg`P09fPJ9gfff `V: < ypr0 f8@Q3B yG7f\#Fp Nj#Fp NkA0(1y33#Fp N`Jy|ga% yfa$`  ygASNV09а|bfa),`v|af*Jy~gh##BN$`Fr|b<<gAր`AִH2k"8f3 y0@ f` `09|g |P3ASNV09а| g J9g$a#@|fa `|aJy|ga'`0a#ASNVL#F3333p+NJ@k2 y|f*0 fJy|ga#jJy|fN` x|f*0 fJy|ga#:Jy|fN8` H|fJy|ga#`rN*` (|f Jy|ga"Jy|fLN` |f Jy|ga"Jy|f&N^` ܰ|f Jy|ga"Jy|fN~` Jy~gLycP69޴CcFyCd<69yԲCd, ~g #~` #zN^`P|fJyg 9f`X9EfJygraXklyp0AJkA Jj p09S`$ 9c## 9R#N$`|fJy|ga!nJy|faZ`İ| fJy|ga!HJy|f 9gBNrJyk yp  p p a `Z yp p aL`4|f* 9g"Jy|ga Jy|faM`|f JygJf 3J9g"Jyf"3#Fp4Nذ|g 9cL y 9ѹ"y%,JkSfa^*y`Jyf"3#`Fp4Nذ|g(*y/9#a#Jyk#B3pNN y 9BSf3pNNa`*Jyf"3#`Fp4Nذ|g*y%,Jka&kpJ9gbCpotp pd@r29*pd"9y*`$IQ 9$9QaHB##N$`|fBy* ypp fHPJg6*y*9pc śpzp3*ApoQ`Jyf<3#`Fp4Nذ|fQ yp `3pNNBgHyx?<=NAPJkz<?<?/NAX3pNNJy*fp`/??<>NAX NT`>a3 3`"Q3 3ByByByxa`Jyg:Jy|g*a,k&???a33x2aa `<9yk>9ykxvzByCeH<yCe:REyCe,|e694Cex4rpzyCeREQ`609yvtS@yCe BQ`BpNupNu3pNN?<Hyx?<=NAPJkh<?<?B?<BNAO JkB/ /9??<@NAO Jk*ApJg"??<>NAX3pNNByNu/??<>NAX NTNҸ| yIKz:9*x~rpKA, QBJGgjA,"H\^;e   `6J9f < e <}bJf.`HNnNn RQB(3p3r |,NyQZNҘNuH/ yL#F33Hp*NNҸ3pNbDE ygE _3p3r HN3pNbLNu ypr0 fB@QJ9g2Jf&JtfByxBy3Jy|ga`89J9gJy|gtJ9f|BgT|gN|gHP|gg|?g|Ag T|fNѰ|Dg4|Eg(|3gJ|gZ|.gYJ|1g@|gZ|5g!Ƹ|6g1|8g3 ||:g=|GgNu y#F3G3pNNuA 9fA#F3>#Jp"NN$J9ga^NuA, yg33AC`33#F3?#Jp"NNu yNpN,K#F33Hp*N#F3p2N3а|g3pNN?9NATJ@j/NΎkHyNΎjJpNTBy#F3ByH30$3&p/N`Z y09`: y:NpN,KB#:F33Hp*N#:F3p2N3ư|gJg3pNN?9NATJ@jDJgvJ.gJ.g.B./NC?V??9NAX6J@gJf`ZpNTBy#:F3ByH30$3&p/N y:pN,K` y:09N3pNNNuJy~gJ9gJg3#Fp4Nذ|g |f$*y#ak 3pNN#B y 9BSfa3pNN yp QBy*3 3ByByaJyg"JyfpNTBy yg^a:Jy~fT y>N?< NMT3N xgN229 y>p tg  I@Qp 9xAHA pNB#>F33Hp*N#>F3p2N3 y>N ygd y>trp 0 f @RAQAAx؃\ٷpNpC{Jg  g  g J+g"Q.p  g J+gQBJyf"3#dFp4Nذ|g3pNN?<Hyx?<=NAPJjBgHyx?<NAXBBQ y>p0 gP/9y2949B49p4A@ANҸ3p3r |,N3p3r ||NNҘNu 9fjp09jr29Ёr29xЁB9qHyj/?<NHyjN€ qHy/?<NtN^Nu,y NN#F33Hp*N#F3p2Nذ|g|?rt AQ#F33Hp*N0|g |gF|g|ga`~p a|g|g g / Nja `԰|e6<|r6 f6<Cbr, v D3r 6 g&6<r6 f6<CbS3??<$?<NU@@??<#?<Nv r6 fRH"HARA??<'?<NH$??<%?<N0<H@J@fpH@??<!?<Naz`Rpa|g|g g/ Nja`6<r6 f6<ϰCbr, v D3r 6 g&6<r6 f6<CbS32|dt$ v N/A`AHTA??<$?<N`pa|g|g g / Nja `԰|br, v D3r 6 gSJ@f3?pa4|g|g g/ Nk??pa24|g\|gdx v60 fR g^/ NoDc ??aV`??<'?<N??<%?<N??<!?<NBS@A??<#?<N2|dt$ v N/A`AHTA??<$?<Na0`p a|g|g gl $gn/ Nc"Nѐ3#Fp4N`r)*v r+$v / ??<Nv/ N¨/ ?NJa`zR/ N`ap NN3 NN6  ?L#F33Hp*N#F3p2N2    NuL#F33Hp*N#F33Hp*Nrt AQ#F33Hp*NNuNѐ3#ZFp4NNu yNt#F33Hp*N#F3p2N4 y|gVB 0 yg?/< NMX@g/g?9`?<G/<NN\4`TLN yN?< NMT3N xgN209"yrtg  HAQ09V@ #F33Hp*N#F3p2N y|g20 fgtrp0 f @RAQ|bygP3A?9?<NAX ypNJyg3pkNNҸ yLTFVGH333BH"p3N#F33Hp*NNTk Q#F3>#Jp"NN$N4PHyNΎk/9vNΎkHyNΎk092<9Ayyc09ȐyS@3ByNҸNJ9kZ09"<9yyd833QNҸaNPaJ9jQLa6#F3pN3pkNN4Nu3#Fp4Nذ|fNu|g yVa~$L#VF33Hp*N#VF3p2N? yV 0|f0 yb$pN/ Nk|Yb3pN/ Nk̰|YbİyeyGp3 0 f3 p By|0 fp 30 f|By333?9a 293 yfJ0k0b,JyfJFfJEg 3a nk`$pNT`pNT` yZa|3N3##3###3#3N yZ0< aL#ZF33Hp*N#ZF3p2N? yZ 0|fCLA#Nkz3NhBgHy?<=NAPJk<K3ByajaX`Ry yoBy??<>NAXJykaja"`0< a>`|fak~a(`ΰ|fP ybDatkZa09A23#Fp4Nذ|fN#%,Na 49ySBpAQAp29ydRAyʰBeBJ0kR@`09yG309||fBy|:98a*H?93N@3Lf8 EQRyQ309yR@3aNjNT3pNNL`zpNT`Px yZ0<N/ ?9?<Nv0<N/ ?9?<Nv0<N/ ?9?<Nv329|Yb49Bb3Ҵ|Yb|0<N/ ??<Nv0<N/ ??<Nv329yk4RA0<N/ ??<Nv3Jygye0<N/ ?9?<Nv3Ҳye0<N/ ?9?<Nv3 ybrp @Q@ yg@ yg@ 3 0<  yg*@ yg@ yg@ yftr  AQ xJDNu yZ0<N/ Nkz30<N/ Nk^30<N/ NkB3x0<N/ Nk$|Yb20<N/ Nk|Yb@b33x0<N/ NkJ@g̰|b2S@y3x0<N/ NkJ@gAb30<N/ NktAbp30< 2<0 f$@2<0 f@2<0 f2<30<2<0 f@RA0 fRA3x0Nur0929frA29frA29frAA29frA29frAy29frAA29frA@&29yRA29frA2<j@ yZp p "P<-JAk |c <+`/ ??<NvNuB9Hy?9?<Nv]pNTNu y 9aC49y 9a 9a 9a yg yg ygBR 9a <Nap a 9a| 9at 9yaf 9a^ 9aVQ`/a< _JAk p0Na:69g0SC49ySBA@@QAQNu"HAJ@gS@QNuByI,akakI,~ $f~aktRakl  gR  gL  gF *faTkPI,akD~ $f~ak4R , g , g , fSa`akB]  gI,ahNuBGJkGHy,Nk:pNuaJk  g  g  f3Nua*k  g  g  f3Nua k  fNu/ /<??<?NAO JgjNT`Ryp yRopJNu3pNN yjpN/ ?9?<a~arL#jF33Hp*N#jF3p2N yj2 |fpN/ aJ@g|Yc1 pNT`p3pN/ a33pNN# ypBQBgpy?/</9?<NNO y!|Knif1|e 09@ H@ <@ ||09@H@29JygAAIA|yaDkpJ@NuH/9/9/93pNNLaqa@ ybapTL#bF33Hp*N###LNu09A23#Fp4N3ư|fxpakpN#%,Na :98?9/NrPNg&N209NTNN3ByQ>N2L3##09Nu y^anVL#^F33Hp*N#^F3p2N? y^ 0|f yb y^rp|0 fr|tp ~O0 ft~'҂C/ By3 3ooByax"_ yfV0kLbHA# p Qak*?<B?<?9BHy?< NNOJ@k`pNT3pNNL`m/NrPByafp.9%,N333|N3x <<N.<Sg&9fQByByQ>N2NuRy y fz3`<9>9ByByByBy3?9?9aL0Jyk09°yf Aܲakf3?9?933aZ33Jyk,09yd09°yf Aqak`ZNu09a(kQ#ByAݒCqpQagaZkV3 gB yg yfRyRy09yd09yeByNuHBaP>a}Pa}nk:K3X.9a~^333|a}3<9a}3<<a}.<Sg9fa}p9a~*gaLA ygA( ygARCfHyݺ?9?<arHy?9?<aq090HyݳaBy3Ha~f g 929HЁ#JUfByQ>a~TL09Nu09akQ3#ByAݒCypQaak?9?9?9?<?9B/9?< NNOJ@kd 929Ё# yg yfRyRy09yd09yeXa,kByNuSy3a}xJyg209Nu?9ByByByBy09akQ#%,AݒCqpQaga,kj gp yg yfRy09yeJyk HyNaA!aa{`g9 fByJyg 09azar$3pNN#~#0arah:NuJyg$JyfpNT ygTAxBBBy#%0%,aqaqaqaqByBy33ByByPPQQBy|BtByxByB9ByBy3pkN#`~aaJaeae#Gv#vafJ yp  p p p L#F33Hp*N3pkNNu3pNNNЌkNxk09R#Nk# #?9?<?9/9/<NMOJj NT`r29T# yG 9gG , 9g33Ry09dN|dN`"NT`83#Fp4N/9 ?<INA\3pNNNu3pNNNЌk~ankw09R#aG2kZ# #?9?<?9/9/<NMOJjawF` 9aFk##?9?9?9/9/<NMOJjav`#Q3#'Fp4Nذ|gPawkHyߕawk?9/9#~/9~#~9?ac#ac`<9>9ByByr29T#zG:L&<9g G:|&<#3N49#3N89yg3дCdHy'??<ah`$'Hy(?aiCdHy6??<ah`$6Hy7?aiHy??<ahHya g Re:Jyk HyNaZAaau9 fAaJyj#NҘ3pNN y6a[p3p3p3p3By#6F33Hp*N#6F3p2N y63ư|g|gn|gD|g0|g|f0929` 09293 `"0929` 09293  `43pNN y6090 g6?9?9?9/9/<NMOJj@as3`2?9?<?9/9/<NMOJj asv3 y609aZ0#~#3aa/9?<INA\/9 ?<INA\3pNNNu yCJEOprtaMB3ByaO yg33pNNaijar`X09R#aBBk<# #?9?<?9/9/<NMOJjarV`3G6N6<9gG669ByByz y"y*yG&<9g G&<0N|eCd Eg22Rc"//9aaP y g02PfHy??<a^B9Hya` Hy?(?<a^B9Hya` Hy??<a^xB9Hya`r 3Hya 8 fVJyk HyNa /9?<INA\NuHy??<a^B9Hya` 3Hza g`NV#aWJ9gHyakk 9a ta:0k-H-Ia,k(nKz yaJg$3Ua-(kx y@aJfBT/9?<INA\3pNNÌg"n$3p&JCfSf//.a_P<9>9ByBnBnz(n*LT y$yrGj&<9g G&<JTgX0,Tg@g^bY0NCg̲|eJ:X=|Hz??<a\nB9Hza^j Hz~=|a4 gRReBUJnkHz~aA|aVaig&9 fJnjNҘ3#\Fp4N3 ygG-*<9g G-L*<*nTBn2=AXJAg0RnXJ@gNA`0N3pNN?9?<?9/9/<NMOJjah(`\ yf(?9?9?9/9/<NMOJk009Az ?<Hz~t?<=NAPJk??<>NAXR9Qp`BgHz~J?<NAX#/9?<INA\a)kKVa,:$y(J""H&Jp fpQ0.@H@0.@@@3pNN09HR@?9??9/9/<NMOJj"af` c|paf`#/9?<INA\3pNNN^NuHz|??<aYB9?Hz|na[ ?Hz|V`DBg`?<( f g~Jg(H(|eh2<9f2<AdR( g;XT38B\JWg29fa* yd`a*> yd ydJ( g"H"d `RBuXTNuNV#aRJ9g Hz|Jafk` 9ava52kN-H-Ia'k2(nKz yaJg$3Ua(*k y@aJfB3pNN/9?<INA\Ìg"n$4p&JCfSf//.aZP n"H f"XJfB<9>9ByBya&kla\@a\d*y%,a\2B]09A|:|\B-zx(y naFk$/9?<INA\JykHzy@aN`ad9aH^ByNҸ3p3r o8NNҘyRyL?/WXNu y*aF#*F33Hp*N#*F3p2Nذ<g<fgp y*3aG09ư|gH3pNNabk2aVk_3 y*p0 f 3a3NuCA3#a`k3ALCp S@Jf Q3#zFp4Nذ|f83pNNab&Hy?<ANA\Jk^3pNNNuCA~\#a`Xkh3?<NNT#33phNL:aaEL .g J*f`A"HJfc: \f(?/B(pA??<NAXHy?<;NA\ _0@prQTOSgTTPg~APPg PRGfGp#F3pN>UGxzHpN&3pfN3pkNpNKLBU`ak&Gq3HpdN3k#F3pN3HpeN3pNNByZBy^3b3Vd3X"<|psNB3pkN3pkNL333BH"p3NA$y/*,/ //<KNAO?N0j |ga\nNuaBBy 33piNp N3a333BH"p3N3pkNL3HpeNNҘ3pNN#F3pNNua\|Hy]?< NA?<NAPa3pkN3pkNByZBy^3b3Vd3X"<|psNBa3pfN3pgN3pNNNҘ#F3pN333BH"p3NNu333333 3"3$3&3(3*3,3.3032#|FpH@#4pNgnNuH yRa@p&p ALf#RF33Hp*N#RF3p2N? yRa@0L|f& yRpaO@K,RpRfK,NupNu?<NNT29Afr?/9/?<NNO Nu3pNNaPTkY,r 9gr?93C y p~ ,p yo.|gJGf$ | |?|?|?B.T`/??<aK/aM@Q3 y a?6# F33Hp*N3pNN# F3p2Nذ|g y `?n3pNNaY k0$y pKqr ,r Jf@4QHzq aY(# F3ByH30$3&p/N`F yp&p CxpQp&p Cxp QaOXa1 yg8a?8aO33aSf"y%, yr~ H/0 ??<aJDA,p 0AH/0 ??<aJA,p 4<<g4<<g4<<g4</??<aI/aKA/0 ?aJAQv ya=<#F33Hp*N3pNN#F3p2Nذ|Pg ya=taMaNvNu3pNNaWk^HzqaWLkT yrt vKrp  QKr,p JfHzqaWkAQHzvaWk QHzvaV#F3PByH30$3&p/N`3pNNaLkUh09R#a%k # #?9?<?9/9/<NMOJjaU` ta@k l29A y&paJ(K01paJC:\BpCQ3pNN y&a;HByBBy*y y&p  Jg p  "9"d a y&paIA09/ ?0?<aG2LJygT#&F33Hp*N#&F33Hp*N#&F33Hp*N3 y&paI (K#&F3p2N3ְ|g|gf|g|g|fHz`p yrA Jg f (g`( fHx/< NMXL2@f( g .gVAgN# y&09&p # y"paH6"yp Qp # fQSB+paH"y "#paG()+,-"y y"pr) g  `   p r ) g  `   p r) g  `   pr) g  `   y"a8By3#"F33Hp*N#"F3p2N23 y" |gb|fZpaF"yrp fQRQ3`RpaFXa"o|b2ao԰| b4ao°|Pev@PHH@JBA3paF"y( f fRp fQ3`PpaEaor| bj2a|;b\4߰<Ag <PfFA pIIAJB3"y) <gP y"rp0 gp 0 gp 0 gp0 g"yA y"paEp JgQ` Q yg"y09@H@ yg"y09@H@3pNNA0920 y?9??<//<NMOJjaNaQ`8Ak3` Al 3aR3#Fp4N`:3pNN`~(H(Hzj??<aAv3#Fp4N`H# y& yBpaC"yp Qp # fQSB+ yBa5n#BF33Hp*N#BF3p2N2 yB |g|fp yBaC6"yp JgQ` Q`XJhfX/ y&paC _09AC:\BpCQ/9?<INA\aBjaM`f .f0 (.fx/CJfU !\fB) y&pa _`P/$HCJfSr  gQ  g.  g   g\B y&pa _(I(3aNkByBBy y&paA01`N(H(HziJ??<a?H3#+Fp4N`3#xFp4N y&09 `@ ,9f|/RR,Ty` ,0f|:SS,Uy`3pNNaLrkn y&paApCiQpaAHzhaLxk:HyaLlk.HzlaaLbk$tr/0 aLPkHzlAaLFkAQL#&F3ByH30$3&p/N3pNN`8/9?<INA\/9 ?<INA\ y&09a1Nu?0H 0HA2J@Nu y&p~$p ?/ / a*_$_0@ QNuJgt Ugl&M"JrQ r Qf:fTr---*B*/ /?<a=:/ a>BP`8r Jf| QGfrQ`GfrQ .fB`r Q-I-4B/ ??<aDSFESGHNҸL"HpN&L06I <n|K,~ v 9fv Tg93|at zza+Nu3pNNa:kC0:| |R#aPk# #?:{?<?:{/9/<NMOJjaCh`GP9fG yBPBh<980NJAgSDQUD zzH(Hpa809A@~>$pr azprafpraR|<9p  t aJ:" aJ2aJ"pdaJ&aJaJJ|ccpc/??<a5/a7*$pr aprap rap t aI" aIaJ"pdaIaJNaIR@|ccpc/??<a5./a72$pr $anpraZpraF3pNN La(TLx#F33Hp*N#F3p2N" |gp La7 aBTkHyaB/ aBzHz_:aBrpA_>apA_:apA_6ap A_5aHz_1aBBp A_apA_ apA_apA_aHz_ aBpA^apA^apA^aHyaA`a'/9 ?<INA\3pNNNuHy/?a3CB1Hya5$t J JfJfSSA!!!WAk ) g<,`Nu/4 aA`/aAZNuCaAk@3pNNa7 k?0:xRxFR#ak# #?:x ?<?:x&/9/<NMOJja?`ak.9"޹KT$yR *gTaPtp* g02 f | gR@RB` epa?J`B*I*3ak8`.9"޹$yKLatp* f02 f | gR@RB` epa>` &g A*H*r*H@0H@!@*I*|d pa>`3 zuTpa48"KErRA|*c"K` *fELf"y&ByAV"<9g A"<2vNRyp yb~0:vfAe2By/9?<INA\/9 ?<INA\3pNN3vLNu3pNN0:vvR#"a ^k##0:u@R@3?:u??:u/9/<NMOJja=j/9?<INA\`2A092:uSA0R@Q3pNNByNu3Nu3pNN/9?<INA\HEAr0u<4:u8UBu8zu>6:u0SC4RBQzu$G0<9gG00:p@H yg\E\E33pNNp0:qJT# 3 H@J@gRy >:pz|b~Bypa@*k"p0a@ka@k"$zojtp02 a?ka@bka@|dpt5 Br Lo#o*F33Hp*NapNҘ#nF3p2Nذ|g |g̰|f r29dy a`||f2 y b$zntBr By`Ty a`D|fpON3<#nXF3p,N29`|fh#mF333pLNJ@g|f "<`r2:nrA 3ga`D<ftglHx/< NMXLBy@g3pON<9:>90:k `Ljl`3pNNa4kHzQa4JkxK,/ ??<a&Z:~ 3 A"<9g A"<N0:kAe0/ ?a&S` / ??<a%B-/ a'ZRD|r2e~|QBHy,a3k3e3e3ea(fNHzN3?:e?<a d0:ezA-GN CN'pQ#&v 9gB9Sp09j3R@HzK??<a HzKa"  SB9[HzK?9l?<aHzKa!,[B9q0:e dHzK/?<aHzKa! qHzK/?<a B9|09ldHzK/?<aHzKsa!z,|HzKx/?<a X#G~`&HzK0:dR@??<a:HzKa!<#0~ah 9g zbp a PNu zbCLELprtaB3d3a yg3d(Qa#ja#&a#J3c3c3ca&fZHzL??:c?<ap0:cA-GLCL:pQ#&vHzJp?:c?<a8HzJ`a :#~af zap a PNuAJl#A*#&ak3cDl zapa h"K zaTpa Tf$zaFtp09la2kP"p02 a1k@a2Xk8a2 | dp t5 a",a!a" QByj yd0:bjR@?Hy?<6NAPP3bN3bJ ydbJ9gJ9gR3pNN0:bR@?Hy|?<6NAP3pNNA|CrffQQC*29j3p0:aҰgr3aa Jyk\Jy~f z`p a@a Nupa)8a0PNu#_F333pLN"z_~J@fBE`|f :9lSE`|rv61341pB <a06k" a0*kta0kna0J&zREp09la0 "p0:aa0kJa0jkD" a/k:a0k4a0eSEyjfqpcTEa (aa 3j`.Nu#^F3p,N09: z^İz_Fb ra ` raNuJyjgaaaByjaNu09l@U@?aa`a3jaJykB09lS@_A"("zjSByByN$AatN"Nu0:_Am 9g < 9g 0 9g np yn" 9g 9g 2p`' z]~x89jcLt|60 4ppp09la.Jk," a.@k"a.k" a.0ka.k a.P(Be81pNu#]3]3piN 9g z]p  ##ByByJ9g23pkNa a@a3pkNQNuaFa 9g3Nu&p pQ&p QNup  p 3]3]3] z\Bya yg3TdIJ`J zRzCa>Paf.:ra333|a`3<:S0aP3<<J9g<<a43.<9ga3pNN3RNu3pNNak0:RBU@RBzRH?:R??:R4/:q/<NMOJk3pNNByNu3pNN?:Q?:Q?</:qf/<NMOJk|3pNNByNu/#Fp6NL:a _NuSDSEXFXGH0@D2AE??333BH"p3N20333BH"p3NNuLO 333BH"p3NNu#Fp6NL:SDSEXFXG0@D2AE333BH"p3NNuHNҸaa(Jyf8LObJ9g6:O ARC ygRCHpN&`::OSE~0:PHzOzOda33LH::P*>:P(,zo~Ob3O^3OV<:OK,(M;/ ?:O8a l:  xJ9f < e <}bJf.`Ha Va N Qx Q| B-J9g3pNb3Nzp3r |,NHy,ak6Hz8a k,avg 9 f&aa^9 gfQ3pNbJy~gJkp0:N"9tef $9B^B3Jkv6:NbvSBA,C|QB3Mp3r ||N2zMTA3zM33pNN3pNԊ3pN:0:N6M\zM*3p0:N"9t/vf$9R&SBMzLpM@/?SB0:M2:M6:MHpN&p0:MA,B(63Mp3r HNA,| 63pNN3pNԊ3pN:0$g rBA,63p3r HN`3L0p3r |,NzLFyyQJ9f4xKK, QB3Kp3r |,NzKQQaFNҘLNu>:K@K::KΚGSENuLKbHpN&NuLKTHpN&Nua"<K|c2<JAbr333J3piNNuanzKPJ@br`2:KHbr` |c2<333J3 piNNua zK2:J33Nup0:KzJd0:J؀3 Nu3J@3piNNupA3 QA2"y"Qf< NҸ3p3r |bNNҘNu3pNN3pkNQByaF33I3piN zIL#F33Hp*NNu#IBaN3pkNNu/NҸ3Izp3Itr _NNҘNuP?<NNT3f paBNAp N3 ygA1`A1t#FpnNJ@gKHz| 33#p#3"<0<NB098J@g*RRQpMN3VApp 0Q0NӪByBy3pRy3pRy3pNN3pNbNԞ3t3v33pkNp2:H264:H&M3UBH33HHplNL:H3HHpdN3A,C0fNҸ3pNv3pNԊLG&DSF3>:GEH0:Gny3Gb0:G,2:GVAS@30:GzGB ygR@T@33 ygU@[@3ؐy33 3 zEx:<:F>:FHx::Fz<:F>:FvH<:Fh0:F@TGH0:F>33FUy#E~F3pNNҘ3pkNPPQQQBy~ yg? IpBQ z_Trtpv0HDf2x0*<e2`\@QRAQA>3NuA>x2z?"gJXgQp`P3pNNalP>a3>aLfaZ.:^jaH333|a 9g3<:>a3<<J9g<< 9g<<a3.<Sg:9faanBy 9gPpJ9fp9ag8apa0:>J3aa~By yg a.3ByQ>ax3pNN3=NuByaf$ z]HHz=gp``a$3=`3Nu3pNNJ9gJ9gaFkQ0:=fU@=fz=l?:=B??:=X/:\/<NMOJj3a yf3=.3pNNByNu3pNN?:afQQafr.9a333<<a3<<ap3.<Sg&9faBBy9g$3a0:<2aana.3ByQ>axP3<Nu3pNN3a(P>a3;Paf.:[$a333<<a3x Sy<<a.<Sg$9fQByQ>aByNuJyft3aJByQ>a0:;0` <QSC.<3ajf.<J9faSg9faByNua3Nu3J9f::Ry @|9FNu3<`ar3`fad3`\3><a~ Q`r9 9 9 $:Y*3Nu   Nua09@?z Q:FNuBy0:9@Xg23f$3ʰ|g3ʰ|g339HNua xVpJgQpa`!<3a|NuaT xVp gQ`B3aXNuJx>f&Jyfa9f<a3NupNu/<?< NA\J@fB?< NA\#Nu/<?< NA\J@g/9?< NA\NuHx3f3D@A"6Pg JXjBy̰|DepDHK!*ua3pNNNҘJyj MJfU(H| 3#Fp4NJyj]B3PByL?pNuHx?< NATJ@j?<NATg9 f#LNuH?< NATJ@j ?<NAT`LNuHQ?9NATJ@kpaByPLNuHx(o(pJg*D??9NAXJ@fpaBy`JfpL/WX NuA#3yAfB9L3pNN ybank20:6jR@?Hy,?<6NAPH z5.Lp p YDYEPFPG333BH"p3N#4F33Hp*N#F#LJpZN333BH"p3NL?9:#3F3pNJ_g.J9Lg&AAH3"yfByNu33NuA"HJfc \fRCLfNuH?:4a@TL??/Nw0/3AB?< NA\/?< #r#~#v!Fr!h~!|vBgHz?<=NAP/k ??<>NAXz gz Frfz!2r!2~!2vNA\ Nu0:2of!2|r!2z~!2xv z2jN0:2bofpNu z2ZN0:2NofpNu z2JNHHz?< NN\LNupa`/< NMX@f JyfpaBy yfNu3pkN32pfN32pgNN ybBHy /<NMP#aTk0:3RR@?Hy,?<6NAP/9/<NMPpoN#F3pNa2pN/<LNAJ9f3pNNPNuJ9g3pNNQNuC2@ A p222BQ"<0<NB098NuH@NV yF"yJ0h2iAo0=@0(h2)iAo0=@0Qn022(in2)3A0.Q3@0.2i3@0.Qo iop`pN^LJ@Nupd3VdByZ3 ^a3dVNuByZBy^pe`3Z3^0<`prCpg2Rj3^3Zp`3ZBy^pr`xByZ3^p `dByZ3^p`PByZ3^pj`<dЁ`Q `THa$CDBAB><d܁Q `*BCBEj6<Bj:<DNuJg4jRfS`3pJg"3pJkCLBypNuH|e3p09pHA p3#Fp4NLLDypNuDate 07-05-91serialVersion 1.10 3.+!,".#/$0&*11'(2)#0".$ !!A%%E21B>?/D-GSAVED! SAVED BUFFER Press 'SPACE' to Continue Press 'SPACE' to Page #'(56:< ATARI Characters T ASCII Characters T Parallel Printer U RS232 Printer U),18[0][Create Build File in Drive x|----------------------------|If the selected file exists,|new data will be appended,|else the file will be created.][ CANCEL | CONTINUE ][1][If saving the memory cache,|Ensure your build file is|available in Drive x.][ SAVE | LOSE | CANCEL ]A:\FILENAME.EXT Memory cache: none, building directly to disk x: Memory cache: Total = xxxxxxxx Remaining = xxxxxxxx Used = xxxxxxxx[2][The input is not valid.|HEX = $1a1A9F9f | = $1a 1A 9F 9f |ASCII = "Find this text!"| = 'Find this text!'][ OK ][2][The End field exceeds the|capacity of the disk.][ OK ][2][The Start value cannot be|larger than the End value.][ OK ] Searching...Search Aborted !!! Search Failed !!! Search Successful [0][Options: |SAVE edits to disk.|LOSE edits & exit.|CANCEL back to Edit mode.][ SAVE | LOSE | CANCEL ][0][ ATARI Format Selector | --------------------- ][STANDARD|Cancel|USER DEF] ****> Copy & Repair Disk Report <**** [0][ Please insert|SOURCE disk in Drive x | ][ CANCEL | OK ][0][ Please insert|DESTINATION disk in Drive x | ][ CANCEL | OK ][0][ Please insert| SOURCE disk in Drive x|DESTINATION disk in Drive x | ][ CANCEL | OK ] Copy & Repair Disk Analysing SOURCE disk format...xxxxxxxx Track 00 Side 0 Track 00 Sector 00 Side 0 - RNF/CRC error, Incorrect ID field checksum.CRC error, Incorrect DATA field checksum.RNF error, ID field not found. Reading Writing[0][ Select Display Output | --------------------- ][SCREEN|Cancel|PRINTER] ****> Floppy Disk Report <**** Analyse Floppy Disk Comparing FAT's [0][Select Display Output|---------------------|(1) SCREEN only.|(2) SCREEN & PRINTER.| ][ SCREEN | PRINTER ] *** Differences in FAT Tables *** FAT offset FAT Entry 1 FAT Entry 2 FAT offset FAT Entry 1 FAT Entry 2 xxxxx : xxxxx xxxxx[1][Cannot find the requested|cluster in the directory.| |Check the FAT tables are OK.][ OK ][0][The cluster is marked as |unuseable in the FAT.][ OK ][0][The cluster is unused |by any files.][ OK ]FolderFile ****> FAT & DIRECTORY Analysis Report for Drive x: <**** Analysis completed. Press 'SPACE' to continue. Analysing FAT for Duplicate Entries Analysing FAT for Floating Entries Analysing DIRECTORY Structure for Errors Data output: xxxxxxxxxxxxxxxxSCREEN & PRINTERSCREEN ONLY No errors found. *** Duplicate Entries in FAT *** Entry xxxxx is linked to itself. Entries xxxxx and xxxxx are both linked to entry xxxxx. *** Floating Entries in FAT *** Entry xxxxx is a floating entry. Entry xxxxx is marked as a bad cluster.[2][Link floating clusters to file|------------------------------|1) Link in FAT 1, Copy-FAT 2|2) Link in FAT 1 only|3) Cancel][LINK-COPY|LINK ONLY|CANCEL]x:\BADCLUST.000 *** DIRECTORY Structure Errors *** -> 123456789x123456789x123456789x123456789x123456789x12345 No Current DIR Link (.) in folder No Parent DIR Link (..) in folder Entry found after an unassigned entry, O/S ignores these entries Next Cluster Link in File Chain bad Not enough Clusters allocated to File Too many Clusters allocated to File Next Cluster Link in Folder Chain bad File's start Cluster is Zero, (zero length file ?) Folder's start Cluster is Zero File's start Cluster is duplicated in DIR Structure Folder's start Cluster is duplicated in DIR Structure Press any key *** Bios Parameter Block (BPB) *** Sector size in bytes ---------------------------- Cluster size in sectors ------------------------- Cluster size in bytes --------------------------- Size of root directory in sectors --------------- Size of File Allocation Tables (FAT) in sectors - Sector number of start of second FAT ------------ Sector number of first logical data sector ------ Number of data clusters ------------------------- Number of sectors per track --------------------- Size of FAT Entries in bits --------------------- Number of sides --------------------------------- *** Track Address Fields *** TRACK SIDE SECTOR BYTES CHECKSUM (hex) [0][This Directory Entry has|never been Assigned.][ OK ][0][This is a DELETED entry,|it's first cluster was .|*** WARNING ***|This may now be part of|another file.][ OK ][0][Folder/File first Cluster |------------------------- | ][ OK ]Unassigned[0][INVALID DATE][ retry ][0][INVALID TIME][ retry ] *** Directory Listing *** Logical Sector Page DIR PATH = *** File Map of Cluster Links *** FILE = Free : Mb Kb bytes % Used : Capacity: [2][Your input value is too large|for a 1x bit FAT table.][ OK ] *** Entries of FAT 1 *** Physical Sector mode: Physical Track mode: Track/Syncs mode: Total Clusters: xxxxxCluster xxxx of xxxx, Byte offset xxxxxxx of xxxxxxx, $xxxxxx of $xxxxxx Total Sectors: xxxxx E.O.F. markerShow File ClustersRun Other ProgramRead a FileSearch FileLoad Format ScriptDelete a Filex:\xX Ё&KNFSTC.RSCKNFST.RSC Knife ST aaaaaaa x.xx DRIVE: x SIDE: x TRACK: xx SECTOR: xxDRIVE: x CLUSTER: xxxxxRead WriteFind CLUSTERLOGICALSector Track Track/SyncAddr Field 'g~0Oqj=aZz.c6Oi3dE^u"`H}+R [3][Non-standard BOOT sector][ OK ][3][Fundamental error][ OK ][1][Drive not ready][ OK ][2][Unknown command][ OK ][3][CRC error,| |Incorrect DATA field checksum.][ OK ]IGNORE ][3][Bad request][ OK ][3][Seek error,| |Track not found][ OK ][2][Unknown media][ OK ][1][The SECTOR requested was not|found on this disk.][ OK ][1][No Paper][ OK ][3][Write fault][ OK ]IGNORE ][3][Read fault][ OK ]IGNORE ][3][General error][ OK ]IGNORE ][0][Please remove write protect. ][ OK ][2][Media change][ OK ]IGNORE ][2][Unknown device][ OK ][1][Bad sectors on format][ OK ][2][DRIVE: x is not responding.|Check the drive is powered,|Check the disk is inserted|correctly.][ OK ]IGNORE ][3][Cannot Install FDC VBI Handler| |Please report this error.][ DESKTOP ][0][INTERNAL FAULT *n*| |Please report this error. ][ oops! ][3][A RESOURCE ERROR HAS OCCURRED| |RSC Files: KNFST, KNFSTC][ DESKTOP ][0][PRINTER IS NOT ON-LINE ][ OK ][3][CAUTION|All Data in Buffer|will be LOST !!!][ Cancel | Reset ][1][This Cluster/Sector does not|exist on the disk.][ OK ][1][The data entered is not valid.| |usage hex, 'VALUE: $FFFF'| dec, 'VALUE: 65535'][ RETRY ][1][The data entered is not valid.|Sd=0-1, Trk=0-99, Sect=1-9-10|Log: 9s 10s Clus: 9s 10s|s/s= 0-899-999 s/s=2-442-492|d/s= 0-1799-1999 d/s=2-892-992][ RETRY ][1][This is not a standard file,|it maybe corrupt, it maybe|part of copy protection, or|it maybe of zero length.][ OK ][3][Do you really want to|DELETE this file ?| |FILENAME.EXT ][ OK | CANCEL ][1][Only values 0-1 are allowed|for SIDE.][ OK ][1][Only values 00-89 are allowed|for TRACK.][ OK ][1][Only values 00-29 are allowed|for SECTOR.][ OK ][3][Drive x will be used.| |Your last chance to cancel !][ CANCEL | SAVE ][1][Invalid function number][ OK ][2][File not found][ OK ][2][Path not found][ OK ][1][Too many files open][ OK ][3][Access denied][ OK ][1][Invalid handle][ OK ][3][This program will only|work in MED or HIGH rez][ DESKTOP ][1][Not enough memory could be|allocated to perform this|function.][ OK ][1][Invalid memory block address][ OK ][3][DISK FULL !!!][ OK ][2][Are you sure|you want to|QUIT.][Cancel|Quit][1][You have too many bad cluster|files in the dir, delete at|least one of them.][ OK ][1][Input error,| |TRACK values allowed 00 - 89|Start TRK must be <= end TRK][ OK ][3][You are about to FORMAT|Drive x.][ OK | CANCEL ][1][Invalid drive][ OK ][1][Input error,| |Sec/Track values allowed 01-29][ OK ][1][There are no more free|clusters on this disk.][ OK ][1][No more files][ OK ][1][The display buffer is about to|be cleared. This is your last|chance to cancel and save any|changes you have made.][ CANCEL | CONTINUE ][1][Input error,| |Interleave & Disk Skew values|must be <= Sectors/Track.|Interleave must be > 0.][ OK ][1][The destination filename is|not valid, please re-enter.][ OK ][3][In this mode, you can only|save to floppy drive's.][ OK ][0][Ensure your build file is |available in Drive x.][ CANCEL | CONTINUE ][0][Build data to memory cache ][ CANCEL | CONTINUE ][3][RNF/CRC error,| |Incorrect ID Field checksum.][ OK ][3][RNF error,| |ID field not found.][ OK ][3][Seek error,| |Could not reference trk 00.][ OK ][3][Could not obtain enough track|information from source disk|to copy & repair disk.][ OK ][3][This Copier is for repairing|9 & 10 sector disk's only.][ OK ][3][You are about to modify the|BOOT sector in Drive x with|a new random serial number.][ OK | CANCEL ][0][Nothing has been built yet. ][ OK ][3][There is an error in your|format script file at|line 00][ OK ][3][Range error][ OK ][3][Internal error (GEMDOS)][ OK ][3][Invalid program load format][ OK ][3][Setblock failure due to|growth restrictions][ OK ][0][ERROR -68 ][EXIT]p p p @h 4MSDOS3.2p 3м|x67VS+| &=t&G+|}rf|&|||?|7| &| |H7|?|r }u  } tv}a2^D}36 |<|7|=|7|?|*;|@PMXr(<|v 7|& |ي.|}=|p t!36|ˆ;|36|*|9|ô9|΀;|? Ί6*|} Wrong disk. Insert a SYSTEM disk and press any key. Disk Boot failure IO SYSMSDOS SYSU COPYRIGHT (C) M.PRCYCHODNY, 1988-1991 8FR Xpppp)\[0][No FFP routine error ???][ BUG! ][3][FFP routine error 1,|UNDERFLOW !!!][ OK ][3][FFP routine error 2,|OVERFLOW !!!][ OK ][3][FFP routine error 3,|DIVIDE by ZERO !!!][ OK ][3][FFP routine error 4,|Not a Valid Number !!!][ OK ][3][FFP routine error 5,|Undefined !!!][ OK ](    (                     2.              6     ,*("      @              $       :\ $p       ,     , &D     *X      >J0:   J                    ,                                4"         &L>4,*84B($(B @0$ $$"*B                       N              &*        >*   :    $  :H * .              8 $&                                04         46   &     <                &  ,       &x$< @    " . 0  8        & PF@   &, & 2D  & 6 &$(:,  D ,        4H  2       P   0 <  T  &    4h &8  " T "RP $ .  $    (  .>0 ,"  < *  & B&&   R $ $V`* R&R@:    62  BH8 ,&  j   44"J     8N ("(LJ DF  &.& $ &   &"$  &  H  ,  8<(       @   BT ( " $>   B*     (.F,24$$< 8< &     P> " > *    $  ,L D    :      4(0           0  $&.d$:$" & 2  &  <  @& @" " FF8$( 60  &   ( 0              b  fb&&B%& B$p&&d6!Wd Desk Commands Show Read FAT's Format/Copy Options About Knife ST -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Select Drive V Build File M Delete File ------------------ Save Buffer S Print Buffer P Edit Buffer E Reset Buffer R ------------------ Run Other Prog O Quit Q Directory D Bios Param Blk B Trk Addr Field A File Clusters C Disk Info I Physical Sector ^S Physical Track ^T Track/Syncs ^Y Logical Sector ^L Cluster ^C File ^F Goto Start ^G Show Entries ^H Compare/Copy ^J Free Cluster ^N Which File ? ^W Analyse ^A Format Atari ST Format IBM PC ---------------- Copy & Repair ---------------- Analyse Floppy ---------------- Randm Boot ser# ASCII Characters T RS232 Printer U --------------------- Find String/Bytes F Find Next N --------------------- Print String W Print Ctrl Codes K --------------------- Expert X Knife ST __Date 01-12-88Version 1.00 The Ultimate Disk Monitor,Editor & Disk Recovery SystemWritten using DevpacST & Wercs forThe Old School, Greenfield,Bedford, UK. MK45 5DECopyright M.Prcychodny, 1989-1991OKCANCELAddr Field Read SIDE:0_9TRACK:00__9SECTOR:01__9OKSelect DriveokPREVIOUSNEXTS.O.FE.O.FA:\12345678.123\12345678.123\12345678.123\12345678.123FILELOCKGOTOEOFEXITSHOWLASTNEXT FREECLUSTERBUILDCANCELRead CLUSTER:00002_____9OKSector size (bytes) Cluster size (sectors) Cluster size (bytes) Root DIR size (sectors) FAT size (sectors) Start Sector of 2Start of 1Number of Data Clusters Number of Sectors/Track FAT Entry Size (bits) Number of Sides stData Sector ndFAT 0000000000000000000000000000000000000000000000000000000OKBIOS Parameter BlockPRINTTrack Side Sector Bytes Checksum121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6FOKTrack Address FieldsPRINT Input Vals. for Conv.Select Type of Disk.0SIDE: _900TRACK: __900SECTOR: __90000SECTOR: ____9000CLUSTER: ___900000VALUE: _____XSingleDoubleSelect Sector size.QUIT910PhysicalLogical Cluster Useful Conversions Hex-Dec Logical SectorData ClusterSide Track Sector Hex $ Dec S/SDec-Hex 12345678901234567890123456789012345678901234567890123456String: ________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXPRINTCANCELEnter the string to send to the PrinterPress RETURN or click on PRINT.ESC to abortSPC to pauseFile Map of Linked ClustersOKPRINTPREVNEXTA:\12345678.123/12345678.123\12345678.123\12345678.123 PAGE Modify File Attributes FILENAMEEXTFilename : ________.___f210988Date : __-__-__90319aTime : __:___m9999aRead OnlyRead/WriteHiddenVisibleSystemNormalCANCELWRITEArchiveNew Directory & Attributes A:\12345678.123\12345678.123\12345678.123\12345678.123FILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amPRINTOKPREVNEXT01 PAGE LOGICAL:00000DISKOKSelect FAT to DisplayCANCELDisplay of FAT 1PRINTOKSEARCH FOR STRING/BYTES12345678901234567890123456789012345Search Chars: ___________________________________XRestrict to:FILELOG SECTS123456start ______9123456end ______9CLUSTERS12345start _____912345end _____9BUFFERDISKSearch String Case:DependentIndependentSearch Speed :FASTSLOWCANCELSEARCH Copy FAT The FAT's are different on this disk,You can replace 1 FAT with the other.This can severely corrupt your diskHave you checked you SOURCE FAT isOK to use ?if not handled correctly.WARNING !!!SOURCE FAT:DESTIN FAT:CANCELWRITE123456789012345678901234567890123456789012Codes: ___,___,___,___,___,___,___,___,___,___,___,___,___,___9SENDCANCELEnter Control Codes to send.Press RETURN or click on SEND.MEMORYDo you wish to build directlyto Disk or use a Memory cacheDISKPlease enter the name for theFILENAMEEXTFilename: ________.___fDestination file & select theDestination Drive.CONTINUE Build File CANCEL Modify Disk Volume LabelFILENAMEEXTVolume Label: ________.___fWRITECANCEL Modify FAT Entry Current Value: 0000000000New Value: _____XWRITECANCELFAT to AnalyseANALYSE FATDisplay Errors toPRINTERCANCELOKPath FolderA:\12345678.123\12345678.123\12345678.123\12345678.123FILENAME.EXTCluster is allocated toOK12345678901234567890123456789012345678901234567890123456789___________________________________________________________XCANCELCommand line:FILENAME.EXTOKATARI Standard FormatTRACKS00__979__9 - Disk SIDESEC/TRK10FORMATCANCELUser Defined Format60Track Leader GAP1: __912Pre-record GAP2: __9Inter-record GAP3: 22Inter-record GAP3: __940Post-record GAP4: __9Track end GAP5: 664Track end GAP5: ___9Bytes/Sector128256512102409Sectors/Track : __901Interleave : __900Disk Skew : __9Disk SIDETRACKS00__979__9 - FORMAT Library Fmt CANCELIBM formatFORMATCANCELDOUBLESINGLESIDETRACKS8040Formattingplease wait...SourceDestinCopy & Repair DiskCANCELCOPYReport Errors toPRINTERATARI Boot Tables112DIR Entries: ___99979Total Tracks: __99CANCELOKxxxxxxxxxxxxxxxxxxxDISK INFO for DRIVE M:Free Bytes:135 Mb135,000 Kb135,000,000 bytes61%Used Bytes:135 Mb135,000 Kb135,000,000 bytes61%Capacity :135 Mb135,000 Kb135,000,000 bytesPRINTOK?uUUUU\jwllt\llt\llt\llt\llt\llt\lljuUUUU\?z=x?UUVUYU_`s0G?W W???888>?qqq8q??+,#-IJKbc0H  0  LM7NSTUZ[\abcghnstuz{| H          % 2 B V W } 0 7 x9A O 7       r 7  <`$2     -78 9EF [`abgh;GH n+? !< ^stu{! 7I<<  +./RUlnq&)<>ATVYlZ^osvF z  p  Z Z 9 $ *  4 : @ G#  T0  =P  ]n   +9Nbv  &!%"#$% ,-',(@)V*k+,&4.3/0123-=5<%6,7?8O9b:r;<4 >G2 ?@ABCD/EGF^Gu=   B'     $& @%@%     $ B ^ &z  d#'0@ >3 0    @  % @% @&) "@> @Z34 '0   BQAQBQCQD QE  QF QG QH QI QJ QK QLQMQNQOQP ' L( (B   6@2*@v@0) )       i  :V r !  .  -3 0 @ @ @ @ @6 3"  '0  '! "<V h  s     R   n $*0 6 0<0?%0TP *ML$Zbi rz      !"#$%&'()*+ , - . / 0  1  2  3  4  5 % 6 ( 7 * 8 - 9 2 : 7 ; : < < = ? > D ? I @ L A N B Q C V D [ E ^ F ` G c H h I mJ pK rL u zN0 POO  N %0 -  * *         2  N    4  ; j0 X ] _ b k t    -,     ! " # $ %  &  ' ( ) * +  ,     D @0 0 9  ) '        >> @=  0 <0 ?8 E*8 J7   ) 0  *  !!.          #   *     2   9  0 @ 0 G  M 1 U    1 Y !J)1 / / /;/ k/ / / / +/[ / / / / /K/{/0 088!f ! !!% !   Q!1Q 20 %0 F@D@D@D@!F00!5`B  7 $3"13     "*  "F  '*"b' "~'   3" "%  3G" "% 0i'0p) * w   & %%#"  !#     I  U  Q 1 Q!2   Q!1Q 20a!%0h B#&>005   #")Ge j #B   A BC D EFGHIJK L MNOP0   %0   #^0>'0D   K#z#0 '0   !1 2      0 '0   6 2# )!  .2'0F ? #;0    '04 *    #$      0 1B  #$" 900 %07   0 > $>$Z$v$$       !  $$% n 01B$  x%%:00%0&    0 0          1          AB    AB   0#  0* / ! @    H%V%r0 '0 ( %  < %8   !  , 4 6    ! ',.4163 ? CGOS! _,0f '0l, &&,.~0^2>46.9.@EEFFHKLfM>PRRU~UVWXNXZ]^_&`a6af%%n%$X%c!Ldb Desk Commands Show Read FAT's Format/Copy Options About Knife ST -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Select Drive V Build File M Delete File ------------------ Save Buffer S Print Buffer P Edit Buffer E Reset Buffer R ------------------ Run Other Prog O Quit Q Directory D Bios Param Blk B Trk Addr Field A File Clusters C Disk Info I Physical Sector ^S Physical Track ^T Track/Syncs ^Y Logical Sector ^L Cluster ^C File ^F Goto Start ^G Show Entries ^H Compare/Copy ^J Free Cluster ^N Which File ? ^W Analyse ^A Format Atari ST Format IBM PC ---------------- Copy & Repair ---------------- Analyse Floppy ---------------- Rndm Boot ser# ASCII Characters T RS232 Printer U --------------------- Find String/Bytes F Find Next N --------------------- Print String W Print Ctrl Codes K --------------------- Expert X Knife ST __Date 01-12-88Version 1.00 The Ultimate Disk Monitor,Editor & Disk Recovery SystemWritten using DevpacST & Wercs forThe Old School, Greenfield,Bedford, UK. MK45 5DECopyright M.Prcychodny, 1989-1991OKCANCELAddr Field Read SIDE:0_9TRACK:00__9SECTOR:01__9OKSelect DriveokPREVIOUSNEXTS.O.FE.O.FA:\12345678.123\12345678.123\12345678.123\12345678.123FILELOCKGOTOEOFEXITSHOWLASTNEXT FREECLUSTERBUILDCANCELRead CLUSTER:00002_____9OKSector size (bytes) Cluster size (sectors) Cluster size (bytes) Root DIR size (sectors) FAT size (sectors) Start Sector of 2Start of 1Number of Data Clusters Number of Sectors/Track FAT Entry Size (bits) Number of Sides stData Sector ndFAT 0000000000000000000000000000000000000000000000000000000OKBIOS Parameter BlockPRINTTrack Side Sector Bytes Checksum121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6FOKTrack Address FieldsPRINT Input Vals. for Conv.Select Type of Disk.0SIDE: _900TRACK: __900SECTOR: __90000SECTOR: ____9000CLUSTER: ___900000VALUE: _____XSingleDoubleSelect Sector size.QUIT910PhysicalLogical Cluster Useful Conversions Hex-Dec Logical SectorData ClusterSide Track Sector Hex $ Dec S/SDec-Hex 12345678901234567890123456789012345678901234567890123456String: ________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXPRINTCANCELEnter the string to send to the PrinterPress RETURN or click on PRINT.ESC to abortSPC to pauseFile Map of Linked ClustersOKPRINTPREVNEXTA:\12345678.123\12345678.123\12345678.123\12345678.123 PAGE Modify File Attributes FILENAMEEXTFilename : ________.___f210988Date : __-__-__90319aTime : __:___m9999aRead OnlyRead/WriteHiddenVisibleSystemNormalCANCELWRITEArchiveNew Directory & Attributes A:\12345678.123\12345678.123\12345678.123\12345678.123FILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01p24000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amPRINTOKPREVNEXT01 PAGE LOGICAL:00011DISKOKSelect FAT to DisplayCANCELDisplay of FAT 1PRINTOKSEARCH FOR STRING/BYTES12345678901234567890123456789012345Search Chars: ___________________________________XRestrict to:FILELOG SECTS123456start ______9123456end ______9CLUSTERS12345start _____912345end _____9BUFFERDISKSearch String Case:DependentIndependentSearch Speed :FASTSLOWCANCELSEARCH Copy FAT The FAT's are different on this disk,WARNING !!!You can replace 1 FAT with the other.This can severely corrupt your diskHave you checked you SOURCE FAT isOK to use ?if not handled correctly.SOURCE FAT:DESTIN FAT:CANCELWRITE123456789012345678901234567890123456789012Codes: ___,___,___,___,___,___,___,___,___,___,___,___,___,___9SENDCANCELEnter Control codes to send.Press RETURN or click on SEND.MEMORYDo you wish to build directlyto Disk or use a Memory cacheDISKPlease enter the name for theFILENAMEEXTFilename: ________.___fDestination file & select theDestination Drive.CONTINUE Build File CANCELModify Disk Volume LabelFILENAMEEXTVolume Label: ________.___fWRITECANCEL Modify FAT Entry Current Value: 0000000000New Value: _____XWRITECANCELFAT to AnalyseANALYSE FATDisplay Errors toPRINTERCANCELOKPath FolderA:\12345678.123\12345678.123\12345678.123\12345678.123FILENAME.EXTCluster is allocated toOK12345678901234567890123456789012345678901234567890123456789___________________________________________________________XCANCELCommand line:FILENAME.EXTOKATARI Standard FormatTRACKS00__979__9 - Disk SIDESEC/TRK10FORMATCANCELUser Defined Format60Track Leader GAP1: __912Pre-record GAP2: __9Inter-record GAP3: 22Inter-record GAP3: __940Post-record GAP4: __9Track end GAP5: 664Track end GAP5: ___9Bytes/Sector128256512102409Sectors/Track : __901Interleave : __900Disk Skew : __9Disk SIDETRACKS00__979__9 - FORMAT Library Fmt CANCELIBM formatFORMATCANCELDOUBLESINGLESIDETRACKS8040Formattingplease wait...SourceDestinCopy & Repair DiskCANCELCOPYReport Errors toPRINTERATARI Boot Tables112DIR Entries: ___99979Total Tracks: __99CANCELOKxxxxxxxxxxxxxxxxxxxDISK INFO for DRIVE M:Free Bytes:135 Mb135,000 Kb135,000,000 bytes61%Used Bytes:135 Mb135,000 Kb135,000,000 bytes61%Capacity :135 Mb135,000 Kb135,000,000 bytesPRINTOK?ꪪUUUUXUUUUXꪪ?xz?UWUV@UWUW0pO!AW WW???888>?qqq8q??*+#,HIJab0H0   AB7CHIJOPQVWX\]chijopq{| }H          - A B h } ~0 " c9A : q r7 s | }      ] 7  'K}$2    "# $01 FKLMRSW+?q}  $ F[\]ct!71m<<:=TVYpr$&)<>ATgjmoruBFW[^o|N  b   X)  Z Z 9 $ *  4 : @ G#  T0  =P  ]n   +9Nbv  &!%"#$% ,-',(@)V*k+,&4.3/0123-=5<%6,7?8O9b:r;<4 >G2 ?@ABCD.EFF]Gt=   A'    $%%n@%     $  %: V  c#'0 @ > 1 0    r @  % @% @&) @ @14 '0    AQAQBQCQD QE  QF QG QH QI QJ QK QLQMQNQOQP '   L( (B   6@Q*@@0( )    6  Rn ^    !  .  - 1 0  @ @ @ @ @ 1"  '0 A '!  'A S  ^ x       2   ! 0'0*%0?P A*ML$EMT ]en q s v {  !"#$%&'()*+,-./0 1  2  3  4  5  6  7  8  9  : " ; % < ' = * > / ? 4 @ 7 A 9 B < C A D F E I F K G N H S I XJ [K ]L ` eN0 jPOO0 N m%0 -  * *N j               & . 0 C H J M V _    J  -,      ! " # $  %  &  ' ( ) * +  ,     AD f@0 0 9  ) '          >> @=  0 '0 *8 0+8 57  )  1  * ~                        $  0 + 0 2  8 1 @    1 D !)1 / / /&/ V/ / / / /F /v / / / /6/f/00 88 !*!F   !b!~% !   Q!1Q 20 %0  F@D@D@D@!F00 7`C  7 3!13     !  "   '*"&' "B'  3"^ "z%  32" "% 0T'0[)  * b   & m% %#"      2  >  Q 1 Q!2   Q!1Q 20J!%0Q A B">005    # 0N S "   A BC D EFGHIJK L MNOP0   %0  #0&'0,   3 #"#>0v '0|    !1 2        0 '0   52#Z )  2'0. A?#v;0    '04  *    ##      0 1B   # 90%0 . & #$$ $:$V       $r$$ V 01B#`$$w0{ 0 %0$    0 0          1          AB    AB   0   0  ! (     0$%0r'0y ( %6  <  %R8   !  , 4 6   ! ,46 ' +/7;! G,0N '0T, %,.&01458@nDEfEFH~KfLLOQRVU&UV.W6WXZN]6^n^`N`a`HZ&|x`Nqz8< 6< ><4<|(o*lNNH~N+| <5Nv&??JanFebMarAprMayJunJulAugSepOctNovDec2< NNv$ HiSoft CheckST Program version 1.2 2< N~=A .NN,N>-.<FN$N^-N,N>-.<FN$N^ G>=~DG^ ^0~=~=~Nd~DGNN>~NNv;This program is for use when reporting any bugs or problemsNXNN>~NNv;with HiSoft products. It reveals internal information whichNXNN>~ NNv8will enable us to identify any problems more accurately.NXN~=~=~NdBm Nd~NpNnNv5[0][ Compiled with | HiSoft BASIC| ][Quit| Print ]rNn~?A ./NrNO;G m g`XNqNPNNPNNPNNP~NA .NXN;| NdNPNNPNNPN~DGN`fNqNTJm f`.NqNP~N., NX~-N.,NXN`(NqN>~N., NX~-N.,NXNN\Nu`NqNTpNnA.-|.<@NN ^ A.-.,-~Hޞ G>NdNA.-A.-~H-A.Nv-~HDޞN-Nv.N-A.-~NNNpNnNvDOS version number:-NbNNrNnNvROM version number: -A.NrNnA./A ./NNO A.-NvROM created on : -.,-~Hޞ G~NdN-Nv NNA.-.,-~Hޞ G~NdN6N8 ^0A.-A.-A .-~=>,=~NN-Nv NNA.-A.-.,-~Hޞ G>NdNNpNnNvMagic number : $-.,-~ Hޞ G.NjNrNnA./A ./NNOA.-~DGH/.-~DGH/.-~DGH/.-NO ^ A.-.,-~Hޞ G. ^ A.-.,-~Hޞ G~ ^0>, G#g`$NqA.-NvAmericanN`Nq>, Gg`$NqA.-NvBritishN`|Nq>, Gg`$NqA.-NvDeutschN`JNq>, G3g`$NqA.-NvFrancaisN`NqA.-Nv?NA.-NvNationality : -A.NNpNnNvMemory :-N-><H&NNN-NvkNrNnA./A ./NNOA.-NvBlitter : N~DG?NTO=~^JGf`,NqA.-A.-NvYesNN`&NqA.-A.-NvNo NNA.-NvGDOS : NNJGf`,NqA.-A.-NvYesNN`$NqA.-A.-NvNoNNA./A./NPOA.-NvColourNN Gg`NqA.-NvMonoNpNnNvMonitor : -A.NrNnNvrNnA./A ./NNO NN\Nu~N O/0C0<HЈ",Іd䒆 Ь `H`// Bg?<JNAO JfLEA@,A0,Hp!!!.HA 0D"MBQ;@+F +LfSE;ED;D CaHNHz+_>?F?F"/FN<+g <-fPN<.g<0e <:dBo?|Bo <:d<0eaG0ajNRo`Jf /k WeR<.f6Bo N<:d<0eanG0a$RoSo ` ooR߰<Dg <EfZ`N<+g <-f?|N<:d"<0e2/A0AA@GA0?AN` g oo8/o gadAC$Ia9`ھ<&fN߰<HfBN<:d <0e2G0`"<Gd <Ae G7`<gd<aeGWaa&``H<BfN<2d:<0e4G0aaN`<OfN<8d<0eG0azaN`Jf0 /k eRdS|"` |"Ag ggfN/"g,Sf f" /H/@` e /a5VHPz./gLJ/gv?a3f:p`J/"f Jj a5`J/gDJ$Nu%&!#HJf߯eNua a4AC$IHa7"`7 / a4H PNuJf /Ѐe"ЀeЀe Ёe/@NuaAC$I`7Jf /ЀeЀeЀe Ѐe/@NuaXoNuJf /ЀeЀe Ѐe/@Nua|VoNuJf /Ѐe/@Nua`RoNuJfaR HGJD[jDD<AB!zVB.T/zTBNd A"O$Ha6JFg O"O$Oa6` JgCA$Ia7HHGPNuA ,0-JgPQa gBNu?a0@`  Nu !INu("hNu _x8aSr//Q/-+O/N m( SrPf Ha LQ m((+P`H+H+HY+I(+I$` - A䐈∓+I c+@LNuJk*"mg ɉRɉAH d+HNua`a $Ha JaNu/-BHa a`lG^pv.<"m AF"A$m $ QN m*g $ N E P`A"+I, U+@0NuNuSBeg"‡gf"`f$P(*SJg "‡g"`Qd`Nu$m X&m,Qd,m$(/ / / K R,I` (*X"Tb"eee$*ICʹd o( o- Y- XE` o oX- Y- E`d&^$^`*_& _"X$"X dG(H$S) $ce) $dNu m X.-0S,-"F*<& $X,ReV(*gȅe2؎e,$`8ȅ e^&ր*gR"&F܄ge@$SQdQd+FL+_/ح d(Nuafa,Memory exhaustedH/Gpvaar _a`SBe g"`Nu*<(I m ٭ ٭$$-0gRňX$`,Rd2Ho8 ^("ha@SoRgSe(`x"Dp!a*.NuaH ^Jk ga4c R--`.Nua`a G("hapψa h`HE`" Ga.Nu("hNu/ a _` H@g(Jg$HAJ@gJAfHA`JAgH@HAJAf ށeNu~NuDNu$JnDJnDai JkJjDNuJgF //JjDJjDp"~ҁU@D@އeRQ jD jDNuNu Ga4)k2BHҁC. Nuv!`:FBH*6HÖk&n"UDk>HǞkn"aևQ"`L` GaJgH<fZxCiff4)C k2BCHUDk0BAҀQ8. NuHxCSDt =QaL`a3a a a a FBH*&k趙nUDk.k־n"aFևQ"` GaJgV<fxCift4)C kJ^f2BCHUDkJ^fx0BAҀQ8. NuHxCSDt -QaL` GJf.4-4/ x$Nr6ASAHDJDfHD0BkR@Q/ pgaFC2 AA ?H؁a 222"8B2HR2 UAk0B22R@Q2prHASCd2`"Qd&_Nu2 4BSAA M BC p0 !Q&_ GJfb4-4/ H/~$Nz6ESE"kJRaQ( pga~C2 AA?H؁aD222FY"."R: UEk"""RapQ(*`0 Ga<f()aLB`&,<@Jj<a)h*Nuai 0GgDNu H@GA6a G@VGa GUU|vGa"D`$((*`A"a" Jvg mvNJga!`A a!"a"JUgAa!r2a"NuSe<dAa!AJg!JfS`LIBRARYSTARTUPOPENPEEK/POKEBLOAD/SAVESOUNDLOCATEINKEY$GEMDOSDIMARRAYBLITREDIMCVsMID$==MID$RIGHT$ASCINSTRPALETTEMALLOCMENUSCREENSQRTWINDOWJOYSTICKTIMEDATEMOUSELOG Y8 Runtime error at line in module on #A+HvNuA g<PdJfSfNuRETURN without GOSUBOut of DATAIllegal function callArithmetic overflowOut of memorySubscript out of rangeRedimensioned arrayDivision by zeroType mismatchString formula too complexRESUME without errorLine buffer overflowWrong number of dimensionsFIELD overflowInternal errorBad channel numberFile not foundBad file modeDevice I/O errorDisk fullInput past endBad record numberBad file nameToo many filesDevice unavailableDisk write protectedPath/file access errorPath not foundBREAK pressedFatal bus errorFatal address errorApa+@0Apa+@(Apa+@,NuaHm|9|rPJ-6fr(A|a>ra(rwa"Q"B,#`H Lpa#L (IL)HNu l p`&_|dVA``&FLLn0kN0SN0kNp*JgHP0SNL fS`NuzpgH P0SNL f < gR`"NupJgH P0kNL fS``<daTa@pNupDNu`aHz<d̰<g a"Ra`-5f -5fNuH?<?<NMXJ@gN/<NMX-5g<g,-5g*<f$/<NMX<g-5g<faM+@LNuJ,"gHrazrfatLNuHradrf,"aZLJNu<dA`HL.6H>HHHHd Q"aapNuP"pNuQ"pNur,#pNupDNuB,B,#rarE`pNu|dp,@dAB#A B H`rarYaL8a`/ Jikrarba"W2)a2A av"WJikrahrcab"_2)aA `RXpNuAAJ-6g -6gA0Nu    H @rareaLx*&I/ at&_< gT< gN<g <g< eںgHR/ a|&_`JgSJ,gS,/ rar ara&_`r ar a"p@Nu?,?<NMX<f lf -5frpNu?r aFr ax2< gp< g4R,,g,e lf< d<g<d<dp`0,<f< f ,#dR,#A???<NM\Jlg pNuB,`Rgp9Nu0,??<NMXrJfrpNuSgSgUg|SgpDNu&fvRBg/?<=NAJkb8>N?|NAJfPP0(<(؃Aa:)mV)C)C$)C |||9@p)@@)@NuPH`t9+@8lAgf LNuF5LCKKBg/?<NAXapNu`8,<d$ gA @N.T@(eа|dA``tp<gJf",gaBf atrpNur)ApNuHl(/, ??<?NAO Jk)@gB$Nup>Nua ,$e agp>)@NuA(r0R<gR$pNua",g$S)AS$dBg?/?<BNAO JkavpNua|pDNuat?(,$gA($e(٬a^8)l$Jg$/ /??<?NA"/O Jk$ѬfLpNua$< g4< g2R,,g(,d"B O | ApB,aXNuB,I? OpaTNuJg&//??<@NA$/O "Jkpgp=Nup"Nua  IJ,f6,Sev H x ggRQdAL0`r`Jg, I,< g< gReSf C`Zv`SH @vapAaBLgNu fXp6Nufp6XNuaB$BSt QdBg?/?<BNA"/O f Hl(/,??<?NAO Jkgr)ApNuaB$Bg?/?<BNA"/O Jl |fZ/?<?B?<BNAO "Jk@g(*HEJEgpH@ @ajf(SE`HE  |aVf ,B$A(aDfNu` f$Jj", R $,Ga"GA( ,NuXp6Nu?<?B?<BNAO /?<?B?<BNAO "&Bg?/?<BNAff$, `$/`$,"O pNua Tp6Nu< g,< gR,,g,e&,$d 8(R$pNuB,`?r ar a2`p2Nu",pNuPRT:AUX:MID:KBD:LST:H@b0HCAag (IpLNuLp4Nu8<0DaQNuH@af Hp0a L LJNu lN -f ?+mj+mnNuBm;| Ap 0Q0BmpNBT@g$pMa;@p-6T@;@0<da0-f:pMa;@;|0<da0-faCannot open workstation;@;@BX+m^\BmBmp&at;mTpm;@VBm;|Bm;|p'aJBm;|;|pa4Bm;|Bmpa NuQ7a -gBm+@paBBm;|pzaa0BmBmpeapa`6pD`p4ONu/ H0@a~0/|bCHI o f"+|phaADC1111/HC2"X"\pda|k(<6Aa9@;@&|B,B,#9m "o B2B.Jo g& IaRa" R/ a b)H."_HaB"l.;l;|+IpiaRmA+HpiaL 8A0P0000pea;|phaL@ASBSCHHJJ-7faxp0,T@C$"V#zV3zTapNu;|;|A+H+H;|A"    A"Nu0,2,l4,6mVA`6420ll@AH";|Bm;|p a\pNup;|;|;@LCBllH" H@+@p a pNup fpBm`0j 0,(RBg0,&/aLL a$0,(Bm;|;@papNuLCBBm;|llllH"papNu;|;|;|llH"pgaxpNup,@d$ATRBV0lld HpNupNuA$C p2!k0TQC$/ (IBm;|;\0<a;\0<a;\0<a;\0<a;\0<a(_pNu;l;|A1111pia;|phaL@ASBSCHJ-7fa2lfLHJajpNu0a:8ABX0 BL\R@RAHplafCFA33330Dp!`ahpa2)NuHJ-7f"A<+H+|;|0pagLNu40. a "N nM4vaf;H.Nuv`|d@0@Nua`0a`v0.at* E2 GaPpa"4|. ^Ta@p`0aP* E. Ga,pA$E00 pia|Nu0a(* E2 Gap`JgH RaLBala< RH`azL$HaئB"RNuJGk|dV;GpNa|4`B-4`|d4BmBmԾ|gp|aG0;p>5Nu0<a>-^Nu^aV/?<HNA\Jgf @Nu/?<INA\Jga*3a$a0|JgD0A4</va`. Compiled with HiSoft BASIC 0<rtvaf;H$;H.A0<rtvafNuaޮDLST:JGo |d0GNu0Gp4`x;m.$Nua;G$Nu;|$Nu Ga$0m$pat G`p0m$adHA86HBrBDHAJAgHAJCgAcVB8SDpr a4QNuJGo8SD0m$`JGkg.p0m$agJBgHGJGgHBRBBdBSGHzCt0m$p` g./ m fAN _`??<?<NM\Nu/<NMXNuCDjDG@AB|Ab DSGkUĆQ(k(j2xc 0D@`fc 0D@`D@@`D@@ԆӅdf UĆR@(fJk0<NuJkJkxAS@J[NuJkV`t"g pJk S@ҁ`0<vNuMC68341 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.,GgT klknf`@,k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu<oD&B<ރeNukgvgPk<<d&B꫞kBSbHGއ[kgNu~Nu<oD&.<`DgjD`k gBAkjDNu<Nu~NuBkjDDNufDJjNuHz_Jg0jzDi&SbHGއ[Jj dRNuMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.rtvx2(4(6(8( |o864BA@`J@gHCv6BBHANuH0)hlH0)h|?ovx`J@ga`LL*jfcCD@` ԄӃdR@HLNuJfJgJk S@jHNu0<5@NuJfJg JfJfBBB|XONua/ 04R0(iR@5@&Oz////zL81P֣7CBCSHCԃ6BBHB҂ң7ABAQHAЁ'@\KUEjLJkSjjH&_NuaL/04R0(i5@LL xzJk SjjJk Rjj|?Eg҃тQJk SjjH0,NuHz ?<&NN\.:Nu Aj |On8@ &{8|<ACe CLdV>378 sf78@@@8A .|4VyNu?<0NATH@>Nu;o oaa p4a>NuA<+HSe`BNupNBT@VHNu//// //?<NNO.Nu?<NNT.Nu?/?<@NNX.Nu8H(`AN"o#8*i,EB&J(JSB  g  g  f RSBj` gn =fa6 n <#7n` %fa n <#5`Rpr A9nA0m/ПЁRSBkB`Jg:NuA8`A8rRSBk$  gJ  gB  g:Qp`JBkQB$)ԩ 7n&95f &`nր n&< Ѓй7n// Bg?<JNAJfV.B#87n#8#8#8#8N+H/ / K,MNpJ8g / y8NXO??<LNA` /`NVHy8Hy(NPB9> f*"n i -fR Nf S> f0Hy9#Hy(NPHnNXA"n #HR gHy9?Hy(NP`X n /aHX/a X-@JgB/aPRg/.Hy9lHy(NO `d/.ajXJgHy9Hy(NP`BaBJg&/.aXNB/.pN/N7O `Hy9Hy(NPBaXN^NuNVH*np\// N6LP&@g6IgRR`BJ.f pL8N^NuBHnaPL8N^NupL8N^NuNVH n( :fHHA` p/N7X#@ n \g( :f( \f .L0N^NupB/N6X*@fHy9Hy(NPpL0N^Nu 9@R// rG/N7O JgHy9Hy(NPpL0N^NuJf .L0N^Nu/ N6X/./@ N6X"/ҀP/N6X(@g` 9@A|: LT/ /H a X/// N6vP/ NX n( :fT` n*HHy:/ N4P/ / N4PL0N^NuNVHa @-HT"t A4#A @P"t A4#@ @\" A6#@r#@ @ r @2#ABA p /N6X#>Jf pLN^Nu~@d6RA atp "$ y>/</Hy>N4O R`~@d|@d RA R`R`~ 9@耾dRA Jf #A AR`RA n r @2T#A n t @4#A/N6X#AJf pLN^Nu~Ad$ " yA//H a X o R`pLN^NuNVH *n- :fT \fRBp\// N6LP(@fp/// N6LP(@g LR// aP`#AA (Mp-@a B . l$Jg .gHHR`p ".R` .fRB . lJg HHR`p ".R`p-@-@B . lP @>-H f.Rp //Hna *O Jf n( fp-@` RS@`JfrRJgJ@g`RA `P ."9AN5XJgRA `4 9@ yA #@ mAb/9@aXa `*Jf/ Hy:Hy(NO `/./.Hna O L0N^NuNV n /a X-@ yAJgHy:2Hy(NPN^Nu n /a vX-@JfHy:kHy(NPN^Nup "9A .SN5&R/.Hy:-@NPP/./.a|PBN4/././././.aO/.Hy;-@NPP-nS .Jg/.a>X-@Jf .".g//Hy;NPO `Hy;NPXN^NuNVH..,z/aZX,JfHy;Hy(NPpLN^NuJg9>Jf LN^Nu//aVPJg LN^Nuz`NVH .R.Ad " yAJfLN^NuR`pLN^NuNVHa /. /.a:PHy;NPXN4 YWDHH.a LN^NuNVH-yA /.a "r/Hy "r* m fz.S( 9(Jk y(R( r` Hy(/NP"R`S( 9(Jk y(R(p r`Hy(p /NP"R`LN^NuNVH . @>*H n MB/a Pa`L N^NuNVH . @>*H M/aBXr $9AЂ-@".l-A M/./aPa/./.aP .L N^NuNVH-yA /</.aPJ g /./. alPp#A ~@lD|@l6p "$ y>/<Hy>/N4O anRA R`R`#A a LN^NuNVHJAfj .rN5. y>/aX,. g . "Ё` ". Ҁ * y>//aZP` . y>/. /a>P . yA LN^NuNVH . X/N6X(@fHy<]Hy(NPp/aX*L . n g @RR`B/9@B/ aO #@/aXL0N^NuNVH*n~ l*Jg .g \g /gHHR`p xR` .fR~ l$Jg \g /gHHR`p xR`J g <` .*~ SJg rN5&Jf . Jg/. /aP-@ rN5&R A>p //Hn-HaO Jf n/aX,Jg& n( gR MB//aO `p` L N^NupL N^NuNVHJ gHJgp`p,/. aXp "9A .N5X~-Al2RA |R`#AA ~ .rN5&l RA R`a J gJg . yA ` . `pLN^NuNV .Aep-@ .U"9AN5йA#A N^NuNVHJAfD .rN5, y>/aX.. g "`" LN^Nu . y>/azXLN^NuNV .  n . @N^NuNV .  n . @p". Ap". AN^NuNVp n(rҀ N^NuNVp n(rҀp(tҀp(tҀ N^NuNV-n nHH/@R"@=g / ` nHH nJgR` .N^NuNVH~l@ n n d pLN^Nu nR n R c pLN^NuR`pLN^NuNV n( :f(JfpN^NuHnp/N7Pp//.pN/N7O JgpN^Nu.g.gpN^NupN^NuHyBp/N8/p/N8fBHy8p=/N7O -@`BHy8pfp//.BpB/N7O/.p/pF/N7O /. N!X/98Hy/9NO BN~XN^NuCPROGCan't open stdin file Can't open stdout file dNVp nR-@Jg/. /N~PRfpN^NupN^NuNV n (g f//.NPN^Nu n (S!@Jk"PR .r` ./. /NP" N^NuNVB 9(lS#(lJkp y(hR(h`Hy(hN0X-@ g, f nRB` nR .`JfpN^Nu nB .N^NuNVRA" yA (S!@Jk"PR .r` ./9A/NP"N^NuNVBA"#AHn/. HzN2(O 9A"N^NuNVRA& 9(S#(Jk y(R( .r` .Hy(/NP"N^NuNVBA&Hn /.HzN2(O 9A&N^Nu/NVB . lTrN5 @(h-H(f2 n(g& n  -@Jg//( /(N,O R`B .6l( @6Jg @6/(N+XR`/.N*XN^NudNVJA*g yA*//-HN#PBA*JfpN^Nu .X/-@N"X-@JfpN^Nu n -HX N^NuNVBaX nY#A*pN^NuNV nY "@"Y-@-AA*gBaTX/. aJX-@Jg0 . ".c-@/././.N7zO /.a|X .N^NuNV n (VDHH (0AJg BpN^Nu n(g(g/p/NP nJf$B/N!tXJg npN^NuJ.gr n (T!@nb P"nRp-@ g2 f: n (S!@Jk "PRp` /.a"XN^Nu npN^Nu .N^Nu n(fr (//( /(-@N&HO -@Jj nJf nJo(J.g .D n!@` n!n n n (2JgJ.gp!@` nBpN^Nu n (S!@Jk "PRp` /.a4XN^NuNV-n n (0JgpN^Nu n (VDHHAJf(fp!@ fN^Nu/. N!tXJg n pN^Nu n J.g (D!@` n !h n (S!@Jk"PR .r` ./. /a$P" N^Nu n (gx fpN^Nu .@J.g. f&p/Hy!h n /(-@N$O -@`"p/Hn n /(-@N$O -@p-@`2 n (gpN^Nu n J.g^ gT (T!@ f""PR Jk /p/a>P n R"n QR .JjN^Nup-@ n  -@Jg(gpp/B/(N-4O -@J.gR .S-@JkDB/ n /(N-4O p/Hn n /(N+O J8f . gNq/. n /( /(N$O -@`B f n ` .g n J.g n (D!@` n !h"n i " . g2")S#AJk QRr` ./. /aP" n (0JgpN^Nu fpN^Nu .N^Nu dNV nJg(fpN^Nu/9=N"X n !@ Jfp #>pN^Nu n!y=p!@!@N^NuNV-np-@ nJg/N6XRѮR` opN^Nu ./-@N"X-@JfpN^Nu n#8B-H nJg "n"/N6XRѮRX` nBJABg yA>/9AB/N#P#AB#8A> .N^Nu=NV/.aXN^NuNVH..Jn pL8N^Nu l~ V.I6*TgZ -eLf(6 M L8N^Nu - e$" M$&B&'@(6 M L8N^Nu(M*U`/N*X*@g"J6f#6߹6 M L8N^NupL8N^NudLNV . //.-@aPN^NuNVH<.. Jn pLpN^NuddNV/. /.NPN^NuNV .8opN^Nu y8 .ѹ88 N^NuNV/.aX-@JgN^Nu | N^NudNV 988ѹ8#88#6#6#6#6 N^NudNV lpN^Nu/.p>/N7P#8Jjp #>pN^NupN^Nud?NVx . gJfp /N7X g . ~nS`p}@|Hn|p /N7Pp /p/N7Pp.}Bx-@ .xl n C~Rx` . }lF n R `6/. /./.p?/N7O-@Jj#8p#>pN^NuB8 .N^NudNV/. /./.p@/N7O-@Jj#8p#>pN^NuB8 .N^NudNV/././. pB/N7O-@Jj#8p#>pN^NuB8 .N^NudSNVH p| r-Ar-ArA@@@@@-A-A-H nJg^rp kPfN#`2 `"+`-`|`|`|`|NqR` n 0f |0R n *f$n "RX-QR`Hn/.N4PѮ n .f4R-H *f$n "RX-QR`Hn/.N4PѮ n lf |R nR@r8kvfNc`Js`X`x`o`*u`d`J.g "n QX ` "n QX -@Jj r-ADJgp-` J.gp+`p @p.".肀p.JgRR/./.N3P-@Jjp-@ .".-AJo8 n//./N7zO p././/.N7O -n .ѮA-HJ.gT| `JJ.g "n QX ` "n QX -@`RJ.g "n QX ` "n QX -@J.g n0Rp-@/./.N3FP-@`J.g "n QX ` "n QX -@J.g n0RxRp-@-H/./.N2P-@ .XfHnNX`"n QX"P-I̳f-|2/.N6X-@Jk2".o*-A`$p-@"n QX @B.` pLN^Nu .lB` .䑮J.gF .S-@Jkp nR/ nNX` .S-@JkXp./ nNX` .S-@Jkp./ nNX` .S-@Jkp nR/ nNX` .LN^NuNV-n n R@-H Jgx %f0 %fR `"/.Hn/. aO -@Jg-@ `J2g$.gp./ nNX n PR p./ nNX`pN^NuddNVB.p-@S .  @= . . -@ J fA//.N6vPpN^NuNVp -@B.S . 0". . -@ J fA//.N6vPp N^NuNVp -@B.S . r N5X0 . . r N5X-@ J fA//.N6vPp N^NuNVp n-@-@-@ -f r-A-A` n +fp-@ np/N7XJg* .r N5 nRr0Ё-@`JgD n .N^Nu o"oJfSf /NuNVp9=-@Jg B9=N^Nup/N7XN^Nu o"o / oe  SfNuSfNudJjDJj Da DNuaDDNuJj DaDNu/HA4f"H@HAHB4g0H@40HB2$Nu/v AdQC AdYC A dUCJAkSC4HBBBHC604HAdSCЁdr2HCH@A&$Nu B"C$&HBHCCHBBBЂ& $NuNV n.f N^Nu nRJfpN^NuNVp.//.aPN^NuNVB nJg.f-HR` .N^Nu o"of /Nud o fS Nu,dd o"o / oe  Sf`Sf /Nu o / o "/Sf /NuNV . 0m 9np`pN^NuH C>#AF O0/@11g"HS@4XBB$0 g/`?S@j?(NA.yAFLNuH C>#AJ O0/@11g"HS@4XBB$0 g/`?S@j?(NM.yAJLNuUNDEL V1.3 by AD -- (C) 1986,9 HiSoft Name of file to recover : Usage: undel [-n] %s already exists! You have specified an invalid path! There is not enough memory to run UNDEL There is not enough memory to run UNDEL You have specified an invalid drive! \ I can't find %s! This file is unrecoverable as it has been written over This file is 0 bytes long - there is nothing to recover! I'm now trying to recover the file. It seems to be %ld bytes long Please press a key to continue Recovered cluster %d I have recovered as much of the file as I can. I managed to salvage %ld bytes (the original length was %ld) The file has been recovered There are no more free clusters! Press Y to include this data in the file or N to proceed:Last few bytes of data recovered: Start of tentative next cluster: %04x %02x There is not enough memory to run UNDEL EH You have specified an invalid drive! I cannot read your disc I cannot write to your disc Press a key... 0123456789abcdef ((((( H ((((( H X 8 H*  4 "@ &z6$*  ,     T"D   @ $ & : (@:24   .   (:P,  >(.,   $ :2     .        8> b.   $: :&>l$. $:0  P4Xf,"20&"NR  B4 :0` 0 . @8X" X~2`*\\@@KnifeST version 1.10 Read Me 23 May 91 ============================ Please state the above version number on your registration card. New features of version 1.10 ============================ This version fixes a problem with incorrectly generated 'Media Change Errors' when searching on some floppy disks. New features of version 1.09 ============================ The Disk Info command from the Show menu now supports volumes bigger than 16 Megabytes. New features of version 1.08 ============================ Certain non-standard floppy disk formats with a particular FAT usage caused incorrect calculations in all the analysis functions resulting in an internal error *3* alert to be generated. This has been corrected. Logical Sectors > 512 --------------------- These are now handled correctly. There is a new program for some hard disk owners AESPATH. See the text file in its folder for details. New feature of version 1.07 =========================== When you use Run Other to run a TOS or TTP, KnifeST now waits for a keypress so that you may view the output from programs that do not wait for a key themselves. New feature of version 1.06 =========================== With the show BIOS BPB command, the number of sectors per track and sides are now shown as ?? for hard disks as this was confusing some customers. New features of version 1.05 ============================ File Selector ------------- When a file selector is used within KnifeST, the calling function's name is displayed above the selector. Find String/Bytes ----------------- In Cluster and File mode, KnifeST is now faster than with previous versions. Analyse Floppy & Copy/Repair ---------------------------- You can now press 'ESC' at anytime to abort. Note: If copying a file, pressing 'ESC' to abort will only work whilst KnifeST is reading and not whilst writing. Analyse FAT ----------- This will now analyse the complete directory structure of a disk as well as the selected FAT table. When asked to press SPACE to continue or page, you can also press ESC to abort. If errors are reported whilst analysing the directory structure then correct these errors first before trying to correct any errors reported as FLOATING ENTRIES in the FAT table as these may be superfluous. After the directory errors have been corrected, analyse the FAT again to see if there are still floating entries, if any remain then correct them. Disk Info --------- A new feature under the menu title 'SHOW'. This function shows the amount of bytes used, the amount of free space left and the total capacity of the currently selected drive. It works with all types of drives. Read File --------- When you are editing a file, the file offset is continuously updated to show the current cursor position. Build File ---------- If the RIGHT mouse button is held down over the window info bar and the LEFT mouse button is clicked once, the info display will toggle between buffer info and cache info. New features of version 1.03 ============================ Free Cluster ------------ This has been added to the main menu under FAT's. It works the same as the button in BUILD File, except the menu option is not disabled if the buffer is in File mode. EXPERT.TXT provides instructions on modifying KnifeST.PRG so that it starts up in Expert Mode. Only use this if you are an expert! The Atari ST formatting code will now write the first byte of the boot sector as #E9, enabling many PCs to read such disks directly. Please note that MS-DOS 4 does not appear to be able to cope with floppy disks with 256 or more root directory entries. Also included is the HiSoft File Selector, this is supplied together with its documentation in the folder FSEL David Nutkins HiSoft The Old School Greenfield BEDFORD MK45 5DE EXPERT Mode =========== This is KnifeST Version 1.00 The instructions given below will show you how to modify KnifeST.prg so that EXPERT mode will be active when KnifeST is run. 1) Run KnifeST.prg 2) Select 'Find String/Bytes' from the 'Options' menu 3) In the 'Search Chars:' box, enter $33fc ffff 4) Select the 'FILE' button in the 'Restrict to:' box 5) Select the 'SEARCH' button or just press return 6) A file selector box should now be on your screen, select 'KnifeST.prg' 7) The screen should now display the first cluster in KnifeST.prg, with a flashing cursor at buffer offset $0054 8) Select 'Edit Buffer' from the 'Commands' menu 9) Move the cursor forwards using the cursor keys till it's at the start of the ff ff byte sequence. Change the ff ff to 00 00 10) Select 'Save Buffer' from the 'Commands' menu or just press the ESC key 11) Select 'Save' on the alert box 12) Select 'OK' from the dialog box 13) Select 'Save' from the alert box When you next run KnifeST, EXPERT mode will be active. You can try this straight away be running KnifeST from the 'Run Other' option in the 'Commands' menu. If you then inspect the 'Options' menu, 'Expert' should have a check mark by the side of it. If you decide you do not like EXPERT mode being selected when the program is first run, then use the above procedure but search for $33fc 0000 and change the 0000 to ffff. *** WARNING !!! *** DO NOT modify any values other than $0000 or $ffff at offset $0056 in the first cluster of file KnifeST.prg. ALWAYS modify a backup of KnifeST and not the original. GAP1 $4E*60 Comments may be placed after numeric field as long as GAP2 0*12 line length does not exceed 80 chars. Tabs or spaces SYNC-ID $F5*3 act as seperators. Use own labels but do not change ID-AM $FE order of values. Preceed HEX values with $. START-TRACK 0 Values allowed (0 to 89) END-TRACK 79 ...ditto. SIDE 2 Values allowed (0, 1, 2). 2 = both sides. START-SECTOR 1 Values allowed (0 to 29) END-SECTOR 9 ...ditto. SECTOR-LENGTH 512 Values allowed (128, 256, 512, 1024). ID-CRC $F7 SYNC-DATA $F5*3 DATA-AM $FB DATA $E5 Sector data = (DATA * SECTOR-LENGTH). DATA-CRC $F7 GAP4 $4E*40 INTERLEAVE 1 SKEW 0