merged ppu code, added input+zapper, FDS/VS insert in menu
[fceu.git] / driver.h
index cfaf2cf..e240960 100644 (file)
--- a/driver.h
+++ b/driver.h
@@ -57,20 +57,39 @@ void FCEUI_SetInput(int port, int type, void *ptr, int attrib);
 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 */
 
@@ -85,6 +104,7 @@ void FCEUI_SaveExtraDataUnderBase(int a);
 
 /* name=path and file to load.  returns 0 on failure, 1 on success */
 FCEUGI *FCEUI_LoadGame(char *name);
+extern int LoadGameLastError;
 
 /* allocates memory.  0 on failure, 1 on success. */
 int FCEUI_Initialize(void);
@@ -147,21 +167,25 @@ void FCEUI_SaveSnapshot(void);
 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