Skip to content

My thoughts about Tizen

After the Meego was dumped by Nokia,  Intel and Samsung created an alliance to create new a Linux based mobile OS called Tizen. The Tizen is pretty close to the old WebOS with HTML5 application framework, and Linux kernel.  The Tizen SDK was published a while ago and it really doesn’t impress me at all.

The whole Tizen SDK seems pretty useless to me. I don’t need this heavy SDK, and all of it’s simulator and emulators to develop HTML5 apps. Regular browser and JavaScript debugger is enough for me. The only reason for me to use the HTML5 to is the portability. The app should run on every platform Android, iPhone, wp7, Meego etc, so I really don’t see any reason to use Tizen specific API’s, instead I would use Phonegap and build for multiple platforms instead of choosing only to build for Tizen.

I guess that the HTML5 is good enough to build simple 2D-games by drawing into canvas, and writing the game logic with JavaScript, but It’s not that good for serious applications. The biggest problem with HTML5 apps with jQuery Mobile is the performance. Even on Samsung Galaxy SII you won’t get 60fps scrolling with basic list elements. You can test this by yourself by loading the jQuery mobile demos page in your phone. After running the demos with few devices it seems that Apple engineers have optimized the webkit pretty well for the iPhone, but every other platform is just way too slow. Also the animations are pretty much useless on Android devices. Jittering happens all the time if you try to use the animations. I really hope that Intel and Samsung engineers are going to make huge optimization’s to the webkit, since otherwise the platform will be completely too slow, and unusable.

I would like to have SDL and Qt frameworks as part of the Tizen to develop native apps. The Tizen is Linux based after all, so porting existing games and apps would be easy if SDL and Qt would be a part of the current platform. However I still have some hopes for Tizen, since it seems to me that any community member could port SDL or Qt to Tizen with the platform SDK, and add it into some repository for everyone’s benefit.

How did my native code experiment go with wp7

I have been pretty much spending all my free time during the winter for snowboarding and ice climbing. Now that the winter is nearly over at northern Europe, I got some time to come back to my hacking hobby. This is also to remind me how did my wp7 experiments go, if I want to come back to this stuff at some point.

Native code

At January I got the native snes9x library build and I was even able to call it from the managed code side. The native code usage has been well documented by XDA developer Heathcliff74 http://forum.xda-developers.com/showthread.php?t=1299134

What was strange that on January I didn’t need the ID_CAP_INTEROPSERVICES capability to my application, it worked anyway. I guess that Nokia had some bugs in their first Mango firmware to allow native code without proper capabilities. Yesterday I got back with the code, and I noticed that I can not run the code anymore without the capability.

Callbacks from the native code to the managed code

My biggest problem back then was that I could call LoadROM function from the managed code side, but I didn’t have any tools to debug what went wrong in the native side, so I couldn’t figure out what went wrong after calling the loadROM. My first idea was to set up debug callbacks into the managed code side that I could still call from the native side like

void DEBUG(string debugMessage){
console.debug(debugMessage)
}

But I newer found a way to a way how to do this. So I’m really stuck with this one without any plans to continue. I might get back to this if someone finds some ways of making the callbacks, or debugging the native code.

InteropUnlock

Currently Nokia devs can hack their Lumias, to get full control, and the InteropUnlock is available, if you like to continue native development. Thanks to XDA-developer suzughia http://forum.xda-developers.com/showthread.php?t=1599401

Continue reading ‘How did my native code experiment go with wp7’ »

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’ »