
**************************************************************************

 - THE LEGENDARY >> SUBSOFTWARE << IN 90 !!!
 ===========================================


                   - CONTACT US
 
                     - BP: 36 -
                   - 1380 REBECK -
                    -  BELGIUM -

              - DON'T SEND ANY DISKS -

**************************************************************************

                      UPDATE DOCUMENTATION FOR DSM

   This diskette contains DSM Version 1.0d.  At this time I would like to
   remind you to fill out the registration/warranty and license agreement
   forms.  If you don't return these forms to us, you won't be entered
   into our user database.  This means that we won't be able to contact
   you to provide information about product updates, or to provide
   technical support should you need it. So, 

        *** PLEASE FILL OUT THESE FORMS AND RETURN THEM TO US ***
   
   The following changes were recently made to DSM, and are not documented
   in the DSM User's Manual:



   I)  ENHANCEMENTS

   DSM Version 1.0d now utilizes Wack-readable symbol information if it is
   contained in the executable program.  Symbol information is placed
   into a program at compilation (or assembly) time to assist in debugging.
   For example, the Amiga assembler, assem, places symbol information into
   a file if the "-c s" option is selected.  If the program that you 
   disassemble contains symbol information, DSM will use symbol names when 
   creating the assembly language source code listing.

   Software developers should find this enhancement extremely valuable.  
   DSM can now be used to generate assembly language source code listings 
   which contain the names of functions/subroutines used in a program.
   These listings, especially when used in conjunction with a symbolic 
   debugger, can greatly assist in program debugging.

   The inclusion of symbol names into source code listings, greatly 
   improves a programmer's ability to understand - at a glance - what a
   program is doing.  To gain an appreciation for this, we recommend that
   you disassemble the program "speaktime.sym" which is now included in
   the "examples" directory.  "speaktime.sym" is the same program as
   "speaktime", except that the former includes symbol information.



   II)  REVISED WARNING MESSAGES

   In connection with the enhancement described above, several warning
   messages were revised/added in Version 1.0d.  These changes are 
   described below. 


   Warning 0.  Symbol "x" at same location as symbol "y" in segment n.
   Symbol "x" discarded.

   This warning is issued whenever DSM detects that two symbols, "x" and
   "y" have the same value.  When Warning 0 is issued, DSM discards the 
   symbol whose name has the least characters in it.

   
   Warning 7.  Symbol "x" located outside bounds of segment n.
   Symbol discarded.

   If 32 bit relocation is performed on a symbol, the current Version of 
   DSM requires that the relocated value fall within the bounds of the 
   segment with respect to which relocation was performed.  If relocation 
   results in a value that is outside the bounds of this segment, DSM 
   issues Warning 7 and discards the symbol.

   NOTE:  THIS WARNING REPLACES THE OLD WARNING 7.  CONSEQUENTLY, DSM 
   WILL NOT ISSUE A WARNING WHEN AN EXISTING VERIFICATION FILE IS ABOUT 
   TO BE OVERWRITTEN.


   Warning 9.  Symbol "x" truncated in segment n.

   The maximum length that DSM will accept for a symbol name is 35
   characters.  If a symbol name is encountered that exceeds this limit, 
   DSM will truncate the name to 35 characters.


   Warning 10.  Symbol name conflict.  Symbol "x" in segment n discarded.

   Symbol names must be unique; two symbols with different values cannot
   have the same name.  Additionally, symbol names of the form E#, L#, or
   seg# are reserved for use by DSM.  Warning 10 will be issued whenever
   DSM detects that two symbols have the same name, or that a symbol has
   the form E#, L#, or seg#.  For example, the symbol name "L22" is 
   reserved for use by DSM since it is of the form, L#.  If the name
   "L22" appeared in a program's symbol block, DSM would issue Warning
   10 and discard the symbol.


  
   III)  NEW ERROR MESSAGE

   The following new non-fatal error message was added in Version 1.0d:

   Error 20.  Code alignment error.

   If DSM detects that an instruction overlaps into a previously 
   disassembled code fragment, Error 20 will be issued.  This error should
   not arise during the disassembly of normal, properly-functioning, 
   executable programs.  This error could occur if the program being 
   disassembled utilizes self-modifying code, or if the program contains 
   a bug. 


   IV)  TECHNICAL SUPPORT

   OTG Software will attempt to provide technical support to registered
   users of DSM.  If you need technical support you can either write to
   us at

                 OTG Software
                 Attention: Tech Support
                 200 West 7th Street
                 Suite 618
                 Fort Worth, TX 76102

   or you can try to contact us online on Compuserve (76515,1650),
   BIX (dhankins), or PeopleLink (OCS378).

   We welcome any comments or questions you might have.


   V)  BUG FIXES

   09/01/88 Release

   1)  This diskette contains an updated version of DSM.  The 09/01/88
       release fixes the bug which sometimes caused DSM to crash when 
       disassembling programs having many Wack-readable symbols.

   2)  The 09/01/88 release was also updated to automatically rename 
       illegal symbol names.  Legal symbol names must start with an 
       alphabetic character, or with "." or "_".  If DSM encounters an 
       illegal symbol name, the name will be prepended with the letter "I".
       Then, any illegal characters in the name will be replaced with ".".
       For example, if DSM encounters the name "1$413" in a program, 
       it will rename this symbol as "I1.413" and then issue Warning 41.
       Finally, DSM will issue Warning 41 to let you know what has 
       transpired.
       
       Illegal symbol names may be generated by the Amiga assembler, assem,
       when local labels of the $nnn variety are used in the assembly 
       source file.  By renaming illegal symbol names, DSM allows you to
       reassemble the ".dsm" files without post-editing.

  
   11/01/88 Release

   1)  The 11/01/88 release fixes the bug which caused DSM to crash when 
       disassembling programs which use overlays - note that overlays
       are not yet supported by DSM.

   2)  The diagnostic corresponding to Warning 2 would occasionally list
       incorrect segment and address numbers.  This bug has been fixed.

   3)  Pc relative addresses for the movem instruction were, in some
       instances, calculated incorrectly.  This bug has been fixed.



   12/01/88 Release

   1)  The 12/01/88 release fixes the bug which caused DSM to go into
       a nearly endless loop when it encountered files containing a long
       sequence of text containing a large number of punctuation 
       characters.   

