game-compatibility
game-compatibility copied to clipboard
Halo [Halo - Combat Evolved] [MS-004] [1.01]
Issues:
- Crash on bootup (=XNetGetEthernetLinkStatus+0x7ab)
From @haradons on May 25, 2017 22:50
Didn't see anything as far as error codes for Halo. As soon as it boots up it crashes.
Copied from original issue: Cxbx-Reloaded/Cxbx-Reloaded#479
At some point in time we should compare the symbol addresses we write to our HLE cache file of Halo, to the symbol addresses Xeon had in it's halo.ini
file. Perhaps our symbol detection is still not entirely correct, or we could lack a crucial patch. (Although I'd rather see us patch less instead of more functions.)
From @LukeUsher on June 1, 2017 9:0
There are quite a few things going on with Halo that make it problematic to emulate. Xeon had game specifics hacks for it too (There's a flag in the .ini file for a Halo memory hack).
I do check Halo/work on it quite often, but no notable progress so far. I suspect that once Patrick's Work In Progress branch is merged in, we'll be closer to getting it working, among other things, Halo seems to like creating and using resources without calling Register.
From @blueshogun96 on June 5, 2017 0:30
@LukeUsher, I do recall that day when sir caustik said that Halo likes to modify its textures at odd times. I guess that's a hint. Also, there's a hack where the bunk videos are skipped intentionally. At one point, I do recall a screenshot of Cxbx running the intro video upside down. The halo thing was quite a mystery to me as I couldn't quite figure out myself what the issue was.
Shogun
I'll definitely look into this one, once my work in progress branch is nearing is completion
From @ergo720 on July 25, 2017 13:45
Well, with the latest build, it now crashes with a different error. PAL, win10, 3ca1a354
KrnlDebug.txt 1.01: Xbe.txt
As of commit 4fd2c7c2e9691079cfd0523f66c388cd27569518 (Jan 12 2018), Halo still crashes before anything is shown with a new exception:
Received Exception Code 0xC0000005 @ EIP := 0x001B7CA7(=send+0x6a83)
1.09: Halo_Xbe.txt KrnlDebug.txt
Additional information: Tested JPN version with 4fd2c7c2. After loading intro.bik, write to unknown address then crashed.
[0x0EC0] WARN: EmuX86_Write(0x83434000, 0x00000000) [Unknown address]
[0x0EC0] WARN: EmuX86_Write(0x83434002, 0x00000000) [Unknown address]
[0x0EC0] WARN: EmuX86_Write(0x83434004, 0x00000000) [Unknown address]
[0x0EC0] WARN: EmuX86_Write(0x83434006, 0x00000000) [Unknown address]
1.06: Xbe (JP).txt KrnlDebug.zip
Crashes with error but plays some looped audio before it does. I only heard audio on first try. I tried several more times and never heard anything again but got the same error.
EDIT: I found that if I delete the related folder in %appdata% before boot I can get Halo to boot with audio.
---------------------------
Cxbx-Reloaded
---------------------------
Received Exception Code 0xC0000005 @ EIP := 0x001B7CA7(=send+0x6a83)
Press "OK" to terminate emulation.
Press "Cancel" to debug.
---------------------------
OK Cancel
---------------------------
KrnlDebug.txt 1.09: Xbe.txt Halo-b6a274a6.txt
Tested on 735a4bcf (Feb 6 2018)
It causes a null exception when calling D3DDevice_GetBackBuffer function. Perhaps related this issue by https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/pull/924.
---------------------------
Cxbx-Reloaded
---------------------------
Received Exception Code 0xC0000005 @ EIP := 0x00000000(=unknown+0x0)
Press "OK" to terminate emulation.
Press "Cancel" to debug.
---------------------------
OK キャンセル
---------------------------
Tested on d57aa2be
Actually, it looks like D3DDevice_GetBackBuffer AND D3DDevice_GetBackBuffer2 aren't assigned, but only the first is verified, not the latter, which is probably the cause for this exception
D3DDevice_GetBackBuffer must be assigned, or how did it get called? It's shown in the stack trace...
Hm. Then perhaps it's calling convention or arguments aren't declared right...
Still strange how the cursor indicates the call to D3DDevice_GetBackBuffer2 failed. Which implies the trampoline to D3DDevice_GetBackBuffer isn't assigned, even though the call originates from EmuPatch_D3DDevice_GetBackBuffer...
But regardless, the trampoline to D3DDevice_GetBackBuffer2 isn't assigned checked...
@LukeUsher @PatrickvL I am sorry for making you confused. This is a matter of my repository. I tested on Automated Builds, but D3DDevice_GetBackBuffer does not cause a crash.
On the latest builds, Halo shows some in-menu graphics, however it's pretty buggy, and can only be viewed with the 'disable pixel shader' hack, otherwise it's just all a black screen. The sound is pretty stuttery also.
Menus can be navigated, but I've found it often just ends up freezing during the first 5 seconds or so of interaction...
About intro FMV playback. Fixed by https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/pull/1002 writing to an unknown address. Still blackscreen with/without the 'disable pixel shader' hack, but the sound is good.
HLE: black screen with audio playing then stuck forever
LLE: reaches title screen with audio but doesn't get in-game and cxbx just quits the emulation. Also it's extremely slow (almost always 1 FPS)
KrnlDebug-HLE.zip
KrnlDebug-LLE.txt
KrnlDebug.txt
Gets into Menu, however menu is completely black, once through the menu:
Then starts playing a cut scene with this rendered:
Finally gets stuck repeating some lines of dialog from the cutscene
The game boots. I get a black screen with the intro audio/music. Then the game crashes.
1.09: Xbe.txt
Tested on: Intel Xeon W3565 3.20GHz CPU NVIDIA GeForce GT 730 2GB GPU 24GB DDR3 RAM
Boots in the August 3, 2019 build, the FMVs play sound, but only show a black and red gradient, then goes into a menu with corrupted text, crashes upon starting campaign or when selecting a map for multiplayer
On Cxbx-Reloaded/cxbx-reloaded@c282b1e8 the game has regressed, going back to a black screen with sound, and has remained this way up to Cxbx-Reloaded/cxbx-reloaded@e5dc2e5e
@LanHikariDS that commit doesn't appear in this list : https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/commits/develop - could you post a direct link to it?
https://ci.appveyor.com/project/SoullessSentinel/cxbx-reloaded/builds/28037247 This build, however the regression has been ironed out in Cxbx-Reloaded/cxbx-reloaded@12880255, so this is a moot point
https://ci.appveyor.com/project/SoullessSentinel/cxbx-reloaded/builds/28037247 This build, however the regression has been ironed out in 12880255 (Oct 14, 2019), so this is a moot point
this build is still black screen with sound for me ^ the current build 1769 doesnt boot it at all.
Levels load, and have been for quite a while. Though more often than not, the levels won't load properly (A valid load is denoted by humming sound effect, as the final game does)
However, there seems to be a discrepancy between game versions and their functionality. In build c03a2f8b, v1.01 can load Pillar of Autumn just fine, and even get in-game (With some visual issues), whereas v1.08 will always crash upon trying to load PoA (Even with a valid load)
v1.08 will load Halo and The Truth and Reconciliation with a valid load, but the graphics are heavily broken, and will crash soon after gameplay starts.
Levels load, and have been for quite a while. Though more often than not, the levels won't load properly (A valid load is denoted by humming sound effect, as the final game does) However, there seems to be a discrepancy between game versions and their functionality. In build c03a2f8b, v1.01 can load Pillar of Autumn just fine, and even get in-game (With some visual issues), whereas v1.08 will always crash upon trying to load PoA (Even with a valid load)
v1.08 will load Halo and The Truth and Reconciliation with a valid load, but the graphics are heavily broken, and will crash soon after gameplay starts.
Behaviour like this is pretty common, that’s why we ask for different versions to be counted as different games in the compatibility tracker
You say as we just closed two different Halo pages for being dupes...
@LanHikariDS #945 was garbage. You're more than welcome to make a report with a version other than 1.01.
#936 was also closed, and that one was decent, at the very least