|
|
| version 1.37, 2008/03/18 15:45:05 | version 1.47, 2012/01/23 09:51:48 |
|---|---|
| Line 1 | Line 1 |
| /* $Id$ */ | |
| /*- | /*- |
| * Copyright (c) 2003, 2004 NONAKA Kimihiro | * Copyright (C) 2003, 2004 NONAKA Kimihiro <nonakap@gmail.com> |
| * All rights reserved. | * All rights reserved. |
| * | * |
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without |
| Line 13 | Line 11 |
| * notice, this list of conditions and the following disclaimer in the | * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. | * documentation and/or other materials provided with the distribution. |
| * | * |
| * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
| * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
| * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
| * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| * SUCH DAMAGE. | |
| */ | */ |
| #ifndef NP2_X11_COMPILER_H__ | #ifndef NP2_X11_COMPILER_H__ |
| Line 33 | Line 30 |
| #include "config.h" | #include "config.h" |
| #endif | #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 */ |
| Line 51 | Line 67 |
| #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 <errno.h> |
| #include <fcntl.h> | #include <fcntl.h> |
| Line 89 typedef gboolean BOOL; | Line 106 typedef gboolean BOOL; |
| #define PTR_TO_UINT32(p) ((UINT32)GPOINTER_TO_UINT(p)) | #define PTR_TO_UINT32(p) ((UINT32)GPOINTER_TO_UINT(p)) |
| #define UINT32_TO_PTR(v) GUINT_TO_POINTER((UINT32)(v)) | #define UINT32_TO_PTR(v) GUINT_TO_POINTER((UINT32)(v)) |
| #ifndef TRUE | |
| #define TRUE 1 | |
| #endif | |
| #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 122 typedef gboolean BOOL; | Line 139 typedef gboolean BOOL; |
| #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) | #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) |
| #endif | #endif |
| #ifndef UNUSED | #ifndef NELEMENTS |
| #define UNUSED(v) ((void)(v)) | #define NELEMENTS(a) ((int)(sizeof(a) / sizeof(a[0]))) |
| #endif | |
| #define FASTCALL | |
| #define SOUNDCALL | |
| #define MEMCALL | |
| #define CPUCALL | |
| #ifdef DEBUG | |
| #define INLINE | |
| #define __ASSERT(s) assert(s) | |
| #else | |
| #ifndef __ASSERT | |
| #define __ASSERT(s) | |
| #endif | |
| #ifndef INLINE | |
| #define INLINE inline | |
| #endif | |
| #endif | #endif |
| /* archtecture */ | /* archtecture */ |
| Line 163 typedef gboolean BOOL; | Line 163 typedef gboolean BOOL; |
| #endif | #endif |
| #endif /* __GNUC__ */ | #endif /* __GNUC__ */ |
| #ifndef NELEMENTS | |
| #define NELEMENTS(a) ((int)(sizeof(a) / sizeof(a[0]))) | |
| #endif | |
| UINT32 gettick(void); | 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 STRLEN strlen |
| #define OEMCHAR char | #define OEMCHAR gchar |
| #define OEMTEXT(s) s | #define OEMTEXT(s) s |
| #define OEMNULLSTR OEMTEXT("") | #define OEMNULLSTR OEMTEXT("") |
| #define OEMSPRINTF sprintf | #define OEMSPRINTF sprintf |
| Line 182 UINT32 gettick(void); | Line 178 UINT32 gettick(void); |
| #if defined(CPUCORE_IA32) | #if defined(CPUCORE_IA32) |
| #define msgbox(title, msg) toolkit_messagebox(title, msg); | #define msgbox(title, msg) toolkit_messagebox(title, msg); |
| #if !defined(DISABLE_PC9821) | |
| #define SUPPORT_PC9821 | #define SUPPORT_PC9821 |
| #define SUPPORT_CRT31KHZ | #define SUPPORT_CRT31KHZ |
| #endif | |
| #define SUPPORT_IDEIO | #define SUPPORT_IDEIO |
| #else | #else |
| #define SUPPORT_CRT15KHZ | #define SUPPORT_CRT15KHZ |
| Line 191 UINT32 gettick(void); | Line 189 UINT32 gettick(void); |
| #if defined(NP2_CPU_ARCH_IA32) | #if defined(NP2_CPU_ARCH_IA32) |
| #undef MEMOPTIMIZE | #undef MEMOPTIMIZE |
| #define LOADINTELDWORD(a) (*((UINT32 *)(a))) | #define LOADINTELDWORD(a) (*((const UINT32 *)(a))) |
| #define LOADINTELWORD(a) (*((UINT16 *)(a))) | #define LOADINTELWORD(a) (*((const UINT16 *)(a))) |
| #define STOREINTELDWORD(a, b) *(UINT32 *)(a) = (b) | #define STOREINTELDWORD(a, b) *(UINT32 *)(a) = (b) |
| #define STOREINTELWORD(a, b) *(UINT16 *)(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 REG8 UINT |
| Line 204 UINT32 gettick(void); | Line 205 UINT32 gettick(void); |
| #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 |
| #undef SUPPORT_8BPP | #undef SUPPORT_8BPP |
| Line 228 UINT32 gettick(void); | Line 254 UINT32 gettick(void); |
| #define SUPPORT_KEYDISP | #define SUPPORT_KEYDISP |
| #define SUPPORT_SOFTKBD 0 | #define SUPPORT_SOFTKBD 0 |
| #define SUPPORT_SCREENSIZE | |
| #if defined(USE_SDLAUDIO) || defined(USE_SDLMIXER) | #if defined(USE_SDLAUDIO) || defined(USE_SDLMIXER) |
| #define SUPPORT_JOYSTICK | #define SUPPORT_JOYSTICK |
| #define USE_SDL_JOYSTICK | #define USE_SDL_JOYSTICK |