SDL for S60 3rd, 5th edition and Symbian (Symbian^3)

Symbian SDL

Symbian SDL is a Simple DirectMedia Layer adaptation for Symbian. SDL is a cross-platform multimedia library: Applications and libraries built on SDL can easily be ported to other operating systems. But Symbian SDL does more than makes porting easy: Native multimedia applications can be implemented without any knowledge of Symbian C++ native API and a developer can use SDL and standard C, C++ interfaces. The SDL development supports both Nokia OpenC and Symbian stdlib (ESTLIB) C implementations.

With Symbian SDL it is possible to port applications to Symbian without a single code change. However when do porting from other platforms, Symbian SDL has a special API that makes integration to mobile platform easier. Symbian devices usually has a small screen and limited input posibilities and CSDL interface helps to do adaptation without changes to the original code base. However I want to address that CSDL interface is not needed when application desing is considered to support multiplatform. SInvanders is a space invanders game that in theory works on any platform that has SDL implemented (in theory as I have not tested it with all dozen adaptations).

The Symbian SDL supports OpenGL ES development. Its possible to create SDL Surface for OpenGL ES content and manage that with SDL's platform independent OpenGL API. In Symbian devices that dont have hardware accelerated OpenGL, a software rendered is used automatically.

C/C++ programming for Symbian devices without Symbian APIs!


Symbian SDL documentation:S60SDL_2.4.4.pdf (08/02/11)

For latest SDL sources, please visit SDL site.

2.4.4 is for works with Symbian (a.k.a. Symbian^3), 5th ed and 3rd FP2. Could be buildable with older versions as well.
The installing is very easy:

  1. Get SDL sources from (see above)
  2. Extract those and this zip (below) into (Symbian) SDK folder
  3. Go S60_SDL_Install folder and run install.bat
  4. say yes to configure, and wait when all binaries are built up
  5. then get or compose a C/C++ app using SDL
  6. create a bld.inf and mmp file for sbs toolchain
  7. compose reg file for icon and sdl_param.txt for parameters
  8. and create a pkg file for package
Symbian SDL at Sourceforge.

Latest Changes:

  1. HWA support for N8 (et. al.) - see below, for performance
  2. Support for HW Screen Surfaces for performance
  3. Misc bug fixes

The Sourceforge release includes sources and SDL binaries and a plugin for using Symbian^3 device HW accelators, note that it requires application is using sdlexe.lib.

Extra candy for N8 and other touch screen phone owners: rain(1.1).sisx is a small SDL example application. The first number is FPS, second is persentage consumed calculating the effect (hint: touch the screen), second is persentage used for blitting. Source codes are available among SDL sources. SDL or C2Doom has to be installed.(08/02/11).

Old version of S60 SDL Sources

Download and extract SDL 1.2.13 to root of development drive. (Its assumed that S60 SDK is installed into its own drive e.g use subst command). Then extract source zip file which creates S60_SDL_install folder, and goto there and run install.bat.

Old version S60 SDL source (01/04/09).



Projects that are using S60 SDL

Is your project missing from the list? Please let me know and I add it there!