нEнCfГ       Initializing Media       co-chairmen are Jillian    Arnott and Dale Wick.   The cost of admission for ADAMCON 007  is $340 Canadian, or approximately $242   in U.S. currency for full delegates, with double room occupancy.  This will include all convention functions, breakfast and   lunch.  Non-delegate (or spouse) prices   will be $220 Canadian, $157 U.S., and     children under 12 stay with their parents for free. Special rates for families with children over 12 are available.   To allow the families of delegates     more freedFIRST DIR  ЃUЄя BOOT       ђDIRECTORY  ШADMCON7H  ЂALL-AADAH ЂBOXESH    
ЂCCPMH     ЂCISCONTH  		EMBCMDH   FILESH    GOH-95H   %GOH95FRMH (ЂLOGO31H   +		PANEL0H   4ЂPANEL1H   5ЂPANEL2H   J		ЂPANEL3H   SЂPANEL4H   aPANEL5H   iЂREADME-1H nre confirmed.     You can send your money for ADAMCON in three or four easy payments, but Jill and Dale would appreciate it if you would     send the money for ADAMCON 007 as soon as possible.  This is to insure acquiring    the necessary number of rooms, and to     plan meals for the correct number of del- egates, spouses and children.  If you     register before April 22, 1995, you get a free T-shirt.  Register by May 20th and   get a free hat.  Register by June 17 and  you will get a free mug and will a‚*яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя                ADAMCON 007   That's right.  This year's ADAM con-   vention is being called ADAMCON 007 and   will be held this coming July 20-23 in    Waterloo, Canada.  The host group for     ADAMCON 007 is MTAG (Metro Toronto ADAM   Group) and theom in choosing activities, the  non-delegate package does not include     lunch, but it does include breakfast,     reception, hotel, and the Banquet. If you prefer a single occupancy room, the price is $435 Canadian, $310 U.S; and a free    shuttle to and from Toronto International Airport Thursday and Monday is included   in the ADAMCON 007 package.  If you want  to take advantage of the shuttle, be sure to mail the name of your airline, as well as your flight, and arrival and departure times; when they aЂBLOCKS LEFTs-BLOCKS LEFTs-еlso be  entered in a special drawing.   It is preferred that you send Interna- tional Money Orders for the $340 Canadian ($242 U.S.) to ADAMCON 007, c/o Jillian   Arnott, 25 Hebel Place #8, Kitchener,     Ontario, Canada N2G 3J3, but checks will  also be accepted.  If you have questions, call the MTAG Hot Line at 416-424-1352,   Dale Wick at 519-884-8138,  Neil Wick at  905-655-4065, or Richard Clee at 416-783- 0316.  If a call back is required, it     will be a collect call.   Be sure to read "The Presidtted, and made  for use in the  the ADAM data drives. ADAMcame with one data drive, and had space   to add a second data drive.   Coleco  also made  available a         single-sided  disk drive  for the ADAM,   but  the cost (around $250)was a little high for the average ADAM    user.   Coleco had some good games for the     ADAM, and you would find that most games  you could not win.  Nomatter  how well  you  did, there was     always another level that was just a      little more difficult. Thegraph‚*яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя---------------------------------   This is about  ADAM computers, and     where  we (the  computer and the user)    are  headed.  It  seemsthat most  ADAM users are divided         ---------------------------------      ---ALL ABOUT ADAM---       -u could get an          expander card  with  256K, or more, of    memory. This is in addi-tion to  ADAM's  original  64K of memory  capacity.   ADAM's 5-1/4 single-sided disk drives  have  come down  in price,and since these drives run at the same    speed  as the  IBM type, you can have     your  single-sided  ADAMdisk drive converted to a double- sided   disk drive, if  you  wish.You can also have it converted to a 3-1/2 inch disk drive.  Or, youcan  now get the new  M-I ADAMnet         double-sidedthe 1980's. You     had the  Commodore 64, Atari 2600, and    Intellivision.  Colecocame out with  a new idea for the ADAM    computer.  It was  using  60 minute audio tapes, to store  andrun programs.  These  data drives that    handled the tapes cost about $20.00, at   that time.  This was agood deal.  If you remember, most games   then came on cartridges forbetween $35.00 and $40.00.   However, more  games  began to come    out on data paks.  They were cassette     audio  tapes, that  hadbeen formaent Says"   on page one for more ADAMCON 007 details. Also, we will include articles on news,   activities, and schedules as they become  available.  Make plans to attend now.     Time is getting very short, and it would  be a shame to miss out on the fun.                            Faye B. DeereADMCON7 SW ADMCON7 TXTALL-AADASW ALL-AADATXTBOXES   BAKBOXES   LGOBOXES   SW CCPM    POECCPM    SW CISCONT SW ics on these games  was very good,   however.   Then, Coleco had some problems and     prices dropped, to  where you could buy   an ADAM computer systemfor $199.00.  They must have sold half a  million of these units andyou could buy the games for $2.00 to      $10.00 each.  I know,  because I bought   a lot  of the  games atthat time.   Now, let's look at the ADAM of today.  I found out that  you cannow  play music  with  your  ADAM         computer; and  besides the  usual 64K     memory expander yoBy Randy Honeyman---------------------------------   This is about  ADAM computers, and     where  we (the  computer and the user)    are  headed.  It  seemsthat most  ADAM users are divided into    two  categories.  One groupbought the ADAM because it looked like a  great word processor, plusit came with a printer.  It orig- inally  cost you  around $600.00.The  other  group  of  users pur- chased  ADAM for the games that itcould play.   Now bear in mind what the com-         petition was, back in  disk drives.  And in         addition to that, you can now buy a "hard drive" for  ADAM.   There's a lot of ADAM software in the  club library that has goneunnoticed.  For example, there is         Fraction Fever.  This is  a great         educational program for  some  of our     younger people.   We also have programs  such as         Wizmath, Brain Strain, and others that    are educational; as  well as Football,    Baseball,  Rocket, andWar Games, that are hard to beat.   We need  to  realize  thaGET.INPUT.2ENDTO RBOX.2BOX -115 -20 90 60 3PR :S2SETCURSOR [1 23]ENDTO MAINRBOXWAIT 60RBOX.1RBOX.2MAINENDTO SAVE.INPUT.1MAKE "S1 SE :S1 :INPUT.1ENDTO RBOX.1BOX 0 -20 105 25 5PR :S1SETCURSOR [1 23]ENDTO GET.INPUT.1MAKE "INPUT.1 RLMAKE "INPUT.1 SE :INPUT.1 CHAR 13SAVE.INPUT.1MAKE "Y :Y + 1SETCURSOR SE :X :Y MAKE "LINE :LINE + 1 GET.INPUT.1 ENDTO DBOX.1BOX 0 -20 105 25 5MAKE "LINE 1MAKE "S1 []GET.INPUT.1ENDTO RBOXBOX -115 90 210 85 5PR :SSETCURSOR [1 23]ENDTO SAVE-- ke backups              c) make backups      1)  Want to be able to find programs and data without delay and           anguish.      2)  Pick up a disk; what to know what's on it; should bear a           label; an unlabeled disk is a blank disk and fair game.          Disks to be labelled as they are used.      3)  There seems to be two ways to store data. By subject, or FD :W + :TH * 2 PU SETPOS SE :TX - 1 :TY + 1 PD FILLCTPUSETCURSOR SE CRSX + 1 CRSY + 1MAKE "X CRSX + 1 MAKE "Y CRSY + 1ENDTO CLSCSSETCURSOR [1 0]CHANGE.COLOR 15 1ENDMAKE "INPUT.2 [\]MAKE "S2 [ANOTHER \ HALF \ BAKED \ LOGO \ ROUTINE \ \ \]MAKE "INPUT.1 [\]MAKE "S1 [ANY KEY!! \ \]MAKE "IN "BMAKE "LINE 8MAKE "INPUT [\]MAKE "S [RON MITCHELL'S \ \ LOGO NOTEBOOK. \ \ ANY RESEMBLANCE BETWEEN \ THESE ARTICLES AND \ PROPER LOGO INSTRUCTION \ IS PURE BLIND LUCK! \ \ \]MAKE "‚@яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяTO SAVE.INPUT.2MAKE "S2 SE :S2 :INPUT.2ENDTO GET.INPUT.2MAKE "INPUT.2 RLMAKE "INPUT.2 SE :INPUT.2 CHAR 13SAVE.INPUT.2MAKE "Y :Y + 1SETCURSOR SE :X :Y MAKE "LINE :LINE + 1 GET.INPUT.2 ENDTO DBOX.2BOX -115 -20 90 60 3MAKE "LINE 1MAKE "S2 []t  we have a  lot  of games and programsavailable to our members, through the     club library;  and we have at our         fingertips, one of  the best word         processors  on the market!   So, what  are we  waiting for? ADAM is alive  and  well; and allwe have to do, is to get  with it and     make it all the better.   The first thing YOU should do, is to   get better acquainted  withyour  ADAM club, since  ADAM User Groups  are what keep  ADAM alive.Get involved!-------------------------------.INPUTMAKE "S SE :S :INPUTENDTO GET.INPUTMAKE "INPUT RLMAKE "INPUT SE :INPUT CHAR 13SAVE.INPUTMAKE "Y :Y + 1SETCURSOR SE :X :Y MAKE "LINE :LINE + 1 GET.INPUTENDTO DBOXBOX -99 90 210 85 5MAKE "LINE 1MAKE "S []GET.INPUTENDTO CRSYOP 12 - INT :TY / 8ENDTO CRSXOP 15 + INT :TX / 8ENDTO BOX :TX :TY :L :W :THPU SETPOS SE :TX :TY RT 90 PD FD :L RT 90 FD :W RT 90  FD :L RT 90 FD :WPU SETPOS SE :TX - :TH :TY + :TH RT 90 PD FD :L + :TH * 2 RT 90 FD :W + :TH * 2 RT 90 FD :L + :TH * 2 RT 90 by          date. There may be instances where one is better than the           other. Think it though. Choose the one that seems to offer          best advantage, but be consistent.      4)  Remember the three rulesd of computing:              C)  make backups              b)  make backups              a)  makd backups      5)  Only the latest version of any program around the operating          area. Previous versions, if they must be kept, put away           somewhere so that they will not bX 2MAKE "Y 15  an ADAM computer systemfor $199.00.  They must have sold half a  million of these units andyou could buy the games for $2.00 to      $10.00 each.  I know,  because I bought   a lot  of the  games atthat time.   Now, let's look at the ADAM of today.  I found out that  you cannow  play music  with  your  ADAM         computer; and  besides the  usual 64K     memory expander yo  We are the ones who       joined to give something to the club.  We are the Lee Bradleys,       the Jim Taylors, the Brian Nalewajeks, the Al Hathways, the Tom       Veiles, the me's and several others.  I can't speak for the       others, but when I joined CCP/M, I could not think of a good       reason to join, except for two.  I already was an advanced CP/M       user and am relatively accomplished in hardware and software.  I       had access to almost everything in the club library and I ran m‚JяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя                               Newsletter Blues                               by Rick Swenton           I was following and participating in the discussions between       Jim Taylor and many others about Jim's involvement in the CCP/M       Newsleard       obtained from the club was the satisfaction of helping others with       their problems.           There are many others like me.  We have experience and we can       help you.  Our areas of interest are varied and there is likely       someone somewhere in the club who has the expertise to help you.        Some of us (especially myself) can not attend all of the meetings       so we all don't know what kind of help is needed out there in       general membership land.  How do we find out           Many people join clubs like CCP/M in order to get some kind       of service from the club.  Some join because the club offers       education and assistance not available elsewhere.  Others join       because of the availability of the club's public domain software       library.  Another service which comes from the club is the       newsletter.  Let's face it.  Most members did not join so that       they could author newsletter articles.           Then there are the special members.u could get an          expander card  with  256K, or more, of    memory. This is in addi-tion to  ADAM's  original  64K of memory  capacity.   ADAM's 5-1/4 single-sided disk drives  have  come down  in price,and since these drives run at the same    speed  as the  IBM type, you can have     your  single-sided  ADAMdisk drive converted to a double- sided   disk drive, if  you  wish.You can also have it converted to a 3-1/2 inch disk drive.  Or, youcan  now get the new  M-I ADAMnet         double-sidedy       own BBS.  I couldn't think of anything I could get from the club       that I didn't already have or could get elsewhere for free ...        except for one thing.           Ok, you are asking what these exceptions are.  The reasons       that I joined were two.  One - I had something to offer the       members.  I had experience.  Two - I could make new friends.           The one thing I could get from the club was successfully       obtained - I made those new friends.  One unexpected rewtter.  Let me say that the job of newsletter editor is a       thankless job requiring countless hours and relentless efforts.        Jim is getting discouraged because of the lack of submissions by       the general membership.  This is not surprising.  After all,       writing is not necessarily easy.  Furthermore, in order to write       about something, you generally need to know more about the subject       than the average reader.  Writing also takes time, and who has       extra time to spare. what kind of help you       need?           Well, you can write to the "Dear CCP/M" column in the       newsletter.  I am sure that someone will come to your assistance.        You can even ask your question at a meeting.  If it is not       answered then, the question can be forwarded to the BBS and the       answer can be published later.  Do you have a problem interfacing       your printer or modem?  Do you have a question about configuring       Wordstar-4?  Are you getting too many disk erroith!  Lee Bradley  11/20/89. яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      Gallery of Honour      Jerry Vrancks      Dale Wick has asked me to head the Gallery of Honour this year.      ADAMCon 007 "The year to BOND"      There are good       guessers but you really need to tell us what's on your mind.           From the information we gather from your input, we can       provide the answers in many ways.  We can offer printed output in       the form of a simple paragraph all the way to a full-featured       article.  We could even solve your problems possibly with a disk       file or patch information to a troublesome program.           It is up to you now.  Are you satisfied with the way things       are going or w's text.  Following is an       actual message I composed off line then posted it to Ron Mitchell.       This message started a new thread.      . . . . . . . . . . . . . . . . . .      message;compose<CR>      Ron, did you get the Gallery of Honour info for the ANN       disk?<CR>      With the ANN disk running a bit late I hope it gets out in       time.<CR>      It's getting harder and harder to get info out to the ADAM       community these days.<CR>      (Less and less NL and less and less to produce articles.  This issue will have a few things       from contributors.  But the constant need for *all* members to       take a more active role in contributing to *your* Pieces of Eight       newsletter needs rementioning.  Read some of the material in this       issue and if it intrigues you, follow up on it in some way.  Find       out by actually obtaining the product or the program just how it       works and what it can do.  Then tell *your* newsletter editor what       you came up wrs?  Why can't I       type a TZT file?  Why do disks have to be formatted before use?           I am guessing that one of the reasons you joined CCP/M was to       obtain information and support for your CP/M computer.  Did you       get that information?  Are we supporting you?  More importantly,       did you ask your questions and did they get answered?  We would       like to help but we need to know exactly what your needs are.  YOU       have to tell us.  We are not mind readers.  Sometimes w‚JяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      CIS CONTINUED      by Jerry Vrancks      Uploading a new message is some what more involved than replying       to a message.      A new message can be composed off line the same as a reply and       embedded commands can be used within itould you rather get some action going?  It is very       easy.  All you have to do is ask some questions!  You will be       surprised how a few questions can turn into new ideas and inspired       solutions!      Current Editor's comment:  Rick sent this to the board some time       back.  We're not sure why it got missed.  Nor care.  I finally got       it into our news and think it is still timely.  I have replaced       Jim in fact but Jim is still offering to print the news and       continues AUG').<CR>      I've sent the GofH info to AUG that still put out a NL. It's been       in 4 NL that I know of.<CR>      I'm now in the process of sending the info to AUG that don't put       out a NL<CR>      in the hope that they will get the GofH info to their members.<CR>      I have already received several ballots. I'm now trying to get       the<CR>      info to some pockets I've missed. Mainly in Canada.<CR>      Is there a list of AUG still in operation? Don't forget to       vote.<CR>  . . . . . . . . . . . . . .      Message # 33419 Posted      - - - - - - - - - - - - - - - - - - -           That's all there is to it.  Your message has been posted       starting a new thread.      Linking several messages together as one upload.           By using embedded commands within the text several messages       can be posted as one upload.  Following are two test replies I       composed off line then uploaded them to myself at last months       meeting so everyone could see just h     Logon to CIS and GO CLUB.  At the first CLUB menu screen       press STORE/GET if the first line of your message reads,       message;compose<CR>.  If not type it in then press STORE/GET.        Your message is now uploaded.  If the last line of your message       reads, /post, it is then posted.  If /post is not the last line       CIS will ask you to type in /exit.  This is to let CIS know that       it's the end of your message.  But if you type in /post this tells       CIS two things at oncere is a short message then a /post, this tells CIS this       is the end of the first message and to post it.  Then there is       another embedded command telling CIS what follows is a reply to       message #33036. After the message another /post.  Both messages       have been posted.           A multiple posting is done the same as a single posting.  GO       CLUB and press the STORE/GET key at the first menu prompt.           In all my examples the <CR> is not typed in but an actual       RE . . . . . . . . . . . . . .      Subject: GofH info<CR>      . . . . . . . . . . . . . . . . . . .      Section # Required      1 General/Hardware      2 Sanyo      3 Eagle's Nest      4 Timex/Sinclair      5 Z88 & Actrix      6 QL      7 Panasonic      8 OSI      9 ADAMania      Enter choice or Press <CR> for more !9<CR>      . . . . . . . . . ..  . . . . . . . .      To: Ron Mitchell[70323,2267]      Subj: GofH info      Section: 9      Is this correct(Y or N)? y<CR>      . . . . .           Jerry<CR>      /post<CR>      . . . . . . . . . . . . . . . . . . .           The first and last line of my message are embedded commands.        This saves time because they need not be typed in on line.  After       the /post more embedded commands can be use but I prefer to use       the on screen menu prompts because I've had some problems using       commands after the /post.           To upload a message that starts a new thread do the same as       replying to a message.      ow easy it is to do.      - - - - - - - - - - - - - - - - - - -      reply to 33035<CR>       This is a test message to myself. I'm at the 463 meeting and I       want to<CR>      show everyone how to post more than one message using just one       upload.<CR>      /post<CR>      reply to 33036<CR>       This is my second test message as one upload.<CR>      /post<CR>      - - - - - - - - - - - - - - - - - - -           The first line tells CIS that this is a reply to message       33035.  Thes.  This is the end of your message and to       post it.           If you prefer not to us any embedded commands the on screen       menu prompts are very easy to follow.  Embedded commands just save       some on-line time.  Following are the prompts you'll see after the       /post and what you'll need to type in so your message goes to the       right person and section.      - - - - - - - - - - - - - - - - - - -      Post for (Name and/or User ID): Ron Mitchell 70323,2267<CR>      . . . . .TURN.      Following is what these two messages looked like after they were       uploaded and posted.      - - - - - - - - - - - - - - - - - - -      GO CLUB      . . . . . . . . . . . . . . . . . . .        You have left basic services      Computing Support   CLUB      One moment please...      . . . . . . . . . . . . . . . . . . .      Welcome to Computer Club Forum+, V. 3B(107)      Hello, Jerry Vrancks      Last visit:  05-May-95 20:28:47      Forum messages:   6994 to  33099      that I put the new message at the end of my upload text.       I do this because if something would go wrong I'm pretty much       assured that the replies will get posted.           This pretty much covers the things I do to save on-line time.       There are others but I have not been able to get them to work for       me as of yet.           Once you get the feel of the CLUB Forum you may want to check       out section 9 and 10 libraries.  There's some good material there.      Here's a few oan one message using just one upload.      #: 33099 S9/ADAMania          05-May-95  20:28:47      Sb: #33036-CGP docs Fm: Jerry Vrancks 71610,2413      To: Jerry Vrancks 71610,2413       This is my second test message as one upload.      . . . . . . . . . . . . . . . . . . .      Computer Club Forum+ Menu      1 INSTRUCTIONS      2 MESSAGES      3 LIBRARIES (Files)      4 CONFERENCING (0 participating)      5 ANNOUNCEMENTS from sysop      6 MEMBER directory      7 OPTIONS for this forumg an external 2400 modem, ADAMLink V and SpeedyWrite       as my telecom hardware and software but these procedures should       work with most any set up.      In closing I just want to say one more thing:           CIS is NOT the only place you can keep in touch with other       ADAMites.           Don't forget the private run ADAM Bulletin Board Systems.      Happy Modeming.                               Jerry V.      =====================================>      message text, remembering      to put a <CR> every 70      carricters or so.<CR>      /post<CR>      reply to zzzzz<CR>      message text<CR>      /post<CR>      reply to yyyyy<CR>      message text<CR>      /post<CR>      message;compose<CR>      message text<CR>           /post<CR>      - - - - - - - - - - - - - - - - - - -           From this point on I use the menu prompts because as I said I       have had some problems using embedded commands after the /post.           Note Last message you've read:  33096      Section(s) Selected: [ 9 ]      Number of Members in Conference: None      You have 2 messages waiting.      Press <CR> !REA NEW ; SCR      . . . . . . . . . . . . . . . . . . .      #: 33098 S9/ADAMania          05-May-95  20:28:44      Sb: #33035-Keith needs help      Fm: Jerry Vrancks 71610,2413      To: Jerry Vrancks 71610,2413       This is a test message to myself. I'm at the 463 meeting and I       want to show      everyone how to post more thther things you should know.           You can delete a message you have posted or a message posted       to you.  Just type in delete<CR> then the message number.  DO NOT       type your message in upper case.  You can use upper case to       emphasize a word but not the whole message.  Don't use profanity       or personally attact a person in the public message area.  You can       also post a private message in the CLUB forum, just type in, /post       pri, instead of /post.           I'm usin      Enter choice !OFF <CR>      . . . . . . . . . . . . . . . . . . .      Exiting at 05-May-95 20:39:13      Thank you for visiting Computer Club Forum      - - - - - - - - - - - - - - - - - - -           In this example I have just shown the two messages were       replies.  You can use this procedure to post as many replies as       you wish.  You can also post a new message within the same upload.       Here's how I do it.      - - - - - - - - - - - - - - - - - - -      reply to xxxxx<CR‚JяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя    -REMOVE EMBEDDED COMMANDS-   We've told you  how to get ridof that  old  ADAM "bug"; the onethat gives you a  line and a halfwhen you place  a carriage returnon a line to leave a VACANT line.   This will work  fine, when youuse the ADAM prines.  This is the end of your message and to       post it.           If you prefer not to us any embedded commands the on screen       menu prompts are very easy to follow.  Embedded commands just save       some on-line time.  Following are the prompts you'll see after the       /post and what you'll need to type in so your message goes to the       right person and section.      - - - - - - - - - - - - - - - - - - -      Post for (Name and/or User ID): Ron Mitchell 70323,2267<CR>      . . . . .habit ofunderlining some words or titles.When I started using a dot-matrixprinter, I found  that it printedthe underlining, but not the let-ters that were over it!   So, be-fore  you use the item you saved,make sure you  remove your under-lining. I'm in the habit of usingthe old  Orphanware "FAST PATCH".As soon as I turn ADAM on, I grabthe FAST PATCH, and  stick in thedrive and  BOOT it (becomes auto-matic).  It  doesn't  support un-derling; but  I  understand  thatthe EASY PRINTER PATCH by Worse they can also tell you where       to find the one they wrote 10 years ago, back when great Aunt       Matilda could see well enough to read it.      You won't find any of that going on around here. Around here there       is 100 Meg of hard disk space, 5 disk drives, easily three times       as many tape drives, and that's only storage for the ADAM's. There       are other machines on which many wonderous works of writing are       produced, some on disk, some on tape. There are wordprocessorswithout  LOADing ShowOff II), byDELETEing the embedded commands.   And, you can put embedded com-mands in SmartWriter articles andprint them using ShowOff II.                         -----NJDur message       reads, /post, it is then posted.  If /post is not the last line       CIS will ask you to type in /exit.  This is to let CIS know that       it's the end of your message.  But if you type in /post this tells       CIS two things at oncter to print outyour text.  However, if you use adot-matrix printer with your ADAMsystem, this will NOT work.   When using a dot-matrix print-er to print out  anything you hadsaved, and which  had a Control 6space (to eliminate the bug), youmust  take this  embedded commandOUT of your text, before printingit out  on the printer.  It worksfine  with the  ADAM printer; butit  drives  a dot-matrix  printercrazy. So simply DELETE it first!   Also, I found  that when usingan ADAM printer, I had a ‚JяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      Now Let Me See.... Where Did I put that?      by Ron Mitchell      Filing. Some people are good at it. Some people can tell you right       off the top of their head where they put last month's letter to       great Aunt Matilda and what's waltersSoftware does support underlines.So, if you use the Walters print-er patch, you may luck out!   One other thing. If you happento use ShowOff II, you PUT embed-ded commands at the beginning, aswell as some other places in yourtext.  They  tell the  dot-matrixprinter  what to  do.  So, if youwant to  print out something donewith  ShowOff II, using your ADAMprinter; you have to DELETE theseembedded commands.  You  can alsoprint out something done in Show-Off II on your dot-matrix printer(,       editors, data bases, and spreadsheets of all descriptions. There       are system files, two or three versions of MS-DOS, two versions of       Apple DOS, uncountable variants of TDOS, some for memory       expanders some not, and several variations of CP/M, all essential       to the appropriate functioning of respective pieces of equipment.      And some nights I can't find a damn thing. AUFG  members will       attest to that. Some nights I can't even find the disk with       SmartBASIC orage. I don't even think that hard drives should be used for       data storage period. I firmly believe after several years of using       them that hard drives are for programs, and not just any       programs...but only those programs that are currently being used.       Again you perk up your snoot and speak thusly: hey bud, you're       going to destroy my online help system. I have all my .DOC files       on user area 25 on drive D. "D" for .DOC. If I cannot remember how       to use a particean files of information,       calculations, graphics, sound, and all in all the products that       you produce with the programs. It seems to me that under no       circumstances should you mix the two; they should always be on       separate disks.      But wait a minute now, you say. That causes difficulty. In one       storage box, locked securely in a closet I have my Zork III. When       I want to load the last adventure I was engaged in, you're telling       me that I have to find another      a) make backups              b) make backups              c) make backups      1)  Want to be able to find programs and data without delay and           anguish.      2)  Pick up a disk; what to know what's on it; should bear a           label; an unlabeled disk is a blank disk and fair game.          Disks to be labelled as they are used.      3)  There seems to be two ways to store data. By subject, or by          date. There may be instances where one is better than the           other. your program file is       copy protected? What are you going to do if you cannot copy a       running version of that progrma to another disk? Then where are       you, ha ha! Moreover, what happens if the program, like Zork III       is so long, with it's attendant sub-files, that it occupies an       entire disk all by itself? What do you do then, poor thing?      The debate rages on. There is another aspect. Hard Drives.      I don't think hard drives should be used for archival data       ston it. Ten years in this hobby and I still haven't       devised a system that works.      It's a problem. I'd like to hear some solutions. Is there any       creative genius out there? Let me toss out a few thoughts to       stimuluate the imagination.      It strikes me that there should be two broad categories of storage       media, one for programs and one for data. By programs I mean       software, things that you load into the computer and cause it to       do something useful. By data I mular program, the .DOC file is right there; I don't       have to go hunting for a disk. Stay out of my case!      And on and on....      Answer? Well i don't know. Can we wake any rules about all this?       It seems to be an area where the 'personal' of personal computer       shines out in spades.      You might possible make a statement or two about what you want       your filing system to do for you. It might go something like this:       1) Remember the three rules of computing:         disk where that adventure file was       stored? Please. I have enough trouble finding one disk in my       mountain of disks. When I find it, I want everything - program and       my last game file - to be in the same place. If I have to I'm       going to copy Zork III onto every disk I use for Zork III so that       it will be there and I only have to use 1 disk. I only have one       disk drive on my system, and that's the way I want it, so there!      Yes, say I, but what are you going to do if Think it though. Choose the one that seems to offer          best advantage, but be consistent.      4)  Remember the three rulesd of computing:              C)  make backups              b)  make backups              a)  makd backups      5)  Only the latest version of any program around the operating          area. Previous versions, if they must be kept, put away           somewhere so that they will not be in the way or mistaken for          the current version. inductees.      You can leave your votes in Compuserve Email to:      Jerry Vrancks CIS ID# 71610,2413.      Or send your ballot to:      Gallery of Honour      Attn: Jerry Vrancks      2936 Evelyn St.      Portage USA      46368.      --------------------------------------------------------------      1991 Gallery of Honour      ADAMCON 03      Syd Carter                  Norman Castro      Guy Cousineau               Rob Friedman      Pat Herrington              John Lingrel      L‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      Gallery of Honour      Jerry Vrancks      Dale Wick has asked me to head the Gallery of Honour this year.      ADAMCon 007 "The year to BOND"      There will be a minimum of 5 active and 1 inactive inducted into       the GofH at ADAMCon ece      Ben Hinkle                  Hank Szretter           1994 Gallery of Honour      ADAMCON 06      Richard Clee                Thomas Keene      George Koczwara             Herman Mason      James Poulin                Darrl Sage      Robert Sebelist             Jerry Vrancks      Bruce Walters                     ------------------------------------------------------------      1995 Gallery of Honour      ADAMCon 007      The Year to Bond      ????????????????eserves this award.      What I will suggest is that you look at whom in the ADAM Survival       Guide has not been inducted? Does a person running an ADAMCon       convention deserve consideration, past or present? Look at old       newsletters or ANN disk. This could give you some ideas.      I will need your GofH ballots by the 15th of June 1995. You'll       find a Gallery of Honour ballot in the back of this newsletter. To       help you with your voting is a listing of all the previous      Last message you've read:  33096      Section(s) Selected: [ 9 ]      Number of Members in Conference: None      You have 2 messages waiting.      Press <CR> !REA NEW ; SCR      . . . . . . . . . . . . . . . . . . .      #: 33098 S9/ADAMania          05-May-95  20:28:44      Sb: #33035-Keith needs help      Fm: Jerry Vrancks 71610,2413      To: Jerry Vrancks 71610,2413       This is a test message to myself. I'm at the 463 meeting and I       want to show      everyone how to post more thyle Marschand              Tony Morehen      Alan Neeley                 Sol Swift         1992 Gallery of Honour      ADAMCon IV      Ron Collins                 Terry Fowler      Mark Gordon                 Dean Roades      Barry Wilson                Sharon McFarlane      1993 Gallery of Honour      ADAMCon 05      Bob Blair                   Chris Braymen      David Cobley                Faye Deere      Bart Lynch                  Keith Marner      Ron Mitchell                Monte Ne007. You as an ADAM user can vote for the one       inactive and five active ADAMites you believe should receive this       prestigeous AWARD. Try not to let personal friendships or someone       you disagree with influence your voting. Vote for a person that       has kept the ADAM alive and kicking these many years.      Who do I vote for?      First, ADAMites already inducted can not be inducted again.      Beings I'm running the Gallery of Honour this year I can't tell       you who I think d‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя                              Gallery of Honour                                    Ballot      Send to:          Jerry Vrancks                        2936 Evelyn St.                        Portage, In. USA                        46368          ece      Ben Hinkle                  Hank Szretter           1994 Gallery of Honour      ADAMCON 06      Richard Clee                Thomas Keene      George Koczwara             Herman Mason      James Poulin                Darrl Sage      Robert Sebelist             Jerry Vrancks      Bruce Walters                     ------------------------------------------------------------      1995 Gallery of Honour      ADAMCon 007      The Year to Bond      ????????????????____________________      5:___________________________         __________________________             Inactive   NAME      1:___________________________         __________________________      Signature_________________________________  Date:_______________      ===============================================================      1991 Gallery of Honour                1993 Gallery of Honour         ADAMCon 03                            ADAMCon 05      Syd Carter        Norman Castro      ASIC.       There must be a way of protecting data sent to a chosen portion of       the screen so as to create in information window where variable       data may appear while leaving prompts, instructions and smartkey       displays untouched. In SmartBASIC it's a piece of cake, and the       addresses which control right, left, top and bottom margins have       been well documented. No such companion information exists for       LOGO.      In my search through the coding of the LOGO interpreter  06      Ron Collins       Terry Fowler        Richard Clee    Thomas Keene        Mark Gordon       Dean Roades         George Koczwara Herman Mason      Barry Wilson      Sharon mcFarlane    James Poulin    Darrl Sage                                            Robert Sebelist Jerry Vrancks                                            Bruce Walters   David Cobley                Faye Deere      Bart Lynch                  Keith Marner      Ron Mitchell                Monte Ne            I vote for the following ADAMites                   for induction into the Gallery of Honour      ==============================================================              Active    NAME                  REASON "Optional"      1:_____________________________       __________________________      2:____________________________        __________________________      3:____________________________        __________________________      4:____________________________        ______‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      The LOGO Notebook      by Ron Mitchell      Those who follow the LOGO Notebook with any degree of regularity       will know that for some time I've been looking for a way of       formatting screen output such as that which exists in SmartB Bob Blair      Chris Braymen      Guy Cousineau     Rob Friedman        David Cobley   Faye Deere      Pat Herrington    John Lingrell       Bart Lynch     Keith Marner      Lyle Marschand    Tony Moreneh        Ron Mitchell   Monte Neece      Alan Neeley       Sol Swift           Ben Hinkle     Hank Szretter      --------------------------------      ---------------------------      1992 Gallery of Honour                 1994 Gallery of Honour         ADAMCON IV                             ADAMConfor magic       addresses, I've discovered that LOGO doesn't make many, if any       changes to the operating system. I had been under the impression       previously that there were some differences. So far I've been       unable to find them.      Guy Cousineau produced the EOS Programmers manual some time back.       It's a volume that unlocks the secrets of EOS and allows snyone       with even modest programming knowledge to control ADAM functions       that would be much more difficult from S are still somewhat crude, but for what they're worth, here they       are.      LOGO Text Box Generation Program      by Ron Mitchell      June 2, 1995      TO SAVE.INPUT.2      MAKE "S2 SE :S2 :INPUT.2      END      TO GET.INPUT.2      MAKE "INPUT.2 RL      MAKE "INPUT.2 SE :INPUT.2 CHAR 13      SAVE.INPUT.2      MAKE "Y :Y + 1      SETCURSOR SE :X :Y MAKE "LINE :LINE + 1 GET.INPUT.2      END      TO DBOX.2      BOX -115 -20 90 60 3      MAKE "LINE 1      MAKE "S2 []      GET.INPUT   Hope springs eternal. One of the problems is the lack of a       detailed memory map to show what portions of memory are available       for user machine language routines. The only clue provided in the       LOGO manual is in chapter 21 under "Special Primitives".  LOGO       primitive .ALLOCATE will do just that, ie. allocate a specified       number of bytes for a user machine language routine. The       description goes on to state that the highest byte of memory so       allocated will be 314 GET.INPUT.1      END      TO DBOX.1      BOX 0 -20 105 25 5      MAKE "LINE 1      MAKE "S1 []      GET.INPUT.1      END      TO RBOX      BOX -115 90 210 85 5      PR :S      SETCURSOR [1 23]      END      TO SAVE.INPUT      MAKE "S SE :S :INPUT      END      TO GET.INPUT      MAKE "INPUT RL      MAKE "INPUT SE :INPUT CHAR 13      SAVE.INPUT      MAKE "Y :Y + 1      SETCURSOR SE :X :Y MAKE "LINE :LINE + 1 GET.INPUT      END      TO DBOX      BOX -99 90 210 85 5      MAKE "LINto date.      I've devised a routine for putting a box on the screen. The       location, ( x and y co-ordinates) as well as the length and width       of the box and border thickness can all be specified when the       routine is run. There is a companion routine to format short text       segments to suit the dimensions of a particular box. This text is       then saved as a variable and can be recalled to the screen with       original formatting as desired. At the moment, these procedures      martBASIC or LOGO. One of       the routines outlined provides for a means of setting up an       information window simply by loading appropriate registers with       the desired margins, and the HL register with the base address in       VRAM of the pattern table. The same routine should, so far as I       can see, exist for SmartLOGO, since the EOS data table is       identical to its SmartBASIC counterpart. Unfortunately, so far,       I've not been able to get the routine to work from LOGO.   .2      END      TO RBOX.2      BOX -115 -20 90 60 3      PR :S2      SETCURSOR [1 23]      END      TO MAIN      RBOX      WAIT 60      RBOX.1      RBOX.2      MAIN      END      TO SAVE.INPUT.1      MAKE "S1 SE :S1 :INPUT.1      END      TO RBOX.1      BOX 0 -20 105 25 5      PR :S1      SETCURSOR [1 23]      END      TO GET.INPUT.1      MAKE "INPUT.1 RL      MAKE "INPUT.1 SE :INPUT.1 CHAR 13      SAVE.INPUT.1      MAKE "Y :Y + 1      SETCURSOR SE :X :Y MAKE "LINE :LINE + 170. The number of bytes reserved will extend       downward in memory from this address. It would therefore be up to       the user to determine the length of the machine language routine       and calculate the number of bytes required accordingly.       In a forthcoming installment of the Notebook we'll try this.      There is something else to present here which may work around the       problem to some extent. I'm not finished with it yet, but for what       it's worth, here's the state of work E 1      MAKE "S []      GET.INPUT      END      TO CRSY      OP 12 - INT :TY / 8      END      TO CRSX      OP 15 + INT :TX / 8      END      TO BOX :TX :TY :L :W :TH      PU SETPOS SE :TX :TY RT 90 PD FD :L RT 90 FD :W RT 90 FD :L RT 90       FD :W      PU SETPOS SE :TX - :TH :TY + :TH RT 90 PD FD :L + :TH * 2 RT 90 FD       :W + :TH * 2 RT 90 FD :L + :TH * 2 RT 90 FD :W + :TH * 2      PU SETPOS SE :TX - 1 :TY + 1 PD FILL      CT      PU      SETCURSOR SE CRSX + 1 CRSY + 1      MAKE ox will occupy            W  is the number of rows that the box will occupy           TH  is the thickness of the box border      There is a bug. You can put more than one line of text in any box       that begins on the left hand side of the screen and has for its X       co-ordinate  value between -99 and 110. If you begin a box further       to the right on the screen and you have more than one line of       text, the second and subsequent lines will not be properly placed.       A single line wE ARTICLES AND \      PROPER LOGO INSTRUCTION \      IS PURE BLIND LUCK! \      \       \      ]      MAKE "X 2      MAKE "Y 15      -------------------------------------------------------------      This is actually 1 routine 3 times, and can probably be made more       compact than it now is. You can set up your chosen text in each of       the three boxes by running the procedures DBOX, DBOX.1 and DBOX.2.       Each performs the same task by bringing up the text box in       position and w      are 'black box' operations where you feed in some input, and       retrieve some output. When you need such values in any given       procedure, you simply use its name and call it.      We have an example of the use of a procedure requiring 5 inputs,       as well as a procedure using SE to combine elements of input.      All in all, it's got nowhere to go but up!of the boxes       you can do so by changing the input variables to the procedures       DBOX.X and RBOX.X (.X being short for 1 and 2, that is any of the       DBOX and RBOX procedures). Make sure that you have the same inputs       to both DBOX and RBOX or your text won't be properly formatted.      The format is:      Box :TX :TY :L :W :TH      where TX is the X co-ordinate of the top left corner of the box;            TY is the Y co-ordinate            L  is the number of columns that the b"X CRSX + 1 MAKE "Y CRSY + 1      END      TO CLS      CS      SETCURSOR [1 0]      CHANGE.COLOR 15 1      END      MAKE "INPUT.2 [\      ]      MAKE "S2 [ANOTHER \      HALF \      BAKED \      LOGO \      ROUTINE \      \       \      ]      MAKE "INPUT.1 [\      ]      MAKE "S1 [ANY KEY!! \       \      ]      MAKE "IN "B      MAKE "LINE 8      MAKE "INPUT [\      ]      MAKE "S [RON MITCHELL'S \      \      LOGO NOTEBOOK. \      \      ANY RESEMBLANCE BETWEEN \      THESill appear where it supposed to, as you see in the       example. Working on it.      This will serve to format screen output to some extent, but it is       a rather crude and complicated way of doing so. Nevertheless,       there are some things to be learned from it. We have the use of       operations CRSX and CRSY. These two output values of the text       cursor based on the current position of the turtle. They are also       examples of what would be, in any other language, functions. These aiting for you to enter text. Don't exceed the bold       black lines, and your text will be formatted as you wish it to be.       Press escape when you've finished entering text, clear the screen       using the CLS command and once you have all three boxes filled       with text, run the procedure MAIN. It will bring up all three       boxes in succession, and repeat the process until you press Escape       again to terminate the procedure.      If you wish to change the size and positions of any ‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      ANN Editor's Note:       The following series of articles (PANEL0 to PANEL9) describe a       panel discussion on CP/M held sometime in 1987. There is some       interesting information here for CP/M buffs. These files were       contained in   think they envisioned that it could be used for a computer.  So he       went off and wrote CP/M.  The first commercial version of CP/M was       version 1.3 in 1976.  I've seen 1.3 once but I know absolutely       nothing about it.  Who else in the room has seen CP/M 1.3 - has       anyone else seen it? So at least that puts me one step ahed of       everybody else.      They had a copyright in '77 and another in '78 and as far as I can       tell CP/M 1.4 came out either right at the end of '77‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      JIM:      I want to do several things.  One is to briefly review the history       of CP/M- what the versions were, what the various operating       systems were, when they came out, and just a couple of notes about       what they are.  And twere       other revisions - if you look at the early public domain software,       CP/M 1.3 had lots of bugs, particularly in the utilities.  Things       like ED and DDT had bugs in them and some of the earliest PD       software was corrections for the bugs and there were versions of       the corrections to get the bugs out of the bug fixes.      In 1979 Digital Research had a big year and and far as most of us        are concerned that's about the only time they ever did anything.        CP/M e.      CP/M.  As the story goes - Gary Kildall was a consultant at Intel       and was there when the 8080 was developed, doing work for them,       and he wrote ED, which all of of us are familiar with and most of       us would like to forget about, and Intel took that.  He offered to       write an operating system for them and they weren't interested.  I       guess they basically figured that the 8080 was something they       could stick in an instrument controller or whatever but I don't     a library kindly provided by the INFOCENTRE Z-NODE       here in Ottawa.      November 18,l987...and created with (hehe) ED.COM      These panel discussions occured late last year.  The       individualsinvolved are named in file PANEL9. Interesting reading       for those who don't really know how CP/M came about and what's       happening with it today.ocumented. No such companion information exists for       LOGO.      In my search through the coding of the LOGO interpreter  or in the       beginning of '78 - the first indication I could find that anyone       had used it was an upgrade on a BIOS that was done in February of       '78.  I no longer have the documentation that lets me see what       happened when the upgrade occured, but one thing that 1.3 did was       to limit you to two disk drives and the only revision in this BIOS       that I could find, looking thru the code, was that the code had       been revised so that you could have four disk drives.  There hen to talk about what drove the development       of CP/M public domain software, principally.  The commercial       software is pretty straighforward, but the public domain software       was driven by some very specific forces.  I want to talk about the       concept of public domain software, and then just review some of       the highlights of the development of public domain software with       CP/M as CP/M went on - some of the things we remember about it - a       few programs and a few peopl2.0 came out.  CP/M 2.0 was a minefield - it had innumerable       bugs and it lasted a couple of months and then came CP/M 2.1 which       was gone in what seemed like a matter of weeks and then CP/M 2.2       appeared - all of this in 1979 - and this is what most of us       regard as CP/M.  Some of us are running CP/M 3 and have never       really seen CP/M 2.  But most of us regard CP/M as CP/M 2.2.  It       was a very solid product - it was very simple in terms of       operating systems - but sticated internal processes and       they have rather sophisticated record locking protection of disk       drives and security features.  These have been built on by OEM's       that made these operating systems even better.  With the proper       hardware thaey ran quite nicely.  If you didn't need them they       were a lot of overhead but in a lot of industrial and commercial       operations they turned out to be excellent operating systems.      We talked about the evolution from 1.3 to 1.4 nwere       complaining about lacking in CP/M 2 by that time had been       corrected by PD software so most of us didn't really see much use       for CP/M 3.  Obviously, in terms of the market that held for a lot       of other people.  CP/M 3 was the first Digital Research product to       be put officially aside and it is no longer being supported.      CP/M 86 is essentially CP/M 2.2 with code translation and some       revision for the difference in the microprocessor but other than       that immediately go to any single record in the file and grab it       whereas previously CP/M use only sequential access and random       access only in a very narrow situation.  So this tremendously sped       up file access.  It had file attributes - read only and system       attributes - it had user areas. Digital Reaseach didn't intend       that user areas provide access to a file structure.  User ares       were inteded to isolate different individual users from one       another, that was the whP/M 2.2.  It didn't have a lot of features       that would make it survive as a mulit-user OS but it had the       fundamentals that would go into later versions of MPM.  MPM 2 and       MPM 86 - they are essentially the same OS, the primary difference       being that one is for the 8080/Z80 and one is for the 8086 family -       the version 2 of each came out in 1981 and the fianl version,       version 2.1 came out in 1982.  These are quite elegant operating       systems.  They have fairly sophiit was a very solid product and the bugs       it has, which it does have, are relatively few and they are things       that most people never see.  There a couple of BDOS bugs but again       you just normally don't run into them.      The next single user evolution was CP/M+ or CP/M 3 which as far as       I can determine came out in about '82.  I have looked at it a       couple of times. I read a number of articles on the upgrades       involved but other than that, most of the features that we ot knowing very       much about it but what happened when we went to CP/M 2.2 is that       the OS got a little more sophisticated, it could handle more       drives - 16 logical drives -, bigger drives and bigger files - up       to 8 MB .  It had de-blocking, which meant that your sector size       didn't have to be 128 bytes anymore, it could be various sector       sizes and you had a way to deal with that.  You now had random       access of records so in an 8 MB file you could virtually       it is essentially CP/M 2.2.  It went thru two revision       version 1 was in '81 and version 2 was in '82.  There was a       version of CP/M 86 that used the new BDOS from CP/M+.  This never       saw the light of day - it was a superb operating system and it was       like greased lightening when you ran it but it never came out of       Beta test because the wave of concurrent DOS sort of overflowed       and it got put aside and buried.  MPM 1 was essentially a multi-       user equivalent of Cole point of it.  If you had one computer       used by six people, each person could work in a different user       area.  It was a rather crude upgrade to accomplish that,       particularly since there was no global .COM file area.  Every user       had to have their own .COM files, which of course filled the disk       up rather fast.  And that's one thing that limited the use of user       areas until features like ZCPR came along.  It had a little more       command line editing than the previoKaypro or the Osborne, you simply couldn't do       it.  You couldn't write a program that dealt with every possible       terminal you could throw at it. And you had to deal with every       possible terminal.  So at least in installation in public domain       stuff the Turbo Pascal installation procedure is really the only       answer that has ever come along to that.  So you have a way to       install code for various terminals.  That's one thing that you can       really respect Rob Bardaby fo evolution of CP/M.  The other versions       that were created for the itsy-bitsy blue machines - things like       concurrent DOS and the later generations that came out of Digital       Research which are actually currently very good operating systems.       They just have very limited markets and they're never going to       have other than limited markets.  But they're not bad operating       systems if you look at current versions.      CP/M software development in the public domain was influely modem programs were driven by hardware.  A       modem stuck to a serial port is the simplest solution but in PD       development what happened was that S100 modem boards like the PMMI       and the DC Hayes board came along and they had a lot of features       that you didn't have in serial modems that were not inordinately       expensive.  So the communications software and the early RCPM       software was all built around these modems. And later on came the       Hayes Smartmodem and anothere find out that 640K of memory is not enough to run one       .EXE anymore and we start looking for other ways of doing it.      The second thing in terms of forces that affected the development       of software, particulary CP/M public domain software, was the lack       of a common terminal interface.  That's one advantage IBM had -       they had lots of machines that looked exactly alike so you could       use a graphic interface.  Under CP/M, except on select lines of       computers like the us versions which were       intended to work with hard copy terminals and now were intended in       some manner to work with video terminals.  They had a better       directory display and they had fixes to PIP and STAT primarily to       deal with user areas and attributes and it had XSUB.  XSUB is a       wonderful tool in terms of batch file operations.  XSUB of course       dissapeared in later versions of CP/M and CP/M 86 has nothing       equivalent to XSUB.      And that's about it for ther.  If you look at Wordstar, from the       beginning it dealt with any kind of terminal that could be run on       it.  There are only a few exceptions to that.  HP terminals being       one, because I just ran into that problem.  But Rob Bardaby       essentially wrote code that could deal with a tremendous variety       of terminals and the code is very efficient and it is very easy to       patch.      The next constraint or force that drove the software was hardware       like modems.  The earnced by a       number of things very rapidly.  The first thing was the memory       space, the limit of 64K.  That probably had more to do with       programming headaches than any other single feature of CP/M the       simple hardware limitation - how much code you cram into that       little space.  Of course it made very good programmers because       programmers learned to do things efficiently whereas in recent       years you can see what has happened to the size of executable       files.  W standard and again the software       follows the hardware in this sense.      One of the single biggest driving forces for PD software in CP/M       were RCPM's.  From the beginning, software was written to run,       maintain and talk to RCPM's.  The greatest bulk of software in       CP/M PD software in any one area has to with this concept and       that's what people are still doing. They're writing code to run       RCPM's and talk to RCPM's and to have security features for RCPM's       and source listings of the BDOS as early as 1981 I guess.  There were       some revisions of the BDOS done by a fellow at MIT Jay has a copy       of the code I gave him a number of years ago I think - adding time-       date stamping doing a lot of other revisions on hte BDOS making it       more effective.  And then along came Echelon's replacement for the       BDOS and there , in fact, were a couple of other BDOS replacements       out there. So eventually, the very nature of CP/M forced public    s came a huge wave of software -       improved directory listers, ultimately disk file managers which       began with WASH and progressed up thru VFILER and the rather       elegant tools that we have today.  A way to cross user area       boundaries, a way to look at the entire disk if you used user       areas.  Backup utilities didn't exist in CPM and they were needed.       And then eventually we saw people start to diddle around with the       operating system, very carefully at first.  I gueso reason for them not to - they just got trapped by       pursuing itty-bitty blue machines.  So that's where things went.      Public domain software.  You see public domain software on disk       but most CP/M PD software has not been distributed on disk; it's       been distributed on RCPM's over the wire, by modems.  For every       byte that's been distributed on disk there have probably been 5 to       10 bytes distributed over the wires.  This was the initial impetus       to PD software in Cre       many other alternatives in terms of CCP replacements other than       ZCPR.  On my systems I normally run something called CP3 which is       totally different from ZCPR and puts a UNIX-like interface on it       with directory trees, main directories and people were looking for       better solutions than Digital Research was giving them.  The last       sort of revisions that came more slowly were the BDOS revisions       making the BDOS more efficient making it work better.  We had       to do file manipulations on RCPM's.  It's amazing how this       mechanism that is used to distribut software at the same time       forced the development of the software in terms of determining       where it was going to go and how it would be shaped.      The last thing which is the most significant factor in terms of       CP/M 2.2 and to come degree CP/M 86 in terms of influencing       software was the problems with CP/M 2.2 and what it didn't do and       what it did poorly.  And out of thi   domain and commercial efforts to make it better.  After the first       toeholds were gained (Digital Research didn't ever seem to say       anything) it sort of snow-balled - people took off and made it       better and better.  So you end up now with an operatiing system       that's CP/M compatible that comes from Echelon.  It's a totally       different OS; it's much better; it's really the next generation;       it's what Digital Research should have done a long time ago and       there was ns the early       perception was that if you did too much, Digital Research would       come along with a big hammer and hit you.  So some of the earlier       patches are anonymous.  Until ZCPR came out, nobody really wanted       to stick their name on a major revision of the operating system.        But the operating system's limititations forced this sort of       software development so along came CCP revisions, and there were a       number of them before ZCPR and after the first ZCPR.  There aP/M.  A number of people around the country got       together.  One of the first things that happened was that in       Chicago the Chicago Area Hobbyists Computer Exchange set up a       bulletin board.  The software was written by Randy Seuss and Ward       Christiansen.  As soon as they had a bulletin board, Ward wrote a       modem program to talk it.  The initial commercial distributor that       I'm aware of was Lifeboat Associates in New York and the fellow       that ran that - Tony Goal, wrs code as a base, adding on to it.  Ward Christiansen       wrote the first checksum file transfer - Zeiger and Mills added       the batch mode and cleaned up the check sum stuff and this is       where Modem7 came from.  And at later points in time things like       CRC verification and lots of very subtle but necessary changes       were made to the code by literally several dozens of people and       it's in some ways still evolving; there are still revisions being       made to the code.      ff Zurko       wrote a game he had to get it started the right way.  Very early       you saw dissassemblers, assemblers, tools to get to the disk and       patch it.  And then you saw languages.  And this progressed.  And       again it was a community of people who were helping each other.        The early versions of a lot of later commercial programs like       BASIC E appeared on CPMUG disks in the public domain, the full       source code.  Tarbell BASIC in full source code, and these were    In fact there was a point in time when Harry       Van Tassel as SIGM president had a policy that no code could be       put on on a SIGM disk that did not include the source.  This       persisted and as a rule pretty much persists with SIGM disks.      Lee wanted me to point out that we don't see this in the DOS       world.  There are exceptions of course - there is lots of good       source code out for PC and MSDOS.  But as a rule programs are not       written in the same sort of spirit as the ports to CP/M.  It's a language that in most cases will       blow FORTH out of the water, if you write code to do an identical       task and do timing tests against it.  So there were early       languages.      One great illusion in CP/M PD software is that all the modem       software has evolved from MODEM7, that Ward Christiansen wrote.        Well, he didn't! He wrote Modem, which was then picked up by a       couple of people, Morg Zeider and Joan Mills, who wrote Modem7,       using Ward'ote some public domain software and       they cranked up a thing called CP/M User's Group, which was       nothing more than a mechanism for distributing public domain       software.  Their first disk came out in 1977 and you had a       beginning community of people who were trying to help each other.        The software on the disk were patches to the then CP/M 1.3, which       had lots of problems.  Very early, on disk 6, came Ward       Christiansen's first modem program.  On the first disk, JeAfter a while we see ZCPR come along.  Even Jay's latest version       of ZCPR, which is a copyrighted commercial product, is available       on his bulletin board in source code! You have to have the right       kind of assembler to run it (nasty people) but it's available in       source code.  For your own personal use you can get the source       code off his bulletin board and run ZCPR3.3.  There is a       continuing philosophy of helping other people and making things       you do available.     rather nice BASICs.  BASIC E evolved into CBASIC.  One of the       earlier series of disks is STOIC, which is a superb interpretive       threaded language, written by Jonathan Sachts, who most of you are       more familiar with as being the person who wrote Lotus 123 and       more recently Lotus Manuscript.  For his thesis work he wrote a       language that ran on an 8080 system that has since been ported to       CP/M.  It was on SIGM disk - since then there have been some more       eleganty were in CP/M and they       are not made available as they were under CP/M.  Even in some       cases CP/M programs have been ported to MSDOS and the source has       not been released.  Where what was ported was public domain - so       that's sort of interesting.      LEE:      I'm glad that you're mentioning some of the names of people who       have written important programs.  I think that we all tend to       accept the public domain utility programs that we run as kind of       "ours" or re.  I'd like to start by picking up       some of the things that Jim was just saying, mainly why one would       want to continue to work in the 8-bit world despite the enormous       tide sweeping people toward 16bit stuff.  For me it really has to       do with that difference in attitude between the people who are       working in public domain software in the CP/M and 8-bit world as       compared to the practice of those working in the 16-bit world.  I       don't know if all my perceptions arain and to some extent of the user       group.  Because really we are a kind of analogue in this user       group to the way that program writers in the public domain       software have operated thru these years.  Excuse me for       interrupting.      JIM:      I've used enough time.      LEE:      OK, thank you for that over-view, Jim.  That's really good.  I'm       going to ask Jay to tell us a little bit about what the present is       like, much more complicated than you may be aware, bon it.  Whereas in the 8-bit       world, we actually want them to do that and most of the program       developments in the 8-bit world have been the result of group       efforts.  And that means that the programs, in the end, are not       limited by the mental capabilties of one person, but, in fact,       several or even dozens of people will contribute to the evolution       of a program.  That's most obvious in something like the modem       programs where you had, as Jim said, Modem2 and then ‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      JAY:      I'm going to actually talk more about the present state of       hardware now than software, Maybe I'll say a few words about the       software.  Most of my remarks about the software will be later       when I speak about the fututruly in the public domain meaning that they were always       there.  Actually they are there because individual people put in       hundreds of hours, often, writing code to make these programs       possible, sometimes to solve their own problems, sometimes just       out of pure charity or altruism.  and donated them to all of us.        It's really a spirit more than a set of facts that has persisted       that is truly characteristic, in my opinion, of CP/M and       particulary CP/M public dome accuate but it's at least how       I perceive things and it leads me not really want to have that       much to do with the 16-bit programming.  I'm really involved with       computers as a hobby for the fun and education of it.  And what I       see in the 8-bit world is a greater sense of cooperation and less       of competition.  So in the 16-bit world you see people not wanting       to release their source code because they don't want other people       to see what they did and to pick up oth in the       hardware and the software areas.  I did mean to mention that Jim       Byron among other things was for a long time the director of the       CP/M user group.  He only recently stepped down in favor of Jay       Sage, who is now the director.  Jay ...rrent DOS sort of overflowed       and it got put aside and buried.  MPM 1 was essentially a multi-       user equivalent of CModem7 and       then IMP and MEX and all of these things really grew out of that       one thread of development.  ZCPR33 is a good example.  Richard       Kahn did most of the work in ZCPR1, 2 and 3.0. I have started an       independent chain in 3.0 to develop an experimental version and I       did not do all that work myself.  During that time there were       several other contributors.  We exchanged the source code and the       thing gradually built.  After Echelon came to me in January and AY:      Put together?  I find that hard to believe!      LEE:      There were over 350,000 Apples running CP/M.      JAY:      And that was more than all the other machines put together?      LEE:      Everyone who was doing serious computing, which in the early days       meant telecommunications, on the Apple was using CP/M and was       using Wordstar.      JAY:      I see, was this statistic from before all the Kaypros and Osbornes       were around, and Ampro?      LEE:      No.   improve it.  And Howard Goldstien, in particular, must have       saved 100 bytes off that code by seeing all the places where there       were inefficiencies that were inherited from 3.0.      The only thing which I hope others will see about ZCPR3.3 is that       it's intended to be educational and part of what goes on in the       8bit world and part of what makes it fun is that the 8-bit world       is manageable and approachable and if you want to learn about how       computers work and get i to see that much going on with Osbornes; I don't       think that many people have brought ZCPR3 to an Osborne machine.        And that's my main contact with the community.  The other kind of       machine is the Ampro and there are a lot of Ampro machines around.       Frank Naly, who is sitting here in the audience, told me that he       recently spoke with Bill ??????? the president of Ampro and to our       amazement, Ampro is shipping about 5000 of their CP/M Little       Boards a month! Not ahe Kaypros and the Morrows and the Osborne       machines.  I'd like to point out a couple of machines that most       people don't think about when they think about CP/M.  The first       one is Apple.  It turns out that people have said that there are       more Apple CP/M machines than any other single kind of CP/M       machine.  I don't know that from my own experience but there are a       lot of those machines around...      LEE:      They said more than all the others put together.      J      asked me to write the official release version, even after that I       continued to work with some of these people and some of these       people contributed blocks of code.  And certainly the Beta testers       worked very hard correcting the code.  So it's not the usual Beta       testing situation, where sombody sends out the product and lets       users use it.  We sent out the source code, so people could look       at the source code and offer suggestions about how to change it       and    JAY:      Even later.  I wonder if that's still true today?      LEE:      I'd venture to guess that it probably is?      JAY:            You think that it still would be.  I can tell you from my       own experience, operating a bulletin board and interacting with       people, the kinds of machines that I see the most activity going       on on include the Apple for sure; there's a very active community.       The Kaypros I see a lot of and the Morrows I see a lot of.  I       don't happennvolved in operating systems and utility       programs it's very easy to and very manageable.  So that code was       incredibly heavily commmented, not only for my own purposes in       writing it, but so that other people could read it and understand       what the steps involved are in an operating system.  So much for       that.      In the past, of course we had certain machines and there are still       a lot of those around.  I think the ones that we are most aware of       of course are t year, a month! Yesterday I called Rick       ???????, their vice president - I know him fairly well from having       done some work with him - and he says there's no way they are       getting out of CP/M.  That is their bread and butter money- maker.       But he had some interesting comments about it.  He said they have       many fewer customers for their Little Board but they are very big       customers. And they are industrial concerns who are mainly       interested in the machines because onced by a       number of things very rapidly.  The first thing was the memory       space, the limit of 64K.  That probably had more to do with       programming headaches than any other single feature of CP/M the       simple hardware limitation - how much code you cram into that       little space.  Of course it made very good programmers because       programmers learned to do things efficiently whereas in recent       years you can see what has happened to the size of executable       files.  W things       going on in CP/M but some of the market has shifted into the       industrial section.  Later on when I talk about the newest       products like the Ultra Board, ywe will see that the same kind of       thing is happening.      The other things that are going on in the hardware that's       classified as present is the SB180 and the advent of the Hitachi       64189 microprocessor which does everything the Z80 did but has a       larger memory address space.  And so ultimately will cs back when I was in graduate school       entailed that I do programming in assembly language and Fortran       and after I finished just enough to get my thesis work done I       swore that I would never do it again.  And so far I've pretty well       been able to hold to that. We were talking at dinner and I said       that I'd managed to modify one of Irv Hoff's assembly language       programs by copying some of his code and I've written a few things       in BASIC. But my major concern is with ter.t DOS and the later generations that came out of Digital       Research which are actually currently very good operating systems.       They just have very limited markets and they're never going to       have other than limited markets.  But they're not bad operating       systems if you look at current versions.      CP/M software development in the public domain was influef that rock-solid CP/M 2.2       operating system.  They don't really care about the user       interface, they care about these machines as controllers.  They       have a file system, a very good file system, and it's a very       costeffective solution to their problems.  And Ampro Little Board       with CP/M single quantities is now 150 or 160 dollars and 195 with       the hard disk interface.  And in quantity 100 you can imagine they       are considerably cheaper.  So there are still a lot of‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      Carl:      I have a rather different perspective or I think of myself as       having a different perspective on microcomputers on CP/M.  I guess       I see myself as an application oriented person.  My initial       involvement with computerome in much       more interesting CP/M compatible mashines.  One other thing that       I'm not gooing to talk about but I'll throw it out in case someone       wants to bring it up in hte question period is what's going on in       the European community.  I go every summer for some period of time       to Europe and I have made some efforts to find out what's going on       in the computer world over there.      LEE:      I think actually Karl Rodow knows something about the Amstrad       compuwhat's called application       programming. And I think most users, the overwhelming majority of       microcomputer users, now are application oriented. The reason I       mention that is that I think that that has been a major change in       the microcomputer user community.  It's one that one sees even       more strongly in the MSDOS community. And I think that that change       has been part of the reason behind the change in the attitude       toward public domain software.  I would characterhere it's very easy to write particular       code. Then there are two other areas that have tended to get short       shrift among most people but which really were more important in       terms of development of microcomputers. One is games which in the       old days of microcomputers used to be called simulations and were       either very high- powered projects being done for the department       of defense to try and figure out how to win wars or they were       things that main-frame operators Now       I'm sure you've all encountered someone like this if you've ever       helped anybody with their computer - someone who really doesn't       understand why you have to format a disk or why on a Kaypro you       have to tell the machine that you've changed disks. They tend to       be seen as naive but in fact is that the overwhelming majority of       people who use computers are like that.  Their orientation is       really toward getting a task done and it is not a computor task;        the       schools in computer literacy courses and do they need to learn how       to program. It very much became a case of the dog kind of chasing       its tail because in order to learn about computers you had to       learn to program and could you really learn about computers - well       I don't want to go too far with it. But I think one of the issues       that arises when one looks at that application is to what extent       is CP/M and the machines that it supports - essentially 8-bit   had on my list is word processing. The next you may       not recognize; I call it financial and mathematical modeling. You       may think of that as spreadsheet applications but it is really       mathematical modeling. The next is telecommunications. The next is       database and/or list management and report generation. And I       consider, even though I am an economist, I consider accounting       applications as really a subset of that database. It happens to be       a very specialized one wize that change       as less in terms of what people do than with their attitude toward       computers. I wrote myself a little note and it says that the user       community expanded to include individuals who were either       unwilling or unable to work with the A> prompt, that is to work       directly with the operating system. They were either perceive by       software developers as needing to be sheltered from the operating       system or who chose not to learn about the operating system.  did to try to divert themselves       at two in the morning when huge jobs were running and all they had       to do was watch the lights go on on the console.  And the last       category of applications is education which really brings us right       back around to the first thing on my list but the one I didn't       want to mention first and that is programming.      As you recall a couple of years ago there was a lot of discussion       about computer illiteracy and what should people learn init is not getting a program written but it is getting a report out       or something like that. That's really what I mean by being       applications oriented.      I try and think about what application there are that run on       microcomputers and I would be lying if I said I knew all of them       but let me try and list what I see as the major kinds of       applications and I think that will help us take a look a bit at       what the state is of CP/M and where it's going.      The first I     computers - to what extent are those machines adequte for handling       the kinds of applications that I've talked about. Now it's very       clear for example that there are certain kinds of modeling that       you just can't do on an 8-bit microcomputer. I wouldn't be able to       use my Osborne or any of your Kaypros to do weather forecasting,       even just for the Boston metropolitan area.  There just isn't       enough computing power.      LEE:      You might do just as well.      Cf applications, what's happened?  We       were talking at dinner and I mentioned that to the best of my       knowledge, with the exception of the Commodore 128 which is       certainly not marketed as a CP/M machine, the only turnkey system       that I know of that is being sold as a CP/M system in fact is not       being sold as a computer.  It's the Amstrad word processing       system. It is a full CP/M system but is sold in this country as a       word processor. It comes as a system unit, mon    hand, a task like accounting,where there is not a very large data       base that has to be taken into account, or word processing where       there is never a large amount of data strike me as tasks where       CP/M can be more than adequate. In fact when I look at my use of       micros and in fact I'm using both my Osborne and an IBM AT clone,       I find that for the bread and butter applications that I had       started working with the Osborne on, they run just about as fast       and some standard       CP/M Basic.  But to get back, I think the situation with CP/M       fundamentally is that for those people who have an application to       solve, if they are sensible enough to listen to some of their       computer-using friends who have been around for a while, they       might be lucky enough to end up with a very very inexpensive CP/M       system that will more than adequately handle most of their work.       Most of the people I know who use computers who don't do so       prosuperior       on the Osborne.  I have yet to find anything in the 16-bit world       in terms of telecommunication that I can't do on my Osborne.  Yes,       it's nice to be able to do scripts and not to have think about       logging on but that's not a real big deal.      LEE:      You can do that on the Osborne.      Carl:      I'm aware that I can. But the real issue to me as an application       oriented person is if CP/M and 8-bit machines are so damn well       suited for so many kinds oarl:      I might do just as well. If there are any meteorologists in the       group I'd be interested in hearing how well one could use small       computers. But my sense is that for certain kinds of problems,       specifically where there is modeling and there are very large data       bases that change very frequently that 8-bit computers and even 16-       bit computers are simply not adequate.  Certainly for that kind of       problem, CP/M just is never going to be adequate. On the other   itor and I believe a       daisy- wheel printer with what I think is a flippy disk which has       the word processing software on one side. This word processor is       apparently menudriven. On the other side is straight CP/M with all       the CP/M utilities. I was looking through something that someone       very thoughtfully brought along and there's a little bit in here       about the Amstrad user group and they are talking about the       alternatives to Microsoft Basic which is of course the cases faster on the 8- bit machine. The only benefit I'm       getting from the larger machine is either the ability to handle       much larger bodies of data in memory and the bottle neck is not       really the software but software that was never designed to handle       large masses of data running on a machine that has very very slow       disk access that makes dealing with very large data bases even       slower than it need be.      Telecommunications seems to my way of thinking to be far fessionally, my friends who have home computers, buy       Macintoshes and a variety of MSDOS machines because they are       what's out there and are what's current.  But for the use they       make of the special features of those machines, they would       probably have been better off buying a used Kaypro or used Osborn.       They would certainly have spent less money or used more with all       the software that those machines typically come with.  All of       their home data processing kinds xt few years unfortunately we are going to see the demise       of CP/M. I think it's unfortunate and I will bemoan the loss of a       very functional and useful operating system that could save people       a lot of money.  But I just don't see anything else on the       horizon. Thank you LEE: The word "turnkey" is an interesting       phrase because it really indicates something that you just turn on       and it works for you as opposed to a machine that presents you       with a prompt and waitand nobody can find       software for that kind of machine in any store locally and there       are only a bunch of weirdos like us up here and you out there who       understand what this machine is all about and there are all these       decisions you have to make about which software you want to use       and which hardware you want to use and there all those choices to       make I think the dicision the consumers are going to make is going       to be to go with the computer that is more nearlynd large other than the       thrill of driving a sports car down the autobahn. But it obviously       is a C-change ?????? and I think that kind of a C-change ???? may       be what's going to happen in computers if it hasn't happened       already that will make it possible for the great majority of       people who now don't use computers ultimately to start using them.       Anyway that's a different subject Bob, do you want to talk a       little bit about what's going on in the software area?t we       can buy in a store that will do the job.  We are not used to       integrating a set of separate pieces into a solution for a       problem.  I think that's even more likely to be the case when we       are not approaching the problem to be solved in a professional       environment, we are doing it in an amateur kind of environment.       Since most computer users are no longer people who feel at home       with the hardware and with the guts of the software. I think that       in the neof tasks would have been taken       care of and they would have saved a lot of money.  Now whether I       think that it's likely that that's going to happen I have to       honestly say I just don't think that's going to happen.  In a day       and age when the newest quote unquote computer can be bought at a       Zayre or a Caldor in the form of a Blue Chip MSDOS machine for six       or seven hundred dollars and it looks like a bargain and there is       no machine around that calls itself CP/M s for you to do something which you have to       learn how to do before you can do anything. That sort of reminds       me of the advent of hydromatic drive in automobiles which       liberated - which made it possible for hundreds of thousands,       maybe millions of people to drive automobiles who never otherwise       might have done so, including my wife. It may be that's there is       no great loss with hydromatic drive and automatic transmissions       replacing the manual transmissions by a a commodity item       and for which they can have someone answer their questions by       simply pointing to a product. I think you have to remember that       from a marketing point of view  - we are all fairly familiar with       the way things are marketed in this country - that we in this       country tend to be believers in self-contained solutions whether       it's for bad breath or under-arm deodorant or what have you we are       used to there being something that someone can point to thaalled CP3 which is       totally different from ZCPR and puts a UNIX-like interface on it       with directory trees, main directories and people were looking for       better solutions than Digital Research was giving them.  The last       sort of revisions that came more slowly were the BDOS revisions       making the BDOS more efficient making it work better.  We had      chines that I really programmed in       terms of doing operating system programming had a 30 bit word so       you consider that to be aproximately 4 bytes today and a maximum       memory or 32K. So this machine had 128K memory which is twice as       much as most CP/M machines today. It had a multi user operating       system that could do just about everything that you can do with an       IBN PC today. It just really amazes me when I hear about MSDOS       machines that require 512K to run.  At ‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      Bob:      I had planned to talk about the current state of public domain       software. Jim pretty well covered some of the early history. I'd       like to just say a few things which have occured to me as well as       to other people and wd by       people who want to learn how to program a machine. It's a lot       easier to look at a CP/M machine and to understand how it works       and get into it than it is to look at an IBM PC, for example. At       any rate that's one thing that appeals to me about CP/M machines.        They talk about public domain software. Actually I think it is       changing today. I think there is definately a decline in the       amount of public domain software for CP/M and in fact I think that       I f them but they were small machines with       limited memory. The only way to make those machines do anything       very efficiently was to use assembly language and programming       machines like that was a real art. Today most of the programming I       do is in languages like C on minicomputers or VAX's or UNIX based       machines or engineering work stations where memory is no problem.       If you run out of memory you put another megabyte memory card in       the machine. One of the first ma source listings of the BDOS as early as 1981 I guess.  There were       some revisions of the BDOS done by a fellow at MIT Jay has a copy       of the code I gave him a number of years ago I think - adding time-       date stamping doing a lot of other revisions on hte BDOS making it       more effective.  And then along came Echelon's replacement for the       BDOS and there , in fact, were a couple of other BDOS replacements       out there. So eventually, the very nature of CP/M forced public    any rate, for me there's a       great interest in the programming of the machine for the fun of       programming it.  I'm a lot different than Carl; he's applications       oriented and I'm just the opposite. I'm totally systems       programming oriented - that's all that interests me about it. I       imagine there aren't many people here in this room who are like       that and want to use their computers for that reason but I think       that there is a lot of interest in CP/M by programmers anhich relate, I think somewhat to the future       of CP/M and that is why CP/M appeals to me personally. I guess I'm       the only one of the six people up here who programs computers full       time for a living. So the question is why would I be interested in       playing around with CP/M as a hobby which is what it is for me.       The reason I think goes back to my roots as a programmer 20 years       or so ago on machines that if I mentioned the models no one here       would have ever heard owould prefer not even to use the term "public domain" but       instead "publicly distributed" because a lot of the better       programs I've seen in the last year or two years particularly are       a bit different than some of the early programs that Jim talked       about. They are not coming out with source code so much any more.       There still is however a different attitude in CP/M than there is,       for example, in MSDOS. One program that I wrote and distributed       publicly had it's o most cases by paying a       certain amount of money for the program you would get some sort of       additional benefits for doing so. That concept is practically       unheard of and has been unheard of in CP/M and I think it is       changing. Even Jay is sitting over there smiling. Even with ZCPR33       I found it very interesting that the decision was made not to       distribute the documentation in machine readable form but to       charge what I think is a modest price, $15, for the user's em operators or to people       using those systems. There has been a lot of interest in new       compression techniques. For CP/M there's a program called CRUNCH       which I think most people are familiar with today if you call into       RCPM systems but if you're not and once the new Kaypro board goes       on line as an RCPM system you may see a lot of files with a Z as       the middle letter of their extension. This is a new compression       technique similar to but more advanced than squeeof resistance to that kind of thing from some old-time public       domain contributors but some of the reasons for the original       development of public domain software have gone away for CP/M.       People no longer really need a lot of sharing and a lot of help to       understand these new computers that have come along. And another       aspect, I'm not familiar with it but other people have told me       that the Commodore 128 is really a very strong influence.  Gerry       can tell us more      because that's my interest.      I do perceive some change in the attitude toward CP/M software and       I think some of it is due to the fact that there has been a       decline of interest. I'm very familiar with some of the similar       programs for MSDOS that deal with archive files, for example.  And       all of these programs are distributed as shareware,quote unquote,       where they are distributed publicly on remote access systems but       the authors request a contribution and inrigins in MSDOS. It was a program to read these       MSODS .ARC files which began cropping up in bulletin boards. In       fact if I start to think about what new programs there are for       CP/M - Jim made the point that a lot of the CP/M software       development stemmed from RCPM - and I think that almost everything       that I could think of, in the last year particularly, has its       origins somewhere in bulletin board systems or RCPM systems. Or       things that either relate to the systmanual.       I think that people who do this kind of software for CP/M very       actively are changing their opinions about it somewhat because       it's the only way they are going to survive. Companies like       Echelon, which I think is a very inportant factor in preserving       CP/M, are running a business and they have to make money.  I think       there is a need for people in the CP/M area to start to recognize       this somewhat that's a personal feeling anyway. You'll get a lot       zing ( which used       a Q and came along before) and it actually had its origin in the       .ARC files that are used in MSDOS. There have been a lot of       upgrades to standard utilities to handle crunched files. File       typing programs. There's talk that a new version of NULU may come       out at some point in the future that will automatically crunch and       uncrunch files when you add them to the library. And there has       been some interest in .ARC programs which I have to mention  about that but figures I have heard is that there       have been over a milliion Commodore 128 systems sold. They are all       capable of running CP/M+ but I'm not aware of how many people       actually are. From talking at dinner I think I had an impression       that more people were using CP/M on the C128 thatn there are. Now       I think I'll turn it over to Gerry.      LEE:      Gerry, why don't you just pick it up from that point?      - Has a virtual disk drive called drive E: for easy operation with         one disk drive.      - Local and remote handling of keyboard code.      - User definable key codes.      - Supports a variety of double density MFM disk formats for reading        and writing including EPSON QX10, IBM-8 SS(CP/M 86), IBM-8 DS(CP/M        86), KayPro II, KayPro IV and Osborne DD.      Potentially, the C128 is a tremendous market for CP/M because of       the huge installed base. But the fact that it is a‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      The Commodore C128 is the successor to the C64, which is the most       successful computer in terms of units sold of any computer ever       made. Before that they had the VIC20 and the PET. The PET was the       first microcomputer that one c    isn't particularly fast.  The clock runs at only 2 MHZ and the       disk is on a serial bus.  It takes about 45 seconds to boot it up.       So one turns it on and goes for a cup of coffee and when he       returns the A> prompt is up. Once up it does a great job of       running CP/M albeit slowly. The one saving grace is the $125       expanded memory option which gives 512K additional memory.  This       entire 512K automatically becomes a RAMDISK for CP/M so once the       programs being calalso       furnished.  In the CP/M mode, a second microprocessor is used, a       Z80, giving all the capabilities of Digital Research's CP/M Plus       Version 3.0 plus several new capabilities added by Commodore.      This version of CP/M has six resident commands: DIR, DIRSYS,       ERASE, TYPE, RENAME and USER.  All other commands are transient.        Some of the special features are these:      - Runs banked mode to give access to the 128K.      - Selectively displays the disk status line.f applications, what's happened?  We       were talking at dinner and I mentioned that to the best of my       knowledge, with the exception of the Commodore 128 which is       certainly not marketed as a CP/M machine, the only turnkey system       that I know of that is being sold as a CP/M system in fact is not       being sold as a computer.  It's the Amstrad word processing       system. It is a full CP/M system but is sold in this country as a       word processor. It comes as a system unit, mon three-way       computer means that you don't have to run CP/M whereas with a       KayPro or an Osborne you do have to. So unless one has bought the       C128 for a particular CP/M application or is just interested in       CP/M ( which was my case) then there is no great impetus for one       to start using CP/M. There are so many programs for the C64 and       new flashy programs are being written for the native C128 mode       complete with super sound and graphics. Also the CP/M on the 128   ould buy that was all assembled.        Others of that time were available only in kit form.      The C128 was introduced in mid 1985 and has sold well over a       million units.  It is really 3 computers in one. It emulates the       C64 so that all of the thousands of C64 programs are useable. In       the C128 mode the same 6510 microprocessor is used as in the C64       mode but access is given to the full 128K of memory and the screen       is 80 column instead of 40. A more powerful Basic is led are written there, access is nearly       instantaneous.      Lee:      You have to save the contents of the RAMDISK?      Gerry:      Any new stuff you have to save. And writing is much slower than       reading on the disk.      Lee:      Is the speed of the disk slower under CP/M than in the native mode.      Gerry:      No, its the same. There is a little program one can run which over-      rides the verification during writing and this speeds up the       writing by about 40%. I haan Deere of the Emerald Coast       ADAM User's Group who provided a good portion of the material you       see here. They are regular contributors to these disks, and they       deserve the appreciation of ADAMites for their longstanding and       solid contribution.      Not only that, we enjoy reading what they have to say. You'll       especially like Faye's description of her adventures into TDOS.       She is encountering some of the typical things that novice TDOS       users run into, and s      programs that the bulletin boards are very kind to offer. During       the last year I have raided all the local bulletin boards - I had       nothing to contribute and could only download. After a while I       would upload if I noticed one missing from a board. And I have       gathered 30 disks full of public domain programs each of which I       have run at least once!      So the C128 is a real CP/M system.  Commodore tried with the C64       with a little plugin cartridge holding a Z80  stuff.      Other material on the disk, the PANEL discussions come from the       INFOCentre R/CPM library here in Ottawa. I have no idea whatever       when these discussions occurred, but the people involved, some of       whom I've had the pleasure of meeting personally, are still       regarded as major players in the CP/M world. The discussion is       somewhat dated, but it's interesting to read the various       statements made about trends in the computer world and compare       them to wh‚KяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяЮяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя      The ADAM News Network      Monthly Disk.      May, 1995.      The game of catch up continues. This disk features a variety of       subject material and should contain something to please everyone.       My personal thanks to Faye and Normve to use it when downloading programs       because otherwise the disk is so slow that some bulletin       boards time out every once in a while during the writing of       the 32 blocks. Long programs just never make it.      The reason I got the 128 is that I wanted to have a real operating       system in my home.  I had the C64, I had a lot of programs for the       64, the 128 was a natural thing to go to plus it has a real       operating system. Plus all these hundreds and thousands of free he's writing about it every step of the way.       This is the kind of ADAM experience we need to read about. Just by       describing her 'struggle', she is leading the way for others who       want to get into TDOS but who, to this point have been afraid to       do so.      Special thanks goes also to Jerry Vrancks who has laboured hard on       a series of articles about Compuserve. If you read and heed,       you'll get the information you need to cut down on those CIS       bills. Interestingbut it never worked       real well. But this works well with the lack of speed being the       only real drawback.  I have a lot of fun with it and am quite       satisfied.      Lee:      Thank you Gerry. Jay, I'm going to ask you to peer into your       crystal ball and tell about the future - the near future.unch files when you add them to the library. And there has       been some interest in .ARC programs which I have to mention  at has actually happened. The introduction to this       series is contained in PANEL9.TXT, which really should be read       first.        Here is the rest of the lineup.      ADMCON7.TXT      An article by Faye B. Deere on the upcoming ADAMCON 007 slated for       July 20 thru 23 1995 in Kitchener Ontario.      ALL-AADA.TXT      An article submitted by the Emerald Coast ADAM User's Group,       written by Randy Honeyman, entitled All About ADAM. There are some       interesting historical  Connecticut CP/M User's Group. There is no record of when       this discussion held, but the content is still useful. It will       serve as background to the CP/M and TDOS newcomer. The last       four of these segments are on side two.      README-1      This File.unch files when you add them to the library. And there has       been some interest in .ARC programs which I have to mention  . We're still dealing       with the same problems.      CISCONT.TXT      In this article, Jerry Vrancks of the 463 ADAM User Group       continues his explorations of Compuserve. He shows us how to       navigate in the club area and send messages so that we can feel       like one of the community.      EMBCMD.TXT      Norman Deere (Emerald Coast ADAM User's Group) describes a couple       of important aspects of printing with ADAM, and things you should       watch out for when you use ADA Connecticut CP/M User's Group. There is no record of when       this discussion held, but the content is still useful. It will       serve as background to the CP/M and TDOS newcomer. The last       four of these segments are on side two.      README-1      This File.unch files when you add them to the library. And there has       been some interest in .ARC programs which I have to mention        A companion article written by Jerry Vrancks about the ADAM       Gallery of Honour. We're asking for votes for this years       inducteed. The deadline must be met. You'll have to hurry.      LOGO31.105      The LOGO Notebook by Ron Mitchell.  This installment explains one       possible method for text formatting on the screen. It provides a       program which will do it.      PANEL0.TXT  - PANEL5.TXT      A series of 9 files transcribed from a panel discussion organized       by theinsights here.      BOXES.LGO      A LOGO program by Ron Mitchell to serve as illustration to LOGO31.       the purpose of this program is to show how to put text boxes on       the screen and to format text to fit within those boxes.      CCPM.POE      An article by Rick Swenton entitled, "Newsletter Blues". This       article originally appeared in the CP/M newsletter "Pieces of       Eight", the newsletter of the Connecticut CP/M User Group in       January 1990. I do hope it conveys a point      A companion article written by Jerry Vrancks about the ADAM       Gallery of Honour. We're asking for votes for this years       inducteed. The deadline must be met. You'll have to hurry.      LOGO31.105      The LOGO Notebook by Ron Mitchell.  This installment explains one       possible method for text formatting on the screen. It provides a       program which will do it.      PANEL0.TXT  - PANEL5.TXT      A series of 9 files transcribed from a panel discussion organized       by theM with a Dot-Matrix printer. Read       all about the infamous  'blank linefeed' bug which is as old as       ADAM itself.      FILES.TXT      An article by Ron Mitchell called, "Now Let's See... Where Did I       Put That?". What kinds of files do you keep and where? Are you       able to find them 6 months later? How about 6 days later? If not,       why not?      GOH-95.FRM      The ballot form for the ADAM Gallery of Honour voting. Don't       delay, get your votes in.      GOH-95.TXTееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееее