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