X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=port.h;h=c7537797add1f07fac7cfefcdc7fc6301a8683dd;hb=9c81245cf6fd98e00266a5f9a5eb6d85a587a7ba;hp=4280303d8f3ae2b994c43ab54d220b0fb1cdff42;hpb=3ddd6d5ea2811b783bf349c8947cf1bbaaf3c8b9;p=drnoksnes diff --git a/port.h b/port.h index 4280303..c753779 100644 --- a/port.h +++ b/port.h @@ -53,452 +53,123 @@ I can't take it anymore, it's too convoluted. So I've commented out the entire with a single define-block for each target platform. */ -/* -** _SNESPPC DEFINES -*/ - -#ifdef __GIZ__ - //Title -#define TITLE "Snes9x" +#define TITLE "DrNokSnes" //Required Includes #include "pixform.h" -#include //RC -//#include +#include +#include #include #include -//Types Defined -typedef unsigned char bool8; -typedef unsigned char uint8; -typedef unsigned short uint16; -typedef unsigned int uint32; -typedef signed char int8; -typedef short int16; -typedef int int32; -typedef long long int64; -//CSNES Types for conversion to 32 bit -/*typedef unsigned long bool8_32; -typedef unsigned long uint8_32; -typedef unsigned long uint16_32; -typedef long int8_32; -typedef long int16_32;*/ +//Types Defined +typedef uint8_t bool8; +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef int8_t int8; +typedef int16_t int16; +typedef int32_t int32; +typedef int64_t int64; //For Debugging Purposes: -typedef unsigned char bool8_32; -typedef unsigned char uint8_32; -typedef unsigned short uint16_32; -typedef signed char int8_32; -typedef short int16_32; - +typedef uint8_t bool8_32; +typedef uint8_t uint8_32; +typedef uint16_t uint16_32; +typedef int8_t int8_32; +typedef int16_t int16_32; //Defines for Extern C -#define EXTERN_C extern -#define START_EXTERN_C extern "C" { +#ifdef __cplusplus +#define EXTERN_C extern "C" +#define START_EXTERN_C EXTERN_C { #define END_EXTERN_C } +#else +#define EXTERN_C extern +#define START_EXTERN_C +#define END_EXTERN_C +#endif //Path Defines -#undef _MAX_PATH #define _MAX_DIR PATH_MAX #define _MAX_DRIVE 1 -#define _MAX_FNAME PATH_MAX -#define _MAX_EXT PATH_MAX -#define PATH_MAX 1024 -#define _MAX_PATH (1024) +#define _MAX_FNAME NAME_MAX +#define _MAX_EXT NAME_MAX +#define _MAX_PATH PATH_MAX //True/False Defines #define TRUE 1 #define FALSE 0 -//Slash Char Definitions -#define SLASH_STR "\\" -#define SLASH_CHAR '\\' - -//Misc Items -#define VAR_CYCLES -//#define SPC700_SHUTDOWN -#define LSB_FIRST -#define STATIC static -#define FASTCALL -#define PIXEL_FORMAT RGB565 -#define CHECK_SOUND() -#define VOID void -#define CPU_SHUTDOWN -#define UNZIP_SUPPORT -#define ZeroMemory(a,b) memset((a),0,(b)) -#define PACKING __attribute__ ((packed)) -#define ALIGN_BY_ONE __attribute__ ((aligned (1), packed)) -#define LSB_FIRST -#undef FAST_LSB_WORD_ACCESS -#define ASM_SPC700 - -EXTERN_C void S9xGenerateSound (); - -//Additional Items for _SNESPPC port -void _makepath (char *path, const char *drive, const char *dir, - const char *fname, const char *ext); -void _splitpath (const char *path, char *drive, char *dir, char *fname, - char *ext); -#define strcasecmp strcmp -#define strncasecmp strncmp -#define time(a) (0) - -#ifdef INLINE -#undef INLINE -#define INLINE __inline -#endif - -#ifdef inline -#undef inline -#define inline __inline +// Config -> Defines +#if CONF_BUILD_ASM_SPC700 +#define ASM_SPC700 1 +#else +#undef ASM_SPC700 #endif -#endif // _SNESPPC - -#ifdef __GP2X__ - -//Title -#define TITLE "Snes9x" - -//Required Includes -#include "pixform.h" -#include //RC -//#include -#include -#include -//Types Defined -typedef unsigned char bool8; -typedef unsigned char uint8; -typedef unsigned short uint16; -typedef unsigned int uint32; -typedef signed char int8; -typedef short int16; -typedef int int32; -typedef long long int64; - -//CSNES Types for conversion to 32 bit -/*typedef unsigned long bool8_32; -typedef unsigned long uint8_32; -typedef unsigned long uint16_32; -typedef long int8_32; -typedef long int16_32;*/ - -//For Debugging Purposes: - -typedef unsigned char bool8_32; -typedef unsigned char uint8_32; -typedef unsigned short uint16_32; -typedef signed char int8_32; -typedef short int16_32; - - -//Defines for Extern C -#define EXTERN_C extern -#define START_EXTERN_C extern "C" { -#define END_EXTERN_C } - -//Path Defines -#undef _MAX_PATH -#define _MAX_DIR PATH_MAX -#define _MAX_DRIVE 1 -#define _MAX_FNAME PATH_MAX -#define _MAX_EXT PATH_MAX -#define _MAX_PATH (1024) - -//True/False Defines -#define TRUE 1 -#define FALSE 0 - -//Slash Char Definitions -#define SLASH_STR "/" -#define SLASH_CHAR '/' +// Configuration defines I think I know what they're for +#define SUPER_FX 1 +#define USE_SA1 1 +#define CPU_SHUTDOWN 1 +//#define NETPLAY_SUPPORT 1 +#define ZLIB 1 +#define UNZIP_SUPPORT 1 +#define NO_INLINE_SET_GET 1 //Misc Items #define VAR_CYCLES //#define SPC700_SHUTDOWN #define LSB_FIRST -#define STATIC static -#define FASTCALL #define PIXEL_FORMAT RGB565 #define CHECK_SOUND() -#define VOID void -#define CPU_SHUTDOWN -#define UNZIP_SUPPORT #define ZeroMemory(a,b) memset((a),0,(b)) #define PACKING __attribute__ ((packed)) #define ALIGN_BY_ONE __attribute__ ((aligned (1), packed)) #define LSB_FIRST #undef FAST_LSB_WORD_ACCESS -#define ASM_SPC700 -#define SUPER_FX - -EXTERN_C void S9xGenerateSound (); - -//Additional Items for _SNESPPC port -void _makepath (char *path, const char *drive, const char *dir, - const char *fname, const char *ext); -void _splitpath (const char *path, char *drive, char *dir, char *fname, - char *ext); -#define strcasecmp strcmp -#define strncasecmp strncmp -#define time(a) (0) -#ifdef INLINE -#undef INLINE +// Language abstractions +#define FASTCALL +#define STATIC static #define INLINE inline -#endif - -#ifdef inline -#undef inline -#define inline inline -#endif - -#endif // _SNESPPC -#endif // _PORT_H_ - -/* -#ifndef _SNESPPC -#define _SNESPPC -#endif - -#ifndef RC_OPTIMIZED -#define RC_OPTIMIZED -#endif - -#ifdef inline -#undef inline -#endif - -#ifdef INLINE -#undef INLINE -#endif - -#define inline __inline -#define INLINE __inline - -#ifdef DEBUG -#ifndef _PROFILE_ -#define _PROFILE_ -#endif -#endif -#ifndef _SNESPPC -#ifndef STORM -#include -#include +START_EXTERN_C +// Path functions +void PathMake(char *path, const char *drive, const char *dir, + const char *fname, const char *ext); +void PathSplit(const char *path, char *drive, char *dir, char *fname, char *ext); +/** A simplified basename function returning a pointer inside the src string */ +const char * PathBasename(const char * path); +END_EXTERN_C + +// Stream functions, used when opening ROMs and snapshots. +#ifdef ZLIB +#include +#define STREAM gzFile +#define READ_STREAM(p,l,s) gzread (s,p,l) +#define WRITE_STREAM(p,l,s) gzwrite (s,p,l) +#define GETS_STREAM(p,l,s) gzgets(s,p,l) +#define GETC_STREAM(s) gzgetc(s) +#define OPEN_STREAM(f,m) gzopen (f,m) +#define REOPEN_STREAM(f,m) gzdopen (f,m) +#define FIND_STREAM(f) gztell(f) +#define REVERT_STREAM(f,o,s) gzseek(f,o,s) +#define CLOSE_STREAM(s) gzclose (s) #else -//#include -//#include +#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 GETS_STREAM(p,l,s) fgets(p,l,s) +#define GETC_STREAM(s) fgetc(s) +#define OPEN_STREAM(f,m) fopen (f,m) +#define REOPEN_STREAM(f,m) fdopen (f,m) +#define FIND_STREAM(f) ftell(f) +#define REVERT_STREAM(f,o,s) fseek(f,o,s) +#define CLOSE_STREAM(s) fclose (s) #endif -#include -#else -#include #endif -#define PIXEL_FORMAT RGB565 -//#define GFX_MULTI_FORMAT - -#if defined(TARGET_OS_MAC) && TARGET_OS_MAC - -#ifdef _SNESPPC -#include "zlib/zlib.h" //RC -#else -#include "zlib.h" -#endif - -#define ZLIB -#define EXECUTE_SUPERFX_PER_LINE -#define SOUND -#define VAR_CYCLES -#define CPU_SHUTDOWN -#define SPC700_SHUTDOWN -#define PIXEL_FORMAT RGB555 -#define CHECK_SOUND() -#define M_PI 3.14159265359 -#undef _MAX_PATH - -#undef DEBUGGER // Apple Universal Headers sometimes #define DEBUGGER -#undef GFX_MULTI_FORMAT - -int strncasecmp(const char *s1, const char *s2, unsigned n); -int strcasecmp(const char *s1, const char *s2 ); - -#endif - -#ifndef snes9x_types_defined -#define snes9x_types_defined - -//CSNES -#ifdef _SNESPPC -typedef unsigned long bool8; -#else -typedef unsigned char bool8; -#endif - -#ifndef __WIN32__ -typedef unsigned char uint8; -typedef unsigned short uint16; -typedef signed char int8; -typedef short int16; -//typedef long int32; -//typedef unsigned long uint32; -typedef int int32; -typedef unsigned int uint32; -#ifdef _SNESPPC -typedef __int64 int64; -//CSNES -typedef unsigned long uint8_32; -typedef unsigned long uint16_32; -typedef long int8_32; -typedef long int16_32; - -#else -typedef long long int64; -#endif -#else // __WIN32__ - -#ifdef __BORLANDC__ -//#include -#else - -typedef unsigned char uint8; -typedef unsigned short uint16; -typedef signed char int8; -typedef short int16; - -#ifndef WSAAPI -// winsock2.h typedefs int32 as well. -typedef long int32; -#endif - -typedef unsigned int uint32; - -#endif // __BORLANDC__ - -typedef __int64 int64; - -#endif // __WIN32__ -#endif // snes9x_types_defined -#include "pixform.h" - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifdef STORM -#define EXTERN_C -#define START_EXTERN_C -#define END_EXTERN_C -#else -#if defined(__cplusplus) || defined(c_plusplus) -#define EXTERN_C extern "C" -#define START_EXTERN_C extern "C" { -#define END_EXTERN_C } -#else -#define EXTERN_C extern -#define START_EXTERN_C -#define END_EXTERN_C -#endif -#endif - -#ifndef __WIN32__ - -#ifndef PATH_MAX -#define PATH_MAX 1024 -#endif - -#define _MAX_DIR PATH_MAX -#define _MAX_DRIVE 1 -#define _MAX_FNAME PATH_MAX -#define _MAX_EXT PATH_MAX -#ifndef _MAX_PATH -#define _MAX_PATH PATH_MAX -#endif - -#ifdef _SNESPPC -#define strcasecmp strcmp -#define strncasecmp strncmp -#define time(a) (0) -#ifdef _MAX_PATH -#undef _MAX_PATH -#define _MAX_PATH (1024) -#endif -#endif - -#define ZeroMemory(a,b) memset((a),0,(b)) - -void _makepath (char *path, const char *drive, const char *dir, - const char *fname, const char *ext); -void _splitpath (const char *path, char *drive, char *dir, char *fname, - char *ext); -#else // __WIN32__ -#define strcasecmp stricmp -#define strncasecmp strnicmp -#endif - -EXTERN_C void S9xGenerateSound (); - -#ifdef STORM -EXTERN_C int soundsignal; -EXTERN_C void MixSound(void); -//Yes, CHECK_SOUND is getting defined correctly! -#define CHECK_SOUND if (Settings.APUEnabled) if(SetSignalPPC(0L, soundsignal) & soundsignal) MixSound -#else -#define CHECK_SOUND() -#endif - -#ifdef __DJGPP -#define SLASH_STR "\\" -#define SLASH_CHAR '\\' -#else -#define SLASH_STR "/" -#define SLASH_CHAR '/' -#endif - -#ifdef __linux -typedef void (*SignalHandler)(int); -#define SIG_PF SignalHandler -#endif - -#if defined(__i386__) || defined(__i486__) || defined(__i586__) || \ - defined(__WIN32__) || defined(__alpha__) -#define LSB_FIRST -#define FAST_LSB_WORD_ACCESS -#else -#ifdef _SNESPPC -#define LSB_FIRST -//NOPE! #define FAST_LSB_WORD_ACCESS //RC -#else -#define MSB_FIRST -#endif -#endif - -#ifdef __sun -#define TITLE "Snes9X: Solaris" -#endif - -#ifdef __linux -#define TITLE "Snes9X: Linux" -#endif - -#ifndef TITLE -#define TITLE "Snes9x" -#endif - -#ifdef STORM -#define STATIC -#define strncasecmp strnicmp -#else -#define STATIC static -#endif - -#endif -*/ -