--- np2/x11/np2.c 2003/12/19 16:08:01 1.8 +++ np2/x11/np2.c 2004/07/26 15:53:26 1.22 @@ -31,13 +31,14 @@ #include "pccore.h" #include "dosio.h" #include "scrndraw.h" -#include "statsave.h" #include "timing.h" #include "toolkit.h" #include "kdispwin.h" #include "toolwin.h" #include "viewer.h" +#include "debugwin.h" +#include "skbdwin.h" #include "commng.h" #include "joymng.h" @@ -60,7 +61,7 @@ NP2OSCFG np2oscfg = { 0, /* paddingy */ 0, /* NOWAIT */ - 2, /* DRAW_SKIP */ + 0, /* DRAW_SKIP */ 0, /* DISPCLK */ @@ -68,11 +69,26 @@ NP2OSCFG np2oscfg = { 0, /* F12KEY */ 0, /* MOUSE_SW */ + 0, /* JOYPAD1 */ 0, /* JOYPAD2 */ - { 0, 0, 0, 0 }, /* JOY1BTN */ + { 1, 2, 5, 6 }, /* JOY1BTN */ + { + { 0, 1 }, /* JOYAXISMAP[0] */ + { 0, 1 }, /* JOYAXISMAP[1] */ + }, + { + { 0, 1, 0xff, 0xff }, /* JOYBTNMAP[0] */ + { 0, 1, 0xff, 0xff }, /* JOYBTNMAP[1] */ + }, + { "", "" }, /* JOYDEV */ { COMPORT_MIDI, 0, 0x3e, 19200, "", "", "", "" }, /* mpu */ + { + { COMPORT_NONE, 0, 0x3e, 19200, "", "", "", "" },/* com1 */ + { COMPORT_NONE, 0, 0x3e, 19200, "", "", "", "" },/* com2 */ + { COMPORT_NONE, 0, 0x3e, 19200, "", "", "", "" },/* com3 */ + }, 0, /* confirm */ @@ -81,7 +97,9 @@ NP2OSCFG np2oscfg = { 0, /* statsave */ 0, /* toolwin */ 0, /* keydisp */ + 0, /* softkbd */ 0, /* hostdrv_write */ + 0, /* jastsnd */ 0, /* I286SAVE */ SNDDRV_NODRV, /* snddrv */ @@ -105,7 +123,7 @@ NP2OSCFG np2oscfg = { FALSE, /* shared_pixmap */ }; -BOOL np2running = FALSE; +volatile BOOL np2running = FALSE; BYTE scrnmode = 0; UINT framecnt = 0; @@ -126,9 +144,14 @@ char statpath[MAX_PATH]; #endif char fontname[1024] = FONTFACE; +#ifndef FONTNAME_DEFAULT +#define FONTNAME_DEFAULT "./default.ttf" +#endif +char fontfilename[MAX_PATH] = FONTNAME_DEFAULT; + char timidity_cfgfile_path[MAX_PATH]; -BOOL use_shared_pixmap; +BOOL use_shared_pixmap = FALSE; UINT32 @@ -196,10 +219,10 @@ flagload(const char* ext, const char* ti getstatfilename(path, ext, sizeof(path)); ret = statsave_check(path, buf, sizeof(buf)); - if (ret & (~NP2FLAG_DISKCHG)) { + if (ret & (~STATFLAG_DISKCHG)) { fprintf(stderr, "Couldn't restart\n"); rv = 1; - } else if ((!force) && (ret & NP2FLAG_DISKCHG)) { + } else if ((!force) && (ret & STATFLAG_DISKCHG)) { fprintf(stderr, "Conflict\n"); rv = 1; } @@ -268,6 +291,8 @@ framereset(UINT cnt) framecnt = 0; scrnmng_dispclock(); kdispwin_draw((BYTE)cnt); + skbdwin_process(); + debugwin_process(); toolwin_draw((BYTE)cnt); viewer_allreload(FALSE); if (np2oscfg.DISPCLK & 3) { @@ -296,7 +321,7 @@ mainloop(void *p) UNUSED(p); if (np2oscfg.NOWAIT) { - joy_flash(); + joymng_sync(); mousemng_callback(); pccore_exec(framecnt == 0); if (np2oscfg.DRAW_SKIP) { @@ -315,7 +340,7 @@ mainloop(void *p) } else if (np2oscfg.DRAW_SKIP) { /* frame skip */ if (framecnt < np2oscfg.DRAW_SKIP) { - joy_flash(); + joymng_sync(); mousemng_callback(); pccore_exec(framecnt == 0); framecnt++; @@ -326,7 +351,7 @@ mainloop(void *p) /* auto skip */ if (waitcnt == 0) { UINT cnt; - joy_flash(); + joymng_sync(); mousemng_callback(); pccore_exec(framecnt == 0); framecnt++; @@ -356,7 +381,7 @@ mainloop(void *p) return TRUE; } -#if defined(__GNUC__) && (defined(i386) || defined(__i386__)) +#if defined(GCC_CPU_ARCH_IA32) int mmxflag; int @@ -364,6 +389,9 @@ havemmx(void) { int rv; +#if defined(GCC_CPU_ARCH_AMD64) + rv = 1; +#else /* !GCC_CPU_ARCH_AMD64 */ asm volatile ( "pushf;" "popl %%eax;" @@ -384,7 +412,8 @@ havemmx(void) "andl $0x00800000, %0;" ".nocpuid:" : "=a" (rv)); - +#endif /* GCC_CPU_ARCH_AMD64 */ return rv; } -#endif + +#endif /* GCC_CPU_ARCH_IA32 */