Open sarah-walker-pcem opened 3 years ago
I initially investigated this during the v17 feature freeze. The hang is protection related; the game sets the CPU trap flag (enabling single step exceptions) and monitors the execution of a routine (checksum related?) in the exception handler. The exception handler will clear the trap flag if execution leaves a specific area, presumably from a desire to track only user and not system call execution, and sets a debug trap at the return address. PCem v17 doesn't emulate debug traps so this never fires.
I did experiment with adding debug trap support, which did cause the trap flag to get set again after the first system call, but it is later cleared again. More investigation is required; there is a state machine in the exception handler that I don't yet fully understand.
Tribes 2 (released by Sierra in the same quarter) also has similar symptoms. The demo version seems to have a different point of failure however.
Describe the bug Half-Life : Blue Shift fails to start. Process stays running and can be seen in Task Manager, but the game never launches
To Reproduce Steps to reproduce the behavior:
Expected behavior The game running.
Emulator configuration
Host machine