/* Prototypes for platform interface functions follow: */
-void FCEUD_Update(uint8 *XBuf, int32 *Buffer, int Count);
+void FCEUD_Update(uint8 *buf, int16 *Buffer, int Count);
/* Video interface */
void FCEUD_SetPalette(uint8 index, uint8 r, uint8 g, uint8 b);
void FCEUI_SetInputFC(int type, void *ptr, int attrib);
void FCEUI_DisableFourScore(int s);
+void FCEUI_GetNTSCTH(int *tint, int *hue);
+void FCEUI_SetNTSCTH(int n, int tint, int hue);
+
#include "version.h"
-#define SI_NONE 0
-#define SI_GAMEPAD 1
-#define SI_ZAPPER 2
-#define SI_POWERPAD 3
-#define SI_ARKANOID 4
+#define SI_NONE 0
+#define SI_GAMEPAD 1
+#define SI_ZAPPER 2
+#define SI_POWERPADA 3
+#define SI_POWERPADB 4
+#define SI_ARKANOID 5
-#define SIFC_NONE 0
-#define SIFC_ARKANOID 1
-#define SIFC_SHADOW 2
+#define SIFC_NONE 0
+#define SIFC_ARKANOID 1
+#define SIFC_SHADOW 2
#define SIFC_4PLAYER 3
-#define SIFC_FKB 4
-#define SIFC_OEKA 5
+#define SIFC_FKB 4
+#define SIFC_SUBORKB 5
+#define SIFC_HYPERSHOT 6
+#define SIFC_MAHJONG 7
+#define SIFC_QUIZKING 8
+#define SIFC_FTRAINERA 9
+#define SIFC_FTRAINERB 10
+#define SIFC_OEKAKIDS 11
+#define SIFC_BWORLD 12
+#define SIFC_TOPRIDER 13
+
+#define SIS_NONE 0
+#define SIS_DATACH 1
+#define SIS_NWC 2
+#define SIS_VSUNISYSTEM 3
+#define SIS_NSF 4
+
/* New interface functions */
void FCEU_DispMessage(char *format, ...);
#define FCEUI_DispMessage FCEU_DispMessage
-int FCEUI_AddCheat(char *name, uint32 addr, uint8 val);
+int FCEUI_AddCheat(const char *name, uint32 addr, uint8 val, int compare, int type);
int FCEUI_DelCheat(uint32 which);
int32 FCEUI_CheatSearchGetCount(void);
void FCEUI_CheatSearchGetRange(uint32 first, uint32 last, int (*callb)(uint32 a, uint8 last, uint8 current));
-void FCEUI_CheatSearchGet(int (*callb)(uint32 a, uint8 last, uint8 current));
+void FCEUI_CheatSearchGet(int (*callb)(uint32 a, uint8 last, uint8 current, void *data),void *data);
void FCEUI_CheatSearchBegin(void);
void FCEUI_CheatSearchEnd(int type, uint8 v1, uint8 v2);
-void FCEUI_ListCheats(int (*callb)(char *name, uint32 a, uint8 v, int s));
+void FCEUI_ListCheats(int (*callb)(char *name, uint32 a, uint8 v, int compare, int s, int type, void *data), void *data);
-int FCEUI_GetCheat(uint32 which, char **name, uint32 *a, uint8 *v, int *s);
-int FCEUI_SetCheat(uint32 which, char *name, int32 a, int32 v, int s);
+int FCEUI_GetCheat(uint32 which, char **name, uint32 *a, uint8 *v, int *compare, int *s, int *type);
+int FCEUI_SetCheat(uint32 which, const char *name, int32 a, int32 v, int compare,int s, int type);
void FCEUI_CheatSearchShowExcluded(void);
void FCEUI_CheatSearchSetCurrentAsOriginal(void);
+int FCEUI_DecodePAR(const char *code, uint16 *a, uint8 *v, int *c, int *type);
+int FCEUI_DecodeGG(const char *str, uint16 *a, uint8 *v, int *c);
+int FCEUI_ToggleCheat(uint32 which);
+
#define FCEUIOD_STATE 0
#define FCEUIOD_SNAPS 1
#define FCEUIOD_NV 2