#define KEYBOARD_BUFFER_SIZE	64

#define	KEYTABLE_SIZE	256

#define SLEEP_TIME_IN_MS 5

#define MAX_INPUT_DEVICES	8
#define INPUT_DEV_NAMELEN	32
#define MAX_ATARI_JOYPORTS	4
#define KEYPAD_JOYSTICK		-1
#define NO_JOYSTICK			127

#define TIMER_READ_JOYSTICK	6969

#define SPECIAL_HANDLER_MASK	0xf000
#define AKEY_PENDING			0x01000000
#define AKEY_OPTIONDWN			0xfff1
#define AKEY_SELECTDWN			0xfff2
#define AKEY_STARTDWN			0xfff3
#define AKEY_TPAUSE				0xfff4
#define AKEY_TSPEED				0xfff5
#define AKEY_TSIO				0xfff6
#define AKEY_OPTIONUP			0xfff7
#define AKEY_SELECTUP			0xfff8
#define AKEY_STARTUP			0xfff9

#define AKEY_SPECIAL	0xfffe
#define	KEYPAD0		0xf02D
#define KEYPAD1		0xf023
#define	KEYPAD2		0xf028
#define KEYPAD3		0xf022
#define KEYPAD4		0xf025
#define KEYPAD5		0xf00c
#define KEYPAD6		0xf027
#define KEYPAD7		0xf024
#define KEYPAD8		0xf026
#define KEYPAD9		0xf021

#define SUSPEND_ATARI	0x01
#define SPEED_ATARI		0x02
#define SWITCH_SIO		0x03

/* Various machine states the Atari can be in */
#define ATARI_UNINITIALIZED		0x0001
#define ATARI_INITIALIZING		0x0002
#define ATARI_HW_READY			0x0004
#define ATARI_WINDOWS_READY		0x0008
#define ATARI_RUNNING			0x0010
#define	ATARI_PAUSED			0x0020
#define ATARI_NOFOCUS			0x0040
#define ATARI_UI_ACTIVE			0x0100
#define ATARI_JOYSTICK_FOUND	0x0200
#define ATARI_LOAD_FAILED		0x0400
#define ATARI_LOAD_WARNING		0x0800
#define ATARI_CRASHED			0x1000
#define ATARI_CLOSING			0x2000
#define ATARI_SHOW_PAUSE		0x4000

/* Misc states to be saved out to the Registry */
#define ATARI_FULL_SPEED		0x0001
#define ATARI_ENABLE_PILL		0x0002
#define ATARI_LAST_BOOT_FAILED	0x0004
#define ATARI_ANTICF_ARTIFACT	0x0008
#define ATARI_STICK_RELEASE		0x0010
#define ATARI_USE_KEYTEMPLATE	0x0020
#define ATARI_RAMBO_MODE		0x0040

/* Sound states and registry stuff */
#define SOUND_MMSOUND			0x0001
#define SOUND_DIRECTSOUND		0x0002
#define SOUND_CUSTOM_RATE		0x0004
#define SOUND_FORCE_PRIMARY		0x0008
#define SOUND_NOSOUND			0x0010
#define	SOUND_WRITING_FILE		0x0020

#define DONT_SHOW_SOUND_WARN		0x0001
#define DONT_SHOW_GRAPHICS_WARN		0x0002
#define DONT_SHOW_SOUNDFILE_WARN	0x0004
#define DONT_SHOW_MENU_WARN			0x0008
#define DONT_SHOW_OSA_WARN			0x0010
#define DONT_SHOW_OSB_WARN			0x0020
#define DONT_SHOW_XL_WARN			0x0040
#define DONT_SHOW_5200_WARN			0x0080
#define DONT_SHOW_BASIC_WARN		0x0100
#define DONT_SHOW_JOYSTICK_WARN		0x0200

#define LOADSTRING_STRING_SIZE		1024

#define NUM_PC_KEY_ELEMENTS	72
#define NUM_ATARI_KEY_ELEMENTS 54

#define KEYBOARD_TEMPLATE_VERSION 1
