               SOFTWARE USE LIMITATIONS AND LIMITED LICENSE 

  This software product and the manual are copyrighted and all rights are 
    reserved by Interplay Productions and are protected by the copyright 
   laws that pertain to computer software.  You may not copy the software 
   except that you may make one copy of the software solely for backup or 
     archival purposes.  You may not loan, sell, rent, lease, give, sub 
  license, or otherwise transfer the software (or any copy).  You may not 
       modify, adapt, translate, create derivative works, decompile, 
     disassemble, or otherwise reverse engineer or attempt to reverse 
  engineer or derive source code from, all or any portion of the software 
  or anything incorporated therein or permit or encourage any third party 
                                to do so.

        DESCENT COPYRIGHT (C) 1996 PARALLAX SOFTWARE CORPORATION
                           ALL RIGHTS RESERVED

        ALL TRADEMARKS ARE PROPERTY OF INTERPLAY PRODUCTIONS, INC.
                           ALL RIGHTS RESERVED
    INTERPLAY PRODUCTIONS IS THE EXCLUSIVE LICENSEE AND DISTRIBUTOR.

