	INSTRUCTION FOR RUNNING TRANSMITTER PROGRAMS


1.      Connect the output of the EVM running the transmitter to the input
	of the EVM running the receiver.

2.      Load the transmitter program into the EVM board with the command:
	"evm5x tran.out"

3.      In the evm5x program, type "runf" to let tran.out run free, then
	type "quit" to exit evm5x.

4.      Run transmit.exe by typing "transmit" at the DOS prompt.

5.      Now run the receiver program as directed in the receiver
	instructions. The transmitting PC screen will display the
	transmitted startup sequence and constellation. You can control
	the constellation display and display other variables with the
	following keys:

"Up Arrow"     Zoom in on the constellation.

"Down Arrow"   Zoom out from the constellation.

"F1"	       Initiate 9600 bps connection.

"F2"           Initiate 14400 bps connection.

"F3"           Initiate 19200 bps connection. (A little flaky)

"F10"	       Close the current connection.

"esc"          Quit "transmit". Return to DOS prompt.

Other Key      If there is an active connection, the keys pressed will
	       be transmitted to the receiever in blocks of 4, 6, or 8,
	       depending on the connection speed.

   There are some other commands which were used for debugging purposes.





	INSTRUCTIONS FOR ASSEMBLING THE TRANSMITTER CODE

1.      To complile and link transmit.exe, use a C compiler and linker.

2.      To assemble and link the DSP recv.out, exucute the following commands:

	dspcl *.asm (this will compile but not link -- too many files)

	dsplnk -v50 -gs *.obj -otran.out (this will do the linking)




	The transmitter uses the following assembly files:


conv_enc.asm    Contains "do_convolutional_encoder", "compute_c0", and
		"compute_u0" to perform the convolutional encoding.

csumdiff.asm	Contains routines "complex_sum" and "complex_diff" to perform
		complex addition and subtraction.

data.asm	Contains data declarations and data page organization for
		the data and variables used in the transmitter.

getdata.asm	Has only the routine "getdata" to copy data into the
		bitstream.

getlabel.asm	Contains the routine "get_binary_subset_label" to obtain
		the inputs to the convolutional encoder.

getpoint.asm	Has the routine "get_initial_point" to look up coordinates
		in the constelation table.

initevm.asm	Contains routines "init_EVM" and "init_DSP" to intialize
		the DSP hardware.

ints.asm	Contains the interupt handling routines.

parse.asm	Contains the "parse_data" routine to partition the datastream
		into the necessary peices for further encoding.

pre_filt.asm	Contains the routines "precoder_filter_real,"
		"precoder_filter_imag," and "round_precoder_output" to
		implement the precoder.

qam_mod.asm	Contains routines "QAM_mod," "QAM_init," "QAM_start," and
		"QAM_wait" which modulate the output points using passband
		shaping filters.

quantize.asm	Contains the "quantize" routine to take the value in the
		accumulator and round it depending on the current connection
		speed.

rotate.asm	Contains the routines "rotate90_cw," "compute_rotation_factorZ,"
		and "compute_rotation_factorW."  Which swap and negate
		the operands to rotate them by a given multiple of 90 deg.

scram.asm	Contains the routine "scramble16" which scrambles data.

shell.asm	Home of routines "shell_map," "shell_mask," and "shell_check."
		Which output a sequence of eight shells from an input of
		either 20 ro 28 bits, depending on connection speed.

startup.asm	Contains our inventive new start-up sequence made up of
		"startup_S," "startup_PP," "startup_TRN," "startup_MP," and
		"startup_TRN16."

tranmain.asm	The main transmitter program.  It contains the main
		execution loop and calls all other procedures.



			THANK YOU
