Skip to content
Archive of entries posted on July 2011

AntSnes 0.8.6 for Meego

The fist working AntSnes build for Meego is ready and it’s running on my N950. AtnSnes is Snes emulator for Meego. It is actually based on DrPocketSNES version 6.4.4, which in turn is based on snes9x 1.39

I’ll add this to the public meego repository when I have some more time (build.pub.meego.com). In the mean while you can download it from here.

Continue reading ‘AntSnes 0.8.6 for Meego’ »

Disabling Swipe from a Fullscreen Game

The swipe is really annoying feature in fullscreen gaming (antsnes for example). Instead of controlling the game you might end up swiping the game into the background, which is not cool. Luckily the swipe can be disabled quite easily from QWidget based classes.

Here’s how you can disable the swipe:

void disableSwipe()
{
    QWidget * activeWindow = QApplication::activeWindow();
    Display *dpy = QX11Info::display();
    Atom atom;

    unsigned int customRegion[4];
    customRegion[0] = 0;
    customRegion[1] = 0;
    customRegion[2] = 854;
    customRegion[3] = 480;

    atom = XInternAtom(dpy, "_MEEGOTOUCH_CUSTOM_REGION", False);
    XChangeProperty(dpy, activeWindow->effectiveWinId(),
            atom, XA_CARDINAL, 32, PropModeReplace,
            reinterpret_cast(&customRegion[0]), 4);
}

And here’s an example of enabling it:

void enableSwipe()
{
    QWidget * activeWindow = QApplication::activeWindow();
    Display *dpy = QX11Info::display();
    Atom atom;

    atom = XInternAtom(dpy, "_MEEGOTOUCH_CUSTOM_REGION", False);
    if(XDeleteProperty(dpy, activeWindow->effectiveWinId(), atom) < 0){
      qWarning("XDeleteProperty for _MEEGOTOUCH_CUSTOM_REGION returns <0");
      }
}

Compiling with QtSDK, Madde and MinGW Makefiles

I received N950 from Nokia this monday, and I started porting the antsnes to Meego right away.

I decided to compile my emulators for Meego in the same way as I did for Symbian. I’m creating a static lib from the emulator core, and then I’m linking into that static lib from my UI code. The idea in here is that, I can make all kinds of special tricks when compiling the emulator core, and then use the standard Qt’s pro-file to compile the UI part. To accomplis this, I made a similar MinGW makefile for Madde, as I used with Symbian.

INSTALLATION

Here are the instructions to use this environment.

  1. Install MSYS
  2. Set environment variable MADDE_PATH to point into your Madde installation. It should point into it in msys format, for example /e/QtSDK/Madde

BUILDING WITH THE MAKEFILE

You’ll need two files: Makefile and config.mk inmyapp/gms path. You should also make folders myapp/gms/dist/gcce andmyapp/gms/obj/gcce .

After all these done, you could change your working directory into the build home by “cd /c/myapp/gms“. Then use the following commands to build.

  • make debug” will do the debug build,
  • “make release” will do the release build
  • “make clean” will do the clean

Playing NES ROMs with gpSP

Playing NES ROMs with gpSP

You can play some NES games with gpsp with the help of the PocketNES. You can convert the NES ROMs into GBA ROMs with following process.

  1. Download the PocketNes MenuMaker and PocketNES.gba files into your pc.
  2. Set the PocketNES.GBA file in the MenuMaker settings
  3. use the MenuMaker to pach a NES ROM into GBA ROM.

I tested this only with few games, and I know that it works at least on some level with some ROMs. No guarantees ;-)

Please do not add NES games to the gpsp compatibility list. It’s primary a GBA emulator after all.

Patching ROMs for gpSP

Patching unworking ROMs for gpSP

You can get at least Super Mario Advance 4 and  Mario and Luigi Superstar Saga (crashes often if you don’t mute the sound) are working with  EZ4 GBA ROM Patcher utility. Change  Flash_type and 64kb rom size. You can download the EZ4 tool from http://www.ezflash.cn/software.htm#ez4

I’m pretty sure that the rom patcher utility can help you with some other ROMs too.

You can also update the gpSP compatiblity lists with the games that work with these patch and make a comment about the patch with the patcher utility

You can find the gpSP compatibility lists at gpSP wiki page:

https://github.com/Summeli/gpSP4Cute/wiki