home *** CD-ROM | disk | FTP | other *** search
- ============================================================================
- TBONES REVISION HISTORY:
- -----------------------
-
- PRE-RELEASE:
- -----------
-
- TBONES07 - January 20,1991 (Robert Curtis Davis)
- -------------------------------------------------
-
- The following changes have been made in the current release:
-
- * Upon detection of the HotKey, the DOS Keyboard buffer is now flushed to
- prevent passing keys through to DOS after TSR triggers.
-
- * Interrupts are enabled in all our handlers where reasonable so that
- other critical interrupt processing is not locked out.
-
- * Interrupt handlers now call prior handlers at outset of their
- code where reasonable.
-
- * Cleaned up the "bellgate" stuff that prevents unnecessary re-entry
- into several portions of the code.
-
- * Added a vital "cli" to be sure interrupts disabled in our INT13 handler
- when the simulated interrupt call to the prior handler is made.
- This is necessary to cover the potential problem of some other TSR
- chaining to the INT13 handler without insuring that interrupts
- are disabled. A normal INT 13 DOES disable interrupts but we
- cannot safely assume that we will always be entered via a normal
- interrupt. For example, our handler might be jumped to by someone
- who forgot that the interrupts were enabled. Our "cli" protects
- us from such mistakes.
-
- * Fixed code so MASM v1.0 can assemble the ASM programs. The calculation
- of the number of paragraphs to make resident was handled improperly
- by MASM v1.0. The problem evidently was in its handling of the SHR 4
- function to divide resident bytes by 16 to obtain resident paragraphs.
- Using /16 in the current version cured the problem.
-
- * 1-line TBONES description now included for use by archivers and BBSers.
-
- * The pop bx in the DOSver1 area was a bug for DOS Version 1.x. It is
- unnecessary since the only way we get to DOSver1 is via the
- jump at the beginning of the TSRinit stuff and, there, no push bx
- is done. This was a definite bug for DOS Version 1.x users. Fixed
- by adding a push bx for the DOSver1 exit.
-
- * TSRINT and TSRKEY now bail out gracefully (as did TSRBONES) on DOS
- Version 1.x.
-
- * I HATE TSRS which leave only the unhelpful "N/A" under the owner
- column in the Mark/Release package's MAPMEM command. Therefore
- TSRINT and TSRKEY have been given a Pseudo-Environment to show
- a name. This costs only 16-bytes of resident RAM.
-
- * Added pagination and Title and Subttl's to the programs TSRINT.ASM
- and TSRKEY.ASM to prettify their .LST listings.
-
-
- TBONES06 - December 29, 1990 (Robert Curtis Davis)
- ---------------------------------------------------
-
- E-mail exchanges with Roy Silvernail were most helpful in solving
- a problem that TASM v.1.0 encountered in calculating the number of paragraphs
- with which to go resident in the TSR initialization code. Thanks, Roy.
-
- Since there were only slight differences amongst them, and because
- they served more to document my personal journey toward understanding TSRs
- than to help other users, I have eliminated the programs TSRDOSOK, TSR1DOK,
- and TSR1DHW which were included in earlier versions of the TBONES package.
- ALL of the eliminated programs' features are incorporated into TBONES' new
- flagship TSR program, TSRBONES.ASM.
-
- TSRBONES.ASM is the safest, most robust TSR program I currently know
- how to make.
-
- TSRBONES.ASM incorporates the following improvements made since
- the release of TBONES05:
-
- * Patched in to the INT13h handler to set a flag which prevents TSR trigger
- during time-critical Disk accesses that should not be interrupted.
-
- * InDOS flag can be ZERO when CritErr flag is non-zero. Test CritErr flag
- at +- 1 from InDOS flag (depending on DOS version) and make sure
- that IT is ZERO as WELL as InDOS flag before allowing TSR trigger.
- (Included code to find the CritErr flag depending on the DOS version.
- V2 has it at InDOS+1; V3 & V4 have it at InDOS-1.)
-
- * TSRBONES gives a message and bails out without installing the TSR if
- DOS Version 1.x is in use. This only expands the nonresident code
- so it is Free as far as resident code size is concerned.
-
- * Insured that InDOS is not more than 1 when in INT28h before triggering TSR.
-
- * TSR now will not trigger when a PrintScreen is in progress.
- Checks PrtScrn Status at 50:00h.
-
- * Added README file.
-
- * Added HISTORY file.
-
- * Fixed BUG: Reason Bell in dummy User ROUTINE did not ring with Vanilla DOS
- was that the NumLock toggle was on. The KeyFlagByte checks toggles
- (NumLock, CapsLock, and ScrollLock); if any are on, the TSR
- WOULD NOT TRIGGER. I fixed it by masking out the Lock keys with
- LockKeyMask.
-
-
- TBONES05 - December 5, 1990 (Robert Curtis Davis)
- -------------------------------------------------
-
- Added TSR1DHW which, in addition to all the features of
- TSR1DOK, also includes a check of the the ISR in the 8259A PIC
- to prevent TSR triggering if any hardware interrupt (IRQ0 thru
- IRQ7) is being serviced.
-
- TSR1DHW calls prior interrupt handlers BEFORE servicing with the
- TSR's code. This is done instead of chaining to the old interrupt
- handlers after the TSR routine. This insures that we give those
- TSRs loaded before us (and including DOS's own handler) a chance
- to service the interrupt before our own routine can possibly
- do anything to bypass the other handlers. If all TSRs call prior
- handlers first (considered good programming practice for interrupt
- handlers), potentially critical DOS handling is arrived at and
- performed in the speediest fashion.
-
- TSR1DHW de-allocates the often-big DOS Environment and
- replaces it by a tiny ( one paragraph = 16 bytes)
- "Pseudo-Environment" containing nothing but the TSR name.
- I did this primarily so Kim Kokkonen's excellent TSR Mark/Release
- package MAPMEM command would show the name of the TSR
- under its "owner" column instead of the uninformative "N/A"
- (Not Available) for TSRs which deallocate the DOS Environment.
- I certainly am willing to spend 16 bytes of memory to support
- this.
-
- E-mail exchanges with Anto Prijosoesilo and with Richard Brittain
- were helpful in developing the "Pseudo-environment" idea.
-
- Updated documentation.
-
- TBONES04 - Nov 26 90 (Robert Curtis Davis)
- -------------------------------------------
-
- Integration of Toad Hall Tweaks into the code.
- David Kirschbaum's Toad Hall Tweaks have significantly improved
- TBONES' code.
-
- Bug fix: System stack overflow problem incurred in TSRINT
- when PrtScrn key is held down has been solved. Problem
- arose when MANY interrupts occurred during Bell ringing.
- Solved through "Bell gate" stuff in TSRINT.ASM.
-
- Edited documentation file (TBONES04.DOC).
-
-
- TBONES03 - Nov 25 90. Toad Hall communication to author. (David Kirschbaum)
- ----------------------------------------------------------------------------
-
-
- TBONES02a - Nov 25 90. Toad Hall Tweak (David Kirschbaum)
- ----------------------------------------------------------
-
- Compiled with Borland's TASM v1.0.
- Minor nonfunctional changes in all .ASM files.
-
-
- TBONES02 - November 24, 1990. (Robert Curtis Davis)
- ---------------------------------------------------
-
- Added TSR1DOK for TSR activated by Hot Key when DOS is
- either idle (InDOS flag = 0) or at "Busy Idle" Interrupt 28h.
- Further, the program code prevents multiple installation.
-
- Edited documentation file.
-
- TBONES01 - November 17, 1990. (Robert Curtis Davis)
- ---------------------------------------------------
-
- Added TSRDOSOK for TSR activated by Hot Key when DOS is
- either idle (InDOS flag = 0) or at "Busy Idle" Interrupt 28h.
-
- Added documentation file.
-
-
- TBONES00 - November 11,1990. (Robert Curtis Davis)
- --------------------------------------------------
-
- Included only TSRINT and TSRKEY, for raw hooked Interrupt
- TSR and raw Hot Key TSR, respectively.
-
-
- *****************************************************************************
- - THE END -
-
-