| version 1.4, 2003/11/21 06:51:16 | version 1.27, 2005/02/26 13:32:14 | 
| Line 1 | Line 1 | 
 |  | /*      $Id$    */ | 
 |  |  | 
 |  | /*- | 
 |  | * Copyright (c) 2003, 2004 NONAKA Kimihiro | 
 |  | * 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 AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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  WORDS_BIGENDIAN | 
 |  | #define BYTESEX_BIG | 
 |  | #else   /* !WORDS_BIGENDIAN */ | 
 |  | #define BYTESEX_LITTLE | 
 |  | #endif  /* WORDS_BIGENDIAN */ | 
 |  |  | 
 | #if defined(USE_NETBSDAUDIO) && !defined(__NetBSD__) | #if defined(USE_NETBSDAUDIO) && !defined(__NetBSD__) | 
 | #undef  USE_NETBSDAUDIO | #undef  USE_NETBSDAUDIO | 
 | #endif | #endif | 
| Line 8 | Line 42 | 
 | #if !defined(USE_NETBSDAUDIO) && !defined(USE_OSSAUDIO) && !defined(USE_ESDAUDIO) && !defined(USE_SDLAUDIO) && !defined(USE_SDLMIXER) | #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_NETBSDAUDIO || USE_OSSAUDIO || USE_ESDAUDIO || USE_SDLAUDIO || USE_SDLMIXER */ | 
 | #undef  NOSOUND | #undef  NOSOUND | 
 | #endif  /* !USE_NETBSDAUDIO && !USE_OSSAUDIO && !USE_ESDAUDIO && !USE_SDLAUDIO && !USE_SDMIXER */ |  | 
 |  |  | 
 | #ifdef  WORDS_BIGENDIAN |  | 
 | #define BYTESEX_BIG |  | 
 | #else   /* !WORDS_BIGENDIAN */ |  | 
 | #define BYTESEX_LITTLE |  | 
 | #endif  /* WORDS_BIGENDIAN */ |  | 
 |  |  | 
 | #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 | #if defined(USE_NETBSDAUDIO) || defined(USE_OSSAUDIO) || defined(USE_ESDAUDIO) | 
| #define SOUNDRESERVE    100 | #include <pthread.h> | 
|  | #endif  /* USE_NETBSDAUDIO || USE_OSSAUDIO || USE_ESDAUDIO */ | 
| #endif  /* NOSOUND */ | #endif  /* !USE_NETBSDAUDIO && !USE_OSSAUDIO && !USE_ESDAUDIO && !USE_SDLAUDIO && !USE_SDMIXER */ | 
 |  |  | 
 | #include <sys/param.h> | #include <sys/param.h> | 
 | #include <sys/time.h> | #include <sys/time.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 69 | 
 | #define OSLANG_EUC | #define OSLANG_EUC | 
 | #define OSLINEBREAK_LF | #define OSLINEBREAK_LF | 
 |  |  | 
| typedef signed char     CHAR; | #if USE_GTK > 0 || USE_GTK2 > 0 | 
| 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; | #include "glib.h" | 
| typedef unsigned char   TCHAR; |  | 
 |  |  | 
| typedef int             BOOL; | typedef guint32         UINT; | 
 |  |  | 
| #include "common.h" | typedef gint8           SINT8; | 
| #include "milstr.h" | typedef gint16          SINT16; | 
| #include "_memory.h" | typedef gint32          SINT32; | 
| #include "rect.h" | typedef gint64          SINT64; | 
| #include "lstarray.h" |  | 
| #include "trace.h" | typedef guint8          UINT8; | 
|  | typedef guint16         UINT16; | 
|  | typedef guint32         UINT32; | 
|  | typedef guint64         UINT64; | 
|  |  | 
|  | typedef guint8          BYTE; | 
|  | typedef gchar           TCHAR; | 
|  |  | 
|  | typedef gboolean        BOOL; | 
|  |  | 
|  | #define PTR_TO_UINT32(p)        ((UINT32)GPOINTER_TO_UINT(p)) | 
|  | #define UINT32_TO_PTR(v)        GUINT_TO_POINTER((UINT32)(v)) | 
|  |  | 
|  | #else   /* USE_GTK == 0 && USE_GTK2 == 0 */ | 
|  |  | 
|  | typedef unsigned int            UINT; | 
|  |  | 
|  | typedef signed char             SINT8; | 
|  | typedef signed short            SINT16; | 
|  | typedef signed int              SINT32; | 
|  | typedef signed long long        SINT64; | 
|  |  | 
|  | typedef unsigned char           UINT8; | 
|  | typedef unsigned short          UINT16; | 
|  | typedef unsigned int            UINT32; | 
|  | typedef unsigned long long      UINT64; | 
|  |  | 
|  | typedef unsigned char           BYTE; | 
|  | typedef char                    TCHAR; | 
|  |  | 
|  | typedef int                     BOOL; | 
|  |  | 
|  | #endif  /* USE_GTK > 0 || USE_GTK2 > 0 */ | 
 |  |  | 
 | #ifndef TRUE | #ifndef TRUE | 
 | #define TRUE    1 | #define TRUE    1 | 
| Line 113  typedef int  BOOL; | Line 147  typedef int  BOOL; | 
 | #define roundup(x, y)   ((((x)+((y)-1))/(y))*(y)) | #define roundup(x, y)   ((((x)+((y)-1))/(y))*(y)) | 
 | #endif | #endif | 
 |  |  | 
 |  | #ifndef UNUSED | 
 | #define UNUSED(v)       ((void)(v)) | #define UNUSED(v)       ((void)(v)) | 
