         Name: SINEWAVE.ASM
         Type: Assembler Macro
      Version: 1.1
 Date Revised: 25-Nov-86

  Description: Full-Cycle Sinewave Table Generator Macro

 This macro generates a full-cycle sinewave lookup table for FFT's,
 precision waveform generation and modulation/demodulation functions.
 The macro creates a full-cycle (360 degrees) of the sine waveform
 of any size in any memory space.  If the SINEWAVE macro is called
 for a table of 256 points at addresses y:$100-$1FF, the table values
 will be identical to those found in the DSP56001 Y Data ROM.  Thus
 the SINEWAVE macro can be used to simulate the contents of the
 DSP56001 Y Data ROM.

 Note that the assembler transcendental functions are used to
 calculate the sinewave value, which has a range of -1.0 to +1.0.
 The particular rounding used minimizes the total harmonic distortion
 (THD) of the waveform.  Since the resulting conversion to a fractional
 number, f, may be outside the available range -1.0 =< f < +1.0, an
 assembler warning message will appear when the sine(90 degrees) is
 calculated.

 WARNING - Floating point value outside fractional domain

 This warning can be ignored and the assembler will substitute the
 maximum positive ($7FFFFF) fractional data value.

 The SINEWAVE macro can be used with the FFTR2D FFT macro to perform
 complex FFT's up to 32768 points and real FFT's up to 65536 points.
