home *** CD-ROM | disk | FTP | other *** search
/ Fujiology Archive / fujiology_archive_v1_0.iso / !MAGS / STREPORT / STR064.ZIP / STR064.TXT < prev   
Encoding:
Text File  |  1989-01-02  |  91.9 KB  |  1,840 lines

  1. ==========================================================================
  2.  
  3.                *---=== ST REPORT WEEKLY ONLINE MAGAZINE ===---*
  4.  
  5.                       "The Original Online ST Magazine"
  6.                        ------------------------------- 
  7.  
  8. December 05, 1988                  Monday                 Volume II  No.64
  9.  
  10. ==========================================================================
  11.  
  12.  
  13.                          ST Report Online Magazine 
  14.                        ------------------------------
  15.                           Post Office Box   6672
  16.                            Jacksonville, Florida
  17.                                32236    6672
  18.                                 R.F. Mariano
  19.                              Publisher - Editor
  20.                  _________________________________________
  21.  
  22.                        Headquarters Bulletin Boards
  23.                        ----------------------------
  24.     North                                                        South
  25.   201-343-1426                                              904-786-4176
  26.                    Central                       West
  27.                  216-784-0574                916-962-2566
  28.  
  29. --------------------------------------------------------------------------
  30.  
  31.                                  Highlights
  32.                                  ==========
  33.   ~ From the Editor's Desk.............~ COPYRIGHT? ...................
  34.   ~ DISCOVERY & SPECTRE!...............~ XL/XE Xformer SECRETS!........
  35.   ~ Pro GEM Windows #15................~ ST REPORT CONFIDENTIAL........
  36.                               and....much more!
  37.  
  38.  ========================================================================
  39.  AVAILABLE ON:     COMP-U-SERVE  ~  DELPHI  ~  GENIE  ~  THE SOURCE
  40.  ========================================================================
  41.  
  42.  
  43. From the Editor's Desk:
  44. -----------------------
  45.  
  46.  
  47.       Software Theft is....  a sickness, an addiction, the manifestation 
  48. of an ego problem, a solid sign of a character flaw and just plain 
  49. downright illegal and dirty.  We have heard all but one of the rational 
  50. explanations over the past few million days....We the userbase have the 
  51. software thieves outnumbered at this point, so why not really outnumber 
  52. them?                                                  ------
  53.  
  54.       This could be accomplished overnight (practically) by our favorite
  55. company, Atari.  If Atari were to begin shipping the RIGHT quantities of
  56. ST computers THROUGHOUT the USA, the developers would soon see that the
  57. initial market impact of software would easily surpass the "break even"
  58. point no matter how many software thieves there are.  Example: IBM - MAC
  59. and Amiga.
  60.  
  61.       Software Theft is, without a doubt, crippling the marketplace for
  62. Atari, and the major cause is pure and simple "economics".  There are not
  63. enough machines in service in the USA to overcome the losses caused by the
  64. software thieves.  For example; Let's say Company A has 300,000 machines 
  65. in place and Company B has 800,000 in place.  Of the two, which is more 
  66. likely to yield to the developer better sales vs theft with the release of
  67. each new piece of software?
  68.  
  69.       One of the largest contributing factors to Software Theft is "LEGAL"
  70. activities by the SOFTWARE RENTAL OPERATIONS... 
  71.  
  72.                      Let's look at a little scenario; .......
  73.  
  74.       "The userbase has been waiting for almost six months for a 
  75.       particular piece of software to be released, the entire country 
  76.       breathlessly awaits this super new item.  The time for it's release
  77.       arrives and it hits the market!  Dirty Nellie's Software Rental 
  78.       Emporium has had 50 copies on back order with their distributor and
  79.       as expected, the day it arrived all fifty copies were rented.  
  80.  
  81.       Out of the fifty, 17 were rented mail order and the rest over the
  82. counter.  It really doesn't take an MIT grad to see the story unfold here,
  83. the folks who "rented this thing" come from "all over" and will more than
  84. likely dub the thing and put it on their own or a best friend's BBS to be
  85. the "first" to have it available.  The bottom line here is that software
  86. rental in a number one contributing factor to easy software theft.  We
  87. must, as an organized userbase, discourage the patronage of software 
  88. rental houses.
  89.  
  90.       On to a different subject, now, with the Commodore line available 
  91. through mailorder it is easy to see that they have a real marketing plan 
  92. for the USA ...that is to fill the gap left by Atari's gross negligence in
  93. the USA.  Can you believe that Atari will probably earn good money selling
  94. AMIGA COMPUTERS this Christmas in it's Federated Stores?  Also, for the 
  95. record, an Amiga 2000 fully equipped including a 1200bps modem and Color 
  96. Monitor is available through mail order for less than 2000.00!  I call 
  97. that a very ambitious effort to own the home computer market in the USA. 
  98. We certainly hope Atari will find a way to neutralize this latest effort 
  99. by Commodore to overpower Atari Computers in the US marketplace.
  100.  
  101.       In a more direct vein, I am (personal opinion) very confident of
  102. Atari's future in the US, there are many people with the "blind faith" 
  103. needed to help bring about the "new wave" of Atari ST popularity for 
  104. a strong success.  Hopefully, Atari will see that the main thrust of 
  105. their marketing advance should come with a priority of; a)- provide an 
  106. ample and continuous supply of ST equipment, b)- a highly visible and 
  107. aggressive NATIONAL ad campaign, c)- easily accessible service network.  
  108.  
  109.       We are hearing about the highly efficient and greatly appreciated 
  110. exchange program, perhaps Atari ought to make sure all the users are aware
  111. of this fine policy.  Also, hats off to the service dep't!  At last, rapid
  112. efficient and accurate service with few, if any, busy signals.
  113.  
  114.  
  115.                                          Ralph..........
  116.  
  117.  
  118.  
  119.  
  120.  
  121. *************************************************************************
  122.  
  123.  
  124.  
  125.  
  126. IMPORTANT NOTICE!
  127. -----------------
  128.  
  129.      As a reader of ST Report Magazine, you are entitled to take advantage
  130. of a special DELPHI membership offer.  For only $29.95 ($20 off the 
  131. standard membership price!), you will receive a lifetime subscription to 
  132. DELPHI, a copy of the 500-page "DELPHI: The Official Guide," and a credit
  133. equal to one free evening hour at standard connect rates.
  134.  
  135. Signing up with DELPHI
  136. ----------------------
  137. Using a personal computer and modem, members worldwide access DELPHI
  138. services via a local phone call.
  139.  
  140. Join--- DELPHI
  141. --------------
  142. 1. Dial 617-576-0862 with any terminal or PC and modem (at 2400 bps, dial
  143.    576-2981).
  144.  
  145. 2. At the Username prompt, type JOINDELPHI.
  146.  
  147. 3. At the Password prompt enter STREPORT.
  148.  
  149. For more information, call DELPHI Member Services at 1-800-544-4005, or
  150. at 617-491-3393 from within Massachusetts or from outside the U.S.
  151.  
  152. DELPHI is a service of General Videotex Corporation of Cambridge,
  153. Massachusetts.
  154.  
  155.  
  156.  
  157.  
  158. **************************************************************************
  159.  
  160.  
  161.  
  162.  
  163.  
  164.                                   Copyright Law
  165.                                   =============
  166.  
  167.                                 Jordan J. Breslow 
  168.                            1225 Alpine Road, Suite 200 
  169.                              Walnut Creek, CA 94596 
  170.                                  +1 415 932 4828 
  171.  
  172.  
  173.  
  174.                I am an attorney practicing copyright law and computer  law.
  175.           I  read  a series of queries in net.legal about copyright law and
  176.           was dismayed to find that people who had no idea what  they  were
  177.           talking  about  were  spreading  misinformation over the network.
  178.           Considering that the penalties for copyright infringement can in-
  179.           clude  $50,000.00  damages  per  infringed  work, attorneys fees,
  180.           court costs, criminal fines  and  imprisonment,  and  considering
  181.           that  ignorance  is  no  excuse and innocent intent is not even a
  182.           recognized defense, I cringe to see the network used as a soapbox
  183.           for the ill-informed.  For that reason, this article will discuss
  184.           copyright law  and  license  law  as  they  pertain  to  computer
  185.           software. 
  186.  
  187.                My goal is to enable readers to determine when  they  should
  188.           be  concerned  about infringing and when they can relax about it.
  189.           I also want to let programmers know how to obtain  copyright  for
  190.           their  work.   I'll explain the purpose of software licenses, and
  191.           discuss the effect that the license has on copyright.  For  those
  192.           of  you who are programmers, I'll help you decide whether you own
  193.           the programs you write on the job or your boss owns them.  I will
  194.           also  mention  trademark  law and patent law briefly, in order to
  195.           clarify some confusion about which is  which.   Incidentally,  if
  196.           you read this entire essay, you will be able to determine whether
  197.           or not the essay is copyrighted and whether or not you can make a
  198.           printout of it. 
  199.  
  200.                This is a long article, and you may not want to read all  of
  201.           it.   Here is an outline to help you decide what to read and what
  202.           to ignore: 
  203.        1.      The Meaning of Copyright from the Viewpoint of the Software
  204.                User 
  205.        1.1     A bit of history 
  206.        1.2     The meaning of copyright 
  207.        1.3     The meaning of public domain 
  208.        1.4     A hypothetical software purchase 
  209.        1.5     Can you use copyrighted software? 
  210.        1.6     Can you make a backup copy? 
  211.        1.7     Licenses may change the rules 
  212.  
  213.              (C) Copyright 1986 Breslow, Redistributed by permission 
  214.  
  215.           Copyright Law                                         1
  216.           Copyright Law                                         2
  217.  
  218.        1.8     Can you modify the program? 
  219.        1.9     Can you break the copy protection scheme? 
  220.        1.10    Summary 
  221.  
  222.        2.      Copyright Sounds Neat -- How Do I Get One? Or, How Do I Know
  223.                If this Program is Copyrighted? 
  224.        2.1     How do you get a copyright? 
  225.        2.2     How do you lose a copyright? 
  226.        2.3     How do you waste a stamp? 
  227.        2.4     Do you have to register? 
  228.        2.5     How copyright comes into existence 
  229.        2.6     The copyright notice 
  230.        2.7     Advantages of registration 
  231.        2.8     A test to see if you understand this article 
  232.  
  233.        3.      Who Owns The Program You Wrote? 
  234.        3.1     Introduction 
  235.        3.2     Programs written as an employee 
  236.        3.3     Programs written as a contractor 
  237.  
  238.        4.      A Brief Word about Licenses 
  239.        4.1     Why a license? 
  240.        4.2     Is it valid? 
  241.  
  242.        5.1     Trademark law explained 
  243.        5.2     Patent law 
  244.  
  245.        6.      Conclusion 
  246.  
  247.            1.  The Meaning of Copyright from the Viewpoint of  the  Software
  248.                User 
  249.            1.1.  A bit of history 
  250.  
  251.                 If you're not interested in history, you can skip this para-
  252.           graph.   Modern  copyright law first came into existence in 1570,
  253.           by an act of Parliament called the Statute of  Anne.   Like  most
  254.           laws,  it  hasn't  changed much since.  It was written with books
  255.           and pictures in  mind.   Parliament,  lacking  the  foresight  to
  256.           predict  the success of the Intel and IBM corporations, failed to
  257.           consider the issue of copyrighting computer programs. 
  258.  
  259.                At first, courts questioned whether programs could be  copy-
  260.           righted  at  all.   The problem was that judges couldn't read the
  261.           programs and they figured the Copyright Law was only meant to ap-
  262.           ply  to things humans (which arguably includes judges) could read
  263.           without the aid of a machine.  I  saw  some  mythical  discussion
  264.           about  that  in  some of the net.legal drivel.  Let's lay that to
  265.           rest:  programs are copyrightable as long  as  there  is  even  a
  266.           minimal  amount  of  creativity.  The issue was laid to rest with
  267.           the Software Act of 1980.  That Act modified  the  Copyright  Act
  268.           (which  is a Federal law by the way), in such a way as to make it
  269.           clear that programs are copyrightable.   The  few  exceptions  to
  270.           this rule will rarely concern anyone.  The next question to arise
  271.           was whether a program was copyrightable if it was stored  in  ROM
  272.           rather  than  on  paper.    The decision in the Apple v. Franklin
  273.           case laid that to rest:  it is. 
  274.  
  275.           1.2.  The meaning of copyright 
  276.  
  277.                Now, what is copyright?  As it is commonly understood, it is
  278.           the  right  to make copies of something -- or to put it the other
  279.           way around, it is the right to prohibit other people from  making
  280.           copies.   This  is  known  as an exclusive right -- the exclusive
  281.           right to reproduce, in the biological language of  the  Copyright
  282.           Act -- and what most people don't know is that copyright involves
  283.           not one, not two, but five exclusive rights. These  are  (1)  the
  284.           exclusive  right  to make copies, (2) the exclusive right to dis-
  285.           tribute copies to the public, (3) the exclusive right to  prepare
  286.           derivative  works  (I'll explain, just keep reading), (4) the ex-
  287.           clusive right to perform the work in public (this mainly  applies
  288.           to  plays,  dances and the like, but it could apply to software),
  289.           and (5) the exclusive right to display the work in  public  (such
  290.           as showing a film). 
  291.  
  292.           1.3.  The meaning of public domain 
  293.  
  294.                Before we go any further, what is public domain?  I saw some
  295.           discussion  on  the  net about public domain software being copy-
  296.           righted.  Nonsense.  The phrase public domain, when used correct-
  297.           ly,  means the absence of copyright protection.  It means you can
  298.           copy public domain software to your heart's  content.   It  means
  299.           that  the  author  has none of the exclusive rights listed above.
  300.           If someone uses the phrase public domain  to  refer  to  freeware
  301.           (software which is copyrighted but is distributed without advance
  302.           payment but with a request for a donation), he or  she  is  using
  303.           the term incorrectly.  Public domain means no copyright -- no ex-
  304.           clusive rights. 
  305.  
  306.           1.4.  A hypothetical software purchase 
  307.  
  308.                Let's look at those exclusive rights from the  viewpoint  of
  309.           someone  who  has legitimately purchased a single copy of a copy-
  310.           righted computer program.  For the moment, we'll have  to  ignore
  311.           the  fact  that  the  program is supposedly licensed, because the
  312.           license changes things.  I'll explain that later.  For  now,  as-
  313.           sume  you  went  to  Fred's  Diner and Software Mart and bought a
  314.           dozen eggs, cat food and a word processing program.  And for now,
  315.           assume the program is copyrighted. 
  316.  
  317.           1.5.  Can you use copyrighted software? 
  318.  
  319.                What can you do with this copyrighted software?  Let's start
  320.           with  the obvious:  can you use it on your powerful Timex PC?  Is
  321.           this a joke?  No.  Prior to 1980, my answer might have  been  No,
  322.           you can't use it! 
  323.  
  324.                People actually pay me for advice like  that!   Well  think:
  325.           you  take the floppy disk out of the zip lock baggy, insert it in
  326.           drive A and load the program into RAM.  What have you just  done?
  327.           You've  made  a copy in RAM -- in legalese, you've reproduced the
  328.           work, in violation of the copyright owner's  exclusive  right  to
  329.           reproduce.  (I better clarify something here:  the copyright own-
  330.           er is the person or company whose name appears in  the  copyright
  331.           notice  on  the box, or the disk or the first screen or wherever.
  332.           It may be the person who wrote the program,  or  it  may  be  his
  333.           boss, or it may be a publishing company that bought the rights to
  334.           the program.  But in any case, it's not you. When you buy a  copy
  335.           of  the program, you do not become the copyright owner.  You just
  336.           own one copy.) 
  337.  
  338.                Anyway, loading the program into RAM means  making  a  copy.
  339.           The Software Act of 1980 addressed this absurdity by allowing you
  340.           to make a copy if the copy "is created as an  essential  step  in
  341.           the  utilization  of  the  computer program in conjunction with a
  342.           machine and ...  is used in no other manner ...."   By  the  way,
  343.           somebody  tell me what a machine means.  If you connect 5 PC's on
  344.           a network is that a machine or several machines?  A related ques-
  345.           tion  is whether or not running software on a network constitutes
  346.           a performance.  The copyright owner has the exclusive right to do
  347.           that, remember? 
  348.  
  349.           1.6.  Can you make a backup copy? 
  350.  
  351.                OK, so you bought this copyrighted program and you loaded it
  352.           into  RAM  or  onto  a hard disk without the FBI knocking on your
  353.           door.  Now can you make a backup copy?  YES.   The  Software  Act
  354.           also  provided  that you can make a backup copy, provided that it
  355.           "is for archival purposes only ...."  What you cannot do,  howev-
  356.           er,  is give the archive copy to your friend so that you and your
  357.           pal both got the program for the price of one.  That violates the
  358.           copyright  owner's  exclusive  right  to distribute copies to the
  359.           public.  Get it?  You can, on the other hand, give both your ori-
  360.           ginal  and backup to your friend -- or sell it to him, or lend it
  361.           to him, as long as you don't retain a copy of the program you are
  362.           selling.  Although the copyright owner has the exclusive right to
  363.           distribute (sell) copies of the program, that right only  applies
  364.           to the first sale of any particular copy.  By analogy, if you buy
  365.           a copyrighted book, you are free to sell your book to  a  friend.
  366.           The copyright owner does not have the right to control resales. 
  367.  
  368.           1.7.  Licenses may change the rules 
  369.  
  370.                At this point, let me remind you that we have  assumed  that
  371.           the program you got at the store was sold to you, not licensed to
  372.           you.  Licenses may change the rules. 
  373.  
  374.           1.8.  Can you modify the program? 
  375.  
  376.                Now, you're a clever programmer, and you  know  the  program
  377.           could  run  faster  with  some  modifications. You could also add
  378.           graphics and an interactive mode and lots of other  stuff.   What
  379.           does  copyright  law say about your plans?  Well ... several dif-
  380.           ferent things, actually.  First, recall that the copyright  owner
  381.           has  the  exclusive right to make derivative works.  A derivative
  382.           work is a work based on one or more preexisting works.  It's easy
  383.           to  recognize  derivative  works  when  you  think about music or
  384.           books.  If a book is copyrighted, derivative works could  include
  385.           a  screenplay, an abridged edition, or a translation into another
  386.           language.  Derivative works of songs might  be  new  arrangements
  387.           (like  the  jazz  version  of  Love  Potion  Number  9),  a movie
  388.           soundtrack, or a written transcription, or a long version,  (such
  389.           as the fifteen minute version of "Wipe Out" with an extended drum
  390.           solo for dance parties).  In my opinion, you are making a deriva-
  391.           tive work when you take the store-bought word processor and modi-
  392.           fy it to perform differently.  The same  would  be  true  if  you
  393.           translated  a  COBOL program into BASIC.  Those are copyright in-
  394.           fringements -- you've horned in  on  the  copyright  owner's  ex-
  395.           clusive  right to make derivative works.  There is, however, some
  396.           breathing room.  The Software Act generously allows you to  adapt
  397.           the  code  if  the adaptation "is created as an essential step in
  398.           the utilization of the computer program  in  conjunction  with  a
  399.           machine  ...."  For example, you might have to modify the code to
  400.           make it compatible with your machine. 
  401.  
  402.           1.9.  Can you break the copy protection scheme? 
  403.  
  404.                Moving right along, let's assume your store  bought  program
  405.           is  copy  protected, and you'd really like to make a backup copy.
  406.           You  know  this  nine-year-old  whiz  who  can  crack  any  copy-
  407.           protection scheme faster than you can rearrange a Rubix cube.  Is
  408.           there a copyright violation if he succeeds?  There's room to  ar-
  409.           gue here. When you try to figure out if something is an infringe-
  410.           ment, ask yourself, what exclusive right am I violating?  In this
  411.           case,  not the right to make copies, and not the right to distri-
  412.           bute copies.  Public performance and display have  no  relevance.
  413.           So  the key question is whether you are making a derivative work.
  414.           My answer to that question is, "I doubt it."  On the other  hand,
  415.           I  also  doubt that breaking the protection scheme was "an essen-
  416.           tial step" in using the program in conjunction  with  a  machine.
  417.           It  might be a "fair use," but that will have to wait for another
  418.           article.  Anyone interested in stretching the limits of the "fair
  419.           use" defense should read the Sony Betamax case. 
  420.  
  421.           1.10.  Summary 
  422.  
  423.                Let me summarize. Copyright means the  copyright  owner  has
  424.           the  exclusive right to do certain things. Copyright infringement
  425.           means you did one of those exclusive things (unless  you  did  it
  426.           within the limits of the Software Act, i.e., as an essential step
  427.           ....). 
  428.  
  429.          2.  Copyright Sounds Neat -- How Do I Get One?  Or, How Do I Know
  430.           if this Program is Copyrighted? 
  431.  
  432.          2.1.  How do you get a copyright? 
  433.  
  434.                If you've written an original program, what do you  have  to
  435.           do to get a copyright? Nothing. You already have one. 
  436.  
  437.          2.2.  How do you lose a copyright? 
  438.  
  439.                If you've written an original program, what do you  have  to
  440.           do  to  lose your copyright protection?  Give copies away without
  441.           the copyright notice. 
  442.  
  443.          2.3.  How do you waste a stamp? 
  444.  
  445.                If you mail the program to yourself in  a  sealed  envelope,
  446.           what have you accomplished? You've wasted a stamp and an envelope
  447.           and burdened the postal system unnecessarily. 
  448.  
  449.          2.4.  Do you have to register? 
  450.  
  451.                Do you have to register your program with the U.S. Copyright
  452.           Office?  No, but it's a damn good idea. 
  453.  
  454.          2.5.  How copyright comes into existence 
  455.  
  456.                Copyright protection (meaning  the  five  exclusive  rights)
  457.           comes  into existence the moment you fix your program in a tangi-
  458.           ble medium.  That means write it down, or store it  on  a  floppy
  459.           disk,  or  do  something similar.  Registration is optional.  The
  460.           one thing you must do, however, is protect your copyright by  in-
  461.           cluding  a  copyright  notice  on every copy of every program you
  462.           sell, give away, lend out, etc.  If you don't, someone  who  hap-
  463.           pens  across  your program with no notice on it can safely assume
  464.           that it is in the public domain (unless he actually knows that it
  465.           is not). 
  466.  
  467.          2.6.  The copyright notice 
  468.  
  469.                The copyright notice has three parts.  The first can be  ei-
  470.           ther  a c with a circle around it ((C)), or the word Copyright or
  471.           the abbreviation Copr.  The c with a circle around it is  prefer-
  472.           able,  because  it is recognized around the world; the others are
  473.           not.  That's incredibly important.  Countries  around  the  world
  474.           have  agreed to recognize and uphold each others' copyrights, but
  475.           this world-wide protection requires the use of the c in a circle.
  476.           On  disk  labels and program packaging, use the encircled c.  Un-
  477.           fortunately, computers don't draw small circles well, so program-
  478.           mers  have  resorted  to a c in parentheses: (c).  Too bad.  That
  479.           has no legal meaning.  When you put your notice in the  code  and
  480.           on  the  screen, use Copyright or Copr.  if you can't make a cir-
  481.           cle. 
  482.  
  483.                The second part of the notice is the "year of first publica-
  484.           tion  of  the work." Publication doesn't mean distribution by Os-
  485.           borne Publishing Co.  It means distribution of copies of the pro-
  486.           gram to the public "by sale or other transfer of ownership, or by
  487.           rental, lease, or lending."  So when you  start  handing  out  or
  488.           selling copies of your precious code, you are publishing.  Publi-
  489.           cation also takes place  when  you  merely  OFFER  to  distribute
  490.           copies to a group for further distribution.  Your notice must in-
  491.           clude the year that you first did so. 
  492.  
  493.                The third part of the notice is the name of the owner of the
  494.           copyright.   Hopefully,  that's you, in which case your last name
  495.           will do.  If your company owns the program -- a legal issue which
  496.           I  will  address later in this article -- the company name is ap-
  497.           propriate. 
  498.  
  499.                Where do you put the notice?  The general idea is to put  it
  500.           where  people  are likely to see it. Specifically, if you're dis-
  501.           tributing a human-readable code listing, put it on the first page
  502.           in  the  first few lines of code, and hard code it so that it ap-
  503.           pears on the title screen, or at sign-off, or  continuously.   If
  504.           you're distributing machine-readable versions only, hard code it.
  505.           As an extra precaution, you should also place the notice  on  the
  506.           gummed  disk  label or in some other fashion permanently attached
  507.           to the storage medium. 
  508.  
  509.           2.7.  Advantages of registration 
  510.  
  511.                Now, why register the program?  If no one ever rips off your
  512.           program, you won't care much about registration.  If someone does
  513.           rip it off, you'll kick yourself for not  having  registered  it.
  514.           The  reason  is  that if the program is registered before the in-
  515.           fringement takes place, you can recover some big bucks  from  the
  516.           infringer,  called statutory damages, and the court can order the
  517.           infringer to pay your attorneys fees.   Registration  only  costs
  518.           $10.00,  and it's easy to do yourself.  The only potential disad-
  519.           vantage is the requirement that you deposit the first and last 25
  520.           pages  of  your  source  code,  which  can  be inspected (but not
  521.           copied) by members of the public. 
  522.  
  523.           2.8.  A test to see if you understand this article 
  524.  
  525.                Now, someone tell me this:   is  this  article  copyrighted?
  526.           Can you print it? 
  527.  
  528.           3.  Who Owns The Program You Wrote? 
  529.  
  530.           3.1.  Introduction 
  531.  
  532.                The starting point of this analysis is that if you wrote the
  533.           program, you are the author, and copyright belongs to the author.
  534.           HOWEVER, that can change instantly. There are two common ways for
  535.           your  ownership  to  shift  to someone else:  first, your program
  536.           might be a "work for hire."  Second, you  might  sell  or  assign
  537.           your  rights  in  the  program,  which for our purposes means the
  538.           copyright. 
  539.  
  540.           3.2.  Programs written as an employee 
  541.  
  542.                Most of the programs which you write at work, if not all  of
  543.           them,  belong to your employer. That's because a program prepared
  544.           by an employee within the scope of his or  her  employment  is  a
  545.           "work for hire," and the employer is considered the author.  This
  546.           is more or less automatic if you are an employee  --  no  written
  547.           agreement is necessary to make your employer the copyright owner.
  548.           By contrast, if you can convince your employer to let you be  the
  549.           copyright owner, you must have that agreement in writing. 
  550.  
  551.                By the way, before you give up hope of owning the  copyright
  552.           to the program you wrote at work, figure out if you are really an
  553.           employee.  That is actually a complex legal question, but  I  can
  554.           tell you now that just because your boss says you are an employee
  555.           doesn't mean that it's so.  And remember that if you created  the
  556.           program outside the scope of your job, the program is not a "work
  557.           for hire."  Finally, in California and  probably  elsewhere,  the
  558.           state  labor law provides that employees own products they create
  559.           on their own time, using their own tools and  materials.  Employ-
  560.           ment  contracts  which  attempt to make the employer the owner of
  561.           those off-the-job inventions are void, at least in sunny Califor-
  562.           nia. 
  563.  
  564.           3.3.  Programs written as a contractor 
  565.  
  566.                Wait a minute:  I'm an independent contractor to Company  X,
  567.           not an employee.  I come and go as I please, get paid by the hour
  568.           with no tax withheld, and was retained  to  complete  a  specific
  569.           project.   I  frequently  work at home with my own equipment.  Is
  570.           the program I'm writing a "work for hire," owned by the  Company?
  571.           Maybe,  maybe not.  In California, this area is full of landmines
  572.           for employers, and gold for contractors. 
  573.  
  574.                A contractor's program is not a "work for hire," and is  not
  575.           owned  by  the  company,  unless (1) there is a written agreement
  576.           between the company and the contractor which says that it is, and
  577.           (2)  the work is a commissioned work.  A commissioned work is one
  578.           of the following:  (a)  a contribution to a collective work,  (b)
  579.           an  audiovisual work (like a movie, and maybe like a video game),
  580.           (c) a translation, (d) a compilation, (e) an instructional  text,
  581.           (f) a test or answer to a test, or (g) an atlas.  I know you must
  582.           be tired of definitions, but this is what the real legal world is
  583.           made  of.   An example of a  collective work is a book of poetry,
  584.           with poems contributed by various authors.  A piece of code which
  585.           is  incorporated  into  a large program isn't a contribution to a
  586.           collective work, but a stand-alone program which is packaged  and
  587.           sold with other stand-alone programs could be. 
  588.  
  589.                So where are we?  If you are a contract programmer,  not  an
  590.           employee, and your program is a commissioned work, and you have a
  591.           written agreement that says that the program is a "work for hire"
  592.           owned by the greedy company, who owns the program?  That's right,
  593.           the company.  But guess what?  In California  and  elsewhere  the
  594.           company  just  became your employer!  This means that the company
  595.           must now provide worker's compensation benefits for you AND UNEM-
  596.           PLOYMENT INSURANCE. 
  597.  
  598.           4.  A Brief Word About Licenses. 
  599.  
  600.           4.1.  Why a license? 
  601.  
  602.                When you get software  at  the  local  five  and  dime,  the
  603.           manufacturer  claims  that you have a license to use that copy of
  604.           the program.  The reason for this is that the manufacturer  wants
  605.           to  place more restrictions on your use of the program than copy-
  606.           right law places.  For example, licenses typically  say  you  can
  607.           only  use the program on a single designated CPU.  Nothing in the
  608.           copyright law says that.  Some licenses say you  cannot  make  an
  609.           archive  copy.  The copyright law says you can, remember?  But if
  610.           the license is a valid license, now you can't.  You can  sell  or
  611.           give  away  your  copy  of  a program if you purchased it, right?
  612.           That's permitted by copyright law, but the license  may  prohibit
  613.           it.  The more restrictive terms of the license will apply instead
  614.           of the more liberal copyright rules. 
  615.  
  616.           4.2.  Is it valid? 
  617.  
  618.                Is the license valid?  This is hotly debated among  lawyers.
  619.           (What  isn't?   We'll argue about the time of day.)  A few states
  620.           have passed or will soon pass laws declaring that they are valid.
  621.           A  few  will  go the other way.  Federal legislation is unlikely.
  622.           My argument is that at the consumer level,  the  license  is  not
  623.           binding  because there is no true negotiation (unless a state law
  624.           says it is binding), but hey that's just an argument and I'm  not
  625.           saying  that  that's  the  law.   In any case, I think businesses
  626.           which buy software will be treated differently in court than con-
  627.           sumers.  Businesses should read those licenses and negotiate with
  628.           the manufacturer if the terms are unacceptable. 
  629.  
  630.           5.  I Have A Neat Idea. Can I Trademark It?  What About patent? 
  631.  
  632.           5.1.  Trademark law explained 
  633.  
  634.                Sorry, no luck.  Trademark law  protects  names:   names  of
  635.           products  and  names of services.  (Note that I did not say names
  636.           of companies.  Company names are not trademarkable.)  If you  buy
  637.           a program that has a trademarked name, all that means is that you
  638.           can't sell your own similar program under the same name.  It  has
  639.           nothing to do with copying the program. 
  640.  
  641.           5.2.  Patent Law 
  642.  
  643.                Patent law can apply to computer  programs,  but  it  seldom
  644.           does.   The  main  reasons  it seldom applies are practical:  the
  645.           patent process is too slow and too expensive to do much  good  in
  646.           the software world.  There are also considerable legal hurdles to
  647.           overcome in order to obtain a patent.  If, by chance,  a  program
  648.           is  patented,  the  patent owner has the exclusive right to make,
  649.           use or sell it for 17 years. 
  650.  
  651.           6.  CONCLUSION 
  652.  
  653.                I know this is a long article, but believe it or not I  just
  654.           scratched  the  surface.  Hopefully, you'll find this information
  655.           useful, and you'll stop passing along myths about copyright  law.
  656.           If anyone needs more information, I can be reached at the address
  657.           on the first page.  Sorry, but I do not usually  have  access  to
  658.           the network, so you can't reach me there. 
  659.  
  660.           Thank you.  JORDAN J. BRESLOW 
  661.  
  662.  
  663.  
  664.  
  665. --------------------------------------------------------------------------
  666.  
  667.  
  668.  
  669.  
  670.  
  671.                    DOCUMENTATION REVISION 2.7 PRE-RELEASE
  672.                    ======================================
  673.  
  674. (C) 1988 HAPPY COMPUTERS, Inc.
  675. CARTX128.DOC
  676.  
  677. This document describes circuit modifications to the revision D and E
  678. DISCOVERY CARTRIDGE boards that will allow the use of more cartridges
  679. in the second cartridge port, such as the SPECTRE 128.  Other sections
  680. detail how to use 27C512 EPROMS in a DISCOVERY CARTRIDGE to have
  681. a 128K byte contiguous program address space.  This general purpose 128K
  682. byte address space could be further customized to allow using the
  683. MACINTOSH 128K ROMS and the SPECTRE 128 product.  A section details
  684. how this may be accomplished.  This section is provided for educational
  685. purposes.
  686.  
  687. ******* WARNING:
  688.  
  689. Any modification to your DISCOVERY CARTRIDGE will void the warranty from
  690. HAPPY COMPUTERS.  Always check all connections before cutting traces
  691. or applying power!  Use #26 or smaller solid (not stranded) wire with
  692. high temperature insulation.  Use a low wattage, fine tip soldering
  693. pencil which has a grounded tip, at a static free work station.
  694.  
  695. Please re-read the warranty before making modifications!
  696.  
  697. ****** USING MORE CARTRIDGES
  698.  
  699. With the 2nd cartridge port installed, the MAGIC SAC and DESK CART
  700. cartridges can be plugged in and used.  See the document DMACXROM.DOC for
  701. an introduction to this information.  Due to address conflicts, many
  702. cartridges cannot be used as a second cartridge, unless a switch is
  703. added which disables the HART chip, and completely enables the second
  704. cartridge.  This section describes the custom wiring needed for this
  705. switch.  The 40 pin J1 cartridge jack must be mounted on the board.  This
  706. jack is included in factory installed options 3 and 4.
  707.  
  708. ****** Circuit used when DISCOVERY CARTRIDGE ROM/EPROM sockets not used
  709.  
  710. Cut trace S1.  The white paint for S1 is on top of the board.  Trace S1
  711. is on the bottom under the board, directly beneath.
  712.  
  713. Cut trace S8.  The white paint for S8 is on top of the board.  Trace S8
  714. is on the bottom under the board, directly beneath.
  715.  
  716. A SPDT switch is needed.  This can have a center off position, but the
  717. center off position is not utilized.  The switch can be mounted at
  718. position SW2 on the board, or alternately mounted at some other custom
  719. location.  If the switch is mounted at SW2, then the switch must not
  720. make contact with the standard SW2 connections.  Either the traces
  721. going to SW2 must be cut, or the leads from the switch should not be
  722. inserted into the board.  We will designate this switch as SW3.
  723.  
  724. One side of a newly added 10K ohm 1/4 watt or 1/8 watt 5% tolerance
  725. resistor, which we will designate as RG, is connected to pins 17, 18, and
  726. 19 of the HART chip.  This connection should be made to the hole in the
  727. board on the S1 trace which was cut, on the side of the trace closest to
  728. the HART chip.  A wire from this point is connected to one side of the
  729. switch SW3 described above.
  730.  
  731. One side of a newly added 10K ohm 1/4 watt or 1/8 watt 5% tolerance
  732. resistor, which we will designate as RH, is connected to pin 31 of the
  733.  
  734.  
  735. J1 second cartridge jack.  This connection can be made to the hole in
  736. the board on the S8 trace which was cut, on the side of the trace which
  737. is NOT closest to the HART chip.  A wire from this point is connected
  738. to other side of the switch SW3.
  739.  
  740. The other end of RG and RH connect to the VCC +5 supply.  A convenient
  741. place to make this connection is the left hand side of either R2 or R6 or
  742. R7.
  743.  
  744. The center connection of SW3 connects to pin 31 of P1, which is the
  745. ROM3* signal from the computer.  This connection should be made to the
  746. hole in the board on the S1 trace which was cut, on the side of the trace
  747. which is not closest to the HART chip.
  748.  
  749. ***** USING THE ABOVE MODIFICATION
  750.  
  751. One position of the switch is used to access the DISCOVERY CARTRIDGE
  752. hardware.  The other position of the switch is used to access the
  753. hardware device plugged into the 2nd cartridge port.  HAPPY COMPUTERS
  754. has tested and found that the SPECTRE 128 cartridge can be used as a
  755. second cartridge when this custom wiring is installed.  However, we
  756. cannot guarantee the performance of another company's product.
  757.  
  758. NOTE: The switch should not be moved while the computer's power is
  759. turned on.
  760.  
  761. NOTE: When the DISCOVERY CARTRIDGE hardware is deselected, the third and
  762. fourth floppy drives, if present, cannot be accessed through software.
  763. The drive option switch will still function, if present.  No DISCOVERY
  764. CARTRIDGE software will operate when the switch has the 2nd cartridge
  765. enabled.  Even though the clock on the DISCOVERY CARTRIDGE cannot be
  766. read, the clock still keeps proper time.
  767.  
  768.  
  769. ****** Circuit used when DISCOVERY CARTRIDGE ROM/EPROM sockets ARE used
  770.  
  771. It is possible to use a double pole switch for SW3 that also switches
  772. the ROM4* signal either to the DISCOVERY CARTRIDGE's ROM/EPROM sockets
  773. or the second cartridge port.  The first pole of the switch would be
  774. connected as shown above.  A similar connection scheme would be used
  775. with the second pole of the switch for the ROM4* signal.  Pullup resistors
  776. are also needed for the signals switched on this second pole.  Traces
  777. S4 and S7 would be cut and wired through the switch's 2nd pole.
  778.  
  779. One position of the switch would disable both selection lines to the
  780. 2nd cartridge port, and fully enable selection of the DISCOVERY CARTRIDGE
  781. hardware.  The other position of the switch completely disables all
  782. circuitry on the DISCOVERY CARTRIDGE, and provides both the ROM3 and ROM4
  783. selection to the second cartridge port.
  784.  
  785. ****** USING 128K byte ROM/EPROM programs inside the DISCOVERY CARTRIDGE
  786.  
  787. As described in the DMACXROM.DOC file, 27C512 EPROMS can be used with
  788. the DISCOVERY CARTRIDGE.  In the standard configuration, the SW2 switch
  789. is used to select one of 2 possible 64K byte banks of program, for
  790. access by the computer.
  791.  
  792. In some cases, it is desirable to have the entire 128K byte program
  793. available to the computer in one contiguous address space, without the
  794. need to throw a switch.  Unfortunately, there are only 128K addresses
  795. available at the cartridge port.  A switch must be added to select
  796. whether the HART chip is selected, or the 128K ROM/EPROM program is
  797. selected.
  798.  
  799. It is also necessary to add a logic gate to enable both ROMS / EPROMS
  800. for all accesses when either ROM3* or ROM4* are enabled.  This gate is
  801. needed since the Atari cartridge port provides separate enable
  802. signals for each bank of 64K bytes, and the ROMS / EPROMS need to
  803. be enabled for all 128K bytes.
  804.  
  805. ****** HARDWARE modification for contiguous 128K byte ROM / EPROM
  806.  
  807. Although it is possible to also have a second cartridge port along with
  808. 128K on board ROMS / EPROMS, this document assumes that the second
  809. cartridge port is not present on the particular DISCOVERY CARTRIDGE
  810. being modified.  Any other options can be present.  These instructions
  811. are specific for using a 128K program in two 27C512 EPROMS.  Please
  812. note that some particular 512K bit mask programmed ROMS may have different
  813. pin connection and selection requirements.  HAPPY COMPUTERS cannot
  814. provide information about any masked programmed ROMS that we have not
  815. examined.
  816.  
  817. CAUTION:
  818. Read all of the instructions, and collect all components first.  Determine
  819. the position for all new components before mounting any new component!
  820.  
  821. The two 28 pin ROM sockets are installed in positions U4 and U5 as usual.
  822. These are included in factory installed options #1 and #2.
  823.  
  824. Refer also to the original documentation DMACXROM.DOC, regarding the
  825. optional C9 decoupling capacitor.
  826.  
  827. Cut trace S1.  The white paint for S1 is on top of the board.  Trace S1
  828. is on the bottom under the board, directly beneath.
  829.  
  830. Cut trace S4.  The white paint for S4 is on top of the board.  Trace S4
  831. is on the top of the board.  The trace may be concealed by the white
  832. paint dashed line.
  833.  
  834. A SPDT switch is needed.  This can have a center off position, but the
  835. center off position is not utilized.  The switch can be mounted at
  836. position SW2 on the board, or alternately mounted at some other custom
  837. location.  If the switch is mounted at SW2, then the switch must not
  838. make contact with the standard SW2 connections.  Either the traces
  839. going to SW2 must be cut, or the leads from the switch should not be
  840. inserted into the board.  We will designate this switch as SW4.
  841. For units with a factory installed switch, the leads to the switch
  842. should be carefully cut away from the circuit board and bent up so they
  843. are accessible.
  844.  
  845. One side of a newly added 10K ohm 1/4 watt or 1/8 watt 5% tolerance
  846. resistor, which we will designate as RJ, is connected to pins 17, 18, and
  847. 19 of the HART chip.  This connection should be made to the hole in the
  848. board on the S1 trace which was cut, on the side of the trace closest to
  849. the HART chip.  A wire from this point is connected to one side of the
  850. switch SW4 described above.
  851.  
  852. One side of a newly added 10K ohm 1/4 watt or 1/8 watt 5% tolerance
  853. resistor, which we will designate as RK, is connected to pin 20 of both
  854. sockets U4 and U5.  This connection can be made to the hole in the board
  855. on the S4 trace which was cut, on the side of the trace which is NOT
  856. closest to the HART chip.  A wire from this point is connected to the
  857. other side of the switch SW4.
  858.  
  859. The other end of RJ and RK connect to the VCC +5 supply.  A convenient
  860. place to make this connection is the left hand side of either R2 or R6 or
  861. R7.
  862.  
  863. A 74LS08 or 74ALS08 IC is mounted in the user customization space
  864. provided on the DISCOVERY CARTRIDGE board.  The orientation is up to
  865. the user.  It may be necessary to temporarily remove the battery while
  866. doing the wiring.  It may be necessary to relocate both C4 adjustable
  867. and C4 fixed, if present.
  868.  
  869. Pin 14 of the IC is connected to VCC +5; the same connection points
  870. mentioned above for RJ and RK can be used.
  871.  
  872. Pin 7 of the IC is connected to power ground.  The power ground trace
  873. runs along the right side of the board near C4.
  874.  
  875. Pin 1 of the IC is connected to pin 31 of P1, which is the ROM3* signal
  876. from the computer.  This connection should be made to the hole in the
  877. board on the S1 trace which was cut, on the side of the trace which is
  878. not closest to the HART chip.
  879.  
  880. Pin 2 of the IC is connected to pin 33 of P1, which is the ROM4* signal
  881. from the computer.  This connection should be made to the hole in the
  882. board on the S4 trace which was cut, on the side of the trace which IS
  883. closest to the HART chip.  This ROM4* signal must also connect to
  884. pin 1 of both U4 and U5.  This connection point may be made to the
  885. center terminal position of SW2, which is not otherwise utilized.
  886.  
  887. Pin 3 of the IC is connected to the center terminal of switch SW4.
  888.  
  889. ***** USING 128K contiguous ROMS/EPROMS modification from above
  890.  
  891. One position of the switch is used to access the DISCOVERY CARTRIDGE
  892. hardware.  The other position of the switch is used to access the
  893. 128K bytes in the two ROM/EPROM chips.  The 128K MACINTOSH ROMS cannot
  894. be directly plugged in and utilized with the SPECTRUM SOFTWARE.  Further
  895. consideration is needed; see below.  When 27C512 EPROMS are used, they
  896. must be 200ns or faster (dash numbers less than or equal to -20).
  897. HAPPY COMPUTERS cannot offer assistance regarding selection of ROMS or
  898. EPROMS.  HAPPY COMPUTERS does not currently provide any ROM or EPROM
  899. based programs for use with the DISCOVERY CARTRIDGE.  The user must
  900. provide these.
  901.  
  902. The 128K byte program present in the ROMS/EPROMS will be accessible at
  903. contiguous locations $FA0000 through $FBFFFF.  Note that the ROM4* line
  904. and therefore the ROM/EPROM A15 pins are high when addresses $FB0000
  905. through $FBFFFF are selected.
  906.  
  907. NOTE: The switch should not be moved while the computer's power is
  908. turned on.
  909.  
  910. NOTE: When the DISCOVERY CARTRIDGE hardware is deselected, the third and
  911. fourth floppy drives, if present, cannot be accessed through software.
  912. The drive option switch will still function, if present.  No DISCOVERY
  913. CARTRIDGE software will operate when the switch has the ROMS/EPROMS
  914. enabled.  Even though the clock on the DISCOVERY CARTRIDGE cannot be
  915. read, the clock still keeps proper time.
  916.  
  917. ****** USING 128K MACINTOSH ROMS and SPECTRE 128 SOFTWARE
  918.  
  919. The SPECTRE 128 product is made by GADGETS BY SMALL.  They are
  920. not affiliated with HAPPY COMPUTERS Inc.
  921.  
  922. Using the SPECTRE 128 software with a hardware device other than the
  923. SPECTRE 128 hardware may be a violation of a licensing agreement between
  924. you and Gadgets by Small, if any.  Gadgets by Small may insist that you
  925. only use their hardware device to hold the MACINTOSH ROMS.  However,
  926. there is no copyrighted computer program written by Gadgets by Small
  927. contained within the SPECTRE cartridge.  HAPPY COMPUTERS cannot advise
  928. you on the legal purpose of using the SPECTRE SOFTWARE with a hardware
  929. device other than the SPECTRE cartridge.  The laws governing this will
  930. vary for each locality.  HAPPY COMPUTERS provides the following
  931. information for educational purposes only.  You should consult with
  932. legal counsel familiar with the laws in your locality before implementing
  933. or using any of the following information.
  934.  
  935. Ultimately, if legal in your locality, it would be more convenient to
  936. not have to change cartridges to select running MACINTOSH programs with
  937. the SPECTRE, or converting MACINTOSH disks with the DISCOVERY CARTRIDGE.
  938.  
  939. USING THE MACINTOSH 128K ROMS
  940. IN YOUR DISCOVERY CARTRIDGE WITH SPECTRE SOFTWARE
  941.  
  942. 1) Install the general purpose 128K contiguous modifications shown above.
  943.  
  944. 2) Make changes to emulate the SPECTRE HARDWARE differences.  The SPECTRE
  945.    128 does not use a one for one connection on the data D0 to D15 lines.
  946.  
  947.     A) To directly use the MACINTOSH 128K ROMS, you must determine and
  948.        implement the different wiring needed to the U4 and U5 sockets
  949.        on the data lines.  HAPPY COMPUTERS cannot provide this
  950.        information.  This would require examining a SPECTRE cartridge
  951.        to determine the actual wiring for D0 - D15 that the SPECTRE
  952.        needs, and cutting traces and rewiring the DISCOVERY CARTRIDGE
  953.        to reflect these changes.  CAUTION: the data lines must not be
  954.        changed going to the HART chip.  Make the changes after the
  955.        data lines pass the HART chip.
  956.  
  957.   **  OR **
  958.  
  959.     B) Read the scrambled data from original MACINTOSH ROMS as they
  960.        appear to the computer while they are plugged into a SPECTRE
  961.        cartridge.  Place this data in files, and write the resultant
  962.        data files to 27C512 EPROMS using an EPROM programmer.  With
  963.        the 27C512 EPROMS placed into the DISCOVERY CARTRIDGE, it will
  964.        appear to the computer the same as the SPECTRE appears, since
  965.        the same scrambled data will be present.  CAUTION:  It may be
  966.        a violation of APPLE's copyright to read out their ROMS and
  967.        copy them into EPROMS.  HAPPY COMPUTERS provides this information
  968.        solely for educational purposes.
  969.  
  970. ****** PROGRAM R128FILE.TOS function and usage
  971.  
  972. The R128FILE.TOS program provides a convenient way to read out 128K
  973. byte EPROMs that you have programmed while these EPROMS are plugged
  974. into the DISCOVERY CARTRIDGE.  The U4F128K file corresponds to the data
  975. read out from the U4 27C512 EPROM.  The U5F128K file corresponds to the
  976. data read out from the U5 27C512 EPROM.  It is expected that the above
  977. modification for accessing contiguous 128K byte EPROMS has been installed,
  978. and that the switch is in the position which selects the EPROMS.
  979.  
  980. The program R128FILE.TOS reads 128K bytes (131072) from the Atari ST's
  981. cartridge port.  All possible cartridge port addresses are read out.
  982. The entire range $FA0000 through $FBFFFF is read out.  All data bytes
  983. read from even addresses are stored in a file U4F128K.  These are the
  984. high bytes from each word.  All data bytes read from odd addresses are
  985. stored in a file U5F128K.  These are the low bytes from each word.
  986. Each of these files will be 65536 bytes long as a result.  The files
  987. will be written to the same drive and directory that the R128FILE.TOS
  988. was executed from.  There must be sufficient room for the resultant files,
  989. and the disk must not be write protected.  The data read out is not
  990. examined or checked for validity in any way.  The program does not
  991. report any error conditions.  If the files already exist, they are
  992. replaced with the new contents read out.  The program has run properly
  993. to completion if the two files of correct size are created.
  994.  
  995.  
  996.  
  997.  
  998.  
  999. --------------------------------------------------------------------------
  1000.  
  1001.  
  1002.  
  1003.  
  1004. For Your Information
  1005. ====================
  1006.  
  1007.  
  1008. From The Internet!!!
  1009.  
  1010. Organization: C.R.E.S.S., York University, North York, Ontario, Canada, 
  1011. M3J 1P3.
  1012.  
  1013.     Yes we just received the first 8 prototype boards of our TAXI 
  1014. controller board. TAXI stands for The Atari eXtended Interface. The TAXI 
  1015. board will plug into the Mega's expansion slot, or be driven through the
  1016. Atari ACSI interface. Some of the features are:
  1017.  
  1018.  
  1019. 1 Full Ethernet interface (thin is builtin, thick requires a transceiver
  1020.   box)
  1021. 1 Full (true) SCSI interface independent of the Atari ACSI interface.
  1022. 8 Full duplex serial lines (RS232-C compatible)
  1023. 2 Centronics/parallel printer interface
  1024. 1 MC68000 processor (when used as standalone configuration).
  1025. 128K dual ported DRAM + 64/128K EPROM
  1026.  
  1027.  
  1028.  
  1029. This board can be incrementally configured as an Ethernet controller,
  1030. 2-8 channels serial cross point switch; with or without parallel or
  1031. SCSI interface.
  1032.  
  1033. If you have any further questions you may contact
  1034.  
  1035.  
  1036. FutureDOS R&D                      or    Tyler Ivanco
  1037. 1207-120 Torresdale Avenue,              ISTS (Institute for Space and
  1038. North York, Ontario,                     Terrestrial Science)
  1039. Canada, M2R 3N7                          York University,
  1040. Tel: (416)736-0321                       North York, Ontario,
  1041. (ask for Avy)                            Canada, M3J 1P3
  1042.                                          Tel: (416)736-2100 ext 7765
  1043.  
  1044.  
  1045. uucp: avy@yunexus!stpl                   tyler@yunexus!stpl
  1046. bitnet: FS300013@YUSOL                   FS300022@YUSOL
  1047. -- 
  1048. Avygdor Moise, York University. (C.R.E.S.S.),  Petrie Bldg. Rm 340,
  1049.                4700 Keele St., North York, Ontario, Canada. M3J 1P3
  1050. UUCP:   ...!yunexus!yugas!avy                      Tel:1 416 736-5359
  1051.  
  1052.  
  1053.  
  1054.  
  1055. --------------------------------------------------------------------------
  1056.  
  1057.  
  1058.  
  1059.  
  1060.                              PRODUCT ANNOUNCEMENT
  1061.                              ====================
  1062.  
  1063.  
  1064.                   TWEETY BOARD from Practical Solutions, Inc.
  1065.  
  1066. Stereo sound for the Atari ST is here!  Tweety Board provides true stereo
  1067. output that will blow you away!  Now you can play all your favorite games
  1068. and hear a whole new sound dimension with true-to-life effects.  Music
  1069. programs sparkle with a vividness never before realized.
  1070.  
  1071. The ST computers already have three channels of sound supported in their
  1072. hardware.  Atari combined the three together, resulting in one monophonic
  1073. channel, to make it compatible with the monitor's sound.  That's fine for
  1074. monitors but hardly impressive when listened to with a stereo system.
  1075.  
  1076. Tweety Board solves the problm with it's small circuit board specially
  1077. designed to access those hidden channels.  It works in parallel with the
  1078. ST's existing sound circuitry making it completely compatible with all ST
  1079. software.  You can also program your own effects or music!  The sound from
  1080. your monitor remains untouched and still functions in it's normal use. 
  1081. Simply plug Tweety Board inside your machine and the three independent RCA
  1082. jacks are ready to hook up to your three amplified speakers.  An adapter
  1083. cable is provided for hookup to a standard two-channel sound system.
  1084.  
  1085. No matter which way you connect it, you've never heard such vibrant 3-D or
  1086. crystal clear stereo sound from your ST.  No buzz or noise and an easy,
  1087. solderless installation - what more could you ask for?
  1088.  
  1089. Tweety Board will be available in the 1st week of December with a retail
  1090. price of only $59.95.
  1091.  
  1092.                     For further information please contact:
  1093.  
  1094.                                   Mark Sloatman
  1095.                                Practical Solutions
  1096.                                  1930 E. Grant Rd.
  1097.                                  Tucson, AZ 85719
  1098.  
  1099.                              Phone:  (602) 884-9612
  1100.  
  1101.         CompuServe PPN:  76004,2000            Genie address: PRACTICALS
  1102.  
  1103.  
  1104.  
  1105.  
  1106. --------------------------------------------------------------------------
  1107.  
  1108.  
  1109.  
  1110.  
  1111.                           ST REPORT goes INTERNATIONAL!
  1112.                           =============================
  1113.  
  1114.  
  1115.  
  1116. Conf : ST REPORT
  1117. Msg# : 1291  Lines: Extended  Read: 8
  1118. Sent : Dec 2, 1988  at 8:50 AM
  1119. To   : ALL
  1120. From : BARRY FREEMAN
  1121. Subj : Reports UK V US
  1122.  
  1123.  
  1124. Hi All.. and especially, Ralph.
  1125.  
  1126. I get St Report on average about 2 weeks after release in the UK, via one
  1127. of the other Forem Sysops.
  1128.  
  1129. I took note of the continuing complaints (reasonable) that Atari channels
  1130. too much stock into the Euro markets and not enough into the US.  Ok, so 
  1131. we get (got) a lot more ST's than you did in the US last year..perhaps 
  1132. it's because the demand was higher?
  1133.  
  1134. I used to work for the Biggest ST distributor in the UK - SDL - and last
  1135. christmas we sold about 10,000 ST's of various types.  Of those, we had 
  1136. over 600 back as faulty!  Not a great percentage, and within expectations.
  1137. Amiga's do FAR worse..about 20% of all amigas that are sold, turn out to
  1138. be faulty.
  1139.  
  1140. Now, the demand in Europe is great, so don't push Atari to channel more
  1141. towards the US, pester them to make MORE MACHINES. Don't suggest depriving
  1142. a flourishing market (Euro) to supply a smaller demand.  Atari SHOULD push
  1143. themselves more in terms of aggressive marketing. 
  1144.  
  1145.       We still don't get enough ST's to satisfy demand here, and, comments
  1146. to the contrary, I see no reason to expect this year to be any different.
  1147. There will still be more ST's sold here than Amigas, because the ST is the
  1148. better machine for GENERAL USAGE.  The Amiga has better sound and 
  1149. graphics, OK.. but here, more and more people are choosing ST for 
  1150. business, especially for DTP and Music.  If Atari stifles supplies to 
  1151. here, to sell in the US it only aggravates the problem.. Don't Blame Atari
  1152. for marketing in Europe - blame them for NOT marketing in the States.
  1153.  
  1154.       I like ST Report a lot - it's by far the most impartial reportage on
  1155. Atari.  Keep up the good work.. and if you wish, publish this with my
  1156. pleasure.
  1157.  
  1158.       Regards, and Christams Felicitaions to ALL FoReM Sysops,
  1159.  
  1160.                    Barry G. Freeman, SysOP, Fox's Den BBS UK.. Fnet 1001
  1161.  
  1162.  
  1163.  
  1164.  
  1165. --------------------------------------------------------------------------
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.                       ST Xformer Info, December 1988
  1172.                       ==============================
  1173.  
  1174.  
  1175. (C) 1988 Darek Mihocka and ST Report
  1176.  
  1177. The following information may be reprinted provided that it is kept in
  1178. its entirety and unmodified.
  1179.  
  1180.     - a new U.S. support BBS
  1181.                   - upcoming features for '89
  1182.                                - schematics of the Xformer cable
  1183.                                               - other odds and ends
  1184.  
  1185. I know it seems like only a few weeks since you last heard from me, so
  1186. I'll try not to repeat too many of the announcements of last time. Since
  1187. we'll all be busy during the Christmas holidays, I think I'd better
  1188. discuss a few more things before everyone eats and drinks themselves
  1189. silly.
  1190.  
  1191. I've noticed that different publications take different amounts of
  1192. times to reprint these Xformer notices, and so information is slow to get
  1193. out to people. Xformer is virtually unheard of in Europe, and I regularly
  1194. get letters from people here in North America who are asking if Xformer
  1195. II is available yet. It has been for almost 6 months. So please be sure
  1196. that you keep up with ST Xformer and all the other ST software and
  1197. hardware by reading ST Report every week, and making sure that your
  1198. friends do too ( especially the ones without modems ). ST Xformer is a
  1199. dynamic program with frequent updates and changes, so you must keep up
  1200. with it. User suggestions and bug reports are always welcome.
  1201.  
  1202. If you missed last week's ST Report, you probably haven't heard about
  1203. the new Xformer support BBSs. They are bulletin boards whose sysops have
  1204. allocated a portion of their boards to support of the 8 bit emulator.
  1205. They provide a convenient place for people to download recent versions of
  1206. the emulator and various 8 bit software, and to talk with each other.
  1207. They have been set up for you users. So don't expect me or the sysops to
  1208. do all the uploading of files. I want to see some 8 bit files contributed
  1209. by Xformer users.
  1210.  
  1211. The first one, L.U.ST BBS, opened up a few weeks ago here in Canada. It
  1212. is run by the London Users of STs, in London, Ontario. (What did you
  1213. think it stood for?)
  1214.  
  1215. A U.S. board is now also up. The Golden Gate BBS in Texas also supports
  1216. 2400 baud, and contains Xformer related files. U.S. callers may find it
  1217. less expensive than calling Canada, although callers in the Great Lakes
  1218. should try out both. Golden Gate is exclusively an Atari ST/8bit board.
  1219. Phone numbers are at the end of this notice.
  1220.  
  1221. I am on both these boards, so if you wish to ask any questions or offer
  1222. any suggestions, I'll be glad to hear from you. Of course, you can always
  1223. call me directly by voice or contact me on Compuserve, Delphi, or Genie.
  1224.  
  1225. I am sometimes  asked whether I have a list of software that runs of
  1226. Xformer. I usually reply that most P/D software works, and a lot of
  1227. commercial software. Since I can't afford to buy every piece of 8 bit
  1228. software, I will rely on information provided by callers on the supports
  1229. BBSs. If you have tried some piece of software on Xformer, and it worked
  1230. or didn't work, LEAVE A MESSAGE and tell people! Only when enough people
  1231. do so will I be able to compile a list.
  1232.  
  1233. If you are a registered user, make sure that you have upgraded your
  1234. software to version 2.31. Rather than repeat what I said about it last
  1235. week, I'll just ask that you call one of the support boards and read my
  1236. messages regarding the free updates for registered users. I will also be
  1237. starting up a topic regarding user's suggestions for future feature of ST
  1238. Xformer.
  1239.  
  1240. Speaking of questions and suggestions, the most common questions I keep
  1241. getting asked are: when will Xformer III be available, and are schematics
  1242. of the Xformer serial cable available?
  1243.  
  1244. The answer to the first question, as I have stated before, is probably
  1245. about 6 months or 1 year from now. When it is available, I will let 
  1246. everyone know. If you still insist on asking me now, I'll pretend that
  1247. I don't know what you're talking about.
  1248.  
  1249. Xformer 2.5, the 130XE emulator, will be available much sooner, as I am
  1250. now about half finished with it. Not only does it emulate the full 128K
  1251. of a 130XE, but it also runs faster than the current  Xformer 2.2 and
  1252. 2.3.
  1253.  
  1254. But I have other features to add over the holidays. The most obvious
  1255. will be the improved disk drive emulation. It will still support the
  1256. Xformer serial cable, but rather than only supporting a one double
  1257. density virtual disk drive (D1:) and one single density virtual disk
  1258. drive (D2:), it will support drives D1: thru D8: and any density. The
  1259. current limitation that virtual disk drives must fit in your memory will
  1260. be eliminated, so a 520ST will be able to support, for example, 8 virtual
  1261. double density disks. The new limitation will be that the virtual disk
  1262. files must be online, so a single drive 520ST could still support 2
  1263. double sided virtual drives.
  1264.  
  1265. Depending on how well the programming and experimenting goes, version
  1266. 2.5 may also have features like full SpartaDOS, DOS XE, and hard disk
  1267. support. It has been suggested that Xformer should be able to set up
  1268. partitions on an ST hard disk, much like the Magic Sac and Minix do, so
  1269. that Xformer can be booted up with a large virtual 8 bit hard drive.
  1270. Another idea is to set up 800K floppies as virtual 800K hard disks. ( I
  1271. don't know about the sanity behind that, but it's a thought! )
  1272.  
  1273. And now the answer to the second question. Although I have kept the
  1274. pinout of the Xformer serial cable secret up to now, I have been debating
  1275. whether I should make it public. Afterall, the cable can be used for
  1276. purposes other than 8 bit emulation, such as file and disk transfers
  1277. between 8 bit and ST disks, and so not everyone who might be interested
  1278. in buying one may be interested in becoming a registered Xformer user.
  1279. At present, the only software that supports the cable is the ST Xformer
  1280. and the Quick Transfer Utility which registered users receive, and you
  1281. must be a registered user of Xformer to be able to purchase the cable.
  1282.  
  1283. But I can see other possible applications that other people may wish to
  1284. write for the cable. Therefore I should not force people to register if
  1285. they wish to get the cable. On the other hand, it is something that I 
  1286. developed as an aid to the emulator, and I don't want other people to
  1287. benefit financially for something that I spent many hours developing. So
  1288. the original intent was to not release the pinout or other information
  1289. about the cable.
  1290.  
  1291. In recent weeks, demand for the cables has been greater than expected,
  1292. and I have had to skip classes a few times just to stay home and produce
  1293. the things. Also, many people have indicated that they have spare Atari
  1294. serial cables that they'd like to hack up into the Xformer cables, so I
  1295. feel that it would be beneficial to me (and my marks), and to these Atari
  1296. users if I were to release the pinout information. And I'd certainly
  1297. prefer to spend the holidays working on Xformer 2.5 rather than soldering
  1298. cables.
  1299.  
  1300. I will continue to make and sell the cables, so if you don't know one
  1301. end of a soldering iron from the other, or prefer to get a ready-made and
  1302. tested cable, you know where to get them. They are $23 U.S. on top of
  1303. your registration fee.
  1304.  
  1305.                                     ******
  1306.  
  1307. I am making the following information available to you with the
  1308. understanding that it is for personal use only. I am not giving
  1309. permission for anyone to manufacture and sell the cables themselves, or
  1310. distribute my Xformer software for the purpose of helping to sell the
  1311. cables. Needless to say, the Xformer is shareware and must not be
  1312. sold by any dealer or individual. I have been notified of certain
  1313. dealers who are illegally selling my software. If you know of such a
  1314. dealer, report him to me, and do NOT buy the software, because you will
  1315. not become a registered users.
  1316.  
  1317. Non-registered users may use the Xformer software made available
  1318. through Compuserve, Genie, Delphi, and the support BBSs, and are
  1319. allowed to make one Xformer cable for their personal use, but are not
  1320. entitled to any documentation, disk utilities, or future versions of
  1321. Xformer. I do ask that you register.
  1322.  
  1323.                                   *****
  1324.  
  1325. Below are directions for putting together a Xformer cable. I accept no
  1326. responsibility for fried machines, so do this at your own risk. Previous
  1327. hardware experience, or at least previous experience with a soldering
  1328. iron and screwdriver, is recommended.
  1329.  
  1330. The Xformer serial cable serves as an interface for 8 bit peripherals.
  1331. Any self powered peripheral, like an 810 or 1050 disk drive, thermal
  1332. printer, color plotter, 850 interface, etc. can then be accessed by the
  1333. ST through either the Xformer emulator or other software. Multiple drives
  1334. can be daisy chained to the ST, just as with the 8 bit, by using the
  1335. regular serial cables to connect extra drives. The length of the cable is
  1336. not critical, since 8 bit serial cables come in various sizes, usually 3
  1337. or 6 feet long. They are included with each disk drive, and most dealers
  1338. have extra cables.
  1339.  
  1340. You don't really need the black serial cable as a starting point, since
  1341. what you are really after are the 13 pin trapezoidal female connectors at
  1342. the ends. Take some wire cutters and cut the cable at one end. You will
  1343. now have a 3 foot cable with a 13 pin connector at one end and 13 colored
  1344. wires at the other.
  1345.  
  1346. If you have a standard Atari cable, the coloring scheme will be as follows:
  1347.  
  1348.     pin 2   - red
  1349.     pin 3   - orange
  1350.     pin 4   - black
  1351.     pin 5   - green
  1352.     pin 7   - purple
  1353.     pin 10  - blue
  1354.  
  1355. Only 6 of the 13 pins are needed, so disregard the other 7 wires. Not all
  1356. Atari serial cables have the same coloring scheme, so use an ohm meter to
  1357. test each wire.
  1358.  
  1359. The pin numbering is as follows. If you hold the connector so that the row
  1360. of 6 pins is at the top, and the other 7 pins are on the bottom, the pins
  1361. are numbered:
  1362.  
  1363.        ------------------------
  1364.       / 12  10   8   6   4   2 \
  1365.      /13  11   9   7   5   3   1\ 
  1366.     ------------------------------
  1367.  
  1368. You now require a male DB-25 connector. These are the 25 pin connectors
  1369. found at one end of your ST printer cable. In fact, the Xformer cable
  1370. plugs in into your ST's printer port. DB-25's are easy to find. Radio Shack
  1371. sells them but you're better off at an electronics dealer, where they'll
  1372. cost you about $5, including the plastic cover.
  1373.  
  1374. The DB-25 cables have the pin numbers printed in very small print on the
  1375. actual connector. If you hold the connector with the 13 pin row on the
  1376. top and the 12 pin row on the bottom, the pins are numbered as follows:
  1377.  
  1378.    --------------------------------------------------------
  1379.     \ 25  23  21  19  17  15  13  11   9   7   5   3   1 / 
  1380.      \  24  22  20  18  16  14  12  10   8   6   4   2  /
  1381.       \------------------------------------------------/
  1382.  
  1383. The pins you need are 1, 3, 5, 7, 11, and 18. The following table shows
  1384. which colored wire gets soldered to which pin of the DB-25 connector.
  1385. Again, these are usual colors, but vary from cable to cable, so use an
  1386. ohm meter to find the exact wires that correspond to pins 2, 3, 4, 5, 7
  1387. and 10.
  1388.  
  1389.     13 pin connector        color       DB-25       serial port function
  1390.     --------------------------------------------------------------------
  1391.             2                red          3          CLOCK OUT
  1392.             3                orange       11         DATA IN
  1393.             4                black        18         GROUND
  1394.             5                green        5          DATA OUT
  1395.             7                purple       7          COMMAND
  1396.             10               blue         1          +5 volts
  1397.  
  1398. Sometimes the black wire corresponds to pin 6 rather than pin 4. This is
  1399. okay since both pins 4 and 6 are GROUND in the Atari serial cables.
  1400.  
  1401. Once soldered, screw the DB-25 covers over the connector, and use the
  1402. ohm meter once again to test the connections. If you made any mistakes,
  1403. you could fry your ST!
  1404.  
  1405. WARNING: do not attempt to do stupid things like plugging the cable into
  1406. an 8 bit computer, because this is exactly the same as plugging a serial
  1407. cable between to 800XLs. ( Nothing happens except that you might fry the
  1408. machines ). 
  1409.  
  1410. Note that the +5 volt line coming out of the ST's printer port is not
  1411. rated at 50mA (as is the Atari 8 bit serial port), so devices like the
  1412. Ape Face which pull their power from the computer will not work. This is
  1413. a similar to the 1200XL serial port, which was also current limited. The
  1414. only solution is to tap into the ST's 5 volt power supply, which can be
  1415. easily accessed at the cartridge port. Most 8 bit disk drives and
  1416. printers are self-powered and thus don't draw current from the computer.
  1417.  
  1418. To make the ST emulate an 8 bit peripheral, rather than an 8 bit
  1419. computer, the cable can be rewired by swapping pins 3 and 5 (orange and
  1420. green, or DATA IN and DATA OUT) in the 13 pins connector. Since the 13
  1421. pin connector has snap-in wires, they can be pulled out and rearranged
  1422. without any soldering. Software needs to be written to support this
  1423. modification, and I haven't written it because I have no intention of
  1424. turning my 1040ST into a large disk drive for some silly old Atari 800.
  1425. (No offense to Atari 800 owners). But it is a possibility if enough
  1426. people request it.
  1427.  
  1428. Although more elaborate cables can be devised, this is pretty well the
  1429. only design that doesn't require additional circuitry or modifications to
  1430. either the ST or 8 bit. Future versions of Xformer will be able to use
  1431. the current design of the cable.
  1432.  
  1433. The source code for the cable driver is a bit too long to include in
  1434. here, but it is simple and straightforward. The 8-bit serial protocol is
  1435. fully documented in the "Operating System User's manual" available from
  1436. Atari. What I would like to see someone do is write a driver that would
  1437. allow the external 8 bit disk drive to be used with GEMDOS with all ST
  1438. software, not just Xformer. I was planning to write such a driver, but
  1439. have had little time left between school, Xformer, and soldering cables.
  1440. Remember that most 8 bit disk drives are NOT double sided and not double
  1441. density, so MS-DOS disks cannot be read. It would be useless to modify
  1442. PC Ditto to use the Xformer cable since MS-DOS would probably choke on
  1443. 90K Atari disks.
  1444.  
  1445. ST Xformer source code is available on the pay services and on the
  1446. support BBSs, and is described fully in ST LOG #26. It is helpful to
  1447. check ST LOG #17 and #18 as well, since they contain my first docs of the
  1448. original Xformer 1.1 source code.
  1449.  
  1450. Since this program is shareware, my income from it relies solely on the
  1451. shareware registrations of users, and sales of the cables. At $20 each,
  1452. registration and the cables are cheap, and you will get the free updates
  1453. and support through 1989.
  1454.  
  1455. ST Xformer supports boards (300/1200/2400 baud, 24 hrs):
  1456.  
  1457.     Golden Gate BBS,   Gatesville, Texas (817)-865-6352
  1458.     L.U.ST BBS, London, Ontario, Canada  (519)-432-5144
  1459.  
  1460. Online services support:
  1461.  
  1462.     Compuserve - ST XFORMER library in ATARIPRO   I am 73657,2714
  1463.     Delphi - ST databases in the ST Log SIG       I am DAREKM
  1464.     Genie - ST download library 14                I am DAREKM
  1465.  
  1466. My phone number is (519)-747-0386. Since I am home at odd times, and
  1467. some people don't seem to like my answering machine, I have set aside
  1468. some time before the holidays to answer your calls. I will be home, with
  1469. great certainty, on Thursday December 8 1pm - 6pm, Saturday Dec. 10 6pm -
  1470. 12am, and Monday Dec. 12 6pm-12am.
  1471.  
  1472. The mailing address for registering yourself or buying cables is:
  1473.  
  1474.                              Darek Mihocka
  1475.                           Box 2624, Station B
  1476.                        Kitchener, Ontario  N2H 6N2
  1477.                                 CANADA
  1478.  
  1479. If possible, include a mailing label, but don't send a SASE. American
  1480. stamps are useless in Canada. Also be sure to include an extra $3 if you
  1481. order a cable to cover the extra cost of sending it.
  1482.  
  1483. That's all for this year. Happy holidays and see you in January! In
  1484. case I did forget to mention anything, any new info will be posted on the
  1485. two support BBSs.
  1486.  
  1487.  
  1488.  
  1489.  
  1490. --------------------------------------------------------------------------
  1491.  
  1492.  
  1493.  
  1494.  
  1495.                            ANTIC PUBLISHING INC.
  1496.                               COPYRIGHT 1988
  1497.                           REPRINTED BY PERMISSION.
  1498.  
  1499.  
  1500.  
  1501.       PROFESSIONAL GEM  by Tim Oren
  1502.       Column #15 - Coping with GEMDOS
  1503.  
  1504.  
  1505.            While it's fun playing with windows and object trees,  one of
  1506.       the  day-to-day realities of working with the ST is its  operating
  1507.       system, GEMDOS.  A successful application should insulate the user
  1508.       from  the foibles and occasional calamities of the machine's  file
  1509.       system.  The GEM environment provides some minimal tools for doing
  1510.       this,  but a good deal of responsibility still rests with you, the
  1511.       programmer.
  1512.  
  1513.             This column (#15 in the ST PRO GEM series) tries to  address
  1514.       the  GEM/DOS integration problem by providing you some stock  code
  1515.       for common functions, along with a discussion of some of the worst
  1516.       "gotchas" lurking for the unwary.  The download for this column is
  1517.       GMCL15.C, and it can be found in DL3 of PCS-58.  You should obtain
  1518.       and list this file before proceeding.
  1519.  
  1520.            A  BIT OF HISTORY.   There has been a good deal of  confusion
  1521.       in  the Atari press and among developers over what GEMDOS is,  and
  1522.       how it relates to TOS and CP/M-68K.   It's important to clear this
  1523.       up,  so  you can get a true picture of what GEMDOS is intended  to
  1524.       do.  The best way is to tell the story of GEMDOS' origins, which I
  1525.       can do, because I was there.
  1526.  
  1527.            As  most developers are aware,  GEM was first implemented  on
  1528.       the  IBM  PC.   PC GEM performed two functions.   The first was  a
  1529.       windowed graphics extension to the PC environment.  The second was
  1530.       a  visual  shell,  the Desktop,  which ran on top of the  existing
  1531.       operating system, PC-DOS.
  1532.  
  1533.            When work started on moving GEM to the ST, there were two big
  1534.       problems.   First,  no STs actually existed.  Second, there was no
  1535.       operating system on the 68000 with which GEM and the Desktop could
  1536.       run.   Unix  was  too  large,  and  CP/M-68K lacked  a  number  of
  1537.       capabilities,  such  as  hierarchical files,  which were needed to
  1538.       support GEM.
  1539.  
  1540.            Work on porting the graphics parts of GEM to the 68000 had to
  1541.       start immediately to meet schedules.   Therefore, CP/M-68K running
  1542.       on  Apple Lisa's was used to get this part of the project off  the
  1543.       ground.   Naturally,  the  Alcyon C compiler and other tools which
  1544.       were native to this environment were used.
  1545.  
  1546.            In  parallel,  an  effort was begun to write a new  operating
  1547.       system for the 68000,  which would ultimately become the ST's file
  1548.       system.   It was designed to be a close clone of PC-DOS,  since it
  1549.       would   perform   the   same  functions  for  GEM   in   the   new
  1550.       environment.  At  this  point,  the term TOS was introduced.   TOS
  1551.       really meant "the operating system,  whatever it may be, that will
  1552.       run on the ST",  since not even the specifications,  let alone the
  1553.       code, were complete at that time.
  1554.  
  1555.            The  first engineer to work on "TOS" at Digital Research  was
  1556.       Jason  Loveman.   This  name  leaked  to the press,  and  in  some
  1557.       distorted  fashion generated a rumor about "Jason DOS",  which was
  1558.       still  just  the same unfinished project.   As "TOS"  became  more
  1559.       solid,  the  developer's tools were ported to the new  environment
  1560.       one by one, and the GEM programming moved with them.  CP/M-68K was
  1561.       completely  abandoned,  though the old manuals for C and the tools
  1562.       lived on and are still found in the Atari developer's kit.
  1563.  
  1564.            All of this work had been done on Lisas or  Compupro  systems
  1565.       fitted with 68000 boards.   At this point,  workable ST prototypes
  1566.       became  available.   An  implementation  of "TOS" for  the  target
  1567.       machine  was  begun,  even before the basic operating  system  was
  1568.       fully completed.
  1569.  
  1570.            The  other  intent for the new operating system was to  be  a
  1571.       base for GEM on other 68000 systems as well as the ST.  Because of
  1572.       this,  Digital  Research  named  it  GEMDOS when  it  was  finally
  1573.       complete,  thus providing the final bit of nomenclature.  "TOS" as
  1574.       now  found  in the ST is in fact a  particular  implementation  of
  1575.       generic GEMDOS, including the ST specific BIOS.
  1576.  
  1577.            So,  GEMDOS is a PC-DOS clone,  but,  not  quite.   There are
  1578.       enough  differences  to  cause  problems  if  they  are   ignored.
  1579.       (Remember,  it looks like a duck, and quacks like a duck, but it's
  1580.       not a duck.)
  1581.  
  1582.            GOING  FOR  IT.   As a first example,  consider the  routines
  1583.       open_file()  and create_file() at the beginning of  the  download.
  1584.       They make use of the GEMDOS calls Fopen() and Fcreate().  You will
  1585.       notice that these names are not the ones specified in the  Digital
  1586.       Research  GEMDOS  manual.   Developers who have used PC  GEM  will
  1587.       also  observe that they are radically different from the  function
  1588.       names in the PC-DOS bindings.
  1589.  
  1590.            In  fact,  all  of  the GEMDOS function calls on the  ST  are
  1591.       defined  as  macros  in the file osbind.h,  distributed  with  the
  1592.       developer's  kit.   At compile time they are turned into calls  to
  1593.       the  assembly  language  routine gemdos(),  part of  the  osbind.o
  1594.       binary.  So, if you find the naming conventions to be particularly
  1595.       offensive  for  some reason,  just edit the appropriate macros  in
  1596.       osbind.h.
  1597.  
  1598.            In  DRI's PC-DOS bindings,  any error codes were returned  in
  1599.       the  global  variable  DOS_ERR.    In  the  GEMDOS  bindings,  the
  1600.       operation result or an error code is returned as the value of  the
  1601.       calling  function.   In  the  case of Fopen() and  Fcreate(),  the
  1602.       result  is  a  valid file handle if it is  positive.   A  negative
  1603.       result  is  always an error code,  indicating that  the  operation
  1604.       failed.
  1605.  
  1606.            An application which encounters a GEMDOS error should display
  1607.       an  alert,  and  query  for  retry or abort.   The  type  of  loop
  1608.       structure  exemplified  by open_file()  and  create_file()  should
  1609.       be  usable with most GEMDOS functions which might fail.   The  AES
  1610.       provides  a  function,  form_error,  which  implements  a  set  of
  1611.       "canned" error alerts appropriate to the various possible errors.
  1612.  
  1613.            However,  this is where the fun starts.  For unknown reasons,
  1614.       the form_error on the ST expects to see PC-DOS,  not GEMDOS, error
  1615.       codes as it's input! Therefore you need a routine to translate one
  1616.       into the other.   The routine dos_error() in the download provides
  1617.       this  function.   The  GEMDOS errors are in the same  sequence  as
  1618.       those  for  PC-DOS,  but  their numerical order  is  reversed  and
  1619.       shifted.   Notice  also  that  dos_error() does  NOT  perform  the
  1620.       translation if the error code is less than -50.   These codes have
  1621.       no  PC-DOS  equivalent;  computing a bogus translation will  cause
  1622.       form_error to crash.   Instead,  they are passed through verbatim,
  1623.       resulting in a "generic" alert which gives only the error number.
  1624.  
  1625.            The  other major task in integrating a GEM  application  with
  1626.       the  file  system is selecting file names for  input  and  output.
  1627.       Again,  the AES provides some assistance with the fsel_input call,
  1628.       which invokes the standard file selector dialog.
  1629.  
  1630.            There  are several drawbacks to the standard  file  selector.
  1631.       One  is that the "ITEM SELECTOR" title is constant and  cannot  be
  1632.       changed  by the application.    This  could  cause  confusion  for
  1633.       the  user,  since it may not be clear which of several  functions,
  1634.       closely spaced in the FILE menu,  was actually invoked.   While it
  1635.       might  be  possible  to find and "rewire" the  AES  resource  that
  1636.       defines  the file selector,  it is unlikely that such an  approach
  1637.       would be portable to a later version of ST GEM.
  1638.  
  1639.            A  viable approach to eliminating confusion is to  display  a
  1640.       small "marquee" box, with a message defining the operation, on the
  1641.       screen  just  above  the  file selector.  To  do  this,  you  must
  1642.       initialize  the location of the box so that it is outside  of  the
  1643.       file selector's bounds,  and then draw it just before invoking the
  1644.       file  selector.   This  way  they will  appear  together.   Before
  1645.       returning  to its main event loop,  the application should post  a
  1646.       redraw  message for the "marquee" area.   The AES will merge  this
  1647.       redraw  with the one generated by fsel_input,  and the result will
  1648.       be received by the application's evnt_multi.
  1649.  
  1650.            Another problem with the file selector is that it resets your
  1651.       application's virtual workstation clip rectangle without  warning.
  1652.       There  are other AES functions,  such as objc_draw,  which also do
  1653.       this,  but  the file selector can be troublesome because it may be
  1654.       the only AES call used by some VDI-based ST applications.
  1655.  
  1656.            The veteran developer will also notice that the file selector
  1657.       takes  and returns the path and filename as two separate  strings,
  1658.       while the GEMDOS file functions require a fully pathed file  name.
  1659.       Also, the file selector doesn't remember its "home" directory; you
  1660.       are responsible for determining the default directory, and keeping
  1661.       track of any changes.  The remainder of the download and column is
  1662.       devoted  to  set of utilities which should alleviate some  of  the
  1663.       "grunt work" of these chores.
  1664.  
  1665.            The  top level routine in this collection is get_file().   It
  1666.       is  called with two string arguments.   The first must point to  a
  1667.       four  byte string area containing the desired file name  extension
  1668.       (three  characters plus a null).   The second is the default  file
  1669.       name.
  1670.  
  1671.            If the default file name is non-null, then get_file() invokes
  1672.       parse_fname() to break it into path and name.   Parse_fname() also
  1673.       adds  the  necessary "wild card" file specification to  the  path,
  1674.       using the extent name given as input.
  1675.  
  1676.            If  no  default  file was supplied,  or the default  did  not
  1677.       contain  a  path,  the routine get_path() is invoked to  find  the
  1678.       current  default directory and construct a legal path  string  for
  1679.       it.
  1680.  
  1681.            The   results   of  these  manipulations  are   supplied   to
  1682.       fsel_input.   Notice  that  the  result of the  file  selector  is
  1683.       returned via its third argument,  rather than as a function value.
  1684.       If  the result is TRUE,  get_file() merges the temporary path  and
  1685.       file  string,  storing the result via the second input  parameter.
  1686.       This  result  string is suitable for use with Fopen,  and  may  be
  1687.       resubmitted  to get_file() when the next operation is  invoked  by
  1688.       the user.
  1689.  
  1690.            Parse_fname() is straight-forward C.  It looks backward along
  1691.       the  file to find the first character which is part of  the  path.
  1692.       The tail of the filename is copied off, and its former location is
  1693.       overlaid with the wild card specification.
  1694.  
  1695.            Get_path()  is a bit more interesting.   It makes use of  two
  1696.       GEMDOS  functions,  Dgetdrv() and Dgetpath() to obtain the default
  1697.       disk drive and directory, respectively.  Note that Dgetpath() will
  1698.       return  a null string if the current default is the root,  but  it
  1699.       puts  a back-slash at the beginning of the path  otherwise.   This
  1700.       forces  a  check for insertion in the root case,  since  the  file
  1701.       selector  wants  to  see something like  "A:\*.RSC",  rather  than
  1702.       "A:*.RSC".   After  making  this fix,  get_path() concatenates the
  1703.       wild card specification derived from the input extent.
  1704.  
  1705.            The last routine in the download is new_ext().   This utility
  1706.       is  useful if your application uses more than one associated  file
  1707.       at a time.   For instance, the Resource Construction Set uses both
  1708.       an RSC and a DEF file, with the same base name.  New_ext() takes a
  1709.       fully  formed file name,  and replaces its old extent with the new
  1710.       one  which you supply.   This lets you quickly generate both  file
  1711.       names after one call to the file selector.   Notice that new_ext()
  1712.       looks BACKWARD along the name to find the delimiting period, since
  1713.       this  character  can also be part of a subdirectory  name  in  the
  1714.       path.
  1715.  
  1716.            So  we reach the end of the code and this column.   Hopefully
  1717.       both will keep you profitably occupied for a while.  July's column
  1718.       will return to graphics topics,  with a look at writing customized
  1719.       rubber  box and drag box routines,  and ways to implement your own
  1720.       "pop-up"  menus.   August  will  bring techniques  for  displaying
  1721.       progress  indicators,  associating  dialog and menu  entries  with
  1722.       keystrokes, and customizing objc_edit.
  1723.  
  1724.            I  CAN'T HEAR YOU!   The Feedback mailbag has been  noticeably
  1725.       flat  of  late.   There have been a number of compliments  on  the
  1726.       column,  which  are  much  appreciated,  and some suggestions  for
  1727.       topics  which fall outside the bounds of this series.   The latter
  1728.       have  been passed on to Antic for possible inclusion in their  new
  1729.       ST quarterly, START.
  1730.  
  1731.            One recurring problem is finding the downloads.   A number of
  1732.       the  earlier columns say they are in PCS-132 (the old  SIG*ATARI),
  1733.       and  one says PCS-57 (mea culpa).   In fact,  ALL of the downloads
  1734.       are  now  in DL3 of PCS-58 (ATARI16).   Filenames for  first  nine
  1735.       columns  are  all in the form GEMCLx.C,  where x is  the  column's
  1736.       digit.   For reasons unknown to me,  the next two files were named
  1737.       GEMC10.C  and  GEMC11.C;  the  latest  two  downloads  are  called
  1738.       GMCL13.C and GMCL15.C.   The latter naming pattern should continue
  1739.       into the future.
  1740.  
  1741.            Undoubtedly,  one reason for the shortage of questions is the
  1742.       amazing ability to get a quick answer on the Developer's SIG, PCS-
  1743.       57.   This  is  a  good  sign  of  a  strong  Atari  community  on
  1744.       Compuserve.   However,  the  SIG message style doesn't really lend
  1745.       itself  to lengthy explanation,  so suggestions for longer  topics
  1746.       are always welcome here.
  1747.  
  1748.            Finally,  I  am now beginning the process of collecting these
  1749.       columns and some additional material into a book.  In doing so, it
  1750.       would  be  helpful  to know if you feel that any part of  GEM  has
  1751.       been  slighted  in my discussions.   If so,  let  me  know.   Your
  1752.       suggestions  will appear in future columns and finally make  their
  1753.       way into the book.
  1754.  
  1755.  
  1756.  
  1757.  
  1758. -------------------------------------------------------------------------
  1759.  
  1760.  
  1761.  
  1762.  
  1763. ST REPORT CONFIDENTIAL
  1764. ======================
  1765.  
  1766.  
  1767. Jacksonville, FL      Avante Guard's NEW goodie could be the PARSEC BOARD,
  1768. ----------------      according to our sources, there are three versions,
  1769.                       a)- LOW Ram, b)- 1 mb and c)- 4mb.  The 4mb will
  1770.                       support 1280x1280 res with 512 colors.
  1771.  
  1772. San Pablo, CA         Len Crawford of Federated Stores in this area has
  1773. -------------         stated "We have never had a shortage of 1040s"
  1774.                       perhaps Atari is "getting it's act together".
  1775.  
  1776. Berkeley, CA          Cindy and Vicki of Atari Corp. announced at a
  1777. ------------          usergroup meeting this past week that Atari is no.1
  1778.                       in Europe and on the way to being the same in the
  1779.                       UK.
  1780.  
  1781. Akron, OH             According to an informal review of the home computer
  1782. ---------             market, the majority of home computer users would 
  1783.                       like to see a fax add-on and most enjoy using the
  1784.                       shop at home services of Cable TV and Mail Order.
  1785.  
  1786. Baltimore, MD         A local brokerage house has stated, "we have high
  1787.                       expectations" meaning that the performance of Atari
  1788.                       Corp. in the USA for 1989 will be much more like
  1789.                       that of an efficient service oriented organization.
  1790.  
  1791. Rockford, IL          ICD has released their NEW version of HD Utilites
  1792. ------------          but there is a CATCH!  It's protected!  If you do
  1793.                       not have the ICD Host Adapter it will not work! 
  1794.                       Just when you all thought sanity was returning this
  1795.                       happens, so much for all the Atari HD owners....
  1796.  
  1797. NYC, NY               MIDI Show NYC, was terrific!  According to a few
  1798. -------               midi enthusiasts, Atari remains the front runner in
  1799.                       the midi area, Atari, well represented by it's ST
  1800.                       equipment was the center of admiration and envy.
  1801.  
  1802. Sunnyvale, CA         A NEW GDOS and a full page monitor are due to appear
  1803. -------------         on the dealer shelves during the first quarter of
  1804.                       1989.  The new G-Dos is supposed to be the
  1805.                       "ultimate" and will be totally compatible with all
  1806.                       programs needing GDOS.  The NEW Monitor will follow
  1807.                       the "Power without the Price" beatitude of Atari's
  1808.                       and still provide a "full page" screen work area.
  1809.  
  1810.  
  1811.  
  1812.  
  1813. -------------------------------------------------------------------------
  1814.  
  1815.  
  1816.  
  1817.  
  1818. THIS WEEK'S QUOTABLE QUOTE
  1819. ==========================
  1820.  
  1821.  
  1822.       Atari's "Rule of Thumb"
  1823.       -----------------------
  1824.  
  1825.                 Nothing is ever a complete failure, it can always 
  1826.                            serve as a bad example.
  1827.  
  1828.  
  1829.  
  1830.                     *** OVER 4700 D/Ls FOR NOVEMBER! ***
  1831.  ------------------------------------------------------------------------
  1832.  ST-REPORT Issue #64                                    December 05, 1988
  1833.                    ALL RIGHTS RESERVED  (c)copyright 1988
  1834.  ------------------------------------------------------------------------
  1835.      ALL reprints must include ST-Report and the author in the credits.
  1836.          Views Presented herein are not necessarily those of STR 
  1837.          COMMERCIAL ONLINE SERVICES MUST HAVE WRITTEN PERMISSION 
  1838.        to offer ST REPORT for download and/or display in any form.
  1839. -------------------------------------------------------------------------
  1840.