//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
//
//
//
//
//
//
//////////////////////////////////////////////////////////////////////////////

#ifndef __WS_H__
#define __WS_H__

#include "Common.h"

#define WS_SYSTEM_MONO			0
#define WS_SYSTEM_COLOR			1
#define WS_SYSTEM_AUTODETECT    2

extern	BYTE	*ws_rom;
extern	DWORD	romSize;
extern	DWORD	romAddressMask;
extern	BYTE	*externalEeprom;
extern	DWORD	externalEepromAddressMask;
extern	BYTE	*internalRam;
extern	BYTE	*internalEeprom;
extern	DWORD	*sprite_table;
extern	BYTE	sprite_count;
extern	DWORD	ws_cyclesByLine;
extern	int		FrameSkip;
extern	DWORD	vblank_count;
extern	WORD	hblank_timer;
extern	WORD	hblank_timer_preset;
extern	WORD	vblank_timer;
extern	WORD	vblank_timer_preset;

int		ws_init(char *rompath);
int		ws_rotated(void);
void	ws_set_colour_scheme(int scheme);
void	ws_set_system(int system);
void	ws_reset(void);
int		ws_executeLine(INT16 *framebuffer, int renderLine);
void	ws_patchRom(void);
void	ws_done(void);

void	ws_memory_init(UINT8 *rom, UINT32 romSize);
void	ws_memory_reset(void);
UINT8	*memory_getRom(void);
UINT32	memory_getRomSize(void);
UINT16	memory_getRomCrc(void);
void	ws_memory_done(void);
//END-------------------

extern	int			app_new_rom;
extern	int			DrawFilter;
extern	int			DrawSize;
extern	int			DrawMode;

extern	int			OldMode;
extern	UINT8		OldPort15;

extern	int			StatusWait;


#endif
