home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / teseract / doc / source.prn < prev    next >
Encoding:
Text File  |  1988-10-02  |  34.2 KB  |  946 lines

  1.  
  2.  
  3.  
  4. TesSeRact(TM) Source Documentation (v. 1.10)                         Page 1
  5.  
  6.  
  7.  
  8.  
  9.                                TesSeRact(TM)
  10.  
  11.  
  12.         A Library of Routines for Developing Ram-Resident Programs
  13.                                      
  14.                                     and
  15.                                      
  16.         A Proposed Standard for Ram-Resident Program Communication
  17.                                      
  18.                                      
  19.                   Source Code Documentation Version 1.10
  20.                               October 2, 1988
  21.                                      
  22.                                      
  23.               Copyright (c) 1988, TesSeRact Development Team
  24.                             All Rights Reserved
  25.      
  26.      
  27.              _______
  28.         ____|__     |               (TM)
  29.      --|       |    |-------------------
  30.        |   ____|__  |  Association of
  31.        |  |       |_|  Shareware
  32.        |__|   o   |    Professionals
  33.      -----|   |   |---------------------
  34.           |___|___|    MEMBER
  35.      
  36.      
  37.  
  38.  
  39.                              Table of Contents
  40.  
  41.  
  42.      Acknowledgements................................................2
  43.           The TesSeRact Development Team.............................2
  44.      Chapter 1.  Legal Stuff.........................................3
  45.           Copyright Notice and Software License......................3
  46.           Warranty...................................................3
  47.           Registered User License....................................4
  48.           Source Code License........................................4
  49.           Required and Suggested Notices.............................4
  50.      Chapter 2.  Shareware Terms.....................................7
  51.           Technical Support..........................................8
  52.           Association of Shareware Professionals.....................8
  53.                Standards.............................................9
  54.           Order Form................................................10
  55.      Chapter 3.  History of TesSeRact...............................11
  56.      Chapter 4.  Source Code Files..................................12
  57.           Supported Compilers.......................................12
  58.           Description of Macros.....................................13
  59.      Chapter 5.  Modifying the Source...............................15
  60.  
  61.  
  62.  
  63.  
  64.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  65.  
  66.  
  67. Page 2                         TesSeRact(TM) Source Documentation (v. 1.10)
  68.  
  69.  
  70.                              Acknowledgements
  71.  
  72. Grateful appreciation  is  expressed  to  CompuServe  Information  Service,
  73. CompuServe's IBM  Software Forums  and their  Sysops, and Computer Language
  74. Magazine for  providing us  with the means to accomplish the development of
  75. TesSeRact.   Without their  gracious assistance, TesSeRact could never have
  76. come into existence.
  77.  
  78. It is  also necessary to thank the beta testers and documentation reviewers
  79. (too numerous  to mention  here)  who  spent  many  hours  helping  produce
  80. TesSeRact.
  81.  
  82. And let's not forget Anne Marie, who suffered through the long evenings and
  83. nights spent getting this product ready.
  84.  
  85. The TesSeRact Development Team:
  86.      
  87.      Chip Rabinowitz
  88.      Jim Kyle
  89.  
  90. TesSeRact is based in part on work done by the Ringmaster Development Team,
  91. in efforts to develop a public domain TSR standard.
  92.  
  93. The Original Ringmaster Development Team:
  94.      
  95.      Team Leader:   Chip Rabinowitz
  96.      Developers:    Lane Ferris
  97.                     Kim Kokkonen
  98.                     Jim Kyle
  99.                     Neil J. Rubenking
  100.                     Barry Simon
  101.                     Rick Wilson
  102.      Contributors:  Thomas Brandenborg
  103.                     Chris Dunford
  104.                     Mark Horvatich
  105.                     John Hensley
  106.                     David Moskowitz
  107.      Advisors:      Robert Bierman
  108.                     David Intersimone
  109.                     Rick Kraus
  110.                     Gary Saxer
  111.      
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  128.  
  129.  
  130. TesSeRact(TM) Source Documentation (v. 1.10)                         Page 3
  131.  
  132.  
  133.                           Chapter 1.  Legal Stuff
  134.  
  135. Before beginning this description of TesSeRact, there are a number of legal
  136. considerations to dispense with.
  137.  
  138.  
  139.                    Copyright Notice and Software License
  140.  
  141. This  document;   other  accompanying  written  and  disk-based  notes  and
  142. specifications; and all referenced and related program files, demonstration
  143. code and  object modules  accompanying this document are copyrighted by the
  144. TesSeRact Development  Team.   The copyright  owner hereby licenses you to:
  145. use the  software; make as many copies of the software and documentation as
  146. you wish;  give exact  copies of the original to anyone; and distribute the
  147. software and  documentation in  its unmodified  form via  electronic means.
  148. There is no charge for any of the above.
  149.  
  150. You are  specifically prohibited  from charging or requesting donations for
  151. any such  copies, however made.  Exceptions may be granted to organizations
  152. which charge  a small  fee for  materials, handling,  postage  and  general
  153. overhead.  NO   ORGANIZATION  IS   AUTHORIZED  TO  CHARGE  ANY  AMOUNT  FOR
  154. DISTRIBUTION OF  THE SOFTWARE  OR DOCUMENTATION UNDER ANY OTHER CONDITIONS.
  155. Organizations which  charge a fee for distribution of any and all TesSeRact
  156. materials, except  as noted  above or  with the express, written consent of
  157. the TesSeRact  Development Team,  will be  considered in  violation of this
  158. copyright and will be prosecuted to the full extent of the law.
  159.  
  160. In addition,  you are specifically prohibited from making any modifications
  161. to the  TesSeRact Library  Routines and/or  documentation unless you have a
  162. license for  the use of the  code.  Under no circumstances is the copyright
  163. notice embedded in the TesSeRact code to be modified or removed.
  164.  
  165. This is  not free  software.   This license allows you to use this software
  166. without charge  for a period of 30 days.  In order to include this software
  167. as part  of any  product, either commercial, shareware, freeware, or public
  168. domain, registration  is required.   TesSeRact  may not  be included in any
  169. product for  any use  without registration.   Any such use of the TesSeRact
  170. product is in violation of federal copyright laws and will be prosecuted.
  171.  
  172. No copy  of the  software may  be distributed  or given  away without  this
  173. accompanying documentation; this notice must not be removed.
  174.  
  175.  
  176.                                  Warranty
  177.  
  178. There is  no warranty  of any  kind associated  with this software, and the
  179. copyright owner  is not  liable for  damages of  any kind.   By  using this
  180. software, you  agree to  this.  Every effort has been made by the TesSeRact
  181. Development Team  to make  this product  bug-free.   However, the nature of
  182. software development  is  that  it  is  impossible  to  guarantee  bug-free
  183. software.
  184.  
  185. In the event a verifiable bug is found, the TesSeRact Development Team will
  186. make every  attempt to  repair the  bug as  soon as possible.  A registered
  187.  
  188.  
  189.  
  190.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  191.  
  192.  
  193. Page 4                         TesSeRact(TM) Source Documentation (v. 1.10)
  194.  
  195.  
  196. user who reports a valid bug in a release version of TesSeRact will receive
  197. the same rights and privileges that beta testers will receive (described in
  198. a future chapter).
  199.  
  200.  
  201.                           Registered User License
  202.  
  203. Upon receipt of the appropriate registration fee, The TesSeRact Development
  204. Team will  license the  user to  use the  TesSeRact Library  in any and all
  205. products that  the registered  user wishes.   The  registered user may also
  206. distribute unregistered  copies of  the TesSeRact  product,  provided  said
  207. copies include  all materials, documentation and copyright notices provided
  208. with the  original copy  of TesSeRact.  In addition, the embedded copyright
  209. notice within  the code  may not  be removed  from any  copy of  either the
  210. TesSeRact Library,  or from  an executable  program that uses the TesSeRact
  211. Library.   Finally, the  notices described  later in  this document must be
  212. reproduced in both the source code to the registered user's product, and in
  213. the documentation for that product.
  214.  
  215. Users of  TesSeRact are  requested to  formally register  each Ram-Resident
  216. product with the TesSeRact Development Team.  This registration is free and
  217. allows  the  Development  Team  to  maintain  a  list  of  'available'  TSR
  218. Identification Strings.   Although this registration is not required by the
  219. terms of  the  software  license,  it  is  strongly  recommended  to  avoid
  220. conflicts of TSR names.
  221.  
  222.  
  223.                             Source Code License
  224.  
  225. In addition  to the  provisions described  previously, upon  receipt of the
  226. appropriate fee,  the TesSeRact  Development Team licenses the user to use,
  227. but NOT  DISTRIBUTE, the  source code to the TesSeRact Library.  Registered
  228. users may, at their option, modify the TesSeRact Library routines, with the
  229. following exceptions:
  230.      
  231.   1.   The Interrupt 2fh Multiplex Functions must not be modified in any
  232.        way that  is detectable by an outside program.  The modified code
  233.        must look and execute as if it was the original.
  234.   2.   The embedded  copyright notice, and the associated checksum code,
  235.        may not be removed.
  236.  
  237. Object modules  and executable  programs containing  the modified TesSeRact
  238. Library routines  may be distributed without additional restrictions (other
  239. than described  previously); the  source code may not be distributed in any
  240. form, either in its original or modified form, without the express, written
  241. permission of the TesSeRact Development Team.
  242.  
  243.  
  244.                       Required and Suggested Notices;
  245.  
  246. Under the terms of this license, any product, either commercial, shareware,
  247. freeware, or  public domain,  must include the following notice in both the
  248. program code  and the documentation (Note than an embedded copyright notice
  249.  
  250.  
  251.  
  252.  
  253.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  254.  
  255.  
  256. TesSeRact(TM) Source Documentation (v. 1.10)                         Page 5
  257.  
  258.  
  259. already appears  in the TesSeRact code itself; this notice should be placed
  260. in a commented section of the code):
  261.  
  262. ----------------------------------------
  263.      This product  uses the TesSeRact(TM) Ram-Resident Library and supports
  264.      the TesSeRact  Standard for  Ram-Resident Program  Communication.  For
  265.      information about  TesSeRact, contact  the TesSeRact  Development Team
  266.      at:
  267.      
  268.           TesSeRact Development Team
  269.           1657 The Fairways
  270.           Suite 101
  271.           Jenkintown, PA 19046
  272.      
  273.           Phone:              215-884-3373
  274.           CompuServe:         70731,20
  275.           MCIMAIL:            315-5415
  276.           FAX:                215-886-4225
  277.      
  278.      This MCIMAIL  Account has  been provided  to the TesSeRact Development
  279.      Team by Borland International, Inc.  The TesSeRact Development Team is
  280.      in no  way associated with Borland International, Inc.  TesSeRact is a
  281.      trademark of the TesSeRact Development Team.
  282.  
  283. ----------------------------------------
  284.  
  285. Products that  are written  to support  the TesSeRact Standard which do not
  286. use the  TesSeRact Library routines are encouraged to include the following
  287. notice in their documentation:
  288.  
  289. ----------------------------------------
  290.      This product  supports the  TesSeRact(TM)  Standard  for  Ram-Resident
  291.      Program Communication.   For  information about TesSeRact, contact the
  292.      TesSeRact Development Team at:
  293.      
  294.           TesSeRact Development Team
  295.           1657 The Fairways
  296.           Suite 101
  297.           Jenkintown, PA 19046
  298.      
  299.           Phone:              215-884-3373
  300.           CompuServe:         70731,20
  301.           MCIMAIL:            315-5415
  302.           FAX:                215-886-4225
  303.      
  304.      This MCIMAIL  Account has  been provided  to the TesSeRact Development
  305.      Team by Borland International, Inc.  The TesSeRact Development Team is
  306.      in no  way associated with Borland International, Inc.  TesSeRact is a
  307.      trademark of the TesSeRact Development Team.
  308.  
  309. ----------------------------------------
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  317.  
  318.  
  319. Page 6                         TesSeRact(TM) Source Documentation (v. 1.10)
  320.  
  321.  
  322. Developers who  have special  circumstances which would appear to violate a
  323. portion or portions of the TesSeRact License Agreement are urged to contact
  324. the TesSeRact Development Team to work out details of a special license.
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  380.  
  381.  
  382. TesSeRact(TM) Source Documentation (v. 1.10)                         Page 7
  383.  
  384.  
  385.                         Chapter 2.  Shareware Terms
  386.  
  387. TesSeRact is  a user-supported program, also known as 'shareware.'  You are
  388. permitted under  the terms of this license to use this software for 30 days
  389. without any  payments.   If you  continue to  use this  software past  this
  390. point, you must register your copy as outlined below.
  391.  
  392. Registration for  the TesSeRact  Library, in any form, is a one-time fee of
  393. $25.  Payment of this fee entitles you to:
  394.      
  395.      1.   A disk with the latest version of the TesSeRact Library.
  396.      2.   Printed Documentation
  397.      3.   The right  to use  the TesSeRact  Library with  any  Ram-Resident
  398.           program  you   sell  or   distribute,  provided  the  appropriate
  399.           copyright notices appear in your code and documentation.
  400.      4.   Upgrades to future  versions of TesSeRact for $10.
  401.  
  402. The complete,  commented source  code to  TesSeRact is  also  available  to
  403. registered users only for a fee of $25.
  404.  
  405. For an  additional $10  per year,  registered users  can receive  a monthly
  406. newsletter  consisting   of  a  list  of  all  registered  products,  their
  407. associated  TSR  Identification  Strings,  and  level  of  support  of  the
  408. TesSeRact Ram-Resident  Program Communication  Standard.   This  newsletter
  409. will also  contain information  about new  versions of TesSeRact, supported
  410. languages, new documentation, etc.
  411.  
  412. Users who  wish to 'test-drive' TesSeRact may do so for a period of 30 days
  413. without charge.   The  TesSeRact Library and Documentation are available on
  414. many electronic  bulletin boards,  commercial electronic networks, and mail
  415. order 'distribution'  houses.   If you  do not  have access to any of these
  416. methods, the TesSeRact Development Team will send you a copy of the Library
  417. and disk-based documentation for $10.  The disk-based documentation differs
  418. from the  printed documentation  only  in  formatting  --  the  content  is
  419. identical.
  420.  
  421. Developers who  have special  circumstances which would appear to violate a
  422. portion or portions of the TesSeRact License Agreement are urged to contact
  423. the TesSeRact Development Team to work out details of a special license.
  424.  
  425. Registered users  of TesSeRact are requested to formally register each Ram-
  426. Resident product with the TesSeRact Development Team.  This registration is
  427. free and  allows us  to maintain  a list  of 'available' TSR Identification
  428. Strings.   Although this  registration is  not required by the terms of the
  429. software license,  it is  strongly recommended  to avoid  conflicts of  TSR
  430. names.  Registered products will be printed in the monthly newsletter.
  431.  
  432. Persons interested  in testing  future versions of TesSeRact should contact
  433. the TesSeRact  Development Team  for information.   Registered  testers who
  434. report verifiable  bugs  or  who  make  enhancement  suggestions  that  are
  435. implemented in  TesSeRact receive  an automatic  registration to either the
  436. current or next version of TesSeRact;  or a freesource code license.
  437.  
  438.  
  439.  
  440.  
  441.  
  442.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  443.  
  444.  
  445. Page 8                         TesSeRact(TM) Source Documentation (v. 1.10)
  446.  
  447.  
  448. Developers are  also encouraged  to include  Chapter 10  of this  document,
  449. entitled 'Communicating  with the  TesSeRact,' with  any or  all  of  their
  450. program  documentation.     Chapter   11,   'Writing   TesSeRact-Compatible
  451. Programs,' is  also suitable  for reproduction.   These  chapters, with the
  452. appropriate copyright  notices intact may be reproduced without fee for the
  453. purpose of promoting the TesSeRact Standard.
  454.  
  455.  
  456.                              Technical Support
  457.  
  458. Technical Support  for TesSeRact  is provided free of charge in Subtopic 13
  459. of  the   Computer  Language  Magazine  Forum  (GO  CLMFOR)  on  CompuServe
  460. Information Service.   This  is the  ONLY official  electronic location for
  461. TesSeRact technical  support, although asking a question almost anywhere on
  462. CompuServe will  get an answer.  Technical Support will NOT be provided via
  463. MCIMAIL or CompuServe Easyplex Mail.
  464.  
  465. Members of  the  TesSeRact  Development  Team  may,  at  their  option,  be
  466. available for  lectures and seminars on the product.  Please do not contact
  467. them directly  -- forward  such requests  to the  official address  of  the
  468. development team listed above, or via electronic means.
  469.  
  470. Prepared  programs   currently  exist   for  a  one-to-two  hour  TesSeRact
  471. 'introduction' seminar,  as well  as for a full-day Workshop for developing
  472. applications with TesSeRact.  These programs were designed by the TesSeRact
  473. Team Leader;   Users  Groups, Colleges,  or Corporations interested in such
  474. programs should contact the Development Team.
  475.  
  476.  
  477.                   Association of Shareware Professionals
  478.  
  479. The Team  Leader of  the TesSeRact  Development Team  is a  member  of  the
  480. Association of  Shareware Professionals  (ASP), an  organization formed  in
  481. April 1987  to strengthen the future of shareware (user supported software)
  482. as an  alternative to  commercial software.   Its  members, all of whom are
  483. programmers who subscribe to a code of ethics, are committed to the concept
  484. of shareware as a method of marketing.
  485.  
  486. The primary goals of the ASP are:
  487.   
  488.   To inform  users about  shareware programs  and about  shareware as  a
  489.        method of distributing and marketing software;
  490.   To encourage broader distribution of shareware through user groups and
  491.        disk dealers  who agree  to identify  and explain  the nature  of
  492.        shareware;
  493.   To assist members in marketing their software;
  494.   To provide  a forum  through which  ASP members may communicate, share
  495.        ideas, and learn from each other; and
  496.   To foster  a high degree of professionalism among shareware authors by
  497.        setting programming,  marketing and  support  standards  for  ASP
  498.        members to follow.
  499.   
  500.   
  501.  
  502.  
  503.  
  504.  
  505.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  506.  
  507.  
  508. TesSeRact(TM) Source Documentation (v. 1.10)                         Page 9
  509.  
  510.  
  511.          Standards for the Association of Shareware Professionals
  512.  
  513. PROGRAMMING STANDARDS:
  514.   
  515.   The program meets the ASP's definition of "shareware" (i.e., it is not
  516.        a commercial demo with major feature disabled, nor a time-limited
  517.        program).
  518.   The program has been thoroughly tested by the author and should not be
  519.        harmful to other files or hardware if used properly.
  520.  
  521. DOCUMENTATION STANDARDS:
  522.   
  523.   Sufficient documentation  is provided to allow the average user to try
  524.        all the major functions of the program.
  525.   Any  discussion   of  the   shareware  concept   and  of  registration
  526.        requirements is done in a professional and positive manner.
  527.  
  528. SUPPORT STANDARDS:
  529.   
  530.   The member  will respond  to people who send registration payments, as
  531.        promised in  the program's  documentation.   At  a  minimum,  the
  532.        member will acknowledge receipt of all payments.
  533.   The member  will establish  a procedure  for users to report, and have
  534.        acknowledged, matters such as bug reports, and will describe such
  535.        means in  the documentation  accompanying  all  versions  of  the
  536.        programs.   The author  will respond  to written bug reports from
  537.        registered users when the user provides a self-addressed, stamped
  538.        envelope.
  539.   Known incompatibilities  with other  software or hardware and major or
  540.        unusual program  limitations are  noted in the documentation that
  541.        comes with the shareware (evaluation) program.
  542.  
  543. GENERAL:
  544.   
  545.   Members [will  keep the  ASP apprised  of changes  in mailing address;
  546.        which shareware  programs they  have published  and are currently
  547.        supporting; the  current version  numbers; and  of any changes in
  548.        the status of their programs.
  549.   If a user has a dispute with an ASP member-author, the user may appeal
  550.        to the ASP to mediate for arbitration of the dispute.
  551.  
  552. For more  information about  the Association  of  Shareware  Professionals,
  553. contact Jim  Button, chairman  of the  board of  directors,  at  Compuserve
  554. 71435,2012.
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  569.  
  570.  
  571. Page 10                        TesSeRact(TM) Source Documentation (v. 1.10)
  572.  
  573.  
  574.             TesSeRact(TM) Products Order And Registration Form
  575.  
  576.  
  577.      Registration Number:     ____________________________
  578.      
  579.      Name:          ______________________________________
  580.      
  581.      Address:       ______________________________________
  582.      
  583.                     ______________________________________
  584.      
  585.      City:          ______________________________________
  586.      
  587.      State:         __________________________ Zip: ______
  588.      
  589.      Telephone:     ______________________________________
  590.      
  591.      Item                                      Quantity      Total
  592.      --------------------------------------------------------------
  593.      Registered User Upgrade ($10)_______________________|_________
  594.         (to Version 1.10)
  595.      Upgrade for Registrations after 9/15/88_____________|____0.00_
  596.      TesSeRact Registration ($25 each)___________________|_________
  597.      TesSeRact Source Code License ($25 each)____________|_________
  598.      TesSeRact Trial Disk ($10)__________________________|_________
  599.      Monthly Information NewsLetter______________________|_________
  600.         ($10 per year)
  601.      Product Identification String (Free!!)______________|____0.00_
  602.      Your ID String: ______________ Product Name: ______________
  603.      
  604.      Shipping Charges:     Upgrade Order        Normal Registration
  605.                           U.S.  :  $ 0.00         U.S.  :  $ 0.00
  606.                           Canada:  $ 5.00         Canada:  $10.00
  607.                           Europe:  $10.00         Europe:  $15.00
  608.      Overnight:  $15.00 + Normal Shipping Charge (from above)
  609.      Total Shipping Charges______________________________|_________
  610.      --------------------------------------------------------------
  611.      Total Due:                                          |_________
  612.      
  613.      Preferred Disk Size:  3.5" ____  5.25" ____
  614.      
  615.      Where did you hear about TesSeRact? __________________________
  616.      Primary Language/Compiler: ___________________________________
  617.      
  618.      Mail Completed Form to:
  619.                     TesSeRact Development Team
  620.                     1657 The Fairways
  621.                     Suite 101
  622.                     Jenkintown, PA 19046
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  632.  
  633.  
  634. TesSeRact(TM) Source Documentation (v. 1.10)                        Page 11
  635.  
  636.  
  637.     Chapter 3.  History of TesSeRact and the TesSeRact Development Team
  638.  
  639. The  TesSeRact  Development  Team  was  organized  in  early  1986  as  the
  640. Ringmaster Development Team for the sole purpose of establishing a standard
  641. to be  shared by TSR program developers, in hopes of reducing the notorious
  642. levels of conflict between such programs.  Participants (all listed earlier
  643. in this  document) represented  the majority  of  leading  independent  TSR
  644. developers.   From the  start, the team conducted its discussions using the
  645. CompuServe Information  System; it  originally met  in a restricted area of
  646. IBMNET and  subsequently moved to the CLMFORUM for public beta tests of the
  647. libraries.
  648.  
  649. The team's  original  goals  were  lofty;  too  much  so,  perhaps,  to  be
  650. achievable within  a reasonable  time span.   The  team envisioned  a total
  651. Applications Program  Interface (API)  for  use  by  both  independent  and
  652. commercial TSR  programs.   Although discussions  with a  leading  software
  653. publisher were held, a consensus developed that no such universal API could
  654. gain acceptance.   After  that conclusion was reached, active participation
  655. dwindled with  the passage  of time, and at one point it appeared to nearly
  656. everyone as  if the project had died.  Establishment of a public discussion
  657. area for  TSR techniques  on the old MSOFT forum breathed new life into the
  658. effort and  brought fresh  contributions from  Thomas Brandenborg  and John
  659. Hensley.   As a result of that discussion, the activity revived with a more
  660. limited goal  of providing a simplified method for creation of TSR programs
  661. using high  level languages and a standard interface for communicating with
  662. such programs.
  663.  
  664. The present package is the outcome of that revived research.  Although most
  665. of the  original team members did not participate in the development of the
  666. current product, their efforts were vital to the TesSeRact library routines
  667. and Standard.   Development continues, and the original goal of a universal
  668. API remains  faintly visible  on the horizon as a rainbow to be chased.  In
  669. the meantime,  TesSeRact as it exists today provides a usable, and we hope,
  670. useful tool to the TSR development community.
  671.  
  672. Future plans  for TesSeRact  include  support  for  Expanded  and  Extended
  673. Memory, and of course, new and improved future versions of DOS.  If support
  674. for the  TesSeRact interface is strong enough, we plan to develop a version
  675. that will run in protected mode as a keyboard monitor under OS/2.
  676.  
  677. In addition,  if there  is enough  support, the  TesSeRact Development Team
  678. would like  to become  the 'clearinghouse'  for  TSR  program  development,
  679. studying options  and continuing  to delve  into undocumented  features  of
  680. operating systems for the PC.
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  695.  
  696.  
  697. Page 12                        TesSeRact(TM) Source Documentation (v. 1.10)
  698.  
  699.  
  700.                        Chapter 4.  Source Code Files
  701.  
  702. To assemble  the TesSeRact  source code,  an assembler compatible with MASM
  703. 5.0 is  required, and  the MIXED.INC  file provided  with MASM  5.0 is also
  704. needed.  The MIXED.INC provided with MASM 5.1 is different, and some of the
  705. macros may  require editing before use.  Descriptions of the macros used by
  706. the TesSeRact source code are included in this chapter.
  707.  
  708. In addition,  MASM 5.0's  MIXED.INC file needs to be modified if you intend
  709. to use it with MASM 5.0 in assembling TesSeRact.  Change all occurrances of
  710. '@Datasize' to  '@DataSize' and  it will then assemble correctly.  MASM 5.1
  711. may be  used with  the MASM 5.0 MIXED.INC file, or by changing the '.model'
  712. directive in  each file  to use  the correct  version of the new 'setModel'
  713. macro described in this chapter.
  714.  
  715. The TesSeRact  source code  is fully compatible with Microsoft MASM 5.0 and
  716. 5.1 (except  as noted  above); with  SLR System's  OPTASM, and with Borland
  717. International's TASM.   When  using MASM  or TASM  to  assemble  TesSeRact,
  718. please make  sure the  command line includes the '/DMASM' definition.  TASM
  719. will give a warning about using a reserved word, but this may be ignored.
  720.  
  721. Regardless of what assembler you use, the resulting OBJ and LIB modules are
  722. known to be compatible with the following high-level language compilers:
  723.   
  724.   Turbo C Versions 1.5 and 2.0
  725.   Microsoft C Versions 5.0 and 5.1
  726.   Microsoft Quick-C Versions 1.x
  727.   Turbo Pascal Versions 4.0 and 5.0
  728.   Turbo Prolog Version 2.0
  729.   Microsoft QuickBasic Versions 3.0 and 4.0
  730.  
  731. The actual source code for TesSeRact is included in the following files:
  732.   
  733.   TESS.INC               Include file; internal macros and equates
  734.   
  735.   TSINT2F.ASM            Global variables and Multiplex Handler
  736.   TSINT13.ASM            Interrupt 13h handler
  737.   TSINT16.ASM            Interrupt 16h handler
  738.   TSINT1C.ASM            Interrupt 1Ch handler
  739.   TSINT21.ASM            Interrupt 21h handler
  740.   TSINT24.ASM            Interrupt 24h handler
  741.   TSINT28.ASM            Interrupt 28h handler
  742.   TSINT8.ASM             Interrupt 08h handler
  743.   TSINT9.ASM             Interrupt 09h handler
  744.   
  745.   TSPOPUP.ASM            Popup/background routines
  746.   TSUTIL.ASM             Utility routines
  747.   TSHOT.ASM              Keyboard Checking routines
  748.   
  749.   TSCHKRES.ASM           int 2f, fn 00h - user routine
  750.   TSGETPAR.ASM           int 2f, fn 01h - user routine
  751.   TSCHKHOT.ASM           int 2f, fn 02h - user routine
  752.   TSUSER24.ASM           int 2f, fn 03h - user routine
  753.   TSGETDAT.ASM           int 2f, fn 04h - user routine
  754.  
  755.  
  756.  
  757.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  758.  
  759.  
  760. TesSeRact(TM) Source Documentation (v. 1.10)                        Page 13
  761.  
  762.  
  763.   TSSETHOT.ASM           int 2f, fn 05h - user routine
  764.   
  765.   TSENATSR.ASM           int 2f, fn 10h - user routine
  766.   TSDISTSR.ASM           int 2f, fn 11h - user routine
  767.   TSRELTSR.ASM           int 2f, fn 12h - user routine
  768.   TSRESTSR.ASM           int 2f, fn 13h - user routine
  769.   TSGETSTA.ASM           int 2f, fn 14h - user routine
  770.   TSSETSTA.ASM           int 2f, fn 15h - user routine
  771.   TSGETPOP.ASM           int 2f, fn 16h - user routine
  772.   
  773.   TSCALTSR.ASM           int 2f, fn 20h - user routine
  774.   TSSTUKBD.ASM           int 2f, fn 21h - user routine
  775.   TSTRIGPO.ASM           int 2f, fn 22h - user routine
  776.   TSTRIGBG.ASM           int 2f, fn 23h - user routine
  777.   
  778.   TSDOBEEP.ASM           Beep routine
  779.   
  780.   TSINIT.ASM             Init routines
  781.   TSSTACK.ASM            Stack setting routines
  782.   
  783.   DUMMY1.ASM             Stub module for TsrMain
  784.   DUMMY2.ASM             Stub module for TsrBackCheck
  785.   DUMMY3.ASM             Stub module for TsrBackProc
  786.   DUMMY4.ASM             Stub module for TsrTimerProc
  787.   DUMMY5.ASM             Stub module for TsrUserProc
  788.   DUMMY6.ASM             Stub module for TsrCleanUp
  789.  
  790. To create  the 'generic', or C Language version of TesSeRact, these are the
  791. only files  required.   Some other  source  files  are  also  included,  to
  792. assemble other versions of the code:
  793.   
  794.   TESS_ASM.ASM           Module for Assembler version
  795.   TESS_BP.ASM            Module for Assembler version
  796.   TESS_END.ASM           Module for Assembler version
  797.   
  798.   TESS_TP.ASM            Module for Turbo Pascal 4 version
  799.   TESSTP.PAS             Module to create TESSTP Unit for TP4
  800.   TESSTP5.PAS            Module to create TESSTP Unit for TP5
  801.   TESS.TP4               Include module for TP4 & TP5 versions
  802.   
  803.  
  804. Two different  'makefiles' are also provided.  MAKE1 is for *nix-compatible
  805. make programs  (like Borland  MAKE), that  supports macros.   MAKE2  is for
  806. Microsoft MAKE.  MAKE1.LB and MAKE2.LB are LIB response files for Borland's
  807. TLIB  and   Microsoft's   LIB   programs,   respectively.      You   should
  808. combine/add/subtract  from   each  makefile  according  to  the  tools  you
  809. have/use.
  810.  
  811.  
  812.                            Description of Macros
  813.                                      
  814.   High-Level-Language Interface Macros - Version 1.0
  815.     for Microsoft Macro Assembler 5.0
  816.   (C) Copyright Microsoft Corporation, 1987.
  817.  
  818.  
  819.  
  820.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  821.  
  822.  
  823. Page 14                        TesSeRact(TM) Source Documentation (v. 1.10)
  824.  
  825.  
  826.   
  827.     Syntax               Purpose
  828.     ------               -------
  829.   
  830.     setModel             Sets model from text equate
  831.   
  832.     hProc <name [NEAR|FAR]> [,<USES reglist>]
  833.        [,arg[:type] [,arg[:type]]]...
  834.           Starts a procedure with optional stack arguments
  835.   
  836.     hLocal var[:type] [,var[:type]]...
  837.           Defines local stack variables
  838.   
  839.     hRet                 Returns from the current procedure
  840.   
  841.     hEndp                Ends the current procedure
  842.   
  843.     ifFP  statement      Assembles statement if far data
  844.   
  845.     FPoperand            Conditionally provides ES override for data
  846.   
  847.     pLes register,address Conditionally loads data through ES
  848.   
  849.     pLds register,address Conditionally loads data through DS
  850.   
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved
  884.  
  885.  
  886. TesSeRact(TM) Source Documentation (v. 1.10)                        Page 15
  887.  
  888.  
  889.                      Chapter 5.  Modifying the Source
  890.  
  891. The source  code license  permits you  to modify  any/all of  the TesSeRact
  892. routines with  the following  restrictions:   The embedded copyright notice
  893. and associated  checksum verification may not be removed; and the Interrupt
  894. 2Fh Multiplex  handler must  not be  modified in any way detectible from an
  895. outside program, as it relates to the standard Multiplex functions.
  896.  
  897. The primary purpose for modifying the TesSeRact source would be to add some
  898. special handling  of the  keyboard or  timer interrupts, not permissable by
  899. the standard TesSeRact routines.  There is no problem with this whatsoever.
  900. There is also no problem with modifying the size of the keyboard buffer, or
  901. even removing  it (if  you do  remove it,  be sure  to mark  the  FuncFlags
  902. parameter that that Multiplex function is not available).
  903.  
  904. Feel free to add additional functionality to the Interrupt 2Fh interface --
  905. if you  do, however,  please use a different value for the AX register than
  906. the TesSeRact id number (5354h).
  907.  
  908. This documentation  is intentionally  brief; most questions can be answered
  909. by looking  at the  source code and reading the standard documentation.  If
  910. you have any questions, please contact the TesSeRact Development Team at:
  911.      
  912.           TesSeRact Development Team
  913.           1657 The Fairways
  914.           Suite 101
  915.           Jenkintown, PA 19046
  916.      
  917.           Phone:              215-884-3373
  918.           CompuServe:         70731,20
  919.           MCIMAIL:            315-5415
  920.           FAX:                215-886-4225
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.     Copyright (c) 1988, TesSeRact Development Team, All Rights Reserved