FDS fixed for asm core
[fceu.git] / drivers / gp2x / main.c
index d2be777..4437dc6 100644 (file)
 
 #include "dface.h"
 
+// just for printing some iNES info for user..
+#include "../../fce.h"
+#include "../../ines.h"
+
 static int ntsccol=0,ntschue=-1,ntsctint=-1;
 int soundvol=70;
 int inited=0;
@@ -193,7 +197,7 @@ static void DoArgs(int argc, char *argv[])
 {
         static char *cortab[5]={"none","gamepad","zapper","powerpad","arkanoid"};
         static int cortabi[5]={SI_NONE,SI_GAMEPAD,
-                               SI_ZAPPER,SI_POWERPAD,SI_ARKANOID};
+                               SI_ZAPPER,SI_POWERPADA,SI_ARKANOID};
        static char *fccortab[5]={"none","arkanoid","shadow","4player","fkb"};
        static int fccortabi[5]={SIFC_NONE,SIFC_ARKANOID,SIFC_SHADOW,
                                 SIFC_4PLAYER,SIFC_FKB};
@@ -304,17 +308,23 @@ int CLImain(int argc, char *argv[])
        FCEUGI *tmp;
        int ret;
 
+        if(argc<=1)
+        {
+         ShowUsage(argv[0]);
+         return 1;
+        }
+
+        if(!DriverInitialize())
+        {
+        return 1;
+        }
+
        if(!(ret=FCEUI_Initialize()))
          return(1);
         GetBaseDirectory(BaseDirectory);
        FCEUI_SetBaseDirectory(BaseDirectory);
 
        CreateDirs();
-        if(argc<=1)
-        {
-         ShowUsage(argv[0]);
-         return 1;
-        }
         LoadConfig();
         DoArgs(argc-2,&argv[1]);
        if(cpalette)
@@ -329,12 +339,17 @@ int CLImain(int argc, char *argv[])
         }
        ParseGI(tmp);
        //RefreshThrottleFPS();
-        if(!DriverInitialize())
-        {
-         ret=0;
-         goto dk;
-        }
        InitOtherInput();
+
+       // additional print for gpfce
+       {
+        int MapperNo;
+        iNES_HEADER *head = iNESGetHead();
+         MapperNo = (head->ROM_type>>4);
+         MapperNo|=(head->ROM_type2&0xF0);
+        FCEU_DispMessage("%s, Mapper: %d%s%s", PAL?"PAL":"NTSC", MapperNo, (head->ROM_type&2)?", BB":"", (head->ROM_type&4)?", T":"");
+       }
+
        FCEUI_Emulate();
 
        dk:
@@ -373,13 +388,13 @@ static void DriverKill(void)
  inited=0;
 }
 
-void FCEUD_Update(uint8 *XBuf, int32 *Buffer, int Count)
+void FCEUD_Update(uint8 *xbuf, int16 *Buffer, int Count)
 {
  if(!Count && !NoWaiting && !(eoptions&EO_NOTHROTTLE))
   SpeedThrottle();
- BlitScreen(XBuf);
- if(Count)
-  WriteSound(Buffer,Count,NoWaiting);
+ BlitScreen(xbuf);
+ if(Count && !NoWaiting && !(eoptions&EO_NOTHROTTLE))
+  WriteSound(Buffer,Count);
  FCEUD_UpdateInput();
 }