| #define INLINE          __inline | #endif | 
|  |  | 
|  | #define FASTCALL | 
 | #define SOUNDCALL | #define SOUNDCALL | 
 |  | #define MEMCALL | 
 |  | #define CPUCALL | 
 |  |  | 
 | #ifdef  DEBUG | #ifdef  DEBUG | 
 |  | #define INLINE | 
 | #define __ASSERT(s)     assert(s) | #define __ASSERT(s)     assert(s) | 
 | #else | #else | 
 |  | #ifndef __ASSERT | 
 | #define __ASSERT(s) | #define __ASSERT(s) | 
 | #endif | #endif | 
 |  | #ifndef INLINE | 
 |  | #define INLINE          __inline | 
 |  | #endif | 
 |  | #endif | 
 |  |  | 
 |  | /* 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__) | 
 |  | #define GCC_ATTR_PACKED __attribute__((packed)) | 
 |  | #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__ */ | 
 |  |  | 
 | #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(); | UINT32 gettick(void); | 
 | #define GETTICK()       gettick() | #define GETTICK()       gettick() | 
 | #define GETRAND()       random() | #define GETRAND()       random() | 
 | #define SPRINTF         sprintf | #define SPRINTF         sprintf | 
 |  | #define STRLEN          strlen | 
 |  | #define OEMSPRINTF      sprintf | 
 |  | #define OEMSTRLEN       strlen | 
 |  |  | 
 |  | #if defined(CPUCORE_IA32) | 
 |  | void toolkit_msgbox(const char *title, const char *msg); | 
 |  | #define msgbox(title, msg)      toolkit_msgbox(title, msg); | 
 |  | #ifndef IA32_PAGING_EACHSIZE | 
 |  | #define IA32_PAGING_EACHSIZE | 
 |  | #endif | 
 |  |  | 
 |  | #define SUPPORT_PC9821 | 
 |  | #define SUPPORT_CRT31KHZ | 
 |  | #else | 
 |  | #define SUPPORT_CRT15KHZ | 
 |  | #endif | 
 |  |  | 
 |  | #if defined(NP2_CPU_ARCH_IA32) | 
 |  | #undef  MEMOPTIMIZE | 
 |  | #define LOADINTELDWORD(a)       (*((UINT32 *)(a))) | 
 |  | #define LOADINTELWORD(a)        (*((UINT16 *)(a))) | 
 |  | #define STOREINTELDWORD(a, b)   *(UINT32 *)(a) = (b) | 
 |  | #define STOREINTELWORD(a, b)    *(UINT16 *)(a) = (b) | 
 |  | #if defined(__GNUC__) && defined(IA32_USE_GCC_ATTR_REGPARM) | 
 |  | #define GCC_ATTR_REGPARM        __attribute__((regparm(2))) | 
 |  | #endif | 
 |  | #elif defined(arm) || defined (__arm__) | 
 |  | #define MEMOPTIMIZE     2 | 
 |  | #define REG8            UINT | 
 |  | #define REG16           UINT | 
 |  | #define OPNGENARM | 
 |  | #else | 
 | #define MEMOPTIMIZE     1 | #define MEMOPTIMIZE     1 | 
 |  | #endif | 
 |  |  | 
 | #define SUPPORT_EUC | #define SUPPORT_EUC | 
 |  | #define SUPPORT_SJIS | 
 |  |  | 
| #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 | 
 |  |  | 
 |  | #undef  SOUND_CRITICAL | 
 |  | #undef  SOUNDRESERVE | 
 |  |  | 
 |  | #define SUPPORT_PC9861K | 
 |  | #define SUPPORT_HOSTDRV | 
 |  |  | 
 |  | #undef  SUPPORT_SASI | 
 |  | #undef  SUPPORT_SCSI | 
 |  | #undef  SUPPORT_IDEIO | 
 |  |  | 
 |  | #if USE_GTK > 0 || USE_GTK2 > 0 | 
 |  | #define SUPPORT_S98 | 
 |  | #define SUPPORT_KEYDISP | 
 |  | #define SUPPORT_SOFTKBD 0 | 
 |  | #endif | 
 |  |  | 
 |  | #if USE_SDL > 0 | 
 |  | #define USE_SYSMENU | 
 |  | #define SCREEN_BPP      16 | 
 |  | #undef  SUPPORT_8BPP | 
 |  | #undef  SUPPORT_24BPP | 
 |  | #undef  SUPPORT_32BPP | 
 |  | #endif | 
 |  |  | 
 |  | #if ((USE_SDL > 0) && !defined(NOSOUND)) || defined(USE_SDLAUDIO) | 
 |  | #define SUPPORT_JOYSTICK | 
 |  |  | 
 |  | #if ((USE_SDL > 0) && !defined(NOSOUND)) || defined(USE_SDLAUDIO) | 
 |  | #define USE_SDL_JOYSTICK | 
 |  | #else | 
 |  | #error  unknown joystick driver!!! | 
 |  | #endif | 
 |  |  | 
 |  | #endif | 
 |  |  | 
 | /* | /* | 
 | * You could specify a complete path, e.g. "/etc/timidity.cfg", and | * You could specify a complete path, e.g. "/etc/timidity.cfg", and | 
 | * then specify the library directory in the configuration file. | * then specify the library directory in the configuration file. | 
| Line 149  UINT32 gettick(); | Line 283  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" | 
 |  |  | 
 | #endif  /* NP2_X11_COMPILER_H__ */ | #endif  /* NP2_X11_COMPILER_H__ */ |