increase input poll frequency
[drnoksnes] / snes9x.h
index 11ded37..ef0311d 100644 (file)
--- a/snes9x.h
+++ b/snes9x.h
 
 #include <stdio.h>
 #include <stdlib.h>
-
-#ifdef __WIN32__
-#include "..\wsnes9x.h"
-#include "..\zlib\zlib.h"
-#endif
-
 #include "port.h"
 #include "65c816.h"
 #include "messages.h"
 
 #define ROM_NAME_LEN 23
 
-#ifdef ZLIB
-//#ifndef __WIN32__
-#include "zlib.h"
-//#endif
-#define STREAM gzFile
-#define READ_STREAM(p,l,s) gzread (s,p,l)
-#define WRITE_STREAM(p,l,s) gzwrite (s,p,l)
-#define OPEN_STREAM(f,m) gzopen (f,m)
-#define CLOSE_STREAM(s) gzclose (s)
-#define SEEK_STREAM(p,r,s) gzseek(s,p,r)
-#else
-#ifdef __GP32__
-#define STREAM long * //F_HANDLE * 
-#define READ_STREAM(p,l,s) gp32_fread ((unsigned char*)p,(long)l,s)
-#define WRITE_STREAM(p,l,s) gp32_fwrite ((unsigned char*)p,(long)l,s)
-#define OPEN_STREAM(f,m) gp32_fopen ((char*)f,(char*)m)
-#define CLOSE_STREAM(s) gp32_fclose (s)
-#define SEEK_STREAM(p,r,s) gp32_fseek(p,r,s)
-
-#else
-#define STREAM FILE *
-#define READ_STREAM(p,l,s) fread (p,1,l,s)
-#define WRITE_STREAM(p,l,s) fwrite (p,1,l,s)
-#define OPEN_STREAM(f,m) fopen (f,m)
-#define CLOSE_STREAM(s) fclose (s)
-#define SEEK_STREAM(p,r,s) fseek(s,p,r)
-#define FROM_CURRENT SEEK_CUR
-#endif
-#endif
-
-
 /* SNES screen width and height */
 #define SNES_WIDTH             256
 #define SNES_HEIGHT            224
@@ -241,9 +204,7 @@ struct SCPUState{
     uint16     Memory_SRAMMask;                //120
     bool8      APU_APUExecuting;               //122
     bool8      _ARM_asm_padding2;              //123
-    uint32     _PALMSOS_R9;                    //124
-    uint32     _PALMSOS_R10;                   //128
-       int32   APU_Cycles;                             //132 notaz
+       int32   APU_Cycles;                             //124 notaz
 };
 
 
@@ -343,7 +304,6 @@ struct SSettings{
     bool8  FixFrequency;
     
     // Graphics options
-    bool8  SixteenBit;
     bool8  Transparency;
     bool8  SupportHiRes;
     bool8  Mode7Interpolate;
@@ -384,9 +344,10 @@ struct SSettings{
     
        // notaz
        uint32 GfxLayerMask;
-#ifdef __WIN32__
-    int    SoundDriver;
-#endif
+
+// Hacks
+       bool8   HacksEnabled;
+       bool8   HacksFilter;
 };
 
 struct SSNESGameFixes
@@ -413,6 +374,7 @@ void S9xMessage (int type, int number, const char *message);
 void S9xLoadSDD1Data ();
 END_EXTERN_C
 
+START_EXTERN_C
 enum {
     PAUSE_NETPLAY_CONNECT = (1 << 0),
     PAUSE_TOGGLE_FULL_SCREEN = (1 << 1),
@@ -425,5 +387,30 @@ enum {
 };
 void S9xSetPause (uint32 mask);
 void S9xClearPause (uint32 mask);
+END_EXTERN_C
+
+START_EXTERN_C
+enum FileTypes {
+       FILE_ROM = 0,
+       FILE_SRAM,
+       /** The default freeze filename (base.frz.gz) */
+       FILE_FREEZE,
+       FILE_CHT,
+       FILE_IPS,
+       FILE_SCREENSHOT,
+       FILE_SDD1_DAT
+};
+/** This routine allows to get path to files whose name depends on the basename
+ *  of the current ROM.
+ *  @param file see enum FileTypes.
+ *  @return wanted filepath. Do not free the returned string.
+ */
+const char *S9xGetFilename(enum FileTypes file);
+/** Returns the path to freeze file for the selected quick save slot.
+ *  @param slot slot number
+ *  @return wanted filepath. Do not free the returned string.
+ */
+const char *S9xGetQuickSaveFilename(unsigned int slot);
+END_EXTERN_C
 
 #endif