home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / asmutil / tbones07.zip / HISTORY next >
Text File  |  1991-01-20  |  9KB  |  197 lines

  1. ============================================================================
  2. TBONES REVISION HISTORY:
  3. -----------------------
  4.  
  5. PRE-RELEASE:
  6. -----------
  7.  
  8. TBONES07 -  January 20,1991 (Robert Curtis Davis)
  9. -------------------------------------------------
  10.  
  11. The following changes have been made in the current release:
  12.  
  13. * Upon detection of the HotKey, the DOS Keyboard buffer is now flushed to
  14.         prevent passing keys through to DOS after TSR triggers.
  15.  
  16. * Interrupts are enabled in all our handlers where reasonable so that
  17.         other critical interrupt processing is not locked out.
  18.  
  19. * Interrupt handlers now call prior handlers at outset of their
  20.         code where reasonable.
  21.  
  22. * Cleaned up the "bellgate" stuff that prevents unnecessary re-entry
  23.         into several portions of the code.
  24.  
  25. * Added a vital "cli" to be sure interrupts disabled in our INT13 handler
  26.         when the simulated interrupt call to the prior handler is made.
  27.         This is necessary to cover the potential problem of some other TSR
  28.         chaining to the INT13 handler without insuring that interrupts
  29.         are disabled. A normal INT 13 DOES disable interrupts but we
  30.         cannot safely assume that we will always be entered via a normal
  31.         interrupt. For example, our handler might be jumped to by someone
  32.         who forgot that the interrupts were enabled. Our "cli" protects
  33.         us from such mistakes.
  34.  
  35. * Fixed code so MASM v1.0 can assemble the ASM programs. The calculation
  36.         of the number of paragraphs to make resident was handled improperly
  37.         by MASM v1.0. The problem evidently was in its handling of the SHR 4
  38.         function to divide resident bytes by 16 to obtain resident paragraphs.
  39.         Using /16 in the current version cured the problem.
  40.  
  41. * 1-line TBONES description now included for use by archivers and BBSers.
  42.  
  43. * The pop bx in the DOSver1 area was a bug for DOS Version 1.x. It is
  44.         unnecessary since the only way we get to DOSver1 is via the
  45.         jump at the beginning of the TSRinit stuff and, there, no push bx
  46.         is done. This was a definite bug for DOS Version 1.x users. Fixed
  47.         by adding a push bx for the DOSver1 exit.
  48.  
  49. * TSRINT and TSRKEY now bail out gracefully (as did TSRBONES) on DOS
  50.         Version 1.x.
  51.  
  52. * I HATE TSRS which leave only the unhelpful "N/A" under the owner
  53.         column in the Mark/Release package's MAPMEM command. Therefore
  54.         TSRINT and TSRKEY have been given a Pseudo-Environment to show
  55.         a name. This costs only 16-bytes of resident RAM.
  56.  
  57. * Added pagination and Title and Subttl's to the programs TSRINT.ASM
  58.         and TSRKEY.ASM to prettify their .LST listings.
  59.  
  60.  
  61. TBONES06 -  December 29, 1990 (Robert Curtis Davis)
  62. ---------------------------------------------------
  63.  
  64.         E-mail exchanges with Roy Silvernail were most helpful in solving
  65. a problem that TASM v.1.0 encountered in calculating the number of paragraphs
  66. with which to go resident in the TSR initialization code. Thanks, Roy.
  67.  
  68.         Since there were only slight differences amongst them, and because
  69. they served more to document my personal journey toward understanding TSRs
  70. than to help other users, I have eliminated the programs TSRDOSOK, TSR1DOK,
  71. and TSR1DHW which were included in earlier versions of the TBONES package.
  72. ALL of the eliminated programs' features are incorporated into TBONES' new
  73. flagship TSR program, TSRBONES.ASM.
  74.  
  75.         TSRBONES.ASM is the safest, most robust TSR program I currently know
  76. how to make.
  77.  
  78.         TSRBONES.ASM incorporates the following improvements made since
  79. the release of TBONES05:
  80.  
  81. * Patched in to the INT13h handler to set a flag which prevents TSR trigger
  82.         during time-critical Disk accesses that should not be interrupted.
  83.  
  84. * InDOS flag can be ZERO when CritErr flag is non-zero. Test CritErr flag
  85.     at +- 1 from InDOS flag (depending on DOS version) and make sure
  86.     that IT is ZERO as WELL as InDOS flag before allowing TSR trigger.
  87.         (Included code to find the CritErr flag depending on the DOS version.
  88.          V2 has it at InDOS+1; V3 & V4 have it at InDOS-1.)
  89.  
  90. * TSRBONES gives a message and bails out without installing the TSR if
  91.         DOS Version 1.x is in use. This only expands the nonresident code
  92.         so it is Free as far as resident code size is concerned.
  93.  
  94. * Insured that InDOS is not more than 1 when in INT28h  before triggering TSR.
  95.  
  96. * TSR now will not trigger when a PrintScreen is in progress.
  97.         Checks PrtScrn Status at 50:00h.
  98.  
  99. * Added README file.
  100.  
  101. * Added HISTORY file.
  102.  
  103. * Fixed BUG: Reason Bell in dummy User ROUTINE did not ring with Vanilla DOS
  104.         was that the NumLock toggle was on. The KeyFlagByte checks toggles
  105.         (NumLock, CapsLock, and ScrollLock); if any are on, the TSR
  106.         WOULD NOT TRIGGER. I fixed it by masking out the Lock keys with
  107.         LockKeyMask.
  108.  
  109.  
  110. TBONES05 - December 5, 1990 (Robert Curtis Davis)
  111. -------------------------------------------------
  112.  
  113.            Added TSR1DHW which, in addition to all the features of
  114.            TSR1DOK, also includes a check of the the ISR in the 8259A PIC
  115.            to prevent TSR triggering if any hardware interrupt (IRQ0 thru
  116.            IRQ7) is being serviced.
  117.  
  118.            TSR1DHW calls prior interrupt handlers BEFORE servicing with the
  119.            TSR's code. This is done instead of chaining to the old interrupt
  120.            handlers after the TSR routine. This insures that we give those
  121.            TSRs loaded before us (and including DOS's own handler) a chance
  122.            to service the interrupt before our own routine can possibly
  123.            do anything to bypass the other handlers. If all TSRs call prior 
  124.            handlers first (considered good programming practice for interrupt
  125.            handlers), potentially critical DOS handling is arrived at and
  126.            performed in the speediest fashion.
  127.  
  128.            TSR1DHW de-allocates the often-big DOS Environment and 
  129.            replaces it by a tiny ( one paragraph = 16 bytes) 
  130.            "Pseudo-Environment" containing nothing but the TSR name.
  131.            I did this primarily so Kim Kokkonen's excellent TSR Mark/Release
  132.            package MAPMEM command would show the name of the TSR
  133.            under its "owner" column instead of the uninformative "N/A"
  134.            (Not Available) for TSRs which deallocate the DOS Environment.
  135.            I certainly am willing to spend 16 bytes of memory to support
  136.            this.        
  137.  
  138.            E-mail exchanges with Anto Prijosoesilo and with Richard Brittain
  139.            were helpful in developing the "Pseudo-environment" idea.
  140.  
  141.            Updated documentation.
  142.  
  143. TBONES04  - Nov 26 90 (Robert Curtis Davis)
  144. -------------------------------------------
  145.  
  146.             Integration of Toad Hall Tweaks into the code.
  147.             David Kirschbaum's Toad Hall Tweaks have significantly improved
  148.                 TBONES' code.   
  149.  
  150.             Bug fix: System stack overflow problem incurred in TSRINT
  151.                 when PrtScrn key is held down has been solved. Problem
  152.                 arose when MANY interrupts occurred during Bell ringing.
  153.                 Solved through "Bell gate" stuff in TSRINT.ASM. 
  154.  
  155.             Edited documentation file (TBONES04.DOC).   
  156.  
  157.  
  158. TBONES03  - Nov 25 90. Toad Hall communication to author. (David Kirschbaum)
  159. ----------------------------------------------------------------------------
  160.  
  161.  
  162. TBONES02a - Nov 25 90.  Toad Hall Tweak (David Kirschbaum)
  163. ----------------------------------------------------------
  164.  
  165.                 Compiled with Borland's TASM v1.0.
  166.                 Minor nonfunctional changes in all .ASM files.
  167.  
  168.  
  169. TBONES02 - November 24, 1990. (Robert Curtis Davis)
  170. ---------------------------------------------------
  171.  
  172.                 Added TSR1DOK for TSR activated by Hot Key when DOS is 
  173.                 either idle (InDOS flag = 0) or at "Busy Idle" Interrupt 28h.
  174.                 Further, the program code prevents multiple installation.
  175.  
  176.                 Edited documentation file.
  177.  
  178. TBONES01 - November 17, 1990. (Robert Curtis Davis)
  179. ---------------------------------------------------
  180.  
  181.                 Added TSRDOSOK for TSR activated by Hot Key when DOS is
  182.                 either idle (InDOS flag = 0) or at "Busy Idle" Interrupt 28h.
  183.  
  184.                 Added documentation file.
  185.  
  186.  
  187. TBONES00 - November 11,1990. (Robert Curtis Davis) 
  188. --------------------------------------------------
  189.  
  190.                 Included only TSRINT and TSRKEY, for raw hooked Interrupt
  191.         TSR and raw Hot Key TSR, respectively.
  192.  
  193.  
  194. *****************************************************************************
  195.                          - THE END -
  196.  
  197.