home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 6 / Sonderheft_6-96.iso / pd / libraries / sslib51 / sslib.readme < prev    next >
Text File  |  1996-11-03  |  6KB  |  147 lines

  1.  
  2.  
  3.                             Special Support Library
  4.  
  5.                                   Version 5.1
  6.  
  7.                (c) 1993-1995 Martin Mares, MJSoft System Software
  8.  
  9. ================================================================================
  10.  
  11.  
  12. Preface
  13. =======
  14.  
  15.    The Special Support Library, accompanying utilities and their documentation
  16. are Copyright (c) Martin Mares, MJSoft System Software, Prague, Czech Republic.
  17.  
  18.    This  archive  can  be  freely  redistributed as long as all of its files are
  19. included   in   their   original   form  without  any  additions,  deletions  or
  20. modifications  (excluding addition of other README-style files and icons) and no
  21. more  than a nominal fee is charged for its distribution.  All copyright notices
  22. in  the  programs and accompanying documentation files must remain intact.  It's
  23. especially  forbidden  to add various '.displayme' files and BBS advertisements.
  24. This style of distribution is generally known as FREEWARE.
  25.  
  26.    The only one exception to the previously mentioned distribution rights is the
  27. library  code  itself  (ss.library),  which may be distributed separately in any
  28. kind  of software package (including commercial one), but the documentation must
  29. inform the user that SS.library has been developed by MJSoft System Software and
  30. that there is no warranty on it.
  31.  
  32.    Special  permission is given to Fred Fish to distribute this program on his
  33. "Fish Disks".
  34.  
  35.    This  software  is  provided  "AS  IS"  without  warranty of any kind, either
  36. expressed  or  implied.   The author is not responsible for any damage caused by
  37. it.
  38.  
  39.  
  40. About SS Library:
  41. =================
  42.  
  43.    The Special Support Library is a small library written to simplify
  44. development of small assembly programs. These programs usually contain
  45. small routine, which is preceeded by some sort of startup code for argument
  46. parsing, WB startup, opening of required libraries and similar actions.
  47. With SSLib, you include only a significantly less piece of code for loading
  48. of the library (this startup is usually generated by the "start" macro in
  49. ssmac.h).
  50.  
  51.    But SSLib is very useful not only for small programs, but also for large
  52. projects, because it offers a very powerful object tracking mechanism based
  53. on ideas of the arp.library.
  54.  
  55.    There are listed some features of SSLib:
  56.  
  57.     (a) The library currently doesn't contain any support of calling from
  58.     high-level languages (C, Pascal, Modula, Oberon, False, ADA, RTL/2,
  59.     PL/M, AMOS, Forth, AmigaBasic, GFABasic, REXX, PostScript, TeX,
  60.     Metafont, DBase 6.0, DML, ISM, Logo, GCL, Prolog, SmallTalk,
  61.     BCPL, Lisp and ...).
  62.  
  63.     (b) SSLib requires kickstart V37 or higher, but you may call OpenLibrary
  64.     with older kickstarts. In this case, SSLib will display an alert
  65.     informing the user about this fact and will refuse to open.
  66.  
  67.     (c) SSLib uses A5 to store base of its variables. But it doesn't steal
  68.     you an address register, because you can simply use this register
  69.     to index your own BSS variables (special variables defined by SS
  70.     (see SS.i) are stored BELOW A5, your own ABOVE A5. A5 itself
  71.     points to pointer to SSBase, therefore you can obtain this value
  72.     needed for calling of SSLib with minimal overhead).
  73.  
  74.     (d) SSLib installs its own exception handler to all tasks using StartupInit.
  75.     This exception handler displays contents of all the registers and
  76.     allows the user to select if he wants to Suspend the program, Reboot
  77.     the system or to try to Abort the program (it will automatically
  78.     free all tracked resources, but it could result in a crash if there's
  79.     something rotten in the system).
  80.  
  81.     (e) SSLib performs parsing of arguments (from both CLI and Workbench).
  82.  
  83.     (f) ssmac.h contains a powerful set of universal and special macros which
  84.     simplify writing of programs. (But these macros might have problems
  85.     with some compilers. If you fix some of these problems, send me
  86.     updated version and I will include it in the next release of SSLib.)
  87.  
  88.     (g) SSLib offers fast memory pool management mechanism allowing quick
  89.     manipulation with small chunks of memory. The tracking functions
  90.     use their own memory pool to increase execution speed.
  91.  
  92.     (h) Tasks can define their own low-memory handling routine, which is called
  93.         whenever some memory allocation fails (this feature is supported by
  94.         exec V39+, but this works under V37+; these routines are called by
  95.         library expunge code, therefore the library itself must use alternate
  96.         OpenCount).
  97.  
  98.     (i) Example programs are not included in this archive. They are distributed
  99.     separately.
  100.  
  101.     (j) Provides powerful mechanism for writing of pure (re-entrant) programs.
  102.     If you use the standard variable mechanism (see [c] and StartupInit doc)
  103.     instead of storing data in the program itself (in DATA/BSS hunk), the
  104.     program should be pure.
  105.  
  106.     (k) Gives you high-speed buffered I/O routines (significantly faster than
  107.     those in dos.library!).
  108.  
  109.    For other information, see the rest of this file, SSLib.doc, SS.i, ssmac.doc
  110. and all text files in this archive.
  111.  
  112. Future plans:
  113. =============
  114.  
  115.    - Some sort of string parsing mechanism.
  116.  
  117.    - Callability from high-level languages. I'm preparing a GCC interface, but I
  118. have no time to finish it.
  119.  
  120.    - Some support of graphics (MUI object generator?) - will be included
  121. in separate library.
  122.  
  123.    - Many other things including better macro set.
  124.  
  125. Files in this archive:
  126. ======================
  127.  
  128. History        list of modifications
  129. SSLib.doc    library doc
  130. SSMac.h        standard set of support macros
  131. SSMac.doc    description of the macros
  132. SS.i        library include file
  133. SS.library    the library itself
  134. SSDiag        small diagnostic utility
  135. SSDiag.doc    description of SSDiag
  136. TExtract    text hunk extractor
  137. TExtract.doc    description of TExtract
  138.  
  139. Final words:
  140. ============
  141.  
  142.   Thanks to SinSoft, PCSoft and Short Software for many good suggestions and bug
  143. reports.
  144.  
  145.   Send all comments and bug reports to <mjsoft@k332.feld.cvut.cz>.
  146.  
  147.