Zeebo Developer Guide Gaming for the Next Billion
Total Page:16
File Type:pdf, Size:1020Kb
Zeebo Developer Guide Gaming for the next billion An in‐depth guide for the Zeebo wireless gaming platform Zeebo Developer Guide Zeebo Inc. Confidential and Proprietary Restricted Distribution: Not to be used, copied, reproduced in whole or in part, nor its contents revealed in any manner to others without the express written permission of Zeebo Inc. Zeebo Inc reserves the right to make changes to the product(s) or information contained herein without notice. No liability is assumed for any damages arising directly or indirectly by their use or application. The information provided in this document is provided on an “as is” basis. This document contains Zeebo Inc confidential and proprietary information and must be shredded when discarded. Zeebo is a registered trademark and registered service mark of Zeebo Inc. Other product and brand names may be trademarks or registered trademarks of their respective owners. CDMA2000 and GSM are registered certification mark of the Telecommunications Industry Association, used under license. ARM is a registered trademark of ARM Limited. Adreno, QXEngine, QXProfiler, BREW are registered trademarks of QUALCOMM Incorporated in the United States and other countries. 2 Zeebo Confidential and Proprietary Zeebo Developer Guide Contents 1 Introduction .................................................................................................................6 1.1 Purpose.............................................................................................................................. 6 1.2 Scope ................................................................................................................................. 6 1.3 Conventions ...................................................................................................................... 6 1.4 Revision history ................................................................................................................ 6 1.5 References......................................................................................................................... 7 1.6 Technical assistance ........................................................................................................ 7 1.7 Acronyms .......................................................................................................................... 7 2 Zeebo Overview...........................................................................................................8 2.1 Zeebo Technical Specifications ...................................................................................... 8 2.2 User Interface .................................................................................................................. 10 2.2.1 User Interface Navigation .......................................................................................... 10 2.3 Game File Size................................................................................................................. 12 2.3.1 Low Price Category.................................................................................................... 12 2.3.2 Standard Price Category............................................................................................ 12 2.3.3 Premium Pricing Category ......................................................................................... 13 2.4 Tools ................................................................................................................................ 13 2.4.1 QXEngine................................................................................................................... 13 2.4.2 Adreno Profiler ........................................................................................................... 13 3 Zeebo System Architecture......................................................................................15 3.1 Hardware Architecture ................................................................................................... 15 3.1.1 Memory Interface ....................................................................................................... 16 3.1.2 Rendering Flow.......................................................................................................... 17 3.1.3 Binning ....................................................................................................................... 18 3.1.4 Ring Buffer ................................................................................................................. 19 3.1.5 Power Management................................................................................................... 19 3.1.6 Display Support.......................................................................................................... 20 3.2 Software Architecture..................................................................................................... 20 3.2.1 3D Graphics Architecture........................................................................................... 20 3.2.2 Fixed-point Math Support........................................................................................... 21 4 Operating Systems Overview ..................................................................................24 4.1 Creating and releasing BREW object instances .......................................................... 24 4.2 Event Handling................................................................................................................ 24 4.3 Cross Platform Programming........................................................................................ 25 4.4 Timers .............................................................................................................................. 26 4.5 Multitasking ..................................................................................................................... 27 4.6 Debugging ....................................................................................................................... 27 5 Basic Memory Management.....................................................................................29 5.1 File System, Heap and Stack Sizes ............................................................................... 29 5.2 Memory Alignment Issues on ARM Processors .......................................................... 29 5.2.1 Symptoms .................................................................................................................. 30 5.2.2 Common Causes ....................................................................................................... 30 3 Zeebo Confidential and Proprietary Zeebo Developer Guide 5.2.3 Recommended Solutions........................................................................................... 31 5.2.4 Testing With the BREW Simulator ............................................................................. 33 6 Input/Output...............................................................................................................34 6.1 Understanding the Zeebo Gamepads ........................................................................... 34 6.2 IHID Overview.................................................................................................................. 34 6.2.1 Using ISignal.............................................................................................................. 34 6.2.2 Using IHID to determine which devices are attached ................................................ 35 6.3 Understanding System I/O ............................................................................................. 37 6.3.1 Creating a IHIDDevice reference ............................................................................... 37 6.3.2 Button Events............................................................................................................. 37 6.3.3 Axis Events ................................................................................................................ 37 6.3.4 Device Events ............................................................................................................ 38 6.3.5 Gamepad Rumble...................................................................................................... 38 6.3.6 Exclusive Access ....................................................................................................... 38 6.3.7 Default Event Handling .............................................................................................. 39 6.4 Zeebo Gamepad Remapping ......................................................................................... 39 7 3D Graphics ...............................................................................................................41 7.1 OpenGL ES Overview ..................................................................................................... 41 7.1.1 Frame Buffer (Color) .................................................................................................. 41 7.1.2 Color Buffer Extension ............................................................................................... 41 7.1.3 Textures ..................................................................................................................... 41 7.1.4 Back-face Culling ....................................................................................................... 42 7.1.5 Fog............................................................................................................................