Skip to content

Compiling with Microsoft’s ARM compiler for Windows Mobile with Visual Studio

I have played with Visual Studio 2008 and Microsoft Mobile SDK to build some native code for windows phone. This is pretty much a LOG for myself, since I tend to forget things. Currently I have the Snes9x sources compiled inside a native COM DLL, which I can use from the managed wp7 code. Don’t get too excited since that code probably don’t work at all (yet), but it’s a nice start, and I like to learn how to use new tools by using them.

I started by building the snes9x sources as a one static library, and including that library from a COM DLL, which will define the interface the to managed code. It’s a nice way to build an app, since I can easily separate the COM communication interface and the snes9x code.

The Environment

You can not actually build a native library with Windows Phone SDK, but it seems that you can build a COM DLL with Windows Mobile SDK, and use that from the managed code. This is totally unsupported “feature”,  so everything might not work as you expect ;-)

First you must install Visual Studio 2008 and Windows Mobile SDK. You can get more details of the native environment from Heathcliff74 XDA-developers post

I installed the good old Windows XP inside a virtual box, and then I installed

  1. Visual Studio 2008 with latest service pack and hotfixes.
  2. Windows Mobile 6 Professional SDK Refresh.
After everything has been installed we can start the development by creating a new static library.

Creating a static library

To create a static library you should create a new project (file/new project). Choose Visual c++ / Smart Device / Win32 Smart Device Project. Then choose Application settings, and choose application type, and use “static library”

Continue reading ‘Compiling with Microsoft’s ARM compiler for Windows Mobile with Visual Studio’ »

Lumia 800 is in da house

After feb11 when Nokia killed both Symbian and Meego I have been thinking what should be my next platform. I have been casual Android user, and I have to admit that I don’t like it much, plus it already has all of my favorite emulators ported into it, so I couldn’t figure out anything that I would want to develop for it( it kind of already has everything already).

Today I got the Lumia 800 from nokia launchpad, and I have to admit that I really like the device a lot. All the basic apps are scrolling at 60fps, and I can acess facebook and twitter really well. However it does not yet have any cool app, sucs as emulator on it (yet), so it’s an interesting platform.

In spec vise the Lumia seems also pretty nice device. It has Qualcom’s MSM8255 -SOC, which contains  1,4 Ghz AMR Cortex A-8 processor and Adreno 205 GPU, which is plenty for games and emulators.

my new Lumia 800

Emulators on wp7

The problem is that currently the wp7 doesn’t support native code for 3rd parties, so you’re stuck with the C#. Luckily there’s also some progress even on that area, as we can see on the XDA-developers forum: http://forum.xda-developers.com/showthread.php?t=1299134 You’re also going to have to jailbreak you phone with some jaibreak. The most recent jailbreak project is WindowBreak http://windowsphonehacker.com/articles/the_windowbreak_project-12-23-11

What’s next

I’ll also start hacking with the wp7, and see what I can do with it :-)

gpSP 0.7.1 for Symbian Belle

the gpSP is a gameboy advance emulator originally written by Exophase. And now it’s ported to the Symbian OS!

This version supports only Symbian^3 phones with Symbian Belle update installed (N8, E7 etc.). The old Symbian Anna users should still use the older gpSP 0.7.  The S60 5th edition users should use the gpsp 0.6.5 for S60 5th edition

What’s new:

  • Support for Symbian Belle


Controls:

  • You can choose between 8-directional and 4-directional DPads.
  • You can add hidden A+B button areas, to press both of them at once.

gpsp: the red dots indicates the hidden A+B areas

Continue reading ‘gpSP 0.7.1 for Symbian Belle’ »

AntSnes 0.8.7 for Symbian Belle

AtnSnes is Snes9x emulator for Symbian. It is actually based on DrPocketSNES version 6.4.4, which in turn is based on snes9x 1.39

The new AntSnes comes with multitouch and with new transparent keys. You’ll need a Symbian^3 based phone with Symbian Belle update to run this (N8, C7, E7 etc..). The Symbian Anna users should still stick up with the older AntSnes 0.8.6 The old S60 5th edition is not supported by this version anymore. S60 5th edition users should use AntSnesQt 0.7

What’s new

  • Symbian Belle support

Known issues:

  • Mounted shares(Dropbox etc.) breaks the filemanger, so do not use mounted shares.

Installation:
Just download and install.

Continue reading ‘AntSnes 0.8.7 for Symbian Belle’ »

QGLWidget in Symbian Belle(leaked version)

Warning: This post is made only with leaked Symbian Belle. The official Nokia release might not have the problem described in this post.

Here’s the problem:  I implemented the blit in QGLWidget’s paintEvent(QPaintEvent *) method. The idea was that the Qt would be using OpenGL ES for the blit, when I’m using the QGLWidget.

Currently I’m only using the QPainter for the actual blit. Like this:

QPainter painter;
painter.begin(this);
//.... do the painting
painter.end();

However the method above seems to be failing in the Symbian Belle (only a black screen is shown), so the QGLWidget is clearly not working as well as it was in the Symbian Anna.

Solution: I just converted the QGLWidget into a normal QWidget, and everything seems to be working. At least with the leaked Symbian Belle I can not see any significant difference in the fps compared to what it was with Symbian Anna and QGLWidget, so I’ll just leave it like this.

I don’t know if the official Belle release will contain this bug or not. If the bug still exists, then I can make an error report to the Qt’s JIRA.