Skip to content

Latest commit

 

History

History
72 lines (54 loc) · 4.12 KB

NotesUIQ2.md

File metadata and controls

72 lines (54 loc) · 4.12 KB

Porting 2048 Game to UIQ2 Platform

Vanilla Symbian UIQ2 SDK is tested and works on Windows 2000 SP4 with installed Visual C++ 6.0 SP6 IDE.

WSD (Writeable Static Data)

Symbian OS is designed to be able to run on read-only storage devices. Therefore, DLLs located in ROM cannot contain code that writes to the its data segment. Shared libraries in Symbian UIQ2 platform do not support WSD and mutable global variables so this is reason of a branch of a "2048" engine that doesn't use WSD. Additional information links:

  1. Apps:Symbian Platform Support for Writeable Static Data in DLLs
  2. No Writable Static Data in DLLs
  3. Workarounds to avoid writable static data
  4. Symbian OS guide => Essential idioms => Static data

Symbian UIQ2 Emulator/Simulator

Sometimes compiled applications don't appear in the main menu of the Symbian UIQ emulator/simulator. In this case, restarting the emulator to release epoc -urel and returning back to debug epoc -udeb helps to avoid problem.

C Standard Library

There is a small nuance in using C-language standard library on Symbian platform. When application finishes need to call the CloseSTDLIB() function declared in sys/reent.h include file. Otherwise, there may be problems with a periodic crash of the application on exit and memory leaks:

  1. Программирование под Symbian OS: начало
  2. GUI App: Porting an Engine for Use in a Symbian Application

Documentation

The documentation files that come with the Symbian UIQ2 SDK along with code examples are very useful for learning APIs and various techniques for creating Symbian UIQ2 applications.

  • C:\Symbian\UIQ_21\Documentation\uiq21.chm
  • C:\Symbian\UIQ_21\Starters Guide\Starter's Guide.chm

Task List

  1. Create installable SIS-packages (armi, arm4, thumb) for Symbian UIQ 2.0 (2.1) and test them on Motorola FOMA M1000.
  2. Create UIQ2-application skeleton.
  3. Create proper application icons.
  4. Create all documentation files and notes.
  5. Insert SIM-card and set correct time & date when need to take screenshots and photos.
  6. Add non-WSD (Writeable Static Data) version of engine.
  7. Create menus and implement them.
  8. Implement basic drawing.
  9. Use Double Buffering for drawing game context.
  10. Set proper font drawing.
  11. Create about dialog with icon.
  12. Add photo with Motorola A1000.
  13. Add photo with Motorola A925.
  14. Add photo with Motorola A920.
  15. Add photo with Sony Ericsson P910.
  16. Add photo with Sony Ericsson P900.
  17. Add photo with Sony Ericsson P800.
  18. Add photo with Nokia 6708.

Motorola FOMA M1000 key codes table

key code
Joy Up 0xF846
Joy Down 0xF847
Joy Left 0xF848
Joy Right 0xF849
Joy Center 0xF84A
Game A 0xF85C
Game B 0xF85D

Dead Links to Motorola SDKs and other files

  1. SDK_A1000_beta.zip
  2. A1000_SDK_Users_Guide.pdf
  3. M1000SDK_v1_0.zip
  4. M1000_SDK_Users_Guide.pdf
  5. A925SDK.zip