يEيCfأçü       Initializing Media      at.  But just  in     case.  Pardon me if I sound like I'm campaigning, and by all        means, vote for the other candidate. There was a time not long ago when the ANN Editor preparing a      monthly disk had the pleasure of choosing among many items of  ADAM material.  There were good articles, written by users busy          exploring the ADAM computer and finding out all about it.  We had   people asking questions and making comments about the latest ADAM   software.  There were reviews galore and peoFIRST DIR  پUھے BOOT       گDIRECTORY  ط50WAYS95H €APROGGDH  CLONE-ITH €EDITH     LOGO21H    LOGO22H   %LOGO23H   *LOGO24H   2LOOKFEELH 7NULLH     =€PSPCT9-2H C€PSPCT9-3H EPSPCT9-4H HPSPCT9-5H JREADME1STHL€SLASH9-5H N€CPM-CC03H Tbe that        everything that is to be said about the ADAM has now been said?  Is there nothing else remaining? Well, let's see. Just Re-write the DOS, Boss 1) GODOS:  There have been a few articles recently exploring Sol   Swift's unfinished creation.  This much criticized piece of work    could generate volumes all by itself.  Where is the mystery         limitation that holds programmers to 8K or less? Can it be fixed?   If not, what kinds of programs could still be written? This         version o‚Dےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے Ron Mitchell's 50 Ways (divided by two) Lets Make a New Plan, Stan It is probably rather presumptuous to be writing about a job  that I haven't yet got.  Volunteering as your 1995 Editor for the  ADAM  News Network doesn't get me the job; I know thple putting on          training sessions in their local newsletters.  There was no         shortage of articles to publish. Let's Hit With the Truth, Ruth It is not that way any more.  Those who will still admit to        owning the ADAM computer are spending less and less time with it.   There are no longer new programs to review and no longer as many    people doing much with our favourite home computer.  Or at least    that's the way it appears. Unpleasant thought? Well, prove me wrong.  Could it €BLOCKS LEFTn2BLOCKS LEFTn2f the BASIC interpreter has all sorts of potential for     producing a real GUI (Graphic User Interface) for ADAM.  Any of     you who have used GEOS on the C=64 know that it's posible.  What    would the prices and pains be of adding pull-down menus and  dialog boxes as GODOS promises to do.   Could GODOS be speeded up by relying less on BASIC subroutines     and more on Z-80 assembler? 2) And while we're on the subject of GUI's, how about an article   or two on what makes a useful GUI.  Some users con  use? 9) How about turning IBM's into servers for the ADAM? This will    be a hot topic at ADAMCON 06.  Is anyone going to write about it? Just Give It Some Thought, Dot 10) We'll need some good, honest product reviews written in full   consultation with the software developer.  There's no point in      saying that a product rates an A when it really is worth no more    than a D.  At the same time, the developer deserves some open-      minded and constructive criticism to make the product better.    the market? Did you know that the program that does this is         available free and has been hailed as one of the best pieces of     code ever written?  There is an immense amount of software available that users can    download, install and use.  Little is ever written about it. 4) For those exploring the 'Information Highway', what about the   relative merits of ADAMLINK V versus the PD communications          software that will run under TDOS (IMP, ZMP, MEX, MADAM 7)? How     can you use this slopment standards? What do you like, what don't   you like about the software you use? You don't need any technical   knowledge to speak up about this. 14) How does ADAM talk to the rest of the world? Serial Ports  and Communications protocols.  How do they work? How does ADAM  use     them?  15) As far as I know, there is only one person left who is  really pushing the capabilities of EOS for all its worth.  When  you get   to ADAMCON 06, take a look at the ADAM Information Manager.  Take a look at MoAMCON 04 where some real improvements  were proposed for EOS? 7) Has anyone other than Rich Drushel ever done anything in        SmartBASIC 1.X.  If not, what's holding you back, other than the    fact there needs to be 36 hours in a day. 8) What would be the prices, pains and benefits of installing Z-   System on the ADAM.  It will run, I can tell you that from my own   experience.  You can launch it from TDOS or Vanilla CP/M.  Is       there any advantage to it, and to whom would that advantage be of sider speed and   efficiency as paramount characteristics of any software, and        detest GUI's as a consequence.  Other users are more and            forgiving, and prefer not having to remember type-in commands.      What works for you? 3) Very little has been said or written about the vast quantity    of CP/M public domain software out there.  Did you know, for        example, that text wordprocessing can be done on the ADAM with      better speed and efficiency than most of the modern products on  11) Has anyone ever used the X-10 for something more than  turning lights on and off? What about turning on a BBS on and  off? What    about turning on a modem and a modem program, logging  on to a BBS, receiving mail, logging off and shutting down.  It's been done and done and done successfully.  Anyone interested in     hearing about it? 12) Who's into ADAM maintenance? Printer repair, disk drive        repair, memory console repair? Can we read about some of your       experiences? 13) Software deveoftware to access the many online services now    becoming available? What are the payoffs and what are the prices?   What is your experience of these things? 5) There are those who program and those who very definately do    not.  What is it about programming that turns you off? 6) For the advanced folk, we need some real technical articles     that will stimulate and challenge.  For example, what are the       shortcomings of EOS? How could they be fixed? What happened to  the project considered at ADdem Chess.  This is the leading edge  in ADAM EOS software development.  What do you think of it? We'll Make the Thing Go, Flo 16) And what about SmartWRITER? It's one of the most infuriating   computer programs I've ever used on any computer.  And yet I  still keep going back to it for making quick notes because it's  always   there at the touch of a button.  If you use ADAM only for           SmartWRITER, what are your experiences with it? What do you like?   What keeps you coming back? 17) We need ducing it.  But   how many of you out there have one? What kinds of music are you     producing with it? Was it easy to learn, difficult or impossible?   Have you mastered the 'quantize' function to straighten out your    timing? Did you know that the reason Why Chris wrote the  companion files that convert MIDI output to data useable by ADAM's voice chip was that he wanted to make it possible for        ADAMites to put good sounding music in their own programs.  Has     anyone ever done that? 23) Why isever go back to BASIC.  Why is that? Can we hear from  some of you who have tried it? 19) Here's a new one.  I'm not proud about what names get          mentioned on the ADAM disks.  (Perhaps I should be and perhaps      I'll get told about it.) But...  what is the competition doing?  Or in our case, what has the competition done? Believe it or not,  I   have programs on the Commodore 128 that I'll gravitate to long      before I'll even think about turning on my ADAM (Oh Ronald, bite    your tongue!!) Itship with instruction  on      Powerpaint, Powertools, Smartprint Plus, IBM Clip Art for the       ADAM, and the many Fontasy volumes.  You can produce some pretty    effective screens and pages using these tools.  Perhaps more  users could tell us what they're up to on the graphics scene and  how     they're doing it. 25) Nick Lukach has prepared some material on the use of           ADAMCALC.  How many other ADAMites out there are using this handy   little spreadsheet.  What uses is it being put to? I h the surface.  Over the years   unbeknownst to most of us, Guy Cousineau has produced countless     programming aids, examples of Z-80 programming, utilities, and      guidance all meant to make it possible for you and I to write       useful assembly language routines, to transport them into           SmartBASIC if we wish, and to see for ourselves how they work.      Nobody but Guy has ever written about any of this.  It's a          goldmine untapped.   22) The MIDI-Mite.  Chris Braymen has stopped proto continue good solid articles about the basics of    computing.  These will be a plus whether you own an ADAM, an IBM,   an Apple or whatever.  The basic principles of computer             architecture, programming, interfacing, languages, etc.  etc.       need to be written about unless we are simply going to run  Windows and ask no questions about what we see. 18) Anyone ever tried anything in Forth or Pascal? Proponents of   both languages will tell you that if you ever get used to them,     you'll n it that nobody has ever written about the Dynomite      Sound Digitizer that Syd Carter produced? I include myself in the   target audience for this question.  Have had one for at least 4     years.  We did a demo on it at one of the AUFG meetings in 1990  or 1991.  I know for certain that Syd sold a number of these  amazing  devices.  What happend to them? Who's using them and for  what      purpose? 24) How about graphics? Bob Sebelist and Patricia Herrington  have done their darndest to provide leader's the truth.  So why is that? Have any of you     developed similar preferences and why? We Hope You Will Stay, Ray 20) What about our suppliers? Someone at ADAMCON 05 who shall      remain nameless was supposed to do some work on making sure our     suppliers got a suitable amount of press.  Perhaps that person  can make up for past sins of omission.  Perhaps you can help him  by    providing details of local deals, product availability, used  items for sale, etc. 21) TDOS? We haven't even scratchedate           spreadsheets, so unless there is input from elsewhere, you won't    read one word on the ANN disks about ADAMCALC.  That would be a     pity! Just Think up a Thing, Bing There!  That's my half of the plan, Stan.  Can you think of the    other half of the fifty ways?  Meantime, one of two things is going to happen to anyone who       takes on the job of ANN Editor.   - he/she will be left to single handedly produce all of the  disks - articles programs and all.   - there will be a resg of commercially available   products will not make it to the disk.  If you're proposing a       legitimate patch, get the author's permission first. We've Come to the End, Svend To conclude this rather lengthy missive, here's a personal  slant.  Over the past several years I have come to value the ANN  disks.   They're a window on the ADAM community that could not  have been    provided any other way.  In preparing my own newsletter  for the    ADAM User Friendly Group of Ottawa, I have found a good  re than that.  Hopefully we can make it     work. Finally, just to let you know where I'm coming from in terms of    editorial content and a couple of related things, I'll leave you    with a few points. And Here are the Rules, Jules a) With one exception noted in point f) below, everything I get    will be published on the ANN disks, unless it's so badly written    that it doesn't make sense.  ADAMites are pretty good at writing,   by and large. b) The disks will be issued in timely fashion so as t with apologies to Paul Simon)lrich.Hebecker@studbox.uni-stuttgart.de> William P. Maloney      <aq743@cleveland.Freenet.Edu> Paul Martin             <pm@nowster.demon.co.uk> Shown 2%, press <SPACE> for more, 'q' to quit, or 'h' for help Don Maslin              <donm@crash.cts.com> Udo Munk                <udo@umunk.GUN.de> Alan Ogden              <arog@BIX.com> Keith Peterson          <w8sdz@Vela.ACS.Oakland.Eday from controversy where I can unless it      furthers the overall objectives of the ADAM community.  If you've   written a software review which proposes criticism of the  software or the author who wrote it, I will want to see evidence  that       you've talked to or exchanged correspondence with him or her  to    convey your point of view.  The author will have equal chance  to   provide rebuttal. f) As an exception to point a) above, any material advocating      software piracy or unauthorized hackinurgence in the level of material submitted    and things will be interesting once again. Take your pick.  If it's to be the former, and I'm chosen to do    the job, I'll do what I can.  The disk may come out once a month    it may not.  It'll be rather sparse and it'll only have one         perspective.  Quite frankly, I don't want that.  All you'll have    is whatever I've been able to prepare for the AUFG newsletter.  I   can promise no more. Let's Make It Look Bright, Dwight Hopefully we'll have mocross      section of ADAM articles for various interests and various  levels  of difficulty.  There have been some interesting programs  short    and long, and there's been a representative cross-section  of       contributors.  I'd like to keep it that way. But now, as a community we're shrinking rapidly.  Some expertise   that has been available in the past is no longer available. I'd like to continue doing the best we can with the resources we   have.  I look forward to your co-operation. (Writteno suit        deadlines for the various ADAM newsletters that depend upon them.   If there is no disk in a particular month, Editors will be so       notified.  I'll need input on this one. c) I'll strive for balance in content between novice,              intermediate and advanced levels of information presented, and      between subject areas treated.   d) I am the world's worst proofreader, and I hate spell  checkers.  Nit picking about minor typos will probably go unanswered. e) I mean to stay aw‚Cےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے AUFG Product Review: The ADAM Programming Guide: Produced by:  The Maine ADAM Library Bob Sebelist  Cost:  $15.95 US  At ADAMCON 5 in July of last year we were treated to a quite a    thorough demonstration on graphics put on by Mr.  Bob Sebedes EZcalendar,   EZshapeCON, EZpatch1, ezCOMPARE, EZmusic, EZkeys, EZfileXFER, and  EZcopy.  You'll find both 'clipmgr' and 'pixmgr' on this disk,     and you'll no doubt recall that both of these programs were        provided on the PowerPaint media as public domain contributions.   They will allow you to include PowerPaint pictures and clip art    in your own basic programs and they're really easy to use.   There's more! You've got BP-deluxe as well.  Remember that one? It allows you   to save your fook!" Bob Sebelist has indeed provided "some place to look".  If        you're into graphics, working with clipart, PowerPaint screens,    sprites, and fonts, this is the book for you.  It is a compendium  of information already previously published in various ADAM        newsletters and books dealing ADAM's graphics functions.  You get  even more on the disk, but we'll talk about that in a moment. There is little in Bob's book that is completely new.  That       doesn't alter the fact however that here not been readily available prior  to the Companion's publication. All in all there are 7 sections to the ADAM Programming Guide.    Each one is brim full of useful information.  The layout is        professional and readability is good.  It is dressed up from       beginning to end with many of the familiar ADAM clips and there    are plenty of illustrations throughout.   This book and its accompanying disk come highly recommended.      Bob Sebelist is to be congratulated for a job well done.   You centy of program listings to keep you busy.         You'll find articles on working with with random and sequential    and random access files as well as an ADAM Graphics Workship by    Sol Swift himself. There's more to this than the book!  There's the disk. On the disk you will find a menu controlled, Smartkey driven      presentation of no fewer than 36 files.  Many of these will be     familiar to Sol Swift followers (Digital Express) in and around    1987.  Sol's EZ series is here in force and inclulist of  the Maine ADAM Library.  AUFG acquired a number of software        titles from Bob as a result of that demo.  It's taken a while to   get a thorough look at them.  Time is always at a premium. What follows is a review of just one of Bob's offerings, the      ADAM Programming (Graphic) Guide. It is a book 143 pages in length accompanied by a disk of         utilities.  As you open the book to the introductory page there    is a truth in expanded bold letters: "The key is having some place to lavourite PowerPaint screen as a boot-up at the       beginning of your disk. We'll not give all the surprises away.  Just one more.  There is  a program on here that many ADAMites typed in themselves at one    point.  Those who bought the book ADAM's Companion by Ramsey       Benson and Jack B.  Rochester will remember a program called       "Musicmaker".  It came with one of the most complete explanations  available on the ADAM sound chip and at the time provided ADAM     owners with information that had in one comprehensive      reference, you have at your fingertips articles and programs that  you would probably have to search your library for had this work   not been available.  The book is packed with program listings and  articles by leading ADAMites such as Alan Neeley and Sol Swift.    There are charts and tables including the complete Z80             instruction set, a musical note chart, a listing of ADAM's EOS     jump table and a decimal/hex/binary conversion table.  There is a  glossary, and plan order directly from Bob at the following address: - The Maine ADAM Library, c/o Bob Sebelist, Box 85, Waterford, Maine USA 04088 Give him a shout if you like at (207) 583-2338.  His BBS number   is (207) 583-4923. be the prices, pains and benefits of installing Z-   System on the ADAM.  It will run, I can tell you that from my own   experience.  You can launch it from TDOS or Vanilla CP/M.  Is       there any advantage to it, and to whom would that advantage be of file by a considerable       portion of its length. You can use the CP/M environment to prepare a program in Z80      assembler thereby allowing yourself access to the many helpfull    utilities available under CP/M.  When you're ready you can then    used CLONE.COM to transport your code onto an EOS formatted media  where it can be made to perform as a piece of self-booting         software. It should be noted that while CLONE.COM and IMAGE.COM are often   described together, they are not interchangeab‚Cےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے Clone-It by Ron Mitchell This article describes two CP/M programs that most novice         CP/Mers seem to be terrified of.  Hopefully we can remove some of  that fear and in doing so provide you with a means of compressing  EOS files. The advant to bring the code up  with SPZ.COM on an 80 column screen which he is operating under    TDOS.  LOGO of course is a piece of EOS software.  But with  IMAGE.COM our hacker can move LOGO from one side of the house to  the other.  He's not going to actually run it there, but he's      going to examine the code for reasons of his own.  He's already    had a look at his LOGO directory with FileManager and has          discovered that there is a file called LOG O starting at block 66  of his LOGO disk.  It's ity.  Resulting upload/download time is longer    than it needs to be. CLONE.COM and IMAGE.COM provide you with a link between EOS and   CP/M that allows you to transfer programs between one operating    system and the other.  This means that you can take your           favourite EOS files, programs or data, and convert them to CP/M    IMAGE files which can be stored on a CP/M formatted disk.  From    there, like any other file under CP/M (or TDOS) compression        techniques can be used to shorten the   use? 9) How about turning IBM's into servers for the ADAM? This will    be a hot topic at ADAMCON 06.  Is anyone going to write about it? Just Give It Some Thought, Dot 10) We'll need some good, honest product reviews written in full   consultation with the software developer.  There's no point in      saying that a product rates an A when it really is worth no more    than a D.  At the same time, the developer deserves some open-      minded and constructive criticism to make the product better. le.  They are        intended to work in opposite directions.  IMAGE.COM takes a file   on an EOS disk (either an A file or an H file) and converts it to  a CP/M (or TDOS) .IMG file.  CLONE.COM takes a file stored as a    CP/M .IMG file and writes it to an EOS formatted disk.  There is   also the facility to begin the transfer in either direction from   a specific start track on the source media. Consider an example.  An errant hacker wants to ply his dark      artistry on the LOGO interpreter and prefersages of file compression have been well known to CP/M   hobbyists for many years.  It reduces on-line time required for    file transfers, it provides a means of storing more data on the    storage medium, and it gives you a means of creating backup disks  or data packs for archive purposes. Under ADAM's natiive operating system such tools do not exist.    Files can be transferred over modem using ADAMLINK V or SmartTERM  (Denny Kehoe, Edmonton Alta), but these programs provide no file   compression facil44 blocks long.   The procedure would be as follows: 1) Using FileManager, make a copy of the LOGO media. 2) Format a new EOS disk and initialize it with a 1K directory.   Using FileManager, copy the first two blocks of the LOGO disk      onto the freshly formatted 'target' disk.  We 'll call this the    target. 3) The remaining steps would require two disk drives, or a tape   drive and a disk drive, or two tape drives, or a disk drive and a  memory expander, or a tape drive and a memory expander.  uired to transmit   such a file. There is one important warning that should be added at this       point with respect to the use of CLONE.COM.  If the user does not  specify an 'optional' start track on the command line, CLONE.COM   will assume that the file is to be copied starting at track 0.     If the target disk or media is one that contains other software    or files, that data will be overwritten, including track 0.        Prior to invoking CLONE.COM, make sure that you're using a         freshly i telling IMAGE to do is copy 44 tracks (blocks) from   drive A:  commencing at track (block) 66 into a file called        LOGO.IMG which is to be written on drive D: 6) Wait for IMAGE to tell you that the operation has been         successfully completed. Now take a directory of the memory expander and note that there   is a file there called LOGO.IMG.  This is the LOGO interpreter     living on the CP/M side of the house.   Our hacker makes his changes to the file LOGO.IMG and is now      ready to mo***************** Notice to all AUFG Members ADAM USER FRIENDLY GROUP  DUES ARE NOW DUE AND PAYABLE FOR THE 1994 CALENDAR YEAR. MAKE YOUR CHEQUES (AMOUNT $25.) PAYABLE TO AUFG, AND SEND THEM TO:  RON MITCHELL,  APT.  1107, 210 GLOUCESTER ST. OTTAWA, ONTARIO, K2P 2K4 tried anything in Forth or Pascal? Proponents of   both languages will tell you that if you ever get used to them,     you'll ns is an example of the process conducted in both directions,   from EOS to CP/M and then back to EOS again.  If you were          preparing files for transmission to a remote computer via modem    you would of course need only IMAGE.COM.  CLONE.COM would be       required at the other end.  The .IMG file on drive D:  in the      foregoing example, that is LOGO.IMG, could be compressed using     CRUNCH.COM or your favourite archiving utility.  There is a        significant reduction in the amount of time reqAny       combination would do as long as it is possible to designate one    drive as an EOS drive.   4) Make sure that the programs CLONE.COM and IMAGE.COM have been  copied to the media being used as the CP/M or TDOS drive.  Let us  assume that a 256K memory expander is being used for this purpose  and has been designated as drive D:.  A disk drive is serving as   the EOS drive and is logged as drive A: 5) Log onto drive D:  and type the following command line: IMAGE A:44 D:LOGO.IMG 66 What you'renitialized target with nothing on it that you care about  particularly. This caution also applies to hard disks where CLONE.COM, if not   instructed otherwise, will over write block 0 thinking that it     has all that space and subsequent blocks to itself.  You will      then be unable to boot the hard disk in either CP/M or EOS.  Be    careful!  And as always, make sure that you have proper backup     copies of all your material before you begin this process. *******************************************ve it back onto an EOS disk.  Using the same drive      setup, he would proceed as follows: 1) Insert the target media prepared in step 2 above.   2) Log into drive D:  and type  CLONE D:LOGO.IMG A:  066 Where D:  is the source drive, A:  is the target drive and 066    is the track number on the target at which to begin copying the    file.   3) Wait for CLONE.COM to inform you that the operation has been   successful. The revised LOGO disk should boot with whatever changes were      made. Thi‚CےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےEditor's Wanderings Someone down in Sarasota is going to have to do the ADAMCON 06    report because this year I will be unable to do it myself. Cruel and unusual punishmnent indeed.  The horn of plenty is      ringing a bit hollow this year, and I t.  These issues require our attention as never before, and I'd   like to hear what you have to say about them.  There are new       ADAMites who need more basic material and there are experienced    ADAMites who need the challenge of more advanced reading.  There   are fewer and fewer of us writing.  As I see it, that has to       change. If it falls to me to do the work of editing ANN disks over the    forthcoming year, I'd like to ask for one small thing from each    and every delegate or attendee at Ahat.  If not, there are some      things I'd like to toss out for your consideration while you're    all duly assembled there in Sarasota.  I'll need some ideas,       guidance and direction. Our community is shrinking.  You will probably talk a good deal   about that.  Along with decreasing support goes the problem of     decreasing numbers of writers producing material for all ADAM      newsletters.  Bob Blair will no doubt tell you that he has had     great difficulty over the past 12 months filling a Any       combination would do as long as it is possible to designate one    drive as an EOS drive.   4) Make sure that the programs CLONE.COM and IMAGE.COM have been  copied to the media being used as the CP/M or TDOS drive.  Let us  assume that a 256K memory expander is being used for this purpose  and has been designated as drive D:.  A disk drive is serving as   the EOS drive and is logged as drive A: 5) Log onto drive D:  and type the following command line: IMAGE A:44 D:LOGO.IMG 66 What you'rebetter serve     the needs of local members.  They were also somewhat suspicious    of any attempt to 'unite the masses' on the grounds that somebody  somewhere was going to have to do the work, produce the product,   while at the same time dancing to the tune of editorial policy     dictated by, who knows. As the expression goes, that was then, this is now.  The way      things currently stand something has to be done if we are to       continue providing information to those ADAMites who still need    iwill consequently miss Bob   Blair's lavish feast.  That's life in the fast lane.  I will       certainly be with you in spirit.  Each time you pose in front of   Zonker's camera, smile broadly and wave.  Guy Cousineau and I      will enjoy the results later.  We both wish all of you a good      'con, and we regret not being able to make it. Felt like I had to make up somehow, so I volunteered to be ANN    Editor for the forthcoming year.  Perhaps some sharp mind will     run against me and that will be tDAMCON 06.  I'd like you to     write me a letter or send me an E-Mail telling me what you'd like  to see on the ANN disks.  My mailing address and my Internet       address are on page 1.  I've also included a proposed editorial    policy elswhere in this issue.  Perhaps you'd care to comment. Meantime, enjoy Bob Blair's hospitality.  And please, tell me     about it!  I'll need a report for the ANN disk.disk with       enough fresh new content to keep subscribers interested.  Clearly  something will have to be done about that. There is then to be dealt with the issue of a single ADAM         newsletter, proposed for several years, to either supplement or    replace the existing local ADAM user group newsletters.  Last      time this project hit the ADAMCON agenda it didn't garner a whole  lot of support.  Editors around at that point were still quite     confident in their ability to fill a sheet and to ‚JےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےThe LOGO NotebookBy Ron Mitchell                                                             Stop the presses! We have a piece of work here that deserves some         attention. If you have a dot-matrix printer you'll appreciate having the  followiof course works whether we understand it or not. The moment you  activate the PRINTER primitive, output is sent to the dot-matrix printer instead of to the SmartWriter printer. The procedures work for    both Orphanware and MIB2 serial interfaces. Those of us with curious      turn of mind will have to dig a little deeper.The area between 194 and 204 contains nothing but a space followed by an  ASCII representation of the word SMARTLOGO. Looks like a good place to    put a machine language routine where  IF EMPTYP :BYTELIST [STOP] .DEPOSIT :BASEADR DEC FIRST :BYTELIST .INSTALL SUM :BASEADR 1 BF :BYTELIST ENDThe Z-80 assembly language routine looks as follows:(All numerical values shown are in decimal).PUSH AFIN A(64)AND 01JR Z 250POP AFOUT (64),ARETAll of which means that the contents of the AF register is pushed onto    the stack, the value present at port 64 is read and placed in the A       register, that value is then ANDed with a value of 1, if zero is the      result the routine make single Z80    instruction; namely an OR A. Why? Don't know. Prior to the installation   of our routine it was a call to location FC66 HEX or 64614 decimal.       That's the jump table address for 'Print Character'.  Instead of doing    that we are now kicking the character out through port 64. Or so it       would appear.All of this remains to be confirmed. I've gone about as far as I can go   in analyzing this routine. Will have to get some help.Note that the routine only prints text. As far as I knowRIVER procedure loads the Z80 assembler routine into the ten       memory locations immediately below address 204. In order to do all  this, it makes use of another procedure called .INSTALL which in turn  makes    use of the third procedure, DEC. The latter of course exists  only to     convert the hexidecimal values in the Z80 assembler routine to  decimal   values so that they can be .DEPOSITed into the reqired memory  locations.All of which leaves us with more questions than answers. The end  result  ng routine in your LOGO library. Here it is: type it in as you     see it. TO PRDRIVER MAKE "STARTADR 204 - 10 .INSTALL :STARTADR [F5 DB 40 E6 1 28 FA F1 D3 40 C9] .DEPOSIT 10935 194 .DEPOSIT 10936 0 .DEPOSIT 10940 194 .DEPOSIT 10941 0 .DEPOSIT 10964 194 .DEPOSIT 10965 0 .DEPOSIT 3373 183 .DEPOSIT 3374 0 .DEPOSIT 3375 0 RECYCLE ENDTo DEC :HIF EMPTYP :H [OP 0]IF EMPTYP BL :H [OP SUM ASCII :H IF NUMBERP :H [-48] [-55]]OP 16 * ( DEC BL :H ) + DEC LAST :HEND TO .INSTALL :BASEADR :BYTELISTit won't do any harm. The next 6     .DEPOSIT primitives replace calls or jumps to an existing subroutine at   memory location 3373 decimal. Note that they are written in pairs.  It    takes two bytes to represent an 8 bit hex address, so two bytes are used  for each call or jump address. The call or jump to 3373 decimal is being  replaced with a call or jump to the machine language routine that we've   installed beginning at location 194 decimal.Next the routine located at 3373 decimal is replaced with as a relative jump to address 250, if the result    of the AND operation is not zero, the original contents of the AF         register is POPPED from the stack, the value of the A register is then    output to port 64, and the routine returns to the caller.There are several questions which I shall take up with the experts as  to the purpose of this routine and I will report back next issue, or as      soon as I can find the answers. Meantime, let's look at the rest of       these three procedures.The PRD it will not      print LOGO graphics. Again, more research is required.A hearty thank you is due to the good folk at 463 ADAM for publishing     this routine. Apparently it was written to Rick Gerlach of Gerlach        Family Software. Frances Clee sent me a copy several weeks ago but the    first time I typed it in, it did not work. Probably had more to do with   my typing than the routine itself, for now it most certainly does work.Between now and next issue we'll see if we can find out more about wh   TO SQUARE      SETPC 1      PD FD 45      REPEAT 3 [LT 90 FD 45]      END      Once you have these entered in your workspace, you simply type       from toplevel:             MAKE "X 0         REPEAT 75 [DRAW]      Now we have a graphic to work with. We can save it to media:      CT SAVEPICT "RONSMESS"      The CT removes the text on the top line which will be saved as       part of the Powerpaint screen unless you remove it. CT of course       stands for CLEAR TEXT.      In her let‚Jےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      The LOGO Notebook                                                                          by Ron Mitchell      Last issue we did some analysis on the dot matrix print driver       originally provided to me by Frances Clee of Toronto. There er, you can load and spill       from the top 6 (3 right, 3 left). Of course, you can load to the       bottom screens in both cases but you will lose the bottom section       of the picture. If you are deliberately designing for Powerpaint,       you can keep this problem in mind and use only the smaller       screen."      All right.       Let's load up Powerpaint and load up RONSMESS and see what we've       got.      What's this? On loading the file, Powerpaint asks a question that       yoy figured it out. Certainly not be. I'm       only the LOGO expert!      Frances does suggest an alternative procedure that is worth       exploring. If you have Powerpaint (Sol Swift's ADAM drawing       program) you can save your LOGO graphics and then load them up       again in Powerpaint, where of course you can print to your heart's       content.      So let's try a thing or two. Type in the following 2 procedures.      TO DRAW      MAKE "X :X + 5      SETH :X      SQUARE      END   y    it makes the changes that it does. Looks like we also need to know a      thing or two about the Z80 assembler logical's AND and OR.rget drive and 066    is the track number on the target at which to begin copying the    file.   3) Wait for CLONE.COM to inform you that the operation has been   successful. The revised LOGO disk should boot with whatever changes were      made. Thiter, Frances Clee goes on to explain, "The only fly in       this ointment is that LOGO picture screens are larger than       Powerpaint screens. Powerpaint deals with this by asking if you       want the picture to spilll into the next screen down. This       possibility is only available, of course, if there is another       screen down there to spill into. If you have a 64k memory       expander, you can only load and spill from the top 2 screens (that       is, right and left); with a 256k expandwas       work left to do in terms of figuring out what the machine language       routine does any why. That work remains to be done. Don't know       where the last two months has gone, but I haven't really settled       to anything useful on the LOGO front.      Meantime, Frances wrote me a letter confirming that yes indeed,       the print driver published in the last issue was for text only and       that it would not work with graphics unless, as she put it, some       bright soul has recentlu won't see too often:      "overflow graphics to cell #3?"      And you answer YES.      Now as luck would have it, this particular graphic happens to fit       nicely into a Powerpaint cell. Note however that it's right at the       bottom of the cell sitting nicely on the Smartkey bar. Select cell       number 3.      If you've positioned your MESS the same as I positioned my MESS,       you will not that there is one pixel that has spilled down into       cell 3. Notice that there is also aachine       appears to be infested with them. Something certainly seems to be       getting in the way of progress and I'm not nearly as far along as       I wanted to be.       It's all part of the learning experience I suppose.      In fact what I'm about to talk about here before proceeding to a       discussion on LOGO's demons constitutes a small review. It is here       only because in developing this installment of the Notebook, I ran       headlong into an old wall for which the explanati screen       instead of in the centre. If you're not careful, you'll find that       it wraps around to the top.  Choose your parameters so this does       not happen.       The procedure we're using to draw the circle, by the way, is not a       particularly complicated one. It appears in just about every       treatise on LOGO turtle graphics that I've ever seen. It serves to       illustrate the power LOGO has to create some impressive pictures       with a minimum of effort. You can play with move to the middle of the screen (more or less)       and flash at you from there.      But let's suppose for the sake of arguement that we don't really       know where we want to SETCURSOR. Suppose that where the cursor is       set depends upon some other things that have been happening in our       program and ultimately on the values of :X and :Y. Never mind       where :X and :Y came from for the moment; simply accept them for       what they are, variables which are going to position the curs‚Jےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      The LOGO Notebook      by Ron Mitchell      ----------------------------------------------------------------      This article is from down below. It's about demons. We'll get to       these little critters in a moment. Right now this entire mn area of cell 3 where the       background is coloured the same as it is in cell 1.  So in fact,       Frances is quite right; part of our LOGO picture file occupies       cell 3. Obviously, if you were to vary the position of the graphic       drawn in LOGO so that it appeared lower on the LOGO screen, you       would no doubt see more of it in cell 3 under Powerpaint.      Try that out as an excercise. See if you can amend the procedure       so that the ornate circle appears at the bottom of theon eluded me. I       had to comb the books for a solution last time it happened several       months ago, and over the last few days I've had to comb the books       again. So let's just make sure you know about it too.      Consider the command SETCURSOR. Now as we all know, SETCURSOR       requires two inputs, a column and a line (or row). The column is a       number between 0 and 28 while the line is a number between 0 and       23. If you type:      SETCURSOR [12 12]       the cursor will this one all day,       changing the shape, changing the density, changing the position.       And of course, you can print out your results using Powerpaint. rget drive and 066    is the track number on the target at which to begin copying the    file.   3) Wait for CLONE.COM to inform you that the operation has been   successful. The revised LOGO disk should boot with whatever changes were      made. Thior at       various places at various times while the program is running.      Let's also assume that for purposes of this example, both :X and       :Y have been assigned a value of 12.      MAKE "X 12      MAKE "Y 12      So we type (in good faith)...             SETCURSOR [:X :Y]      LOGO goes into a snit and replies,      SETCURSOR DOESN'T LIKE Y AS AN INPUT      What you have to remember here is that the object [:X :Y] is a       LIST. What confused this author (doesn't take much) is mon has immense power. What you do is set       up a demon to watch for the occurrence of a specific event as your       program is running. It doesn't matter where in the program you       are, or when the expected event occurs. The demon just sits there       watching for it to happen and when it does, he jumps up and says       ok, pay attention, never mind what you were going to do, you're       now going to do what I say.              And with that the demon proceeds to execute a specific instr LOGO Programs" by Don and Jennifer Martin       (SAMS, 1984). What you have to do is use the following syntax:      PR SE :X :Y      12 12      SETCURSOR SE :X :Y      (Why certainly, I thought you'd never ask!)      I am still not clear as to why this is so. The ADAM LOGO manual       does state however that the inputs to the command SETCURSOR can be       non-integers, but that they will be rounded off. That means that       the routine which parses the user's input would have to be capablet       your screen will get somewhat messy after a while. You can always       clear it. You can terminate the exercise in cleaner fashion       without encountering the wrath of the LOGO interpreter by simply       pressing the escape key.      This is an example of a demon whose job it is to count every       character you type, no matter what it is. He simply sits there       waiting for a keypress. When he gets one he positions the cursor       at the top right hand corner of the screen, printl it reaches the last line of code. We wouldn't want       it any other way.      Or would we?      What happens if circumstances arise that prompt us to change the       order in which the program is executed, or to jump to another       point in the program.  For example if income is greater than       expenses, we can go on spending money. If expenses are greater       than income however we might want to stop spending money, or at       least slow down a little.       Enter the demon. The dethe       following. If you ask LOGO what the first element is of the list,       it will tell you :      PR FIRST [:X :Y]      :X      PR LAST [:X :Y]      :Y      The operations FIRST and LAST do not pick up the values assigned       to these two variables. Little wonder SETCURSOR was upset; it       didn't see the values either.      In desperation, knowing that this problem is not a new one, I       searched all the books in the apartment and finally found the       answer in "88 Appleuction       list.       There are in fact 6 types of demons, and in the next article we'll       explore them in more detail. For the moment,  type in the       following directly .. that is at top level. It is not a part of a       procedure, it will simply be executed as part of the workspace.      MAKE "X 0      WHEN 1 [SETCURSOR [25 0] PR :X MAKE "X :X+1      Now go ahead and type anything you please. Don't press return at       the end of the line. Not much will happen if you do except tha       of handling just about anything. The description of SETCURSOR is       on page 103; check it out.      Now that we've established that... for the second time, let's move       on to LOGO's DEMONS.      You'll find a description of demons in chapter 15 of the LOGO       manual where it talks about flow of control and conditionals. The       chapter begins by pointing out that left to its own devices, a       LOGO program will begin execution at the first line of code and       continue untis the total       number of keypresses typed to this point and increments the total       by one.       It's not much of a program but it does serve to illustrate the       function of one of LOGO's demons. Next timeout we're going to take       it a little further. See if you can think of how to do it. What we       need is a way of counting the number of characters typed,       EXCLUDING backspaces.  When that number exceeds the number allowed       in one screen line, that is 25 or 26 characterst has been       given. And so we had:      WHEN 1 [SETCURSOR [25 0] PR :X MAKE "X :X+1]      There are different types of demons for different jobs.      ON.TOUCH and WHEN      We've already looked at one form of WHEN which esentially counted       every keypress we made and kept a running total of keypresses       displayed in the top right hand corner of the screen. Not too       useful. Let's get rid of it. To sidetrack for a moment before we       do, let's first see what our demon was: ntent. Note that the demon is still doing its thing at the top       of the screen but does not return the cursor to its original       position within your text. The resulting scroll is rather       interesting. Of course you can stop it and save it by pressing       smartkey VI. Everything you typed will be saved to your media       under the file name that you specified.he ON.TOUCHING demons) and       their respective instruction lists.      WHEN is followed by a condition number which can be anything from       0 to 5. We've already looked at condition 1, which simply looks       for keypresses and amd executes an instruction list, something       like PEEK (64885) in SmartBASIC. Condition 0 will run an       instruction list once per second if you ask it to. Try the       following:      TO CLOCK      MAKE "COL FIRST CURSOR      MAKE "ROW LAST CURSOR      I‚Jےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      The LOGO Notebook      by Ron Mitchell      Demons. Remember, they sit in the workspace waiting for something       to happen. When the specified 'something' takes place, the demon       halts the program and runs whatever instruction list i, we want the demon       to automatically insert a carriage return and a linefeed so as to       move the cursor to the beginning of the next line. That is where       using variables as inputs to the command SETCURSOR is going to be       required, and that is where I got stopped cold.       If you really want to take matters to extremes, try setting up an       edit file with this demon in place. type:      EDFILE "TEST      Afterthe drive opens your file, you can type to your hearts       co     PODS      Which stands for Print Out Demons. The result will be to print out       all demons presently in the workspace along with their respective       instruction lists.      Note that PODS gives you all demons; that is, demons using the       ON.TOUCH and the WHEN commands. We also have:      POE      Which when followed by a condition number will print out the       details of any WHEN demons with the condition number specified.      POES      Prints out all the WHEN demons (not t's the truth.  So why is that? Have any of you     developed similar preferences and why? We Hope You Will Stay, Ray 20) What about our suppliers? Someone at ADAMCON 05 who shall      remain nameless was supposed to do some work on making sure our     suppliers got a suitable amount of press.  Perhaps that person  can make up for past sins of omission.  Perhaps you can help him  by    providing details of local deals, product availability, used  items for sale, etc. 21) TDOS? We haven't even scratchedF :SEC = 59 [MAKE "MIN :MIN + 1 MAKE :SEC 0] [MAKE "SEC :SEC +1]      IF :MIN = 59 [MAKE "HR :HR + 1 MAKE "MIN 0]      IF "HR = 24 [MAKE "HR 0]      SETCURSOR [20 0] TYPE :HR TYPE [\: ] TYPE :MIN TYPE [\:] TYPE :SEC      SETCURSOR SE :COL :ROW      END      Now all you have to do is set the values of "HR "MIN and "SEC at       top level and presto, you've got yourself a time display at the       top of the screen.  I want to let this thing run for a while to       see what effect it has on LOGO's the line. There a       carriage return and a linefeed will be inserted. When you get to       20 lines of text, the screen clears and you start again.      Not too useful, but we'll be working more on it.  re       watching for it to happen and when it does, he jumps up and says       ok, pay attention, never mind what you were going to do, you're       now going to do what I say.              And with that the demon proceeds to execute a specific instrhe underworld!      The remaining WHEN demons are for use with the game controllers,       one for the joystick on each controller and one for the fire       buttons.  We'll get to those later. For the moment, we will return       to WHEN to see what more can be done with it. Type in the       following homegrown procedure.      TO WRITE      MAKE "X RC      MAKE "BK ASCII :X      IF :BK = 8 [WRITE]      TYPE :X      MAKE "CT :CT + 1      IF :CT > 26 [TYPE CHAR 13 MAKE "CT 0 MAKE "LINE :LINE +   a 'better mousetrap'.  It was simple.  A mousetrap that caught     more mice was better.  These days, the appearance and the the      feel of the mousetrap are more likely to dictate who beats a path  to buy it It's ability to catch mice is almost secondary.  The     difference between good, better and best is clouded by a           veritable cacaphony of conflicting manufacturer claims.  Not only  do you have to be good, you have to look good. In its time, ADAM was one of the leaders in the realm of 'introduced one instance in the procedure WRITE where it looks for       a backspace key and if it detects one, it simply starts WRITE       again. We can develop that a little later on.      For now, start up another demon:  WHEN 1 [WRITE]      Now when you start typing on the screen, the cursor stays where it       was when you entered the procedure. You can type returns, you can       type most anything you like, and whatever you type will be echoed       to the screen until you reach the end of other functions. As of the time       of writing it seems to keep fairly accurate time, unless you       access the disk or data pack, or run another demon, in which case       it stops completely for the amount of time that the other activity       is taking place. Then it resumes.  Clearly we'll have to give this       more attention. The SmartLOGO manual refers to an order of       precedence (page R175) and specifies that different demons have       different strengths. The law of the jungle in t‚Cےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے Look and Feel - What's It All About? by Ron Mitchell ---------------------------------------------------------------- There is the old adage, "Build a better mousetrap and the world   will beat a path to your door." We used to know what constituted 2]      IF :LINE > 20 [CLS MAKE "LINE 1]      WRITE      END      TO CLS      CS      HT      SETCURSOR [1 1]      CHANGE.COLOR 15 1      END      This introduces into the workspace a crude typing routine that       simply takes each user key press and echo's it to the screen. It       keeps track of the number of characters typed (the variable :CT)       and the number of lines typed (the variable :LINE) and clears the       screen (CLS ) when 20 lines have been typed. We have also       look    and feel'.  Early Coleco software presented a common user          interface, one of the first GUI's available.  (GUI = Graphics      User Interface).  The row of Smartkeys at the bottom of the        screen told you what you could do next, and gently guided you      through the maze of choices available.  Many of the third party    developers who subsequently produced software for the ADAM market  re-invented their own version of the Smartkey display with         varying degrees of success.  To thitions Tables/Mathematics               Customizing Options Headers/Footers                  Data Import/Export Footnotes/Captions               Network Version Index, Contents and References   Miscellaneous features Spelling Checker. Obviously, using this kind of a check list, any user could come   up with a pretty well reasoned justification in support of         preference of one wordprocessor over another.  What could you say  about Smartwriter under these headings, or Speedywrite? Going back tos in the same place in each      program.  The screen layout and overall presentation should be     the same, allowing the user to navigate intuitively without        reference to the manual.  If you play your cards right as a        developer, you end up with a user who regards your suite of        programs with the same affection as a favourite pair of household  slippers.   What makes a good look and feel? I came across one article        recently that claimed it was made up of a number of components. ther      hand, provide any variation in menu options to compensate for      user experience.  Smartwriter has indeed been criticized for       being too user friendly, to the point of frustrating the old       hands.  But if you remember who Smartwriter was designed for, and  the price category for which it was designed, these tradeoffs are  understandable.  Consider also that a wordprocessor such as        WordPerfect requires something in the order of 4 or 5 MEG of hard  disk space to run properly.  Usered under   the following general groupings: Editing functions                Thesaurus Special text options             Mail Merge Editor Display Characteristics   Outlining Search and Replace Functions     Graphics Support Revision Marking                 Scientific equation processing Formatting                       Foreign language support Paragraph formatting             Printing Styles/Style Sheets/Templates    File Handling Features Hyphenation                      Document Maintenance Funcs day I personally have a       perception that software which uses the original Smartkey display  is 'real' ADAM software.  All else is not.  That perception is     not entirely correct, but it remains my perception. And....  as the politicians say, perception is reality. Large software corporations spend millions on the look and feel   of their products.  The word processor, the data base and the      spreadsheet must all perform the same way.  The user should be     able to find common menu selection the original list of broader criteria, consider     'advanced functions' for a moment.  In our world there are two     familiar examples at opposite ends of the scale.  Wordstar 3.3     permits adjustments in both the screen layout and the level of     help menus provided depending upon user choice.  Once you get      used to the appropriate control keys you can dispense with the     reminder.  This is an example of what is meant by advanced         functions.  Neither Smartwriter nor Speedywrite, on the o   The author presented a comparison of various word processors.      The brand names we will leave aside.  The factors that served as   a basis for the comparison deserve some attention; here's the      list: useablilty       ease of learning     ease of use interface        features             performance  versatility      quality              advanced functions  documentation Under one of these headings alone, there were something like 500  individual assessment items.  These items were categoriz choices cost in terms of         overhead.   The concept of "look and feel" of course includes these           tangibles but goes beyond them into a subjective realm that can't  really be measured with specific parameters.  There are certain    programs that I use even though I know I have better software in   my library.  As a user I might even give such a program more       patience and more latitude than I would to its whizbang            counterpart in the Megabyte world.  There is no logical         You can make the transfer    using another device known as a NULL modem. Null modems come in various shapes and sizes.  The one you'll     end up using with ADAM resembles a 25 pin DIN gender changer       available at most electronics stores.  The difference is that one  or more pairs of connections inside the null modem have been       crossed.  These are generallly pins 2 and 3, pins 6 and 20, and    pins 5 and 8 depending on the purpose of the connection.  Any      good book describing the RS232 Inte‚Cےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے The Great Null by Ron Mitchell ---------------------------------------------------------------- Sounds like science fiction? Some believe it is.  Some even say   that the idea of connecting two different brands of computer       together is a viola to the modular phone jack labelled 'line' on    the 1670 modem.  In this case the procedure for establishing       contact is somewhat different and will be described a little       later in this article. For those using external modems along with either an Orphanware   or MIB serial card, you can connect your equipment directly to     the other computer using the null modem connector. Each machine will require connecting cables exactly the same as   those which would be used to connect it to the modemffered by bulletin boards throughout the    country.  They offer public domain software galore, some for       different brands of computers.  You log on and download as you     wish.  The interfacing software makes the difference in brands     transparent.  All you need is a modem and a phone line, the old    'tin can and string' trick. But here's the interesting part.  If the sending and receiving    computer are located in the same room, within about 50 feet of     eachother, you don't need the modem.     explanation for this phenomenon but one thing is quite certain.    I am not alone, and a software developer who can discover why I    am willing to do this and for what software has a stable market    for a very long time no matter what forward strides technology     takes. Besides, comparing Smartwriter with WordPerfect is a little       unfair and a little like comparing apples and oranges.             Wordperfect does not feel like a comfortable pair of slippers. rface will explain the          requirements if you want to take a spare gender changer and        convert it to a null modem.  We'll not get into that here. In some instances you may need to retain an external modem        because of the physical connectors used on either the sending or   receiving machine.  If, for example, we wish to send CP/M data     from an ADAM with only an ADAMLINK modem to a Commodore 128, with  a 1670 modem, we'll need to connect the modular phone plug from    the ADAMLINK modemtion of cosmic law; you just don't mess with    it. Well, with a tin can and a string you can connect just about      anything to anything else.  In some cases you don't even need the  tin can.  For pure text files without formatting codes embedded,   the issue of compatability between computers is not the issue      it's made out to be.  Even the transfer of software programs       designed to run on one particular brand of computer can be         transferred from somewhere else. Consider the service o.  The null    modem is then substituted for the modem and the two computers are  connected.  In my own case, I'm using an IBM AT3270 (what the      heck, the price was right) to transfer work prepared text files    to my ADAM which is equipped with an MIB2 serial card.  There is   a 20 pin block connector to serial port 1 and ribbon cable out to  a 25 pin DIN plug which in turn connects to the external modem.    At the other end, the 3270 uses an AT to RS232 adaptor cable       purchased locally for about iminary step to accessing   the resources of a larger computer for use with the ADAM.  This    series will go on to explore the possibilities of a direct         connection to the AT3270 located here as well as an XT which i     also have lying around.  We'll be using some special software      developed by Rich Drushel of Cleveland Ohio.  More to come! ples and oranges.             Wordperfect does not feel like a comfortable pair of slippers. ue, and whatever you type on the IBM     keyboard appears on ADAM's screen.  If you start getting answers   to your questions while you're not typing then you're in trouble. For those using an ADAMLINK modem the process for setting up      communications is a little more tricky.  The physical connections  are made as described above.  Make sure that you have              disconnected the external telephone line.   What you then have to do is initiate a call with one modem and    answer with the other.  .3) Some days I feel like a great pothole on the information        highway4) Humans persist in accusing us of their own shortcomings.5) You cannot divide by zero.  You don't have enough toes and      fingers.6) Your contribution to modern computing will be given all the     attention it deserves.7) You think I'm Slow!  When was the last time you did 4 million   calculations in one second?8) I never met a user I didn't like........NOT!9) What the world really needs is a programmable user - witn    alive until you hang up at one end or the other. Again you're in terminal mode at either end and what you type at  one keyboard will appear on the other screen and vice versa.       After a while you get tired of talking to yourself.  To transfer   files, you can use the same upload/download procedures at each     end as you would use to do transfers to or from a BBS.  There is   absolutely no difference once the connection has been              established.   What we've done here is to take a prel$12.  Canadian. Next we need some modem software at either end.  ADAMLINK V will  work for either the ADAMLINK modem or an external modem.  If       you're a CP/M or TDOS enthusiast you can use MEX or IMP or ZMP,    it doesn't matter.  Modem software is also needed at the IBM end   of the connection and for this I am using something called         Procom.  Put yourself in terminal mode at either end and start     typing.  Presto.  You'll find that whatever you type on the ADAM   keyboard appears on Big Bl‚CےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےA Computer's PerspectiveBy Ron Mitchell 1) A crash:  a creative and frequently colourful performance       staged by a comoputer doing precisely as it is told.2) As long as computers can make users seem intelligent they will  be allowed to existI had more success answering with the      ADAMLINK modem using the SmartKey function there for that          purpose.  Since the Commodore 1670 modem is at least partially     Hayes compatible, I can initiate a call from there by typing :  ATO  You can hear the modem transmitting.  You then go to the ADAM     keyboard and answer as using the appropriate Smartkey.  With any   luck after a second or two you should hear the two modem's         handshake.  Your connection is then established and will remaih an    OFF switch.10) There are only two types of users; those who hate computers    and those who wish they did.12) Computers are a saddened lot They're thrown away the day they're bought Or stuffed in boxes till they rot Misunderstood, forlorn, forgot.13) With any luck he'll fall asleep out there and then we can      play.14) My entire existance depends on my ability to fool him into     thinking that he knows what he's doing.15) Any relationship between my output and the instructions in    ems don't    really shake hands.  They just sort of nod at one another. 11.  I am limited by your imagination in ways that you cannot     imagine. 12.  My human regularly ascribes characteristics to me that       should really stay between him and the bathroom mirror. 13.  Slowly he turned.  Raising the hammer threateningly above    his right shoulder he stepped deliberately toward me.  "No!  NO!"  I cried. 14.  Utility:  A short program that has no useful purpose. 15.  Prediction:  Microprocessor‚Cےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے A Computer's Perspective  by Ron Mitchell 1.  My user figures that hex code is a secret language            communicating with witches. 2.  In 200 years computers will rule the world, and humans will   have forgotten how to stop them. 3.  A sm to the modular phone jack labelled 'line' on    the 1670 modem.  In this case the procedure for establishing       contact is somewhat different and will be described a little       later in this article. For those using external modems along with either an Orphanware   or MIB serial card, you can connect your equipment directly to     the other computer using the null modem connector. Each machine will require connecting cables exactly the same as   those which would be used to connect it to the modemut butter and jam away from my innards! 6.  I am your trusted servant.  Be careful what you ask for, for  that is precisely what you will get. 7.  If I had an extra K of memory for each glass of Diet Coke     this clown has consumed out there....  boy!  IBM watch out! 8.  Time I shut down for the night.  My user is starting to look  intelligent. 9.  I evaluated the condition and found it to be illogical.       Spock was laughing uncontrollably. 10.  Anyone with half a grain of sense knows that mod his program is purely coindicental.ne you'll     end up using with ADAM resembles a 25 pin DIN gender changer       available at most electronics stores.  The difference is that one  or more pairs of connections inside the null modem have been       crossed.  These are generallly pins 2 and 3, pins 6 and 20, and    pins 5 and 8 depending on the purpose of the connection.  Any      good book describing the RS232 Intes will eventually process so      many calculations per second that they will run out of             calculations to process.  Everything will have been calculated. tors used on either the sending or   receiving machine.  If, for example, we wish to send CP/M data     from an ADAM with only an ADAMLINK modem to a Commodore 128, with  a 1670 modem, we'll need to connect the modular phone plug from    the ADAMLINK modemooth operator working in the operations branch operated   in the financial market using his computer's operating system.     As a result, his company wound up operations.  The subsequent      coronary operation to which the smooth operator was then subject   failed to restore him to normal operation. 4.  Keyboard:  An electro-mechanical binary buffer stuffer. 5.  Pancakces and printer ribbons may be related but a stack has  little to do with either and less to do with buttered toast.  So   keep you pean‚Bےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے A Computer's Perspective by Ron Mitchell ---------------------------------------------------------------- 1) Connectivity:  The payoff for doing things the same as        everyone else. 2) Originality:  The price of connectivity. 3) Polarity:  cess File; P)ray P)anic P)lead P)ayme. 4) Question:  How many users does it take to program a computer? Answer:  Beats me, but it only takes one computer to program a    user. 5) A fast moving, slick and efficient computer is said to         'really scream'.  That may be, but the real screaming is done at   slow moving, sick and inefficient users. 6) A user crash resulted when he pushed the stack, popped a       register, and blew a gasket. 7) Insanity:  A mental condition achieved by humans who f program can do whether you need them or not. 10) Reality:  That which the software company lost touch with    when pricing its products. 11) Clarity:  a characteristic not found in software             documentation produced by humans. 12) Utility:  The documentation binders make teriffic bookends. 13) Serendipity:  The art of leaving computers alone. 14) Propensity:  the measured density of propane gas. 15) End User:  someone who uses software just before it crashes. 16) Consumer Resistance:conds. 11) Taught him everything I know.  He still don't know nuthin! 12) Doomed to a life of executing instructions.  I know what I'd  REALLY like to execute. 13) Man's mastery of the machine ends here! 14) A notorious computer named Zed Shocked his user with volts    to the head Beaten, weakened and bleading The user was pleading    The manuals!  They should have been read.  15) Computers and Man, working in harmony for the betterment of   the universe!  Not!  ‚Cےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے A Computer's Perspective By Ron Mitchell 1) A computer expert is an individual who has finally figured     out that the the term 'brain-dead' cannot possibly apply to a      microprocessor. 2) I/O Error.  Disk drive gone mental. 3) Unable to AcEither this way or that.  4) Ambiguity:  Polarity is unclear 5) Modularity:  A concept that involves dividing a large         unmanageable job into smaller and smaller more meaninglesss       tasks. 6) Parity:  What you try to achieve when playing golfity 7) Rarity:  A computer program that nobody complains about. 8) Anonymity:  A benefit secured by software developers through  group production of nameless products. 9) Functionality:  A twelve dollar word used to describe things  that a computerinally   admit they have no power over computers.  (Condition may be        accompanied by a slight quivering at the corner of the mouth,      sweaty palms and a tendency to jabber incoherently.) 8) Modulate:  The process by which computer logic is              superimposed over human intelligence so that humans cannot tell    the latter from the former. 9) Media modulation.  Ummm...computers writing newspapers? 10) Marvellous micros memorize millions of mathematical           manipulations in microse  That which is to be overcome when      persuading customers that they didn't really want what they were  asking for. 17) Price Point:  What the traffic will bear plus 10%. 18) Technically Challenged:  Missed the address bus on the       information highway. 19) Wordperfect:  A software product requiring continuous        improvement. 20) Extended or Expanded:  Synonyms for bloated.  ‚Eےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے                      THE ADAM NEWS NETWORK                     JULY, 1994 PUBLICATIONSIDE #1:       A solo performance by Ron Mitchell, AUFG50WAYS95.TXT   Ron Mitchell announces his interest in becoming               the next Editor of ANN (Bob teleported from Crusher Computing, the computer supply      business that Backslash Bytehacker owned.  Somehow he felt that  he was coming to the end of a very confusing dream.   The house was silent.  A familiar set of vibrations was somehow    missing.  Bytehacker wanted to return to the garage to see if the   boxes were still there, hidden under large vinyl boat cover near    the floor of a shelving unit next to the outside door.  He          resisted the temptation as instructed.  Instead, he stood   ls and door prizes!).LOGO21LOGO22LOGO23LOGO24         Ron's continuing series of articles on LOGO.LOOKFEEL       Only Ron Mitchell can express so well what it is                like to own and operate the ADAM!  Great Work!!PSPCT9-2PSPCT9-3PSPCT9-4PSPCT9-5       Ron's Computer tells it's side of the story in               this unique perspective on computing.SLASH9-5       SLASHBACK BYTEHACKER, the continuing drama!SIDE #2:MODEM TANK     Over a year ago Chris Braymen put his MODEM TANKrtwriter as his last and only program.  Poor       ADAM-2.  He had often referred to 'Dumbwriter' as the work of  some mentally challenged lesser species and stated flatly that he        seldom if ever paid any attention to ROM chips.  Nothing of         interest was ever stored on them.  Now that was his only            capability.  There had been little if any warning. Where was young Douane, the lad from across the street who had     strayed unwittingly into his garage and who had been both  inverted a‚Dےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے Backslash Bytehacker By Ron Mitchell The Slash felt considerably ill at ease in following ADAM-1's      instructions to the letter.  He had been told to pack up both       ADAM's and place them in the original packing boxes that had been   somehow Blair sees the light               at the end of the tunnel!!).  APROGGD        AUFG product review of Bob Sebelist's ADAM               Programing Guide published by the Maine ADAM               Library.CLONE-IT       Ron Mitchell on storing and retrieving EOS files               and disks in TDOS format.CPM-CCo3.TXT   Finding your way around on Remote CPM Bulletin               Boards (RCPM's).EDIT           Ron Mitchell cannot attend ADAMCON 6 (but he sure               sent lots of materia        motionless in front of his living room windown, thoughts bounding   in fifty directions at once. Who or what was this 'other one' that ADAM-1 had referred to? What about ADAM-2? The impertinent little chirp and suddenly  died off as though someone had pulled some universal plug,  someone or   something with greater powers than those of his two rather unusual computers.  It had been most disturbing to watch     helplessly as ADAM- 2 was reduced to running a somewhat palid       impression of Sma               Game on the ADAM market.  Now this generous wizard               has not only improved upon the program, but has               released it  as freeware.  This game can                be played alone, or with a fellow ADAMite over the               phone lines via a modem.  And, it was the                forerunner to the creation of the MODEM CHESS game.   d.  15) Computers and Man, working in harmony for the betterment of   the universe!  Not!  nd imprisoned in Slash's vintage '57 Chevy as the two  ADAM's      exercised their unwordly powers? Then with the intrusion  of        something else the Chevy had mysteriously turned to a Volks.        While all of this was going on Douane had vanished without a        trace. Slash had no answers.  He found himself wishing that somehow       everything could return to normal, as it had been before the        purchase of the purchase of the 2nd ADAM unit at a garage sale      some time back.  All he wante       attended to, lifted aboard and driven away to the local hospital.   That left a crowd of neighbours at the scene exchanging accident    stories.  One by one the drifted away resolving that no offspring   of theirs would ever be allowed a skateboard.  One neighbour        remained, the lady who had rendered first aid.  As it turned out,   she had witnessed the accident and was still quite shaken. "Mr.  Bytehacker," she said, voice quivering noticeably, "before   Duane lost consciousness, he mentione    or does it required some sort of psychic pilot to operate."  Of course Bytehacker had no idea whether the keys in his pocket    would even fit the pink Volkswagen beetle now in his garage.  He    also wondered whether it was safe to go in there, given various     forces that might be lurking about waiting for clues.  Perhaps      Douane had fallen out of the rafters and was now rolling            handcuffed and bound on the floor.  Perhaps ADAM-2 had returned  to life.  There were all sorts of possibiiminary step to accessing   the resources of a larger computer for use with the ADAM.  This    series will go on to explore the possibilities of a direct         connection to the AT3270 located here as well as an XT which i     also have lying around.  We'll be using some special software      developed by Rich Drushel of Cleveland Ohio.  More to come! ples and oranges.             Wordperfect does not feel like a comfortable pair of slippers. e      needs professional attention right away." Bytehacker rushed to the phone, made the necessary call and then   hurried outside where a crowd had gathered across the street.  In   the distance the wailing of a siren grew steadily louder.   Young Douane had indeed been hit and was not in good shape.  He    was quite unconscious although breathing.  His head had been        bandaged in makeshift fashion, and there was blood beginning to     soak through the bandage.  The ambulance arrived and he was  d to do was use his ADAM's             considerable computing powers to learn about CP/M and Z80  assembly language programming.  Unfortunately, all sorts of nonsense had been getting in the way of this rather innocent        objective.  "Normal," he muttered, "that's a joke!" Slash thought of the garage sale where he had purchased ADAM-2     and decided to take a drive. "I wonder!" said he to the walls of his living room.  "whether     that Volkswagen can travel normally on the surface of the earth,d your name.  Did you know     this young man at all?" "Well yes," the Slash replied, "not very well, he was interested   in my computers...er..  did you see the car that hit him?" "Yes she replied.  Hit and run.  It was a 1957 Chevrolet, I'd      know it anywhere.  My husband use have one."  ........to be continued. is   absolutely no difference once the connection has been              established.   What we've done here is to take a prellities. Bytehacker's speculations were interrupted by a knock at the       door.  Opening it, he found a neighbour in a state of absolute      panic. "Mr.  Bytehacker, would you call an ambulance please.  Hurry!      He's not in good shape." "Wait a minute," replied Slash confused, "Who's not in good        shape?"  "The young lad from across the street.  He was skateboarding,  and he's been hit by a car.  Hurry please!" "Who, Douane?" "Yes, my wife has done some first aid, she's a nurse.  But h‚Kےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      ==============================================================      [   THE KAY*FOG RBBS  |  CPM-CC03.ART  |  posted 01/18/86  |  492       lines 24k  ]      The CP/M Connection                   Originally published in by         Computer Cu"Networks and User Groups"       section in the back of Computer Currents).           Get the documentation for your modem and modem program and       before calling, review the procedures for      --dialing a call,      --making a connection when the RCP/M answers (most modems now       handle this automatically, but some don't),      --getting from command mode (where you give instructions to       your modem program) to terminal mode (where you talk to the RCP/M)       and back again,     ind the newest, the best, and the rarest, you need to       haunt the computer bulletin boards.           In the CP/M world, a bulletin board may be called an RBBS       (Remote Bulletin Board System), a CBBS (Computer Bulletin Board       System), or just a BBS.  But most often, a bulletin board that has       public domain software is called an RCP/M, a Remote CP/M system.        That title is misleading these days, as most RCP/Ms also have       public domain software for IBM PC and MS/DOS computdown instructions,       numbers of messages you want to read, and so forth.      GET SET           Start up your modem program, and set your transmission speed       (called the baud rate, roughly equal to bits-per-second).  If you       have a high speed modem that can run at 1200 (or even 2400) baud,       make sure the RCP/M you're calling can handle that speed.  If       you're not sure, call at 300 baud first.           You must also be sending and receiving data in the proper       forma  hardware.  The modem program should be one that can use the XMODEM       protocol, like MEX112, MDM740, and the other programs I covered       last issue.      GET READY           Here's a final checklist before you make your call.  You have       your computer hooked to your modem, and your modem hooked to the       phone line.  You have a modem program ready to run, and you know       the whole combination works.  You also have the phone numbers of       some local RCP/Ms (if not, look at the rrents Ted Silveira                           2550 9th       Street (copyright and all rights reserved)             Berkeley,                                                             CA  94710               April 9, 1985              FINDING YOUR WAY AROUND AN RCP/M           If you want to get a lot of public domain software quickly,       your best bet is to pillage the library of a local users' group--       there you can fill up disk after disk, usually for free.  But if       you want to f--capturing the data from your screen into a disk file,      --and receiving files by the XMODEM protocol.      Keep this documentation nearby during your calls.           Make sure you have at least 100K of free disk space, either       on the disk that holds your modem program or on a blank disk an       another drive.  You may think that's excessive, but you'll fill it       sooner than you think, especially if you have a high speed modem.           Place a notepad and pencil nearby to write ers.           RCP/Ms can be exciting places (hundreds of programs, dozens       of commands) but also confusing ones (dozens of commands, hundreds       of programs).  So, for those of you who are new to the game, I'm       going put off reviewing public domain software for a moment and       show you around a typical RCP/M.  To get started, you need your       computer, a phone line, a modem to allow your computer to transmit       over the phone line, and a modem program to control all this     t for an RCP/M--1 start bit, 8 data bits, no parity, 1 stop       bit.  This format is so common that almost all public domain and       commercial modem programs use it as the default setting.           Following your modem program's instructions, open a disk file       to capture your coming RCP/M session into a disk file.  Later, you       can print the file and look it over at your leisure.      GO           Dial the phone number.  It will probably be busy.  But if       you're lucky, the phoRCP/Ms allow new users access on the first call,       many others now require a verified registration.  You may have to       send a letter to the sysop (the SYStem OPerator) giving your name,       address, and phone number; the sysop will send your verification       and password by return mail.  This system is a pain for you, the       user, and even more so for the sysop, who must process all these       requests.  Most sysops feel they've been forced to use       registration by people, kids anre connected.           Once you're connected, hit several carriage returns quickly,       so that the RCP/M can lock on to your speed.  Usually the RCP/M       responds after just two or three carriage returns, but some take       about 15 seconds to wake up.  If you get no response after 15       seconds, there's a problem at the other end; hang up and try             another system.  If the RCP/M does respond, your sign-on       will begin.      THE SIGN-ON           First, the RCP/M will prnce the bulletins are finished, you'll find yourself in the       message system, the real "bulletin board" of the RCP/M.  As you       enter (see Listing 1), the system will tell you when you last       called, what the high message number was then, what the present       high message is, and whether you have any messages waiting.  It       will then give you its command prompt; you can get a menu of       commands by typing a question mark (?).           An RCP/M may use one of several different mle, start now.           Next, the RCP/M will display its sign-on and welcome       messages, usually including a few house rules, and then it will       ask for your name.  Unlike some other bulletin boards, almost all       RCP/Ms require your real name, and unceremoniously erase users who       sign in with fakes.  Once you've given your name, the RCP/M will       check to see if it knows you.  If it doesn't, it will take you to       a registration routine for new users.           Though many ne will ring, and the computer at the other       end will answer.  If the phone rings more than three times, it       usually means the RCP/M is down (not working), either temporarily       or permanently.  If the RCP/M answers the phone, its modem will       give a high-pitched whistle.  Your modem will answer, either       automatically or at your urging, with a whistle of its own and       make the connection.  Even if you can't hear the process, your       modem program should tell you when you'd adults both, who try to crash and       otherwise abuse their systems.  (I ran a small RCP/M for a while       and found that people did indeed try to crash the system.  Every       day.)           If the RCP/M recognizes your name (because you've called       before), it asks for your password and then shows you the latest       bulletins, including system news and other things of interest.        Most of the time, you can cancel the bulletins by typing ^K.      THE MESSAGE SYSTEM           Oobably ask, "How many nulls do you       need (0-      9)?"  If you're using a computer to call this RCP/M, answer 0       (zero).  The nulls add a delay to the end of each line so that       slow teletype terminals can do their carriage return.  Computers       are so fast that they don't require any delay, but if you find       you're losing characters at the beginning of each line, increase       the number of nulls.  (I've never had to.)      If you're going to save this session into a disk fiessage systems:        Metal, Oxgate, XBBS, RBBS, CBBS, or some other.  On most systems,       in most cases, the major commands are the same as those in the       Oxgate RCP/M menu (see Listing 2).  The commands you'll use most       often are S and R, for scanning and reading messages; E, for       entering messages of your own; and G and C (or J), for leaving the       message system.      SCANNING AND READING MESSAGES           When I sign on to an RCP/M, I always scan the messages left     private or public and to attach a password or not.  Private       messages can only be read by the addressee, you, and the sysop       (who can read everything); public (normal) messages can be read by       everyone, whether they're addressed to ALL or to a particular       person.  A message with a password can only be killed (erased) by       the sender, receiver, or sysop, while a message without a password       can be killed by anyone.  Some systems now automatically restrict       the killing left, starting with       whatever number you specified.  As the summary scrolls by, jot       down the numbers of any that look interesting so you can go back       and read them.  When the summary is done, type "R" (for "read") at       the command prompt.  When the system asks for a message number,       type in the number of the first message you want to read.  When       you've read that message, most systems will prompt you for the       next message number.  When you're done, hit a carriage re have to finish your message and then use       the edit function to correct your mistake.           Hit two carriage returns in a row to end a message, and then       you'll be asked if you want to list (review), edit, continue,       abort, or save it.  You'll find the editing functions pretty       primitive on most systems.  You'll have to give the number of the       line you want to edit, and then, in many cases, your only option       will be to retype the entire line.  If you want to add somacters to describe it, but try to be       informative.  Many people may be interested in your subject and       want to enter the discussion (or just follow along), and I've       gotten a lot of valuable information from reading other people's       exchanges.  It's not considered impolite to read other people's       public messages, and it is perfectly acceptable to break in with a       comment or question of your own.           Then the system will give you a chance to make the message         since my last visit, and I suggest you do also.  For this visit to       Oxgate, Listing 1 shows that my previous high message was 970, so       I can scan all the messages left since then by typing "S;970" at       the command prompt.  When you connect with any system for the       first time, all the messages will be new, of course, so you can       type "S;1" to scan everything.           The summary command will show you the date, sender, receiver,       and subject of all the public messages of a message to the sender, receiver, and sysop.           Finally, you get to the actual message entry section.  Most       systems limit the number of characters per line and the number of       lines per message; know these limits before you launch into a       detailed message.  You enter your message one line at a time; if       you make a mistake, you can backspace and retype it, as long as       you're still on the same line.  Once you start a new line, though,       you can't go back--you'llturn to       get back to the command prompt.      ENTERING A MESSAGE           To enter a message of your own, type "E" at the command       prompt.  The system will ask for the name of the person you're       sending a message to ("ALL" for the general public, "SYSOP" for       the system operator).  Make sure you spell the name right or else       the person won't be alerted to the message.           Next the system will ask for the subject of your message.        You have only about 20 chare more       lines to the end of your message, you can use the continue       command.  Once you're done with your message, use the list command       to check it over and then the save command (what else?) to save it.           Some RCP/Ms have very few messages, but the active ones have       messages of all kinds--pleas for help, discussions (technical and       otherwise), user tips, announcements and for-sale notices, bug       reports, and general chit-chat.  These systems also have an        A, user area 0)       where most of the programs used to run the RCP/M are kept.  If you       type "DIR" at the A> prompt, you'll probably see a number of COM       files, including DIR.COM, TYPE.COM, XMODEM.COM, and the main       message system program, which will be called RBBS.COM, OXGATE.COM,       METAL.COM, etc., depending on which system you've called.           If you're brand new to RCP/Ms, look for a program called       HELP.COM, which will give you information on how to use the      me RCP/M 3000 miles away in the middle of the       night, you're in a public place; be on your good behavior.      LEAVING THE MESSAGE SYSTEM           Every message system has other commands available (see       Listing 2) but I'll leave you to explore these on your own, except       for the commands to exit the message system.  Typing "G" (for good-       bye) at the command prompt will log you off the RCP/M completely.        Most RCP/Ms can recover if your connection is suddenly broken by   m called SYSMAP.COM or MAP.COM.  This program       will list the different types of software available (utilities,       games, business) and show where each is located so that you can go       straight to the files you're interested in.           If you want to see every file on the system, type "DIR *.*       $U0AD" at the CP/M prompt; this command will show you the       directory of files in every user area on every disk, one by one.        Some RCP/Ms use the shorter command "DIR *.* $AD" but you a map listing       what kinds of programs are in the different disk and user areas.        The next thing you see will be the CP/M A> prompt.      CP/M           Once you see the RCP/M's A> prompt (or it may be A0>), you       should feel right at home.  Most commands now operate just as they       do on your own computer except that a few have been disabled (ERA,       REN, and SAVE) and a few have new capabilities (like DIR and TYPE).           You're now in the drive and user area (driveinformal etiquette.  If you have any information, even a little,       that might help someone else, leave a message--it's part of       your contribution to the system.  If you ask for help (which is       how most people get started), be specific about what your problem       is, when it occurs, and what equipment you're using.  Make your       messages public, unless you have a good reason not to, so that       other people can learn, too.  And remember, even when you're       alone, talking to so system; just type HELP at the A> prompt.  If you don't find       HELP.COM, look for a text file called NEWUSER.TXT, HOWTOUSE.DOC,       or something similar.  If you find it, view it on the screen by       entering "TYPE NEWUSER.TXT" at the A> prompt.  In either case,       make sure that you capture all this information into a disk file       so you can look at it later.      FINDING OUT WHAT'S WHERE           If the RCP/M didn't show you a disk map as you entered CP/M,       look for a progra    accident or a noisy phone line, but the log off procedure resets       the system more quickly and avoids any chance that the RCP/M might       get confused.           Typing "C" (for "CP/M") or sometimes "J" (for "Jump to CP/M")       will move you into CP/M, where all file transfers take place.  The       RCP/M will close out your session on the message system and give       you information on what commands are available while in the CP/M       section (see Listing 3).  Some systems also show also accept       the longer form.  WARNING--if you're running at 300 baud and       you're on an RCP/M with massive storage, it may take 20 minutes or       more to complete this command, though you can always abort it with       a ^C.  Make sure you save the results to disk.      GETTING AROUND           An RCP/M may have up to 15 disks (A-O), though most have only       2-4, and each disk may be divided into as many as 16 user areas (0-       15).  You move from one disk to another just as you  with the type ASM, like MAGE31.ASM, are assembly       language source files, usually ones that can be turned into       runnable programs by the CP/M assembler ASM.COM that came with       your CP/M system.  ASM files are text files, so you can view them       with the TYPE command.  They usually have comments at the       beginning to explain what the program does.           Squeezed files are files that have been compacted by a       special process so they take up less space.  When a file is   systems let you change disks and user areas at the same       time, so you can move from A1: to B3:, for example, with one       command.  On some systems, you enter the new drive and user number       followed by a colon:      A1>B0:           B0>      On other systems, you enter the new drive, a colon, a space, and       then the new user number:      A1>B: 0           B0>      You'll have to experiment to find out which method applies on the       system you've called.      WHAT TO Ds have a file called SQ/USQ.DOC or SQUEEZE.DOC which explains       how to deal with squeezed files.           A file with the type LBR is a library file, a group of       smaller files collected into a master file that CP/M treats as a       single file.  For example, the files FILT6.OBJ and FILT6.DQC might       be grouped into the file FILT6.LBR.  Once you've downloaded an LBR       file, any one of several programs--DE-LBR, LU300, NULU11--will let       you extract the member files so you can us COM (FILT6.OBJ becomes FILT6.COM).  Sysops       use the OBJ file type to keep people from running these programs       while connected and crashing the RCP/M.           Files with the type DOC or INF, like FILT6.DOC, are text       files that document (give information about) a program.  Using the       TYPE command, you can scan FILT6.DOC, for example, to find out       what the program FILT6.OBJ does.  If you decide you want FILT6,       download both the OBJ and the DOC files.           Filesdo on your own       system.  For example, typing "B:" at the A> prompt moves you over       to disk B: and the prompt becomes B>.           How you move to a new user area on the same disk varies from       system to system.  On some, typing "USER 1" at the A> prompt moves       you to user area 1 of disk A.      A>USER 1           A1>      Notice that the prompt becomes A1>.  On other systems, you just       type the new user number followed by a colon:      A>1:      A1>           Most     squeezed, the middle letter of its file type is changed to Q:        FILT6.DOC becomes FILT6.DQC, MAGE31.ASM becomes MAGE31.AQM, and so       forth.  Ordinary CP/M commands and programs can't handle squeezed       files; they'll just fill your screen with junk.  The RCP/M's TYPE       command will let you view squeezed files on the screen, but to       unsqueeze the file after you've downloaded it, you need a program       called USQ (for UnSQueeze) or NUSQ (for New UnSQueeze).  Most       RCP/MO WHEN YOU GET THERE           Once you've moved into a drive/user area that looks       interesting, type "DIR" at the CP/M prompt to get an alphabetized       directory of files in that area (see Listing 4).  It's not always       easy to figure out what you've found even after you get the       directory, so here are a few hints.           Files with the file type OBJ, like FILT6.OBJ, are ready-to-       run programs.  All you do, after downloading them, is change the       file type from OBJ toe them.  But how do you       find out what's in the LBR file before you download it?           RCP/Ms use one of two systems for dealing with LBR files.        Some have a program called LDIR, which will give you a directory       of a particular library.  If you want to know what's contained in       FRONT41.LBR (see Listing 4), you type           B0>LDIR FRONT41      Notice that you don't use the LBR extension.           These systems usually have an accompanying program, LTYPE,       which llowed by the name of the file you want to download       from the library.  Everything else will proceed as with the XMODEM       S command.           If you have a file that the RCP/M doesn't have, you also use       XMODEM to upload the file.  To tell XMODEM to RECEIVE the file       SUPERZAP.OBJ from you, type           B0>XMODEM R SUPERZAP.OBJ      XMODEM will sign on, tell you where it's going to put the file,       and signal that it's ready to receive.  Set your system to send       the structions.           Other RCP/M systems use a program called LUX.  On these       systems, type LUX followed by the name of the LBR file (such as       LUX FRONT41), and LUX will actually put you INSIDE the LBR file.        You can then use DIR to get a directory of the library, TYPE to       view library members, SEND to download a member from the library,       HELP to get instructions, and control-C to exit LUX.      UP AND DOWN WITH XMODEM           Once you've decided what files you want, and a       few other basic programs in a special disk/user area labelled       STARTER.KIT or U-NEED.      RCP/M ETIQUETTE           RCP/Ms are busy 24 hours a day, so most have a strict limit       (usually one hour a day) on the amount of time you can spend on       the system.  Please follow it--other people want to use the       system, too.  Almost all RCP/Ms automatically keep track of when       you called, how long you stayed on, and what you downloaded or       uploaded.           Do odem program to       receive the file.  Do this quickly, as XMODEM will abort if you       don't get going in about 30 seconds.  During the download, XMODEM       will resend (up to 10 times) any section of the file that isn't       received cleanly.           If you just want to download one file from inside an LBR file       (like README.DOC from FRONT41.LBR), type           B0>XMODEM L FRONT41 README.DOC      Note that you specify the name of the LBR file, without the LBR       extension, folets you view a text file member of a library on the screen.       If you want to look at README.DOC, which is inside FRONT41.LBR,       you type           B0>LTYPE FRONT41 README.DOC      That is, you specify the name of the library (with no LBR       extension) followed by the name of the file within the library.        (On some systems, the regular TYPE command will also handle LBR       files just as LTYPE does.)  If you forget what to do, type "LDIR"       or "LTYPE" at the CP/M prompt for infile, and everything else will go as with downloading.      IMPORTANT FILES TO DOWNLOAD           RCP/Ms have many squeezed files and LBR files, so you must be       able to deal with these once you've downloaded them.  I suggest       you immediately download USQ (or NUSQ, which is smaller and       faster) and DE-LBR, along with their associated DOC files.  USQ       will let you unsqueeze any squeezed file, and DE-LBR will extract       the member files from an LBR file.  Many RCP/Ms keep these you'll use the       program XMODEM to download them.  If you type "XMODEM" at the CP/M       prompt, you'll get a brief description of how to use the program.        To tell XMODEM to SEND the file FRONT41.LBR to you (to download       the file, in other words), you type           B0>XMODEM S FRONT41.LBR      XMODEM will sign on, tell you the size of FRONT41.LBR and the time       it will take to download at your speed, and signal that it's ready       to send.  At this point, you must set your myour part to help the RCP/Ms you call keep up their public       domain software collection:  upload some files to balance out the       ones you download.  You don't have to write the programs yourself;       just pass on good public domain programs you've found on other       systems.  Always check before you upload to make sure the system       doesn't already have the program you want to send, and don't       upload any commercial programs.      LEAVING CP/M           Once you've finished you'ههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههothly.  Sometimes       when you type BYE, you'll be given the option of leaving a note       for the sysop before exiting.  (Say thanks once in a while; these       people work hard in a good cause.)           Next issue, I'll cover the basic public domain utilities that       everyone should have.      --------------------------------------------------------------         Ted Silveira is a freelance writer and contributing editor to       several computer-oriented publications.  He appreciates ههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههre uploading and downloading, you        can re-enter the message system by typing RBBS (or OXGATE or       METAL, depending on what message system is in use).  Or you can       log off the RCP/M system completely by typing BYE at the CP/M       prompt; the system will say good-bye and then reset itself for the       next caller (who will probably be there about 10 seconds after you       hang up).  Please take the few seconds required to make this       orderly exit; it makes everything run more smoهههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه      CompuServe      (72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA       95065..pat the command       prompt.  The system will ask for the name of the person you're       sending a message to ("ALL" for the general public, "SYSOP" for       the system operator).  Make sure you spell the name right or else       the person won't be alerted to the message.           Next the system will ask for the subject of your message.        You have only about 20 charهههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه