******************************************************************
  ******************************************************************
  ****								****
  ****			CAMAC Function Codes			****
  ****								****
  ******************************************************************
  ******************************************************************


	F(0)*A(0)   -	read sum for channel 0
	F(0)*A(1)   -	read sum for channel 1
	F(0)*A(2)   -	read offset for channel 0
	F(0)*A(3)   -	read offset for channel 1
	F(0)*A(4)   -	read noise reject level for channel 0
	F(0)*A(5)   -	read noise reject level for channel 1
(1)	F(0)*A(6)   -	read triggered sums for channel 0
(2)	F(0)*A(7)   -	read triggered sums for channel 1
(3)	F(0)*A(9)   -	return clock event data (0-255)
	F(0)*A(10)  -	read DC loss sum for channel 0
	F(0)*A(11)  -	read DC loss sum for channel 1
(8)	F(0)*A(12)  -	read radiation table value for channel 0
(9)	F(0)*A(13)  -	read radiation table value for channel 1
	F(0)*A(15)  -	return the # of MDAT interrupts


	F(1)*A(0)   -	return power supply status
	F(1)*A(1)   -	return 'B' board power supply status
	F(1)*A(2)   -	return most recent DAC setting
(4)	F(1)*A(4)   -	return raw MDAT readings
	F(1)*A(5)   -	return power supply status nominal
	F(1)*A(6)   -	return power supply status mask
	F(1)*A(7)   -	return 'B' board power supply status nominal
	F(1)*A(8)   -	return 'B' board power supply status mask
	F(1)*A(9)   -	return LAM mask
	F(1)*A(10)  -	read and clear PS status error
	F(1)*A(11)  -	read and clear 'B' board PS status error
	F(1)*A(12)  -	read and clear LAM
	(bit 15=invalid CAMAC function, bit 13=MDAT is missing,
	 bit 12=TCLK is missing, bit 11=PS status error, bit 10=external permit,
	 bit 09='B' board PS status error, bit 08=DC loss limit exceeded)
	F(1)*A(13)  -	return the last CAMAC command #
	F(1)*A(14)  -	return the last TCLK event #
	F(1)*A(15)  -	return the # of TCLK interrupts


(5)	F(2)*A(0)   -	return TCLK interrupt level count
	F(2)*A(1)   -	return front panel LED status
	F(2)*A(5)   -	return the special configuration word
	F(2)*A(15)  -	return the # of 'B' board interrupts


	F(3)*A(0)   -	read alternate algorithm sum for channel 0
	F(3)*A(1)   -	read alternate algorithm sum for channel 1
	F(3)*A(2)   -	return last radiation reading for channel 0
	F(3)*A(3)   -	return last radiation reading for channel 1
	F(3)*A(4)   -	return last raw reading for channel 0
	F(3)*A(5)   -	return last raw reading for channel 1
	F(3)*A(6)  -	read DC alarm limit for channel 0
	F(3)*A(7)  -	read DC alarm limit for channel 1
	F(3)*A(9)   -	return the current time interrupt frequency indicator
			(0 --> 1 KHz, 1 --> 5 KHz, 2 --> 10 KHz)
	F(3)*A(11)  -	return TCLK error count
	F(3)*A(12)  -	return digital status test results
	F(3)*A(14)  -	return the # of 1 Hz interrupts
	F(3)*A(15)  -	return the # of CAMAC interrupts


	F(4)*A(0)   -	return current radiation reading for channel 0
	F(4)*A(1)   -	return current radiation reading for channel 1
	F(4)*A(2)   -	return current raw reading for channel 0
	F(4)*A(3)   -	return current raw reading for channel 1
	F(4)*A(12)  -	read (but do not clear) LAM register
	(bit 15=invalid CAMAC function, bit 13=MDAT is missing,
	 bit 12=TCLK is missing, bit 11=PS status error, bit 10=external permit,
	 bit 09='B' board PS status error, bit 08=DC loss limit exceeded)


	F(5)*A(0)   -	return current adjusted radiation reading for channel 0
	F(5)*A(1)   -	return current adjusted radiation reading for channel 1
	F(5)*A(2)   -	return current adjusted raw reading for channel 0
	F(5)*A(3)   -	return current adjusted raw reading for channel 1


	F(6)*A(0)   -	return module ID number
	F(6)*A(1)   -	return firmware version number
