EVENTS
NEWSGROUPS
MAILING
LISTS BUG
REPORTS FILE
TRANSFER MY
ACCOUNT

Xbox
Central News

Archive

Programming

XDK
Release
XDK
Hardware
XDK
Tools
White
Papers
FAQs
Xbox
Live

Content
& Design

Graphics
Audio
Designer/Producer

Cert/Xbox
Guide

Requirements
Submissions
Demos
FAQs
Tools

Peripherals

Tools
& Middleware

Providers
FAQs

Marketing

Opportunities
Submission
Downloads
Uploads

White
Paper Index
Training
My Account

SEARCH

Release Notes  DECEMBER

Last Updated: December 22, 2003

This release of the Xbox Development Kit (XDK) for the Xbox®
video game system from Microsoft® updates the software on the Xbox
console and the Xbox SDK on your development system. Developers
should be sure to install the updated SDK on their development
systems.

The December 2003 XDK release includes the Remote Console
Recovery tool. In most cases, this tool can be used to update Xbox
development consoles and debug kits without using a console recovery
disc. Both the Remote Console Recovery tool and the console recovery
disc included with this release provide enhanced console debugging
and security features. Also, both contain the Xbox kernel previously
released with the April 2003 XDK (build 5455), and the latest
version of the Xbox Dashboard (build 5659). The console recovery
disc also contains the Xbox kernel previously released with the
November 2001 XDK (build 4039), the Xbox kernel that was distributed
with the first retail Xbox consoles (build 3944), and three
additional versions of the Xbox Dashboard: the initial Xbox
Dashboard (build 3944), the first Xbox Live Dashboard (build
4920), and the February 2003 Xbox Live Dashboard Update
(build 5335).

Updating your development console is always recommended, but it
is not required if you have already updated your console with
console recovery version 3944 or later. The console recovery disc
and Remote Console Recovery tool can be used only on August 2001 or
later Xbox development consoles and debug kits; do not attempt to
recover earlier versions of the XDK console.

Note    The December
2003 console recovery disc and Remote Console Recovery tool contain
version 5455 of the kernel and version 5849 of the XDK debug
monitor, XbDM. All of the symbols needed for each console recovery
disc are installed in a directory under "xbox\symbols". The
directory name is based on the console recovery version that was
used. The symbols for the December 2003 version of recovery are
installed under the "xbox\symbols\Latest" directory.

The June 2003 XDK release has been retired. If you submit a title
for certification after the release of the December 2003 XDK, you
will need to use an approved August 2003 release or later. On April
1, 2004, we will retire the August 2003 and November 2003 releases.
See Approved/Unapproved
Libraries for a current list of the approved releases and
approved versions of the libraries included in the Xbox SDK.

Contents

1.

Support

2.

Software
and Development Issues

2.1.

XDK
Release and Retirement Schedule

2.2.

XACT
API: IXACTSoundSource::GetProperties Returns Incorrect
Values for HwVoiceProperties.lPitch and
HwVoiceProperties. lDopplerPitch

2.3.

XACT
API: SetParameterControl Returns Incorrect Value

2.4.

On
Windows 2000, Uninstalling XDK Does Not Restore System to
Original State

3.

Online
Issues

3.1.

Xbox
Live Title Libraries and Xbox Live 3.0

3.2.

Voice
Mail is Unapproved in the December 2003 XDK

3.3.

XHV
Fails If an Insufficient Number of DSound Buffers Is Reserved

3.4.

Friends
Enumeration Requires the String Service When Using Legacy
XOnline. lib

3.5.

XONLINE_FEEDBACK_TYPE
Has No Value to Specify Spam

3.6.

Samples:
UIX Friends: Received Game Invite Is Lost If Sender Changes
Voice Status

3.7.

Samples:
SimpleTeams Fails During Team Enumeration

3.8.

Samples:
Matchmaking and Arbitration Samples Assert When Joining Game
Session

3.9.

UIX:
Korean Font Size Incorrect

3.10.

UIX:
Logon Feature Returns UIX_EXIT_FRIENDS_JOIN_GAME

3.11.

UIX:
Extensibility Not Documented

4.

Tool
Issues

4.1.

XPP:
Canceling a Preview Causes the Subsequent Preview to Fail

4.2.

Emulation:
IDE Port on Emulation Card Does Not Work with Some IDE Cables

