#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
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
};
// notaz
uint32 GfxLayerMask;
-#ifdef __WIN32__
- int SoundDriver;
-#endif
+
+// Hacks
+ bool8 HacksEnabled;
+ bool8 HacksFilter;
};
struct SSNESGameFixes
void S9xLoadSDD1Data ();
END_EXTERN_C
+START_EXTERN_C
enum {
PAUSE_NETPLAY_CONNECT = (1 << 0),
PAUSE_TOGGLE_FULL_SCREEN = (1 << 1),
};
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