Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to Xbox Chaos: Modding Evolved

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

LazyGamerJc

General Knowledge About Devkits

7 posts in this topic

XDK Documentation(Taken from the docementation files in the SDK)

An Introduction to Xbox 360

What is Xbox 360?

Xbox 360 is the next version of Xbox. Xbox 360 encompasses the hardware, software, and services offered by Microsoft.

Whom do I contact if I have a question that isn't answered here?

If you are a developer with a technical question, your primary resource is [email protected] The DS stands for developer support. If you are a publisher, please contact your account manager.

I want to have a broader technical exchange, not just an e-mail thread. To whom can I talk?

Talk to your developer account manager (DAM). The DAMs are game industry veterans who understand the issues you are facing. Your DAM can set up onsite visits, conference calls, and performance reviews. Also, your DAM can put you in touch with other Xbox 360 resources. If you don't know your DAM, contact [email protected]

--------------------------------------------------------------------------------

Art / Graphics

Which visual innovations do you consider most important to exploit?

High-definition output, high dynamic range lighting, and soft shadows.

Do you anticipate full-frame effects being a commonly used technology moving forward? What was done to address this?

Yes, absolutely. HDR, depth of field, tone mapping, and so on, all require full-screen renders and filters. We've done a lot to make these efficient, most notably using EDRAM to eliminate bandwidth bottlenecks, and having 48 ALUs available for pixel processing.

--------------------------------------------------------------------------------

Art Process

I'm an artist. What resolution should I use for authoring game content and UI? Should all my work be done for a 640x480 target resolution?

We recommend authoring content for 1280×720.

What is the design paradigm for Xbox LIVE in terms of the UI/UX? 2D menu, 3D space, 2D/3D hybrid, or something else?

Much of the Xbox LIVE UI will be handled automatically outside of the game so that artists can focus on the game itself rather than the UI.

--------------------------------------------------------------------------------

Art Process / Samples

What material exists that can help us set the visual bar appropriately?