5.

Xbox
Console Issues

6.

Software
and Development Issues From Previous Releases

6.1.

Remote
Console Recovery Tool: Always Select Reset Xbox Settings

7.

Online
Issues From Previous Releases

8.

Tool
Issues From Previous Releases

8.1.

XACT
GUI: Copying a Sound with a 3D Preset Causes Project File to
Become Unusable

8.2.

New
Tool: XSetRecMsg

9.

Xbox
Console Issues From Previous Releases

9.1.

TV
Setting Is NTSC by Default

1. Support

For support and to send us feedback, please contact us at:

https://xds.xbox.com/bpproginfo.asp?page=scripts/supportform.htm—
for hardware problems, XDK setup support, and replacement parts.

[email-masked]—
developer support, technical game-development questions, and XDK
feedback.

https://xds.xbox.com/— the developer support Web
site, which you should use for other customer support issues such
as questions about shipping and billing (see the Support
section). You should also refer to the developer support Web site
for FAQs, the most up-to-date release notes, and white papers. You
must log in with your Microsoft Xbox developer program ID and
password. If you need to obtain an ID and password, contact [email-masked].

2. Software and Development Issues

2.1. XDK Release and Retirement Schedule

The December 2003 XDK is the last major release of the XDK.
However, there will be an XDK Update release in the first half of
2004. The Xbox team remains committed to supporting developers in
the creation of great Xbox games.

As mentioned above, the June 2003 XDK has been retired. On April
1, 2004, the August 2003 XDK and November 2003 XDK will be retired.
Titles submitted for certification after this date must use the
December 2003 XDK.

2.2. XACT API:
IXACTSoundSource::GetProperties Returns Incorrect Values for
HwVoiceProperties.lPitch and HwVoiceProperties.
lDopplerPitch

The IXACTSoundSource::GetProperties method returns
incorrect values for HwVoiceProperties.lPitch and
HwVoiceProperties.lDopplerPitch. You should not use these
values.

2.3. XACT API: SetParameterControl Returns
Incorrect Value

When called with an invalid RPC name, e.g. an RPC name that
doesn't exist, the SetParameterControl method returns
DS_OK.

2.4. On Windows 2000, Uninstalling XDK Does Not
Restore System to Original State

If you install the XDK to the non-default drive on a system
running Windows 2000, then later uninstall, setup will not restore
the system to its original state; some directories, files, and
environment variables will remain after the uninstall. However, the
system is otherwise fully usable.

3. Online Issues

To test online titles on the PartnerNet test network, you will
need a valid online title ID. To obtain an online title ID, contact
your account manager.

3.1. Xbox Live Title Libraries and Xbox Live
3.0

This XDK release provides Xbox Title Library support for the
following features:

Voice Mail

Title Managed Storage

Family Title IDs

Teams

Competitions

Arbitration

Messaging

New Xbox Live Statistics Features

For brief descriptions of these features, see the What's
New topic. For more in-depth information about these features,
see the applicable reference pages.

These features require release 3.0 of the Xbox Live service. The
Xbox Live 3.0 release is sometimes referred to as "Tsunami". The
Xbox group is releasing Xbox Live 3.0 around the beginning of April
2004. Titles that take advantage of these new features should
schedule their releases to occur after the release of Xbox Live 3.0.
Titles that intend to release before the release of Xbox Live 3.0
should not use any these features.

You can identify Xbox Title Library functions that correspond to
Xbox Live 3.0 features by looking for the following text at the top
of the function reference page in the XDK documentation:

This function uses features that won't be available to Xbox
Live subscribers until Xbox Live 3.0 is released. Titles that are
scheduled to release prior to the release of Xbox Live 3.0 should
not use this function. For more information see Xbox Live
Libraries.

To use the Xbox Live 3.0 features, you must link with the correct
XOnline library. The December XDK provides two variations of the
XOnline libraries, Standard and Legacy:

Standard

Legacy

XOnline.lib

XOnlineL.lib

XOnlined.lib

XOnlineLd.lib

XOnlines.lib

XOnlineLs.lib

XOnlinesd.lib

XOnlineLsd.lib

Titles that use Xbox Live 3.0 features should link with the
Standard XOnline libraries shown in the preceding table.

XDK sample code that uses the Xbox Live 3.0 features links with
the Standard libraries.

