Getting started: for developers

OpenZDK makes it possible to build truly powerful applications for the Zune. However, with OpenZDK comes a major shift from C# and XNA to native C++. Moreover, developing 3D programs for the Zune HD requires programming in OpenGL ES 2.0, an industry-standard 3D graphics API that is as complicated as it is powerful.

Installing the toolchain

The procedure to get started with OpenZDK can be summed up with three simple steps:

  1. Install the prerequisites
  2. Get coding!

Writing applications with OpenZDK

Programming against OpenZDK is dramatically different from coding with XNA. Until the development community gains momentum, no easy libraries exist that allow you to make a game with just a few lines of code. However if you have experience programming in C and C++, you may find it easier in its own respect. We strongly suggest looking at the index of samples to get an idea as to how programming for OpenZDK works.

Debugging applications built with OpenZDK

OpenZDK applications can be debugged in the same manner as Windows and XNA applications via a newly released network debugging client. Note that OpenZDK debugging is currently available only for the Zune HD and requires access to a wireless network compatible with the Zune HD firmware.

Documentation

Documentation for the OpenGL ES 2.0 3D API provided by the NVIDIA Tegra drivers can be found at the Khronos website. A good source of information on OpenGL ES 2.0 can be found in Addison Wesley's OpenGL ES 2.0 Programming Guide. Example programs can be found on that website; however, they must be modified to run on the Zune HD.

For general C++ documentation see cplusplus.com. Thanks to its popularity, documentation for C++ is widely available on the internet. For information on Windows CE 5.0, on which Zune models prior to the HD are based, see the Microsoft Developer Network and various other sites. Information on CE 6.0, which forms the foundation of the Zune HD, is also available on MSDN. The Windows CE API is closely modeled after the more prevalent Win32 API, so information on Win32 can often be adapted to the Zune.

OpenZDK specific documentation will be located on this website. At this time, the header files that come with OpenZDK are the best source for information on functions specific to the Zune. Also see the index of samples for examples of programs built on top of OpenZDK. A list of common Zune specific functionality can be found on the coding page. Documentation for the OpenZDK API can be found at the API page. The API page is currently under development.

Find answers to existing questions

There are two main places to search for past issues: the Development Help section on ZuneBoards, and the common issues section of the Dev Wiki. If you can't find the answer you were looking for, you can post a thread at ZuneBoards or visit #zbdf on freenode.

What to do when you find your answer

You found what you were looking for - congratulations! In order to make it easier for the next person who runs into the same question, please make sure to spread the word. Either make a thread at ZuneBoards or add an entry to our common issues page.

Contributing to OpenZDK

Developers! Developers! Developers! We need developers! If you have the interest in OpenZDK, we have a way you can help. Our top priority at the moment is programs built with OpenZDK. If you are looking for a more challenging project and have skills in ARM assembly language, we can use help deciphering the function export signatures of the myriad DLLs specific to the Zune. To get more information, check out our contribute page or jump on #zbdf on freenode to learn more.

 
getting_started/developer/start.txt · Last modified: 2010-05-28 01:32 by itsnotabigtruck
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki