Coder Social home page Coder Social logo

ngage-toolchain's Introduction

N-Gage SDK.

ngage-toolchain

A toolchain for Symbian S60v1 devices such as the Nokia N-Gage.

In addition to a modern build system based on CMake, the toolchain also includes other modern libraries in the latest version, such as:

  • Simple DirectMedia Layer (SDL) 2.24.2
  • Lua 5.4.4
  • SDL2_gfx 1.0.6

What is this all about?

First of all, this is not a leak of the so far unreleased Nokia N-Gage SDK (which was ultimately just an extended Symbian SDK), but a comprehensive system that allows the original and freely available Symbian S60v1 SDK to be used with modern tools such as CMake and Visual Studio 2022.

This toolchain is the core of this project and provides the basis for all projects that build on it.

The problem

Developing apps for Symbian is unnecessarily complicated. That was no different 20 years ago than it is today and is certainly one of the main reasons why a homebrew scene never emerged for the Nokia N-Gage.

Until now, the easiest way to do this was to set up a virtual machine, install the SDK and a completely outdated version of Visual Studio. In addition, there was the proprietary build system, which required a Perl installation that could be installed along with it.

In a nutshell, Symbian development has never been a convenient thing.

The solution

CMake, because it provides a perfect foundation for automating complicated build procedures and is natively supported by many modern development environments such as Visual Studio.

Even though this project is still in its early stages, it is already possible to compile apps for the platform in a relatively uncomplicated manner. Overall, the toolchain has a modular design and can be extended by additional libraries as needed.

Where do I start?

Clone the toolchain:

git clone https://github.com/ngagesdk/ngage-toolchain.git

Create the environment variable $NGAGESDK and set it to the root-directory of the toolchain.
Important: Since normalizing paths with CMake does not seem to work properly, be sure to use slashes instead of backslashes, e.g. C:/ngage-toolchain.

Once you are done, open the setup directory in Visual Studio and wait until the CMake solution has finished generating. Then build the project so that the necessary dependencies are downloaded and installed.

Important

The GCC compiler for Symbian S60 is based on Cygwin. For it to work, its path %NGAGESDK%\sdk\sdk\6.1\Shared\EPOC32\gcc\bin should be included in your $PATH environment variable, otherwise it will not be able to find the file cygwin1.dll.

Licence and Credits

If you are interested in the Nokia N-Gage in general, you are cordially invited to visit our small online community. You can find us on Discord, Telegram and in #ngage on EFnet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.