Note    Titles that
release before the release of Xbox Live 3.0 must not link
with the standard XOnline libraries. A side effect of supporting the
Xbox Live 3.0 features is that titles that link with these libraries
will not be able to communicate with versions of the Xbox Live
service prior to Xbox Live 3.0, even if the title does not use Xbox
Live 3.0 features.

Titles that intend to release before the release of Xbox Live 3.0
should link with the Legacy XOnline libraries shown in the preceding
table. Titles that link with these libraries will be able to
communicate with the Xbox Live service both before and after the
release of Xbox Live 3.0. However, these libraries do not support
any of the Xbox Live 3.0 features.

XDK sample code that does not use Xbox Live 3.0 features links
with the Legacy libraries. Also, Downloader.xbe and Stats.xbe both
link with the Legacy libraries.

Titles that use Downloader.xbe or Stats.xbe may link with the
Standard libraries even though Downloader.xbe and Stats.xbe link
with the Legacy libraries. Also, both Xbox High-Level Voice (XHV)
and Drop-In UI for Xbox (UIX) may be used with either the Standard
libraries or the Legacy libraries. However, if a title using UIX
links with the Legacy libraries, that title will not be able to use
Voice Mail with UIX Friends.

The November 2003 XDK provided preliminary (unapproved) support
for a number of the Xbox Live 3.0 features. To use those features
with the November XDK, you had to link with one of the "preliminary"
versions of the XOnline library that shipped with the November XDK.
To use the equivalent Xbox Live 3.0 features with the December XDK,
you should link with the corresponding Standard version of the
XOnline library.

The following table shows each of the preliminary XOnline
libraries that shipped with the November XDK, and the corresponding
Standard library that is shipping in the December XDK.

November Library

December Library

Preliminary (Unapproved)

Standard (Approved)

XOnlineP.lib

XOnline.lib

XOnlinePd.lib

XOnlined.lib

XOnlinePs.lib

XOnlines.lib

XOnlinePsd.lib

XOnlinesd.lib

The preliminary versions of the XOnline library, e.g.
XOnlinePs.lib, are not available in the December XDK.

3.2. Voice Mail is Unapproved in the December
2003 XDK

The Voice Mail feature is unapproved for the December 2003 XDK.
Voice Mail will be available in approved form in the XDK Update.

As released in the December XDK, the Voice Mail feature has the
following issues:

UIX: The Record screen does not disable the Stop button after
a message has completed playback.

UIX: When recording a message, the last second of data is
sometimes lost.

UIX: The Stop button queues an extra Stop message. If you
press Stop during playback of a message, you will need to press
Play twice to play the message again.

UIX: You sometimes are not able to play a given message the
first time you attempt to play it after download.

UIX: You are not able to play messages unless the headset is
plugged in; messages do not play only through the speakers.

UIX: Messages that are started while at the Playback screen
continue to play even after you back out of the Playback screen.

UIX: The UIX Voice Mail UI hangs when attempting to retrieve a
voice mail message that is no longer on the server.

XHV API: The Duration argument of the
VoiceMailDataReady callback method sometimes contains
incorrect values.

XHV API: If you call the VoiceMailRecord method,
followed by a single call to the DoWork method, then call
the VoiceMailPlay method, the voice mail playback process
never completes.

3.3. XHV Fails If an Insufficient Number of
DSound Buffers Is Reserved

When calling XHVEngineCreate, be sure to specify enough
DSound buffers for voice mixing usage in the dwMaxRemoteTalkers
member of the pParams (XHV_RUNTIME_PARAMS) parameter,
plus an additional 4 buffers if loopback mode is enabled. If XHV is
unable to create the buffers it needs, it will silently fail and
players' voices may not be heard.

3.4. Friends Enumeration Requires the String
Service When Using Legacy XOnline. lib

In the December 2003 XDK, if you link with the Legacy version of
an XOnline library, e.g. XOnlineLs.lib, you must specify the String
service (XONLINE_STRING_SERVICE) when you call XOnlineLogon,
in order for Friends enumeration to work correctly.

3.5. XONLINE_FEEDBACK_TYPE Has No Value to
Specify Spam

The XONLINE_FEEDBACK_TYPE does not include a value with
which to specify that the offensive content is spam. As a
workaround, use the XONLINE_FEEDBACK_NEG_HARASSMENT value of
XONLINE_FEEDBACK_TYPE.

