--- np2/x11/compiler.h 2004/02/06 16:51:21 1.13 +++ np2/x11/compiler.h 2004/07/02 14:53:08 1.22 @@ -1,3 +1,31 @@ +/* $Id: compiler.h,v 1.22 2004/07/02 14:53:08 monaka Exp $ */ + +/*- + * 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__ #define NP2_X11_COMPILER_H__ @@ -14,26 +42,15 @@ #if !defined(USE_NETBSDAUDIO) && !defined(USE_OSSAUDIO) && !defined(USE_ESDAUDIO) && !defined(USE_SDLAUDIO) && !defined(USE_SDLMIXER) #ifndef NOSOUND #define NOSOUND +#undef VERMOUTH_LIB #endif /* !NOSOUND */ #else /* USE_NETBSDAUDIO || USE_OSSAUDIO || USE_ESDAUDIO || USE_SDLAUDIO || USE_SDLMIXER */ #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 - #define VERMOUTH_LIB -#undef SOUND_CRITICAL -#define SOUNDRESERVE 100 - -#endif /* NOSOUND */ +#if defined(USE_NETBSDAUDIO) || defined(USE_OSSAUDIO) || defined(USE_ESDAUDIO) +#include +#endif /* USE_NETBSDAUDIO || USE_OSSAUDIO || USE_ESDAUDIO */ +#endif /* !USE_NETBSDAUDIO && !USE_OSSAUDIO && !USE_ESDAUDIO && !USE_SDLAUDIO && !USE_SDMIXER */ #include #include @@ -134,6 +151,27 @@ typedef int BOOL; #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 #define NELEMENTS(a) ((int)(sizeof(a) / sizeof(a[0]))) #endif @@ -146,23 +184,33 @@ UINT32 gettick(); #if defined(CPUCORE_IA32) void toolkit_msgbox(const char *title, const char *msg); #define msgbox(title, msg) toolkit_msgbox(title, msg); + +#define SUPPORT_PC9821 +#define SUPPORT_CRT31KHZ +#else +#define SUPPORT_CRT15KHZ #endif -#if defined(i386) || defined(__i386__) +#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 #endif #define SUPPORT_EUC +#define SUPPORT_SJIS #undef SUPPORT_8BPP #define SUPPORT_16BPP @@ -170,19 +218,26 @@ void toolkit_msgbox(const char *title, c #define SUPPORT_32BPP #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 #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