*Incomplete*


***Driver-supplied functions:
	These functions will only be called after the driver code calls
	FCEUI_LoadGame() or FCEUI_Emulate().

void FCEUD_SendMessage(int msg);
	Called to send messages to the driver code to express what kind of
	system(or what extra hardware) is being emulated
	(NSF player, FDS, VS Unisystem, etc.).
	Message:			Meaning:

 	 DSM_SPECIALSYSTEM_VSUNISYSTEM   Game is a VS Unisystem game.
	 DSM_SPECIALSYSTEM_NSF		 File loaded is an NSF.
	 DSM_SPECIALSYSTEM_FDS		 Game uses the FDS.
	 DSM_RESETSPECIAL		 Sent after a new game is loaded.
					 (this message may be removed in
					  a future version.)



void FCEUD_UpdateInput(void);
	Called when the data pointed to by pointers passed to 
	FCEUD_DriverInputInterface() needs to be updated.

void FCEUD_SetPalette(uint8 index, uint8 r, uint8 g, uint8 b);
	Set palette entry "index" to specified RGB values(value: min=0, max=255).

void FCEUD_GetPalette(uint8 index, uint8 *r, uint8 *g, uint8 *b);
	Get palette entry "index" data.

void FCEUD_BlitScreen(uint8 *XBuf);
	Copy contents of XBuf over to video memory(or whatever needs to be done
	to make the contents of XBuf visible on screen).
	Each line is 256 pixels(and bytes) in width, and there can be 240
	lines.  The pitch for each line is 272 bytes.  

void FCEUD_WriteSoundData(int32 *Buffer, int Count, int Check);
	Write the contents of "Buffer" to the sound device.  "Count" is the
	number of samples to write.  If "Check" is set, all of the samples
	will need to be checked to make sure they don't exceed the maximum
	and minimum values for the PCM format the sound card is currently in.
	In other words, each 32-bit sample in "Buffer" can be converted to a 16-bit
        by dropping the upper 16 bits, but if "Check" is non-zero, then the 
	samples should be "clamped" to the range -32768 to 32767.

void FCEUD_PrintError(char *s);
	Print/Display an error message string pointed to by "s".

int FCEUD_NetworkConnect(void);
	Initialize a network connection.  Return 0 if an error occurs.

int FCEUD_NetworkRecvByte(uint8 *Value);
	Send a byte of data pointed to by "Value".
	Return 0 on failure.

int FCEUD_NetworkSendByte(uint8 *Value);
	Receive a byte of data into the memory location pointed to by "Value".
	Return 0 on failure.
	
void FCEUD_NetworkClose(void);
	Close the network connection.


***FCE Ultra functions(called by the driver code):

void DriverInterface(int w, void *d);

void DriverInputInterface(int w, int n, int arg, void *ptr);

void FCEUI_DisableSpriteLimitation(int a);

void FCEUI_SaveExtraDataUnderBase(int a);

int FCEUI_LoadGame(char *name);
	Loads a new file.  "name" is the full path of the file to load.

int FCEUI_Initialize(void);
	Allocates and initializes memory.  Should only be called once, before
	any calls to other FCEU functions.
       
void FCEUI_Emulate(void);
	Enters the emulation loop.  This loop will be exited when FCEUI_CloseGame()
	is called.  This function obviously shouldn't be called if FCEUI_LoadGame()
	wasn't called or FCEUI_CloseGame() was called after FCEUI_LoadGame().

void FCEUI_CloseGame(void);
	Closes the loaded game and frees all memory used to load it.
	Also causes FCEUI_Emulate() to return.

void FCEUI_SetFirstRenderedLine(int a);
        Sets the first scanline of background data to draw.  
	The default value is 8(which you'll need to take into account
	when you blit the screen if you don't change the value).
	The minimum is 0.

void FCEUI_SetLastRenderedLine(int a);
	Sets the last scanline of background data to draw(NOT the last
	scanline plus one).  239 is the maximum and the default.

***Recognized defined symbols:

The following defined symbols affect the way FCE Ultra is compiled:

	SLOW6502OPREAD
	- Forces the use of a slower, but more accurate, 6502 opcode
	  reading code.

	C80x86
	- Include 80x86 inline assembly in AT&T syntax.

	FRAMESKIP
	- Include frame skipping code.

	NETWORK
	- Include network play code.

	FPS
	- Compile code that prints out a number when FCE Ultra exits 
	  that represents the average fps.
	
	ZLIB
	- Compile support for compressed PKZIP-style files.  "unzip.c"
	  will need to be compiled and linked in by you if this is defined.

	LSB_FIRST
	- Compile code to expect that variables that are greater than 8 bits
	  in size are stored Least Significant Byte First in memory.

	PSS_STYLE x
	- Sets the path separator style to the integer 'x'.  Valid styles are:
	  1: Only "/" - For UNIX platforms.
	  2: Both "/" and "\" - For Windows and MSDOS platforms.
	  3: Only "\" - For ???.
	  4: Only ":" - For Macintoshes and Apple IIs ^_^.




