Diff for /np2/x11/np2.c between versions 1.16 and 1.27

version 1.16, 2004/05/22 16:35:08 version 1.27, 2007/01/23 15:48:20
Line 10 Line 10
  * 2. Redistributions in binary form must reproduce the above copyright   * 2. Redistributions in binary form must reproduce the above copyright
  *    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.
  * 3. The name of the author may not be used to endorse or promote products  
  *    derived from this software without specific prior written permission.  
  *   *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR   * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES   * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
Line 38 Line 36
 #include "toolwin.h"  #include "toolwin.h"
 #include "viewer.h"  #include "viewer.h"
 #include "debugwin.h"  #include "debugwin.h"
   #include "skbdwin.h"
   
 #include "commng.h"  #include "commng.h"
 #include "joymng.h"  #include "joymng.h"
Line 68  NP2OSCFG np2oscfg = { Line 67  NP2OSCFG np2oscfg = {
         0,                      /* F12KEY */          0,                      /* F12KEY */
   
         0,                      /* MOUSE_SW */          0,                      /* MOUSE_SW */
   
         0,                      /* JOYPAD1 */          0,                      /* JOYPAD1 */
         0,                      /* JOYPAD2 */          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_MIDI, 0, 0x3e, 19200, "", "", "", "" },       /* mpu */
         {          {
Line 86  NP2OSCFG np2oscfg = { Line 95  NP2OSCFG np2oscfg = {
         0,                      /* statsave */          0,                      /* statsave */
         0,                      /* toolwin */          0,                      /* toolwin */
         0,                      /* keydisp */          0,                      /* keydisp */
           0,                      /* softkbd */
         0,                      /* hostdrv_write */          0,                      /* hostdrv_write */
         0,                      /* jastsnd */          0,                      /* jastsnd */
         0,                      /* I286SAVE */          0,                      /* I286SAVE */
   
         SNDDRV_NODRV,           /* snddrv */          SNDDRV_SDL,             /* snddrv */
         "",                     /* audiodev */  
         { "", "" },             /* MIDIDEV */          { "", "" },             /* MIDIDEV */
         0,                      /* MIDIWAIT */          0,                      /* MIDIWAIT */
   
         MOUSE_RATIO_100,        /* mouse_move_ratio */          MOUSE_RATIO_100,        /* mouse_move_ratio */
   
 #if defined(USE_GTK)            /* toolkit */  
         "gtk",  
 #elif defined(USE_QT)  
         "qt",  
 #elif defined(USE_SDL)  
         "sdl",  
 #else  
         "unknown",  
 #endif  
   
         MMXFLAG_DISABLE,        /* disablemmx */          MMXFLAG_DISABLE,        /* disablemmx */
         FALSE,                  /* shared_pixmap */          INTERP_NEAREST,         /* drawinterp */
           0,                      /* F11KEY */
 };  };
   
 BOOL np2running = FALSE;  volatile sig_atomic_t np2running = 0;
 BYTE scrnmode = 0;  BYTE scrnmode = 0;
   
 UINT framecnt = 0;  UINT framecnt = 0;
Line 139  char fontfilename[MAX_PATH] = FONTNAME_D Line 139  char fontfilename[MAX_PATH] = FONTNAME_D
   
 char timidity_cfgfile_path[MAX_PATH];  char timidity_cfgfile_path[MAX_PATH];
   
 BOOL use_shared_pixmap;  int verbose = 0;
   
   
 UINT32  UINT32
Line 279  framereset(UINT cnt) Line 279  framereset(UINT cnt)
         framecnt = 0;          framecnt = 0;
         scrnmng_dispclock();          scrnmng_dispclock();
         kdispwin_draw((BYTE)cnt);          kdispwin_draw((BYTE)cnt);
           skbdwin_process();
           debugwin_process();
         toolwin_draw((BYTE)cnt);          toolwin_draw((BYTE)cnt);
         viewer_allreload(FALSE);          viewer_allreload(FALSE);
         debugwin_process();  
         if (np2oscfg.DISPCLK & 3) {          if (np2oscfg.DISPCLK & 3) {
                 if (sysmng_workclockrenewal()) {                  if (sysmng_workclockrenewal()) {
                         sysmng_updatecaption(3);                          sysmng_updatecaption(3);
Line 308  mainloop(void *p) Line 309  mainloop(void *p)
         UNUSED(p);          UNUSED(p);
   
         if (np2oscfg.NOWAIT) {          if (np2oscfg.NOWAIT) {
                 joy_flash();                  joymng_sync();
                 mousemng_callback();                  mousemng_callback();
                 pccore_exec(framecnt == 0);                  pccore_exec(framecnt == 0);
                 if (np2oscfg.DRAW_SKIP) {                  if (np2oscfg.DRAW_SKIP) {
Line 327  mainloop(void *p) Line 328  mainloop(void *p)
         } else if (np2oscfg.DRAW_SKIP) {          } else if (np2oscfg.DRAW_SKIP) {
                 /* frame skip */                  /* frame skip */
                 if (framecnt < np2oscfg.DRAW_SKIP) {                  if (framecnt < np2oscfg.DRAW_SKIP) {
                         joy_flash();                          joymng_sync();
                         mousemng_callback();                          mousemng_callback();
                         pccore_exec(framecnt == 0);                          pccore_exec(framecnt == 0);
                         framecnt++;                          framecnt++;
Line 338  mainloop(void *p) Line 339  mainloop(void *p)
                 /* auto skip */                  /* auto skip */
                 if (waitcnt == 0) {                  if (waitcnt == 0) {
                         UINT cnt;                          UINT cnt;
                         joy_flash();                          joymng_sync();
                         mousemng_callback();                          mousemng_callback();
                         pccore_exec(framecnt == 0);                          pccore_exec(framecnt == 0);
                         framecnt++;                          framecnt++;
Line 368  mainloop(void *p) Line 369  mainloop(void *p)
         return TRUE;          return TRUE;
 }  }
   
 #if defined(GCC_CPU_ARCH_IA32_COMPAT)  #if defined(GCC_CPU_ARCH_IA32)
 int mmxflag;  int mmxflag;
   
 int  int
Line 376  havemmx(void) Line 377  havemmx(void)
 {  {
         int rv;          int rv;
   
   #if defined(GCC_CPU_ARCH_AMD64)
           rv = 1;
   #else   /* !GCC_CPU_ARCH_AMD64 */
         asm volatile (          asm volatile (
                 "pushf;"                  "pushf;"
                 "popl   %%eax;"                  "popl   %%eax;"
Line 396  havemmx(void) Line 400  havemmx(void)
                 "andl   $0x00800000, %0;"                  "andl   $0x00800000, %0;"
         ".nocpuid:"          ".nocpuid:"
                 : "=a" (rv));                  : "=a" (rv));
   #endif /* GCC_CPU_ARCH_AMD64 */
         return rv;          return rv;
 }  }
 #endif /* GCC_CPU_ARCH_IA32_COMPAT */  
   #endif /* GCC_CPU_ARCH_IA32 */

Removed from v.1.16  
changed lines
  Added in v.1.27


RetroPC.NET-CVS <cvs@retropc.net>