XaiJu
LukeUsher
LukeUsher

patreon


Cxbx-Reloaded Progress Report (August 2020)

For this month (as I’ve promised to some people), I’ve put some extra hours into testing and re-testing games until we could reach a very specific milestone: 50% of the entire Xbox library tested (check the numbers below and the long list of results at the end). Some of the improvements also came from some information cross-projects (Insignia), making it possible to save/load games for the first time for some titles. SSX games didn’t have much progress last month? Now all of them progress further due to some rendering changes 

Improve SEH/VEH support for compilers [PR #1913]

While this isn’t (yet) an immediate change for users, it’s still one step towards being able to compile Linux builds.

Kernel: avoid potential buffer overflow on DbgPrint [PR #1934]

Fixed the mentioned issue on the code-base while working on another project (Insignia). While this one occurrence was fixed, there’s still the possibility of others existing.

HLE: Disable RaiseException patch, let the kernel handle it [PR #1935]

Use xboxkrnl namespace inside xboxkrnl header file [PR #1938]

By doing this, we no longer need to include the xboxkrnl.h file inside the namespace whenever we use that file in the code. Other than that, this should have no impact on the emulation side of things.

Fix a couple chrono usage due to a variety of systems may behave differently [PR #1941]

Based on chrono library author post on stackoverflow. It is advised to use steady_clock than high_resolution_clock and avoid use of duration_cast.

Tested and confirmed no noticeable difference with several titles.

Kernel: IoCreateFile should return INVALID_HANDLE_VALUE on failure [PR # 1943]

Issue found while working on Insignia, trying to make the Xbox Live dashboard login into CxBx-Reloaded (while still being able to login on the real hardware).

The issue turned out to be that the creation of a CACHE folder succeeded on an Xbox, but failed on Cxbx-Reloaded. The Windows IO function we call was setting Handle to 0 on failure, meaning that the Xbox Dashboard was being told that the file was opened, and the folder did not get created. Even better news? This can fix some games due to the old behavior preventing the emulator from being able to create some files (including saves, so test all your games that had any issue related to creating or reading save files to confirm if any non-tested game improved).

EEPROM: cleanup EEPROM generation + generate HDD key [PR #1944]

Updates EEPROM generation to create non-null HDD keys. This is important as Xbox Live libraries do not function with a null key, so we need a sane default to prevent connection issues once Online Play comes.

D3D: don't attempt to create 0 sized vertex buffers [PR #1945]

The SSX family of games attempt to create Vertex Streams with a stride of 0, this causes the 'size' calculation to come back as 0 bytes, causing an allocation to fail, and causing a fatal exit. This PR avoids that crash, by instead skipping the stream and logging that it happened, so we can build a list of games impacted by this issue and track down the correct behavior.

With this, SSX Tricky, SSX on Tour, and SSX 3 all progress further than before.

HOTFIX: Fix dsound string patches typos [PR #1948]

Thanks to our tester, we have discovered a hidden bug for over a year. If you encounter a popup error relative to CDirectSoundVoice_Use3DVoiceData+0x14, then this pull request will resolve the issue, since our patch system does check space at the end of the string. This issue only affects titles built with the XDK version 5xxx.

Notable Game Improvements

Different from past reports, as I had a ton of games to report, we’ll keep it brief and “short”. So take a chair, relax and enjoy ;)

Winback 2 - Project Poseidon [IN-GAME] (probably playable, verified till the 6th episode)

Super Monkey Ball Deluxe [PLAYABLE]

Test Drive [PLAYABLE]

Robotech - Battlecry [IN-GAME] (more stable now, needs more testing)

Top Gear - RPM Tuning [IN-GAME] (rendering improved)

Rolling [IN-GAME] (rendering graphics for the first time in-game)

SX Superstar [IN-GAME]

Tony Hawk's American Wasteland [IN-GAME] (can start a new campaign now)

Thousand Land [IN-GAME] (in-game for the first time)

Goldeneye Rogue Agent [IN-GAME] (in-game for the first time)

Mojo [IN-GAME] (rendering improved)

NFL Street [IN-GAME] (rendering improved)

Van Helsing [IN-GAME] 

Robots [IN-GAME]

Top Spin [IN-GAME] (rendering improved)

Syberia [IN-GAME]

L.A. Rush [IN-GAME]

Legacy of Kain Defiance [IN-GAME]

Leisure Suit Larry - Magna Cum Laude [IN-GAME] (probably playable, needs more testing)

Marc Ecko's Getting Up [IN-GAME]

Tecmo Classic Arcade [IN-GAME]

Call of Duty 3 [INTRO-MENUS]

The Lord of the Rings The Third Age [INTRO-MENUS]

Spy Vs Spy [INTRO-MENUS] 

Power Drome [INTRO-MENUS]

Project Snowblind [INTRO-MENUS]

Second Sight [INTRO-MENUS]

The Bard's Tale [INTRO-MENUS]

Thrillville [INTRO-MENUS]

Voodoo Vince [INTRO-MENUS]

X-Men: The Official Game [INTRO-MENUS]

Knights of the Temple 2 [INTRO-MENUS]

World War II Combat - Iwo Jima [INTRO-MENUS]

World War II Combat - Road To Berlin [INTRO-MENUS]

Spy Hunter [INTRO-MENUS]

Gun [INTRO-MENUS]

Curious George [INTRO-MENUS]

Jade Empire [INTRO-MENUS]

Magic the Gathering - Battlegrounds [INTRO-MENUS]

Men of Valor [INTRO-MENUS]

Taito Legends [INTRO-MENUS]

Xiaolin Showdown [INTRO-MENUS]

Far Cry Instincts: Evolution  [INTRO-MENUS]

Fatal Frame [INTRO-MENUS]

Fatal Frame II: Crimson Butterfly [INTRO-MENUS]

Fable [BROKEN]

Kelly Slater Pro Surfer [BROKEN]

Reign Of Fire [BROKEN]

Superman - The Man Of Steel [BROKEN]

The Thing [BROKEN]

Drihoo [BROKEN]

The Wild Rings [BROKEN]

Antz - Extreme Racing [BROKEN]

Note: games reported as broken are not regressions (at least in this report), just games that no one tested before and were verified as broken.

Final Words

For a few days we couldn’t include some ongoing rendering improvements (read details here) but they’re already added to the latest builds, so you can check them out. As always, a juicy pdf file can be downloaded below with a list of the results for all the games tested so far with the most up to date results (to the day this report was made), don’t forget to take a look and see you all next month ;)

Comments

Excellent work mate much appreciated

Ben Nicholls


More Creators