|
|
| version 1.6, 2003/11/30 16:18:08 | version 1.47, 2012/01/23 09:51:48 |
|---|---|
| Line 1 | Line 1 |
| /*- | |
| * Copyright (C) 2003, 2004 NONAKA Kimihiro <nonakap@gmail.com> | |
| * All rights reserved. | |
| * | |
| * Redistribution and use in source and binary forms, with or without | |
| * modification, are permitted provided that the following conditions | |
| * are met: | |
| * 1. Redistributions of source code must retain the above copyright | |
| * notice, this list of conditions and the following disclaimer. | |
| * 2. Redistributions in binary form must reproduce the above copyright | |
| * notice, this list of conditions and the following disclaimer in the | |
| * documentation and/or other materials provided with the distribution. | |
| * | |
| * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |
| * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
| * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |
| * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | |
| * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | |
| * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
| * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
| * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| */ | |
| #ifndef NP2_X11_COMPILER_H__ | #ifndef NP2_X11_COMPILER_H__ |
| #define NP2_X11_COMPILER_H__ | #define NP2_X11_COMPILER_H__ |
| #ifdef HAVE_CONFIG_H | |
| #include "config.h" | |
| #endif | |
| #ifdef ENABLE_NLS | |
| #include <libintl.h> | |
| #define _(s) gettext(s) | |
| #ifdef gettext_noop | |
| #define N_(s) gettext_noop(s) | |
| #else | |
| #define N_(s) (s) | |
| #endif | |
| #else /* !ENABLE_NLS */ | |
| #define _(s) (s) | |
| #define N_(s) (s) | |
| #define textdomain(s) (s) | |
| #define gettext(s) (s) | |
| #define dgettext(d,s) (s) | |
| #define dcgettext(d,s,t) (s) | |
| #define bindtextdomain(d,dir) (d) | |
| #define bind_textdomain_codeset(d,c) (c) | |
| #endif /* ENABLE_NLS */ | |
| #ifdef WORDS_BIGENDIAN | #ifdef WORDS_BIGENDIAN |
| #define BYTESEX_BIG | #define BYTESEX_BIG |
| #else /* !WORDS_BIGENDIAN */ | #else /* !WORDS_BIGENDIAN */ |
| #define BYTESEX_LITTLE | #define BYTESEX_LITTLE |
| #endif /* WORDS_BIGENDIAN */ | #endif /* WORDS_BIGENDIAN */ |
| #if defined(USE_NETBSDAUDIO) && !defined(__NetBSD__) | #if !defined(USE_SDLAUDIO) && !defined(USE_SDLMIXER) |
| #undef USE_NETBSDAUDIO | |
| #endif | |
| #if !defined(USE_NETBSDAUDIO) && !defined(USE_OSSAUDIO) && !defined(USE_ESDAUDIO) && !defined(USE_SDLAUDIO) && !defined(USE_SDLMIXER) | |
| #ifndef NOSOUND | #ifndef NOSOUND |
| #define NOSOUND | #define NOSOUND |
| #undef VERMOUTH_LIB | |
| #endif /* !NOSOUND */ | #endif /* !NOSOUND */ |
| #else /* USE_NETBSDAUDIO || USE_OSSAUDIO || USE_ESDAUDIO || USE_SDLAUDIO || USE_SDLMIXER */ | #else /* USE_SDLAUDIO || USE_SDLMIXER */ |
| #undef NOSOUND | #undef NOSOUND |
| #endif /* !USE_NETBSDAUDIO && !USE_OSSAUDIO && !USE_ESDAUDIO && !USE_SDLAUDIO && !USE_SDMIXER */ | |
| #if defined(NOSOUND) | |
| #undef VERMOUTH_LIB | |
| #undef SOUND_CRITICAL | |
| #undef SOUNDRESERVE | |
| #else /* !NOSOUND */ | |
| #include <pthread.h> | |
| #define VERMOUTH_LIB | #define VERMOUTH_LIB |
| #undef SOUND_CRITICAL | #endif /* !USE_SDLAUDIO && !USE_SDLMIXER */ |
| #define SOUNDRESERVE 100 | |
| #endif /* NOSOUND */ | |
| #include <sys/param.h> | #include <sys/param.h> |
| #include <sys/time.h> | #include <sys/time.h> |
| #include <sys/stat.h> | |
| #include <assert.h> | #include <assert.h> |
| #include <errno.h> | |
| #include <fcntl.h> | #include <fcntl.h> |
| #include <setjmp.h> | |
| #include <stdio.h> | #include <stdio.h> |
| #include <stdlib.h> | #include <stdlib.h> |
| #include <stdarg.h> | #include <stdarg.h> |
| Line 50 | Line 83 |
| #define OSLANG_EUC | #define OSLANG_EUC |
| #define OSLINEBREAK_LF | #define OSLINEBREAK_LF |
| typedef signed char CHAR; | #include <glib.h> |
| typedef signed short SHORT; | |
| typedef signed int INT; | |
| typedef signed long LONG; | |
| typedef unsigned char UCHAR; | |
| typedef unsigned short USHORT; | |
| typedef unsigned int UINT; | |
| typedef unsigned long ULONG; | |
| typedef signed char SINT8; | |
| typedef signed short SINT16; | |
| typedef signed int SINT32; | |
| typedef unsigned char UINT8; | |
| typedef unsigned short UINT16; | |
| typedef unsigned int UINT32; | |
| typedef unsigned char BYTE; | typedef gint32 SINT; |
| typedef unsigned char TCHAR; | typedef guint32 UINT; |
| typedef int BOOL; | typedef gint8 SINT8; |
| typedef gint16 SINT16; | |
| typedef gint32 SINT32; | |
| typedef gint64 SINT64; | |
| #include "common.h" | typedef guint8 UINT8; |
| #include "milstr.h" | typedef guint16 UINT16; |
| #include "_memory.h" | typedef guint32 UINT32; |
| #include "rect.h" | typedef guint64 UINT64; |
| #include "lstarray.h" | |
| #include "trace.h" | |
| #ifndef TRUE | typedef guint8 BYTE; |
| #define TRUE 1 | typedef gchar TCHAR; |
| #endif | |
| typedef gboolean BOOL; | |
| #define PTR_TO_UINT32(p) ((UINT32)GPOINTER_TO_UINT(p)) | |
| #define UINT32_TO_PTR(v) GUINT_TO_POINTER((UINT32)(v)) | |
| #ifndef FALSE | #ifndef FALSE |
| #define FALSE 0 | #define FALSE 0 |
| #endif | #endif |
| #ifndef TRUE | |
| #define TRUE (!FALSE) | |
| #endif | |
| #ifndef MAX_PATH | #ifndef MAX_PATH |
| #define MAX_PATH MAXPATHLEN | #define MAX_PATH MAXPATHLEN |
| #endif | #endif |
| Line 113 typedef int BOOL; | Line 139 typedef int BOOL; |
| #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) | #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) |
| #endif | #endif |
| #define UNUSED(v) ((void)(v)) | |
| #define INLINE __inline | |
| #define SOUNDCALL | |
| #ifdef DEBUG | |
| #define __ASSERT(s) assert(s) | |
| #else | |
| #define __ASSERT(s) | |
| #endif | |
| #ifndef NELEMENTS | #ifndef NELEMENTS |
| #define NELEMENTS(a) ((int)(sizeof(a) / sizeof(a[0]))) | #define NELEMENTS(a) ((int)(sizeof(a) / sizeof(a[0]))) |
| #endif | #endif |
| UINT32 gettick(); | /* archtecture */ |
| /* amd64 */ | |
| #if defined(amd64) || defined(__AMD64__) || defined(__amd64__) || \ | |
| defined(x86_64) || defined(__x86_64__) || defined(__X86_64__) | |
| #define NP2_CPU_ARCH_AMD64 | |
| #endif /* amd64 */ | |
| /* i386 */ | |
| #if defined(i386) || defined(__i386__) || defined(NP2_CPU_ARCH_AMD64) | |
| #define NP2_CPU_ARCH_IA32 | |
| #endif /* i386 */ | |
| #if defined(__GNUC__) | |
| #if defined(NP2_CPU_ARCH_IA32) | |
| #define GCC_CPU_ARCH_IA32 | |
| #endif | |
| #if defined(NP2_CPU_ARCH_AMD64) | |
| #define GCC_CPU_ARCH_AMD64 | |
| #endif | |
| #endif /* __GNUC__ */ | |
| UINT32 gettick(void); | |
| #define GETTICK() gettick() | #define GETTICK() gettick() |
| #define GETRAND() random() | #define GETRAND() random() |
| #define SPRINTF sprintf | #define SPRINTF sprintf |
| #define STRLEN strlen | |
| #if defined(i386) || defined(__i386__) | #define OEMCHAR gchar |
| #define OEMTEXT(s) s | |
| #define OEMNULLSTR OEMTEXT("") | |
| #define OEMSPRINTF sprintf | |
| #define OEMSTRLEN strlen | |
| #if defined(CPUCORE_IA32) | |
| #define msgbox(title, msg) toolkit_messagebox(title, msg); | |
| #if !defined(DISABLE_PC9821) | |
| #define SUPPORT_PC9821 | |
| #define SUPPORT_CRT31KHZ | |
| #endif | |
| #define SUPPORT_IDEIO | |
| #else | |
| #define SUPPORT_CRT15KHZ | |
| #endif | |
| #if defined(NP2_CPU_ARCH_IA32) | |
| #undef MEMOPTIMIZE | #undef MEMOPTIMIZE |
| #define LOADINTELDWORD(a) (*((const UINT32 *)(a))) | |
| #define LOADINTELWORD(a) (*((const UINT16 *)(a))) | |
| #define STOREINTELDWORD(a, b) *(UINT32 *)(a) = (b) | |
| #define STOREINTELWORD(a, b) *(UINT16 *)(a) = (b) | |
| #if !defined(DEBUG) && !defined(NP2_CPU_ARCH_AMD64) | |
| #define FASTCALL __attribute__((regparm(2))) | |
| #endif /* !DEBUG && !NP2_CPU_ARCH_AMD64 */ | |
| #elif defined(arm) || defined (__arm__) | #elif defined(arm) || defined (__arm__) |
| #define MEMOPTIMIZE 2 | #define MEMOPTIMIZE 2 |
| #define REG8 UINT | |
| #define REG16 UINT | |
| #define OPNGENARM | |
| #else | #else |
| #define MEMOPTIMIZE 1 | #define MEMOPTIMIZE 1 |
| #endif | #endif |
| #ifndef FASTCALL | |
| #define FASTCALL | |
| #endif | |
| #define CPUCALL FASTCALL | |
| #define MEMCALL FASTCALL | |
| #define DMACCALL FASTCALL | |
| #define IOOUTCALL FASTCALL | |
| #define IOINPCALL FASTCALL | |
| #define SOUNDCALL FASTCALL | |
| #define VRAMCALL FASTCALL | |
| #define SCRNCALL FASTCALL | |
| #define VERMOUTHCL FASTCALL | |
| #ifdef DEBUG | |
| #define INLINE | |
| #define __ASSERT(s) assert(s) | |
| #else | |
| #ifndef __ASSERT | |
| #define __ASSERT(s) | |
| #endif | |
| #ifndef INLINE | |
| #define INLINE inline | |
| #endif | |
| #endif | |
| #define SUPPORT_EUC | #define SUPPORT_EUC |
| #define SUPPORT_8BPP | #undef SUPPORT_8BPP |
| #define SUPPORT_24BPP | |
| #define SUPPORT_16BPP | #define SUPPORT_16BPP |
| #define SUPPORT_24BPP | |
| #define SUPPORT_32BPP | #define SUPPORT_32BPP |
| #define SUPPORT_NORMALDISP | #define SUPPORT_NORMALDISP |
| #if defined(USE_GTK) | #undef SOUND_CRITICAL |
| #undef SOUNDRESERVE | |
| #define SUPPORT_PC9861K | |
| #define SUPPORT_HOSTDRV | |
| #define SUPPORT_RESUME | |
| #define SUPPORT_STATSAVE | |
| #undef SUPPORT_SASI | |
| #undef SUPPORT_SCSI | |
| #define SUPPORT_S98 | |
| #define SUPPORT_KEYDISP | #define SUPPORT_KEYDISP |
| #endif | #define SUPPORT_SOFTKBD 0 |
| #define SUPPORT_SCREENSIZE | |
| #if defined(USE_SDLAUDIO) || defined(USE_SDLMIXER) | |
| #define SUPPORT_JOYSTICK | |
| #define USE_SDL_JOYSTICK | |
| #endif /* USE_SDLAUDIO || USE_SDLMIXER */ | |
| /* | /* |
| * You could specify a complete path, e.g. "/etc/timidity.cfg", and | * You could specify a complete path, e.g. "/etc/timidity.cfg", and |
| Line 159 UINT32 gettick(); | Line 268 UINT32 gettick(); |
| extern char timidity_cfgfile_path[MAX_PATH]; | extern char timidity_cfgfile_path[MAX_PATH]; |
| #define TIMIDITY_CFGFILE timidity_cfgfile_path | #define TIMIDITY_CFGFILE timidity_cfgfile_path |
| #include "common.h" | |
| #include "milstr.h" | |
| #include "_memory.h" | |
| #include "rect.h" | |
| #include "lstarray.h" | |
| #include "trace.h" | |
| #include "toolkit.h" | |
| #endif /* NP2_X11_COMPILER_H__ */ | #endif /* NP2_X11_COMPILER_H__ */ |