Film Noir and other demos (see http://www.microsoft.com/xna).

--------------------------------------------------------------------------------

Audio

Is there a dedicated audio processor? How many hardware audio channels exist? Are some of them limited to 2D, as with the Xbox (that is, only 64 are 3D)? Is there any more per-channel functionality, for example, more user-definable filters per channel?

The Xbox 360 system hardware contains an XMA decoder that is capable of decoding many concurrent XMA streams. It is expected that virtually all Xbox 360 audio content will be XMA-encoded for optimal performance. XMA is a variant of WMAPro. Audio processing beyond the actual XMA decoding is performed in software. It is only limited by the amount of CPU power that you choose to budget for audio. This makes voices even more flexible than in the original Xbox, with per-voice and submixed effects, as well as effects meant to be performed on the final mix. Also, more sophisticated effects are available, such as multi-band equalization and state-variable filters, as well as a high-quality reverb.

How are real-time DSP audio effects supported, given that there is no DSP audio processor for Xbox 360? Does the DSP tool still exist, except that the DSP images run in software instead?

A CPU is by definition a digital signal processor. Having the full power of a CPU core makes DSP effects much more flexible than on Xbox, including the ability to build up and tear down effects at will rather than through a "global image." Also, DSP effects are more integrated into XACT. This allows for stronger content-driven manipulation of effects.

Are customizable volume 3D rolloff curves available in XACT?

For 3D, the latest version of XACT is much more flexible than previous versions. By using the XACT DSP feature, a sound designer can tie any DSP parameter to distance, not just volume (as was once the case). For more information about run-time adjustment of sound, see the documentation about XACT runtime parameter controls (RPC).

For streaming WMA, does XACT allocate memory for just the encoded data, or does it also allocate memory for decode buffers?

Each decoding is to a circular buffer of 1024 samples of 16-bit PCM data, so each decoded stream occupies 2 KB of memory, in addition to the encoded data.

Can a single audio stream be rendered to multiple 3D locations simultaneously (like music being broadcast over several specifically-located loud speakers)?

Yes, fairly easily.

What methods are available for managing allocated memory?

Titles are able to hook memory calls as they were able to do with Xbox.

Are we be able to morph/crossfade an audio stream from rendering in 2D stereo or multichannel to 3D 5.1, as described in the preceding question?

Yes.

It has been said that WMA-encoded audio data is decoded in hardware on the Xbox 360 to eliminate the CPU costs that were incurred by doing this decoding on Xbox. Is the decoded data passed on directly to hardware, or do we need to plan on this decoded WMA data chewing?

This is not quite correct. We have hardware-based XMA, which is a variant of WMAPro that is used for game sounds and music. Think of it as the replacement for Xbox Adaptive Pulse Code Modulation (XBADPCM). There is a small system memory buffer (1 KB) that is needed for each channel.

Does the WMA playlist functionality from XACT 1.0 still exist in some form? If so, is there support for enabling multiple playlists simultaneously?

Access to the gamer's own music (playlists) in Xbox 360 is performed by a library, XMP.lib. Therefore, this functionality has been removed from XACT.

--------------------------------------------------------------------------------

Audio / Features

What methods of user-customizable soundtracks (ripped music) are available?

Xbox 360 is able to play the gamer's own music from a variety of sources. The XMP library functions are designed to allow a game to access the gamer's music and playlists without concern for the music source.

Dolby 5.1 is quoted as being supported (as on Xbox). Is this encoding done on the audio processor (if there is one), or does it require main CPU time? What about other formats such as DTS, 6.1, and so on?

We will natively support a multichannel format, just as we did on Xbox. The specific format has not been announced. As with other audio elements, encoding typically will be performed on a secondary CPU, so it will not have any impact on the main CPU.

For Xbox 360, it is a requirement that background music be under system control. How should a title's music be configured so that this is possible?

Ensure that, when gamers select their own music via the Xbox Guide, your title's background music is muted. If you are using XAudio, tag the XAudio voice as being "Music," and Xbox 360 will automatically mute it for you when gamers start their own music through the Guide. Likewise, if you are using XACT, anything in the "Music" category will be automatically muted. If you are not using either of these APIs, make sure that your music gets muted when gamers start their own music via the Guide.

--------------------------------------------------------------------------------

Audio / Tools

Will we be able to easily stream multiple audio tracks on a sample-accurate basis (an example would be rendering a dynamic mix of music, where the vocals, drums, guitar, bass, synth, and so on, are all streamed in simultaneously, but we can fade in and out each)?

You can interleave multiple tracks, and mix them in real time.

Will there be other methods of sample-accurate crossfading for rendering dynamic music (an example would be an orchestrated piece of music that has five different mixes, each with its own instrumentation, but the melodic elements, chord structures, and so on)?

This is similar to the case listed above. If you decide not to interleave, you could stream multiple mixes on a 128-sample boundary accuracy (if you're using compressed data).

DirectSound isn't available on Xbox 360. Is my only option XACT, or will there be lower-level access?

The low-level audio layer on Xbox 360 is called XAudio. XACT is written on top of the XAudio layer. XAudio will be fully exposed and documented so that game developers can write their own specific audio runtime.

--------------------------------------------------------------------------------

Certification

Can we review the TCRs before they are published?

We are always open to input on certification requirements.

Where can I find the most recent information on certification requirements?

A preliminary version of the Xbox 360 technical certification requirements is available for download from Xbox 360 Central.

Are there new TCRs or design recommendations that we should know about (an example would be BACK means the same thing as B and should be used to cancel stuff, and so on)?

The general philosophy of TCRs will remain the same: TCRs are designed to maintain consistency across titles and protect the integrity of the platform. Many TCRs are unchanged between Xbox and Xbox 360. We are reducing the number of requirements by moving functionality into system software. For example, we provide a standard UI for selecting storage devices that automatically manages things such as MU insertions and removals.

Will the certification process be similar to Xbox?

Yes.

Is there going to be a distribution list for Xbox 360-specific certification communication?

Specific certification questions can be sent to [email protected] There is also an Xbox 360 certification newsgroup: xds360.certification. See the newsgroups page on Xbox 360 Central for information on accessing the Xbox 360 newsgroups.

Will there be sample applications that show how to meet certification requirements?

Yes.

--------------------------------------------------------------------------------

Certification / LIVE

When will we receive a hardware compatibility list for NATs, firewalls, and routers?

The existing hardware compatibility lists for Xbox are a great starting point.

--------------------------------------------------------------------------------

Content Download

How will content download work on Xbox 360?

The Marketplace system component will enable titles to make both free and fee-based content available to players. It will provide support for purchasing and downloading content, managing local storage, and handling various error conditions. The Marketplace user interface will be fully localized based on the player's language. Unlike the Xbox content download manager, launching the Marketplace system component will not require the title to reboot. Marketplace will run in parallel with the title, using system resources.

Viewing Content

Game developers will be able to tag content to allow in-game filtering. This will enable a title to invoke Marketplace and automatically filter the content that is displayed. For example, a title could invoke Marketplace to show only downloadable weapons or only downloadable vehicles.

Selecting a Storage Device

Marketplace will manage the player's available storage for content downloads. A player may choose to store content on a memory unit or on the Xbox 360 hard drive, if available. If a device doesn't have enough free space for the download, Marketplace will provide the necessary UI to assist the player in choosing an alternate storage device.

Downloading Content

Marketplace will provide all download functionality, including automatic download resumption, decompression, and error checking. To preserve available network bandwidth for the game itself, downloads are active only when the Marketplace component is displayed.

Handling Payment Instruments

Marketplace will handle registering a player's payment instrument, whether that's a credit card, debit card, or other payment type. Players will also be able to register payment instruments in the Xbox 360 dashboard. A given player will be able to register multiple payment instruments. The information for the payment instrument is stored securely on the Xbox LIVE service. Marketplace will handle failed purchases and provide appropriate UI for failed authorization or other payment issues.

--------------------------------------------------------------------------------

Controller

What exactly is the specification of the controllers? Have any new features been added to the Xbox controller (or buttons lost)?

The Xbox 360 controller will be essentially the same as the Xbox controller—for example, there will still be two triggers. The major difference is that the black and white buttons have morphed into shoulder buttons, and the buttons are now digital.

Will controllers support add-on peripherals?

Xbox 360 will support add-on peripherals.

How many controllers will one console support?

Xbox 360 supports up to four controllers.

--------------------------------------------------------------------------------

Development Environment

Will games for Xbox 360 be created on a Windows platform, making it easier to port an Xbox game to a Windows platform and vice versa?

The development environment runs on Windows. Portability to the Windows platform is a consideration, but there are a lot of external factors such as the architecture of the game itself that make it impossible to say that a game is 100-percent portable to a Windows-based PC. One of the key goals of XNA is to enable developers to easily build game content for both Windows and Xbox.

What will the development environment be?

The development environment is Microsoft Visual Studio. As of December 2009, only Visual Studio 2008 is supported.

How many types of Xbox 360 development kit console are there?

The are basically two types of development consoles: the standard Xbox 360 Development Kit (XDK) and the XDK-GB, which is equipped with additional memory. For more information, see the discussion of the XDK-GB in Types of Xbox 360 Development Kit Platforms

How often will the XDK software be updated?

As we did for Xbox, we will ship an Xbox 360 software development kit every month in order to provide the absolute latest features and critical updates. This will continue at least through launch.

How likely will it be for APIs to change from revision to revision?

As we get closer to launch, the APIs will see less modification, until at some point close to launch we stamp our libraries as "approved." Most APIs will not change at all. A few new APIs might change over time based primarily on feedback from developers.

Will we need a 1:1 relationship between a Windows PC and a development kit?

Certain tools, including some profilers and DVD emulation, will require a 1:1 relationship. Most tools will not. For day-to-day development, the version of the XDK used on the Windows PC and the development kit must match. As was the case with Xbox, a development kit is accessible to other Windows PCs over the network.

Will DVD emulation have specific hardware requirements?

Xbox 360 DVD emulation is designed to operate effectively without additional Windows PC–side hardware. However, it can do a more precise job of emulating when you use a USB 2.0 cable to connect the development kit to the Windows PC.

Will game builds be able to live on development kits, or must they be hosted on emulation hard drives?

Game builds are able to live on a development kit hard drive or on a Windows PC.

Will we have the same number/kind of A/V packs currently?

Xbox 360 will support a similar group of AV packs as Xbox.

Will the memory environment for development/debug kits be greater for development than it is for retail?

No. Xbox 360 development consoles have the same amount of memory as the final retail console.

Any plans to adapt the Xbox 360 libraries so that Xbox 360 games can be written in any .NET Framework language?

It is possible that Xbox 360 will support the CLR and C# in the future. It's unlikely that Xbox 360 will support every .NET Framework language.

--------------------------------------------------------------------------------

Development Environment / LIVE

Will we be able to simulate our own LIVE servers?

At this time, we don't know.

--------------------------------------------------------------------------------

Development Process

What will be different about the debugging process?

The debugging process will be similar to Xbox. We are enhancing XBDM. We are providing alternative interfaces to XBDM that allow developers to write custom debugging tools more easily. Also, we are improving the experience within the IDE itself.

What tools are being developed to handle (and debug) crashes in debug versions of XEXs?

We will support crash dump logging and debugging.

--------------------------------------------------------------------------------

Development Process / Training

What's the Xfest equivalent, and when are they happening?

Xfest is continuing for Xbox 360 developers and typically happens twice a year.

--------------------------------------------------------------------------------

Globalization

What about standard support for resources similar to the Windows Resource API? Specifically, we're looking for functionality similar to LoadString() for localization support.

For title developers who use the XUI authoring tool, we are delivering something similar to the Windows Resource API, which makes it easier to localize your games.

Will everything be in Unicode?

It will be the same as for Xbox. Unicode will be used for most strings that are displayed for the user.

Any plan for a standard Unicode font?

Although we do not provide a standard Unicode font, we do provide a UI solution via the Xbox Guide for strings that titles don't control on their disk.

Will there be support for multi-region Xbox 360 games?

Yes. Just like Xbox.

What are the plans for IME on Xbox 360?

The XShowKeyboardUI function allows for a standard virtual keyboard to be invoked that encapsulates IME functionality for Japanese, Korean, and Traditional Chinese. Direct access to the IME API will be exposed in an upcoming XDK.

--------------------------------------------------------------------------------

LIVE

Will current Xbox LIVE users be seamlessly migrated to Xbox 360?

Yes.

Will it be necessary to support Xbox LIVE without a hard drive, or can we assume that everyone with Xbox LIVE will have a hard drive?

We will be shipping two types of consoles: the Xbox 360 System and the Xbox 360 Core System. The Xbox 360 System includes the hard drive. The Core System does not, although everyone has the option of buying the hard drive as a peripheral. We recommend that LIVE titles not assume the console has a hard drive.

Will Xbox LIVE seamlessly support Xbox and Xbox 360?

Yes.

Will all current Xbox LIVE features remain supported for Xbox 360?

Most Xbox LIVE features will be available to Xbox 360 titles at launch. However, the following features will not be available at launch:

Selected Web widgets—that is, stats and messaging.

XLSP game server.

Single-elimination competitions.

Title-specific teams.

XLSP game server enables you to host game sessions from a server. XLSP title servers will still be supported at launch.

Is system link still supported?

Yes.

--------------------------------------------------------------------------------

LIVE / Storage

What are the throughput and persistent storage guidelines or limits for Xbox LIVE datacenter-hosted games?

The limits/guidelines are likely to be similar to those for Xbox.

Will games be able to store persistent data on Xbox LIVE servers?

Yes.

--------------------------------------------------------------------------------

Memory

Have memory plans been finalized? How much memory is on Xbox 360?

512 MB.

I have heard we'll have dedicated video memory on Xbox 360. Does that mean we are no longer a UMA system? Does that mean I will have a harder time grabbing screens, and using them in textures, post-processing, and so on?

Xbox 360 is still a Unified Memory Architecture (UMA) console. The 512 MB of RAM is equally available to the CPU or the GPU. The GPU contains an additional 10 MB of embedded dynamic RAM (EDRAM) designed to store the game's frame buffer. This RAM is extremely fast, and it completely removes one of the biggest Xbox game bottlenecks.

Should we allocate memory resources in roughly the same proportion as for Xbox games? For example, we used 22 MB for texture, or roughly a third of our available memory...

The short answer is yes. The long answer is... maybe. How you budget memory depends very much on the game genre and a variety of other factors.

What's the final amount of memory "available" for game use?

The Xbox 360 retail console will include 512 MB of UMA system memory. This is eight times the amount of memory that was available in the Xbox. The Xbox 360 system software will still reserve six percent (32 MB) of total memory for system components, such as the visible features of the Xbox Guide, as well as the non-visible background system tasks.

--------------------------------------------------------------------------------

Modeling

I have heard rumors of subdivision surfaces and more sophisticated high-order surface support. Should I be building all or most objects using NURBS or patches?

We are exposing the tessellator feature of ATI hardware through a DirectX extension. The tessellator basically takes some input parameters and generates multiple sets of UV coordinates that are fed to a vertex shader (VS). The VS implements whatever kind of surface evaluation is appropriate. Examples include n-patches and spline surfaces. The tessellator is capable of generating 1 vertex every 2 cycles, which should be enough to keep the GPU busy at mesh vertex reuse levels (0.5 vertices per triangle). We have been exploring modeling scenarios with DCC tool makers (Maya, 3ds Max, and so on), and we would like to make HOS authoring a realistic possibility for title developers. It has numerous benefits, including automatic LOD, view-dependent tessellation, and more compact representations in memory.

I have heard that procedural synthesis is a technique we will be using to increase performance and save memory. What is procedural synthesis?

Procedural synthesis is the ability to feed the GPU with command, vertex, and index data read from the CPU L2 cache instead of from main memory. The idea is that the CPUs would run small programs that generate this information very quickly from small amounts of data read from main memory. The GPU would consume this data, and read textures from main memory, effectively increasing the possible bandwidth into the GPU, and reducing the memory footprint for generated data.

Can procedural synthesis get data from texture memory?

Texture memory is in main memory, so, yes, procedural synthesis programs can read that data.

Can fins, shells, and stencil extrusions be dramatically sped up, use less memory, or be otherwise improved using XPS?

These things can be implemented in a vertex shader (VS), and we are planning to support a vertex processing backend on the CPU. This means you could run a VS on either the CPU or the GPU, or you could run these as special-purpose programs on the CPU. We are investigating a variety of techniques that can take advantage of procedural synthesis.

--------------------------------------------------------------------------------

OS

What will be the basis for the OS? (Xbox kernel was Windows kernel—what will this be?)

The Xbox 360 OS kernel is based on the Xbox OS kernel.

--------------------------------------------------------------------------------

Performance

Are we be better off running uncompressed waves off the disc, performance wise?

From a performance standpoint, you are actually better off using XMA audio files. XMA compression technology will improve performance dramatically. Not only is XMA data much smaller than uncompressed waves, Xbox 360 has custom decompression hardware to convert XMA to PCM.

How fast are the CPUs? At least a minimum figure would be useful.

3.2 GHz.

--------------------------------------------------------------------------------

Performance / Geometry

How does geometry performance compare to Xbox?

Geometry processing is about 100 times faster in terms of shader operations. Available memory bandwidth for geometry data is about four times greater than it was on Xbox.

How does the performance of skinned objects compare with regular static geometry?

This will depend on the vertex shader implementation. Each vertex blended must be transformed by the appropriate matrix, and the results blended together. Algorithmically speaking, the cost increases linearly with the number of blended vertices.

I was told to keep bone influences to under 4 and the number of bones in a model to under 60 on Xbox. Does this limitation still exist?

The maximum number of bones that will fit in constant register storage is 85, but vertex shaders can access bone data from system memory if more storage is needed. Four bones per vertex is usually enough for most animation rigs. However, this is not a limit imposed by the hardware (nor was it on Xbox).

--------------------------------------------------------------------------------

Performance / Output

Fill-rate was a problem on Xbox. How is fill performance on Xbox 360 compared to Xbox?

Fill performance on Xbox 360 is dramatically improved over Xbox. The frame buffer is in very fast embedded memory, and alpha-blending and Z-test/set operations are built into the frame buffer memory, as is up to 4× multisampled antialiasing. The frame buffer also frees main memory bandwidth to be used exclusively for vertex and texture reads and for servicing the CPU. Fill rate should be very predictable and uniform, dependent on the pixel shader complexity and average triangle size in pixels.

What kind of penalty does alpha-blending impose?

There is no performance penalty.

Xbox was supposed to have antialiasing, but this didn't work out for most games. Has anything been done to improve antialiasing implementation?

Yes. You won't have a performance penalty for antialiasing now, and you don't need any more main memory.

How many levels of overdraw should I expect to have for opaque pixels using simple shaders with three light sources?

The raw fill rate of the Xbox 360 console is achievable with simple shaders (exactly how the number of lights affects the calculation is dependent on the shader implementation). For a 1280×720 buffer, overdraw should approach 70 to maintain 60 fps.

--------------------------------------------------------------------------------

Performance / Streaming

What is the streaming bandwidth of Xbox 360? How fast will DVD-to-memory throughput be?

The DVD has a read bandwidth of between 6 and 15 MBs.

--------------------------------------------------------------------------------

Performance / Textures

Will texture compression formats on Xbox 360 be the same as Xbox?

Many of the formats are the same, and some new formats have been added. While there is no support for palettized textures, all of the old DXT formats are supported. Also, there is a new DXT format for normal map compression.

How many textures can be applied to a surface in one pass? Is there a reasonable number I should shoot for based on typical performance? Is the performance impact linear with each subsequent texture read?

There is no fixed limit to the number of texture fetches that can be issued in a shader, but the total shader length could come into play if the game is trying to read hundreds of textures. There are a number of scenarios we've examined, but factors that affect performance are the texture-fetch sample type (bilinear, trilinear, anisotropic), the texture format, the texture size, the number of textures of different formats and sizes being read, and whether reads are dependent.

In the GPU pipeline, are texture reads going to be the bottleneck, or will it be fast enough to sample four textures in a shader without it becoming the major bottleneck?

Bilinear sampling of 4 DXT compressed textures is a realistic scenario.

Will there be a hardware technology to support wavelets on the textures in memory, which means storing only the highest-level texture in memory and generating the mips on the fly?

There is no hardware-level support for this type of compression, but we are providing an Xbox 360-optimized compression format called PTC.

I have heard that indexed (palette) textures will no longer be available. Is this so? Is there any way to use palettes?

This is correct. You can implement texture palette decompression in a shader, but the result is not likely to be as good or as fast as DXT compression. Most modern graphics hardware is moving away from supporting palettes.

How are we fitting more, bigger, and deeper texture maps into memory?

Three ways: more memory, hardware-supported texture compression, and new methods of using the CPU to perform compression.

Will displacement maps be a smart or useful technology on Xbox 360?

Displacement maps will be a useful technology on Xbox 360.

--------------------------------------------------------------------------------

Programming

In a multithreaded application on a multiprocessor machine (Xbox 360), is it more efficient to match the number of threads to the number that can run concurrently (3 or 6)? Or is it better to have many small threads (for example, one per game object), and let the scheduler sort them out so that threads are always available to run if any get blocked? Or is there another approach that GTG can recommend?

It depends. If all threads are busy all the time, the best solution is to match the number of threads to the number of processors (3). Threads that do work periodically are better off being grouped together on a single processor. As with any optimization, we recommend you profile both methods, and use the one that gives better results.

Is there any progress on reading/writing the Z-buffer? Last we heard, this could not be recommended.

The Z-buffer is not readable outside of a resolve.

--------------------------------------------------------------------------------

Schedule

What is the XDK update process going to be like? Monthly releases?

As the Xbox 360 platform has matured, the release schedule has gone from monthly to every few months. Please check Xbox 360 Central for news about the next release.

Will there be the ability to do Xbox 360 betas before release?

Please contact your DAM or account manager about your interest in these type of programs.

--------------------------------------------------------------------------------

Shaders / Effects

I have heard that Xbox 360 does lighting calculations in greater than 24-bit precision? Is that true?

Xbox 360 does all shader calculations in full 32-bit precision.

What is included in the definition of the + in DX9+?

There are numerous extensions to DirectX available to Xbox 360 title developers. Some of the highlights include being able to write to main memory from the shader core and full 32-bit precision in both vertex and pixel shaders. The Xbox 360 GPU also implements a superset of ShaderModel 3.0, which includes unified shader programming model (tfetch from a vertex shader) and dynamic flow control. Additional features may be available as well as part of Microsoft's XNA initiative.

Are there any hardware features that strongly benefit or drive the type of particles we should be using? The many-simple- vs. few-complex-particles issue, and so forth?

The Xbox 360 HW supports quad-lists, which could be useful for particle rendering. Procedural synthesis using the L2 cache to feed vertices to the GPU could also be a very beneficial approach to pushing particle systems faster. The built-in alpha-blending capabilities mean that sprite rendering in particles using a lot of alpha won't be a significant bottleneck.

--------------------------------------------------------------------------------

Storage

Is the hard drive definitely pulled? Should I discard any plans for hard drive features?

We will be shipping two types of consoles: the Xbox 360 System and the Xbox 360 Core System. The Xbox 360 System includes the hard drive. The Core System does not, although everyone has the option of buying the hard drive as a peripheral. We recommend that launch titles not assume the console has a hard drive.

If Xbox LIVE is required, where is any downloaded content stored?

The hard drive (if available), connected memory units, or other storage devices.

Are we providing some kind of solid state memory or other alternative for large files?

Memory unit (flash memory) peripherals will have a capacity of at least 64 MB.

How big can a game be (minus areas reserved for security, Xbox 360 system files, and so on)? Will it be dual-layer again this time?

Xbox 360 will use the same basic media as Xbox: dual-layer, with 6.8 GB of usable space, 3.4 GB per layer. In addition, Xbox 360 will include support for multi-disc games.

It sounds like there will be two memory card slots on the machine, and no memory slots on the controller. Is that true?

That is correct.

Will an MU be mandatory?

No.

Can we count on "sufficient" persistent store *always* being available (hard drive, memory unit, and so on) to support downloadable content (to the tune of tens of megabytes)?

You can count on persistent storage being available on the majority of consoles, and you can count on being able to access those storage devices easily.

Will development/debug kits have a hard drive for development/testing purposes? If so, how large?

Yes, development and test kits will have hard drives. They will have at least 80 GB capacity.

How soon will a non–hard drive storage medium be available for testing purposes?

Final development kits have shipped, so memory units are now available. We also support MU emulation on the Xbox 360 development console hard drive.

--------------------------------------------------------------------------------

Storage / LIVE

Will it be possible to upload some data to a server so that everyone can get at it or even create a specific game from it?

Yes, in fact this is already a feature of the Xbox LIVE service. See your DAM for more information.

--------------------------------------------------------------------------------

Strategy

Will Xbox 360 continue to support four players on a single machine?

Absolutely.

If we are planning to support 16:9, do we need to support 4:3?

16:9 letterboxing works by default. Titles can choose to optionally support 4:3 full-screen displays.

Are there any new features for Xbox LIVE and Xbox 360 that we will be required to promote in our games?

The system will handle many LIVE features for the game. You can think of the console as being LIVE-aware and capable of handling messaging, notifications, sign-in, feedback, friends, and similar services. In addition, all Xbox 360 titles are required to support the new achievements feature.

--------------------------------------------------------------------------------

Strategy / LIVE

Will Xbox LIVE accounts on Xbox 360 be able to communicate with standard Xbox LIVE accounts? If an Xbox LIVE title releases SKUs for Xbox and Xbox 360, will the different SKUs be able to play against each other?

Yes, a player in an Xbox game will be able to see friends playing Xbox 360 games, and he or she will be able to receive invitations to play Xbox 360 games (and vice versa). Xbox and Xbox 360 versions of the same title will not be able to play against each other on Xbox LIVE because the title ID spaces are different for Xbox and Xbox 360. The two versions of the title may be able to play against each other in a system-link context. Note also that there is only one type of Xbox LIVE account, which works for both Xbox and Xbox 360.

--------------------------------------------------------------------------------

Tools

What improvements have been made to DVD emulation to allow it to be more functional for testing?

DVD emulation has been completely redesigned. It will automatically create layouts if you want it to do that, and you will be able to integrate layout creation into your build process. This makes any build of your game emulation-ready. We are also reworking the UI that interacts with the emulator.

Will we be able to use DVD emulation with scripting tools (command line, ActiveX controls, and so on)?

Yes.

What will be the interface between a Windows PC and Xbox 360? (Can we leverage tools, or will we have to rewrite a bunch of stuff?)

The interface will be similar to Xbox with additional automation and scripting support.

What hardware performance counters will be available, and will they be exposed such that they give reliable and consistent readings when a game is running?

We are taking a much broader approach to profiling on Xbox 360. We will have hardware performance counters in place for both the CPU and GPU. We will also provide some great tools (think PIX) that enable developers to zoom into game hotspots to locate bottlenecks.

Will there be any way to digitally capture game output?

We are investigating a solution.

--------------------------------------------------------------------------------

UI

Will there be a UI run-time engine? What will the performance cost be?

We are providing XUI, a full-featured vector-based UI run-time engine for games to use as they see fit. Performance and resource usage are key considerations in the design and implementation of the XUI Runtime. We are also providing a full-featured tool to assist in the design and development of content for the XUI Runtime.

Will you provide a synchronizable, flexible Xbox LIVE UI that can be dropped in and certified?

Yes. It is called the Xbox Guide, formerly the heads-up display (HUD).

--------------------------------------------------------------------------------

Video

Will there be a table allowing me to adjust gamma or do other effects dynamically?

Gamma tables are supported, as is a functional equivalent that uses a gamma curve.

If I build my game for 720p, will Xbox 360 automatically scale the output to 1080i or 1080p?

Yes, the Xbox 360 hardware includes an extremely good video scaler.

Should I use this to mod?

NO

This console is NOT under ANY circumstances a modding console. If you want to mod games, it would be in your best interest to buy a JTAG.

For more info on JTAG's, go here.

Where can I buy a Devkit?

If you are still interested in getting one, I would try the Xbox Scene BST forums, and SOMETIMES there is one or two available on the Se7ensins BST forums.

Do you know anyone who can teach me how to use a Devkit?

I could teach you how to use it, and a few other members from here could as well. However, if you are not capable of learning how to use it on your own, I don't recommend getting one.

How much does a Devkit cost?

It depends on what kind you get and what comes with it (sidecar, recovery disk, etc.). Average prices usually vary from $300-$700.

What can a Devkit do that a JTAG or Retail 360 can't?

(Taken from the console comparison in the SDK documentation with some added info by me)

The Development console provides you with the hardware and software tools necessary to develop and release Xbox 360 game titles. Though it is attached to the PC, you can interactively debug Xbox 360 game titles using either Visual Studio or the Kernel Debugger. You may also use tools like Performance Investigator for Xbox (PIX) to capture data for performance analysis. Also, the system lets you use the PC to emulate the console's DVD drive. This means you don't have to burn DVDs or copy builds to the hard drive in order to run them. Finally, you have a rich collection of tools such as xbWatson and API Monitor to help you create high quality games.

The Test console is intended for game designers, artists, and testers. While the Test console does not support kernel debugging and Visual Studio debugging, it does support DVD emulation, which enables you to deploy a title faster than copying the title to the system's hard drive or burning a DVD. Further, you can use other tools such as PIX and xbWatson to help resolve problems that may occur while you run your game.

The Demo console allows you to play Xbox 360 game titles that are still under development, and have not been officially released. While they include the ability to trap crashes and monitor system performance, Demo consoles lack DVD emulation. This limits their usefulness for game designers who make frequent content changes to the game. You should use this type of console in situations where the game itself is static—for items such as kiosks, pre-release demonstrations, or similar situations.

The Retail console is the normal Xbox 360 that someone can purchase at a retail outlet. Unlike the other systems that run your development content, the Retail console is the only type of console that can play games from retail DVDs.

The JTAG console is the normal Xbox 360 that has been modified from its original version to play un-signed code. Like the retail console, a JTAG console can play games from retail DVDs. Having the ability to run un-singed code means that it can play modded games such as modded .maps for halo. The general public can NOT access Xbox Live from a JTAG, as Microsoft is able to detect modded consoles and ban them immediately. A few people have managed to circumvent this scan but have not released their work to the public.

Development consoles and Test consoles are available in the following models: standard consoles with the same amount of memory as Retail consoles (512 MB), and Xbox 360 GB consoles that include 1 GB of memory. The extra memory can be helpful during development process for these reasons:

  • You can run a title with unoptimized code or assets which would exceed the normal amount of memory available.
  • You can include extra debugging and/or instrumentation code without having to remove parts of the game to fit into the available memory.
  • You can store logs and debugging information outside of the memory space reserved for the game.

Xbox360DeviceComparison.png

I've heard of something called "Partner Net." What is this? Is it like Xbox Live?

Partner Net is basically like Xbox Live for Devkits and ONLY Devkits. JTAG's and retail consoles cannot access Partner Net, and Devkits cannot access Xbox Live. If you own a Devkit and would like to play on Partner Net, DON'T! Not without some precautions at least.

What kind of "Precautions" should I take before connecting to Partner Net?

1. Back up your NAND. You will need a tool called Flash360. Place this on your hard drive's development volume via Neighborhood and run the .XEX file and select "Backup current NAND to file". After doing so you should find flashdmp.bin in the same place you saved Flash360 at. Place this somewhere safe on your PC where you will not lose it. You should do this after every fresh recovery. It also doesn't hurt to keep multiple backups in case one somehow corrupts.

2. Prevent Fuse Blowing. You should look for u6t1 or u6t2 on the bottom of your motherboard. Follow the image that goes with which motherboard you have, and bridge the two points.

Jasper1DONE12.jpg

Xenon1DONE12.jpg

What this does is stops Microsoft from blowing your E-Fuses in the CPU, which would make your console useless.

The next snippet was taken from assembler games.

Converting Retail Games to Devkit

[*]Essential Hardware

Retail Xbox 360

- Xbox compatible HDD

- Any Hard drive transfer Hardware

Development kit Xbox 360

-Xbox Compatible HDD

[*]Software Essentials

SDK

X360FExT

X360GameHack

Xbox 360 Backup Creator

God2Iso

Xport360

Le Fluffie

[*]Converting your legal game disc to devkit (Proper)

Step 1

Save your game to the retail Xbox HDD

Step 2

Hook up your retail xbox HDD to your PC and open up Xport360

Browse through content -> 000000000000 till you find your game. Extract both the "folder".data and the file included with it

Step 3

Open up the file that is not the data folder in God2Iso, select your output folder and convert this may take a few minutes. After this is finished open up the newly created ISO with X360FExT and select extract all to a folder with the game name of the disc.

Step 4

Open up X360GameHack and only have "Make Devkit" checked, everything else needs to be unchecked. Click Fix, and receive this message at the bottom of X360GameHack "# Xex files were successfully patched". Close the program. Go to your game folder and delete "default.xex.org" and "$systemupdate".

Step 5 Using your SDK open up Game Disk Layout Editor. Go to File-> Add-> New rule and for source path browse to your game folder and click OK.

Now go to tools-> Create Image (it will ask if you want to save, select no).

Select Image for developing and testing and browse to where you want to save your ISO, name it what your game name is and click next and ignore anything about a xdb file.

Step 6 Convert the newly created ISO file with gdf2content in later builds of the SDK. Can be found at

C:\Program Files (x86)\Microsoft Xbox 360 SDK\bin\win32\gdf2content.exe (64 bit)

C:\Program Files\Microsoft Xbox 360 SDK\bin\win32\gdf2content.exe (32 bit)

[*]Converting your legal game disc to devkit (Improper)

Step 1

Save your game to the retail Xbox HDD

Step 2

Hook up your retail xbox HDD to your PC and open up Xport360

Browse through content -> 000000000000 till you find your game. Extract both the "folder".data and the file included with it

Step 3

Open up the file that is not the data folder in God2Iso, select your output folder and convert this may take a few minutes. After this is finished open up the newly created ISO with X360FExT and select extract all to a folder with the game name of the disc.

Step 4

Open up X360GameHack and click Fix. You will receive this message at the bottom of X360GameHack "# Xex files were successfully patched". Close the program.

Step 5

Copy your game folder to your USB stick/HDD and use the homebrew loader of your choice to launch the default.xex. Do note that you must never format this USB device for the Xbox 360 otherwise it can complicate this system, Homebrew loaders should be able to map your USB device just fine as is. You can also launch these xex's from your Devkit however newer games (AP2.5) will most likely not boot unless booted from external media through a homebrew loader.

Can I do system link to JTAG's and retail consoles from my Devkit?

Yes, but you must download DevLink in order to do so. DevLink allows you to connect to retail consoles and JTAG's via system link. Without it you can only system link to other Devkits.

Share this post


Link to post
Share on other sites

theres a problem with that chart, im using a demo kit right now and it says its not compatible with any debugging from visual studio and all that yet it all works fine for me. although im not sure about pix or kernal debugging.

Share this post


Link to post
Share on other sites

theres a problem with that chart, im using a demo kit right now and it says its not compatible with any debugging from visual studio and all that yet it all works fine for me. although im not sure about pix or kernal debugging.

Strange. That came straight from the SDK documentation?

Share this post


Link to post
Share on other sites

How do you update a dev kit?

with a 100KB file called recovery.xex

Share this post


Link to post
Share on other sites