APPENDIX A
TISAN Source Listings

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.

A.1 Resource File Formats

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.

Source Files

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


Back Up Next
IDTR Home Page

05/22/02 ern

Copyright (c) 1988-1997, Eric R. Nelson, Ph.D.