(6)	F(6)*A(2)   -	return a word in memory
(6)	F(6)*A(3)   -	return a block of memory
(7)	F(6)*A(4)   -	return diagnostic counter data
	F(6)*A(5)   -	return background count high word
	F(6)*A(7)   -	CAMAC I/O diagnostic read


	F(16)*A(2)  -	set offset for channel 0
	F(16)*A(3)  -	set offset for channel 1
	F(16)*A(4)  -	set noise reject level for channel 0
	F(16)*A(5)  -	set noise reject level for channel 1
	F(16)*A(6)  -	set pointer to read triggered sums for channel 0
	F(16)*A(7)  -	set pointer to read triggered sums for channel 1
(3)	F(16)*A(9)  -	write clock event data
	F(16)*A(11) -	write clock event table pointer (0-127)
(8)	F(16)*A(12) -	set radiation table value for channel 0
(9)	F(16)*A(13) -	set radiation table value for channel 1
	F(16)*A(14) -	set diagnostic memory pointer
	F(16)*A(15) -	set up CAMAC I/O diagnostic values


	F(17)*A(0)  -	write TCLK interrupt level counter pointer
	F(17)*A(2)  -	write directly to DAC
	F(17)*A(4)  -	write diagnostic MDAT pointer
	F(17)*A(5)  -	write PS nominal status value
	F(17)*A(6)  -	write PS status mask value
	F(17)*A(7)  -	write 'B' board PS nominal status value
	F(17)*A(8)  -	write 'B' board PS status mask value
	F(17)*A(9)  -	write LAM mask value
	F(17)*A(10) -	trigger a new output waveform
	F(17)*A(11) -	write to MDAT register (diagnostic only)
	F(17)*A(12) -	set radiation table pointer for channel 0
	F(17)*A(13) -	set radiation table pointer for channel 1


	F(18)*A(5)  -	write special configuration word


	F(19)*A(0)  -	turn on/off front panel LEDs
	F(19)*A(1)  -	turn on/off 'B' board front panel LEDs
	F(19)*A(2)  -	write diagnostic counter pointer (0-11)
	(0=reserved fault cnt, 1=trace fault count, 2=operation fault cnt,
	 3=arithmetic fault cnt, 4=floating fault cnt,
	 5=constraint fault cnt, 6=protection fault cnt,
	 7=machine fault cnt, 8=type fault cnt, 9=spurious interrupt cnt,
	10=background cnt, 11=undefined CAMAC interrupt cnt)
	F(19)*A(6) -	set DC alarm limit for channel 0
	F(19)*A(7) -	set DC alarm limit for channel 1
	F(19)*A(9)  -	set the time interrupt frequency
			(0 --> 1 KHz, 1 --> 5 KHz, 2 --> 10 KHz)


	F(24)*A(0)  -	disable LAM
	F(24)*A(1)  -	turn off PS
	F(24)*A(3)  -	toggle polarity of PS
	F(24)*A(4)  -	negative polarity
	F(24)*A(8)  -	disable manual sum for channel 0
	F(24)*A(9)  -	disable manual sum for channel 1


	F(26)*A(0)  -	enable LAM
	F(26)*A(1)  -	turn on PS
	F(26)*A(4)  -	positive polarity
	F(26)*A(5)  -	reset longword pointers for channel 0
	F(26)*A(6)  -	reset longword pointers for channel 1
	F(26)*A(7)  -	reset PS
	F(26)*A(8)  -	enable manual sum for channel 0
	F(26)*A(9)  -	enable manual sum for channel 1
	F(26)*A(10) -	clear radiation sums for channel 0
	F(26)*A(11) -	clear radiation sums for channel 1
	F(26)*A(12) -	clear clock event arrays
	F(26)*A(13) -	clear all diagnostic counters
	F(26)*A(14) -	create a pseudo time interrupt
	F(26)*A(15) -	create a pseudo MDAT interrupt



	1 --> should be preceded by F16A6
	2 --> should be preceded by F16A7
	3 --> should be preceded by F16A11
	4 --> should be preceded by F17A4
	5 --> should be preceded by F17A0
	6 --> should be preceded by F16A14
	7 --> should be preceded by F19A2
	8 --> should be preceded by F17A12
	9 --> should be preceded by F17A13