3.6. Samples: UIX Friends: Received Game Invite
Is Lost If Sender Changes Voice Status

In the UIX Friends sample, a received game invitation disappears
from the receiver's Friends list, if the sender's voice status
changes. This issue results from the sample using the same session
ID for both the sender and the receiver. Therefore, this issue
should never occur in an actual game.

3.7. Samples: SimpleTeams Fails During Team
Enumeration

In the December 2003 XDK, the SimpleTeams sample does not check
for the XONLINETASK_S_RESULTS_AVAIL return value from
XOnlineTaskContinue. As a result, the sample fails during
team enumeration.

3.8. Samples: Matchmaking and Arbitration
Samples Assert When Joining Game Session

In the December 2003 XDK, the Matchmaking and Arbitration samples
assert if a user attempts to join a game session and the following
conditions are true:

The console that is hosting the session is on the Invite
Friends screen.

The Invite Friends screen does not display any friends for the
currently logged on user.

3.9. UIX: Korean Font Size Incorrect

In the December 2003 XDK, the size of the Korean font used in
Drop-In for Xbox (UIX) is too small. Developers should recreate the
Korean font before shipping titles with the Korean version of
UIX.

3.10. UIX: Logon Feature Returns
UIX_EXIT_FRIENDS_JOIN_GAME

If you use the UIX logon feature (UIX_LOGON_FEATURE) with
UIX_LOGON_PARAMS.pInvite set to a game invite, the return
value, UIX_EXIT_INFO.pExitData, is
UIX_EXIT_FRIENDS_JOIN_GAME, rather than UIX_EXIT_LOGON_SUCCESSFUL.
This is the expected behavior, and indicates that logon was
successful.

3.11. UIX: Extensibility Not Documented

The Drop-In for Xbox (UIX) Extensibility feature is not
documented. However, the XDK includes a sample that demonstrates
implementing a virtual keyboard using UIX Extensibility.

4. Tool Issues

4.1. XPP: Canceling a Preview Causes the
Subsequent Preview to Fail

In the December 2003 XDK, if you cancel a preview in Xbox Preview
Pipeline using the dialog Cancel button, and then try to preview the
same file again, you may have to press the preview button a second
time in order to have the preview complete successfully.

4.2. Emulation: IDE Port on Emulation Card Does
Not Work with Some IDE Cables

The IDE port on the Xbox emulation card uses pin 20. If an IDE
cable does not have a connection for pin 20, that cable will not
work with the emulation card.

5. Xbox Console Issues

There are no new notes in this section for this release.

6. Software and Development Issues From Previous
Releases

6.1. Remote Console Recovery Tool: Always
Select Reset Xbox Settings

In the August 2003 XDK release, failing to select the Reset
Xbox settings to default states option with the Remote Console
Recovery tool may cause the Xbox Dashboard to crash. To avoid this
issue, either:

Select the Reset Xbox settings to default states option
when using the Remote Console Recovery tool.

Use a console recovery CD.

Both of the preceding options erase the Xbox hard disk.

7. Online Issues From Previous Releases

To test online titles on the PartnerNet test network, you will
need a valid online title ID. To obtain an online title ID, contact
your account manager.

8. Tool Issues From Previous Releases

8.1. XACT GUI: Copying a Sound with a 3D Preset
Causes Project File to Become Unusable

In XACT, copying a sound with a 3D preset from its current sound
bank to a new sound bank will cause the project file to become
unusable. To work around this problem, follow these steps:

Open the .XAP file in a text editor.

Go to the line identified in the error.

In the sound definition where the error occurred, delete the
line beginning with "3D Preset".

The project should now load as expected. The sound will have
default 3D settings without a preset.

8.2. New Tool: XSetRecMsg

The November 2003 and later XDKs contain a new tool: XSetRecMsg.
Use XSetRecMsg to test TCRs L1-1 through L1-13. The XSetRecMsg tool
is not documented in the XDK documentation. For usage information,
invoke XSetRecMsg with the "/?" option:

XSetRecMsg /?

9. Xbox Console Issues From Previous Releases

9.1. TV Setting Is NTSC by Default

The video mode on the Xbox console is set to NTSC by default. To
change this setting, use theSettings screen of the Xbox
Dashboard.