|
|
| version 1.42, 2011/01/15 18:43:13 | version 1.47, 2012/01/23 09:51:48 |
|---|---|
| Line 1 | Line 1 |
| /*- | /*- |
| * 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 11 | 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 68 | 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 139 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 |
| #define FASTCALL | #ifndef NELEMENTS |
| #define SOUNDCALL | #define NELEMENTS(a) ((int)(sizeof(a) / sizeof(a[0]))) |
| #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 176 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() |
| Line 195 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 204 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 217 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 |