This appendix is a complete listing of the TISAN source code as described in Chapter 3. These listings are here to serve as an archive for those who would like to reproduce my work. The resource files for the help facility, the INPUTS display messages, the INPUTS adverb indexing and their corresponding custom resource compilers are not listed here, but the compiled resource file formats are described in the first section.
TISAN requires three resource files for proper operation. These files are simple ASCII text files that have been compiled into indexed file formats, using custom written resource compilers, so that information may be quickly accessed.
The help information is supplied in the resource file TISAN.HLP. The header of this file consists of an index of eight-byte key words followed by a four-byte pointer to the location of the corresponding help information within the file. Each block of help information is terminated by an ASCII 0 (NULL). When help is requested, the key words in the header are searched for a minimum match to the argument following the HELP pseudoverb. For every match found, the corresponding help block is printed up to the terminating NULL. The search through the header continues until a null pointer is reached.
When the INPUTS pseudoverb is executed, two resource files are accessed. One file specifies which adverbs will be displayed for a given task (TISAN.IDX) and the other specifies what messages will be displayed along with the adverbs (TISAN.MSG). TISAN.IDX is a series of variable size data records. The first eight bytes of each record is the name of a task, padded with spaces if necessary, which is used for the initial search. The next field is a variable length text entry giving a one line description of the task. This field is terminated with a NULL. The remaining fields are three bytes each. The first byte corresponds to a "token" that has been identified with each adverb. The last two bytes are an index to the message to be printed alongside the displayed adverb and its value. The end of the record is indicated by three NULL entries.
The index value supplied by TISAN.IDX is used to look up a message in TISAN.MSG. This resource file has a header of two-byte pointers that give the location, within the file, of the individual messages. The sequential position of the pointers are coupled to the index values supplied by TISAN.IDX. The variable length, NULL terminated messages follow the header information.
The following table provides links to each of the TISAN source files. These pages have been minimally formatted so you will need to used the BACK button in your browser to return to this page.
| APT.C | Task to Preprocess Raw APT Data |
| CADPLOT.C | Task to Plot Data to an AutoCAD DXF File |
| CLI.C | TISAN Command Liner Interpreter Source Modules |
| DBCALC.C | Task to Integrate and Differentiate Data Files |
| DBCMB.C | Task to Mathematically Combine Two Data Files |
| DBCON.C | Task to Convert One Data Type to Another |
| DBLIST.C | Task to List the Contents of a Data File |
| DBMOD.C | Task to Perform Arithmetic Operations on a Data File |
| DBSCALE.C | Task to Change the Scaling of a Data File |
| DBSMOOTH.C | Task to Smooth Data |
| DBSUBSET.C | Task to Take the Subset of a Data File |
| DBTRANS.C | Task to Apply Transcendental Functions to a Data Files |
| DBX.C | Task to Extract Amplitude, Phase, Real Part or Imaginary Part from a Complex Data File |
| DCDFT.C | Task to Perform a Data Compensated Discrete Fourier Transform |
| DFT.C | Task to Perform a Discrete Fourier Transform |
| FFT.C | Task to Perform a Fast Fourier Transform |
| FIT.C | Task to Perform an Integral Fourier Transform |
| HERCULES.ASM | Hercules Graphics Driver |
| IMEAN.C | Task to Calculate Statistics on a Data File |
| INPUTS.C | TISAN Inputs Display Source Module |
| KALMAN.C | Task to Perform a Bi-directional Kalman Filter Data Redistribution |
| MAIN.H | TISAN Primary Include File |
| MISC.C | TISAN Source File |
| PGRAM.C | Task to Perform a Modified Scargle Periodogram |
| PNTRPLOT.C | Task to Plot Data to a Printer |
| PVERBS.C | TISAN Pseudoverb Processing Source Module |
| SCRNPLOT.C | Task to Plot Data to the Screen |
| TISAN.C | TISAN Main Source Module |
| TISAN.H | TISAN Main Include Module |
| TISANFNT.H | TISAN Graphics Font File |
| TISANLIB.C | TISAN Task Library |
| VERBS.C | TISAN Verb Processing Source Module |
05/22/02 ern
Copyright (c) 1988-1997, Eric R. Nelson, Ph.D.