Dec 192017
 
A program to allow you to trace interrupts.
File TRACE-V2.ZIP from The Programmer’s Corner in
Category System Diagnostics
A program to allow you to trace interrupts.
File Name File Size Zip Size Zip Type
TRACE.COM 63284 2195 deflated
TRACE.DOC 3902 1511 deflated

Download File TRACE-V2.ZIP Here

Contents of the TRACE.DOC file


TRACE - Version 2.06

TRACE was designed to keep track of system interupts issued from either the
hardware, or the users' software. Interupts 00 - FF can be traced, however,
each interupt requires you run TRACE for that particular int. Keep in mind
that TRACE is a TSR program and takes up approx. 62K of memory for each
int being traced.

FORMAT -- TRACE /s in { > filename }

I. SWITCHES

MUST be preceeded with the slash '/' character for EACH one specified.

They can be specified in either UPPER/lower case and tell trace what to do.
If ommitted force TRACE to assume you intend to activate TRACE for said
interupt.

When installing TRACE for an interupt for the first time, the only acceptable
switches that can be specified are /A or /R. see description below.

Once a TRACE is active, any or all switches are allowed on the command
line. With this in mind, the switches are described in there hierachy.


Switches in order of priority:

/D to disable an active TRACE for the specified int. This can
only be used once the TRACE has been activated for said int.
This also disables the refresh timer and will override the
/A switch.


/P this will format and print the contents of previously installed
TRACE.

The default output device is the screen, however this may be
redirected when invoking TRACE, eg. TRACE /P 10 > PRN
The redirection rules of DOS are in affect here.


/C to clear a specified TRACE table. This only works on a previously
installed TRACE. This function is performed after the /P
switch if specified.


/A to activate TRACE for a previously disabled, or new int.


/R to enable/disable the TRACE refresh timer on a previous or new
int.

The refresh timer works only for the interupt specified. What it
will do is, when we go to TRACE an int. the address of TRACE is
put into an interupt vector. Approx 18 times a second the refresh
timer gets control, and will validate that TRACE is still there.
If TRACE has mysteriously vanished, you loaded another program
that uses the same interupt, we change TRACE's original jump to
to that of the new program, and replace the address in the int
vector to that of TRACE.

This code is not flawless, some other programs use this same
technique, and can cause the system to hang endlessly. So use
your own discression.

It was mainly designed for those interupts that are less frequently
use, eg int 0C - communications, as a vital function.

It is a good idea to use the /D switch when finished tracing an
interupt. This will disable the refresh timer, and restore the
original jump that TRACE has stolen.

II. INTERUPT NUMBERS

Is optional on the command line, however if left out will be prompted for it.

Can be either one or two bytes.

Is delimited by a space, carriage return, or a slash character.

Interupts 00-FF are traceable.



EXAMPLES:

TRACE 10 activate TRACE for interupt 10.

TRACE /P 10 print TRACE table for int 10 to scrn.

TRACE /D/P/C 10 disable , print, and clear TRACE table
for interupt 10.

TRACE /P 10 > INT10.DAT print TRACE table to disk file.

TRACE /R C start TRACE for interupt 0C with refresh
or disable/enable refresh for the int.


 December 19, 2017  Add comments

Leave a Reply