recompiler icon indicating copy to clipboard operation
recompiler copied to clipboard

GTA IV crashes after launching

Open JayC-03 opened this issue 7 years ago • 6 comments

Image: Unimplemented import function 'XNotifyPositionUI' at 0x82A023DC. Crash possible. Image: Unimplemented import function 'XamShowGamerCardUIForXUID' at 0x82A0245C. Crash possible. Image: Unimplemented import function 'XamShowPlayerReviewUI' at 0x82A0246C. Crash possible. Image: Unimplemented import function 'XamShowDirtyDiscErrorUI' at 0x82A0248C. Crash possible. Image: Unimplemented import function 'XMsgStartIORequest' at 0x82A0249C. Crash possible. Image: Unimplemented import function 'XamUserGetName' at 0x82A024AC. Crash possible. Image: Unimplemented import function 'XamUserAreUsersFriends' at 0x82A024CC. Crash possible. Image: Unimplemented import function 'XamUserCheckPrivilege' at 0x82A024DC. Crash possible. Image: Unimplemented import function 'XamGetSystemVersion' at 0x82A024EC. Crash possible. Image: Unimplemented import function 'XamUserCreateStatsEnumerator' at 0x82A024FC. Crash possible. Image: Unimplemented import function 'XamUserCreateAchievementEnumerator' at 0x82A0250C. Crash possible. Image: Unimplemented import function 'XGetGameRegion' at 0x82A0254C. Crash possible. Image: Unimplemented import function 'XamContentGetCreator' at 0x82A025AC. Crash possible. Image: Unimplemented import function 'XamContentGetDeviceData' at 0x82A025CC. Crash possible. Image: Unimplemented import function 'XMsgCancelIORequest' at 0x82A0264C. Crash possible. Image: Unimplemented import function 'XamUserGetSigninInfo' at 0x82A0265C. Crash possible. Image: Unimplemented import function 'XamGetExecutionId' at 0x82A0267C. Crash possible. Image: Unimplemented import function 'XamSessionCreateHandle' at 0x82A02FBC. Crash possible. Image: Unimplemented import function 'XamSessionRefObjByHandle' at 0x82A02FAC. Crash possible. Image: Unimplemented import function 'XamFree' at 0x82A02F9C. Crash possible. Image: Unimplemented import function 'XamUserWriteProfileSettings' at 0x82A02F8C. Crash possible. Image: Unimplemented import function 'XamAlloc' at 0x82A02ECC. Crash possible. Image: Unimplemented import function 'XamVoiceCreate' at 0x82A02D8C. Crash possible. Image: Unimplemented import function 'XamVoiceSubmitPacket' at 0x82A02D7C. Crash possible. Image: Unimplemented import function 'XamVoiceClose' at 0x82A02D6C. Crash possible. Image: Unimplemented import function 'XamVoiceHeadsetPresent' at 0x82A02D5C. Crash possible. Image: Unimplemented import function 'XamUserReadProfileSettings' at 0x82A02D4C. Crash possible. Image: Unimplemented import function 'XamGetPrivateEnumStructureFromHandle' at 0x82A02D3C. Crash possible. Image: Unimplemented import function 'XMsgInProcessCall' at 0x82A02D2C. Crash possible. Image: Unimplemented import function 'XMsgStartIORequestEx' at 0x82A02D1C. Crash possible. Image: Unimplemented import function 'XamCreateEnumeratorHandle' at 0x82A02D0C. Crash possible. Image: Unimplemented import function 'XexGetProcedureAddress' at 0x82A02B7C. Crash possible. Image: Unimplemented import function 'IoInvalidDeviceRequest' at 0x82A02BEC. Crash possible. Image: Unimplemented import function 'ObReferenceObject' at 0x82A02BFC. Crash possible. Image: Unimplemented import function 'IoCreateDevice' at 0x82A02C0C. Crash possible. Image: Unimplemented import function 'IoDeleteDevice' at 0x82A02C1C. Crash possible. Image: Unimplemented import function 'ExAllocatePoolTypeWithTag' at 0x82A02C2C. Crash possible. Image: Unimplemented import function 'ExFreePool' at 0x82A02C3C. Crash possible. Image: Unimplemented import function 'RtlCompareStringN' at 0x82A02C4C. Crash possible. Image: Unimplemented import function 'RtlTimeFieldsToTime' at 0x82A02C5C. Crash possible. Image: Unimplemented import function 'IoCompleteRequest' at 0x82A02C6C. Crash possible. Image: Unimplemented import function 'RtlUpcaseUnicodeChar' at 0x82A02C9C. Crash possible. Image: Unimplemented import function 'ObIsTitleObject' at 0x82A02CAC. Crash possible. Image: Unimplemented import function 'IoCheckShareAccess' at 0x82A02CBC. Crash possible. Image: Unimplemented import function 'IoSetShareAccess' at 0x82A02CCC. Crash possible. Image: Unimplemented import function 'IoRemoveShareAccess' at 0x82A02CDC. Crash possible. Image: Unimplemented import function 'IoDismountVolumeByFileHandle' at 0x82A02CEC. Crash possible. Image: Unimplemented import function 'NtDeviceIoControlFile' at 0x82A02CFC. Crash possible. Image: Unimplemented import function 'IoDismountVolume' at 0x82A029FC. Crash possible. Image: Unimplemented import function 'XeKeysConsolePrivateKeySign' at 0x82A029DC. Crash possible. Image: Unimplemented import function 'XeCryptSha' at 0x82A029AC. Crash possible. Image: Unimplemented import function 'XeKeysConsoleSignatureVerification' at 0x82A0299C. Crash possible. Image: Unimplemented import function 'StfsCreateDevice' at 0x82A0296C. Crash possible. Image: Unimplemented import function 'StfsControlDevice' at 0x82A0295C. Crash possible. Image: Unimplemented import function 'RtlTimeToTimeFields' at 0x82A0280C. Crash possible. Image: Unimplemented import function 'KeSetDisableBoostThread' at 0x82A027DC. Crash possible. Image: Unimplemented import function 'RtlCaptureContext' at 0x82A0274C. Crash possible. Image: Unimplemented import function 'RtlTryEnterCriticalSection' at 0x82A026BC. Crash possible. Image: Unimplemented import function 'KeTryToAcquireSpinLockAtRaisedIrql' at 0x82A02FDC. Crash possible. Image: Unimplemented import function 'KfLowerIrql' at 0x82A02FEC. Crash possible. Image: Unimplemented import function 'KeRaiseIrqlToDpcLevel' at 0x82A02FFC. Crash possible. Image: Unimplemented import function 'XAudioGetVoiceCategoryVolumeChangeMask' at 0x82A0302C. Crash possible. Image: Unimplemented import function 'XMAReleaseContext' at 0x82A0307C. Crash possible. Image: Unimplemented import function 'XMACreateContext' at 0x82A0308C. Crash possible. Image: Unimplemented import function 'XexGetModuleHandle' at 0x82A030DC. Crash possible. Image: 65 unknown functions Visited empty function 'XboxKernel_RtlImageXexHeaderField' CS: trying to enter CS at 82A97FB4h that was not initialized

Lots of unimplemented stuff

JayC-03 avatar Oct 24 '17 18:10 JayC-03

Should probably use PasteBin for logs

twist84 avatar Oct 24 '17 18:10 twist84

Well, it looks like that with most of the games ATM. Those functions should be implemented properly or at least valid stub for them should be created.

rexdex avatar Oct 24 '17 18:10 rexdex

We are still trying to implement all functions (or atleast put stubs in their place), so such messages will become rarer in the near future - at the moment, there isn't much we can do about this. A commercial game, or even any homebrew for that matter, relies on hundreds of such functions to do even the simplest things, so it's unlikely ATM that anything even remotely playable would run without such messages.

sumit0190 avatar Oct 24 '17 18:10 sumit0190

Just to side track this issue a bit MODE 4 not implemented in function cpu::op::vupkd3d128 vsubuws function not defined in cpu::op

twist84 avatar Oct 24 '17 18:10 twist84

@theTwist84 Issue #19 deals with a couple of missing vector instructions as well. These instructions are emitted correctly and defined in xenonCpu, so just as with a few earlier instructions, I am guessing there has been a merge issue. rex is working on it, although I can take these up if they really do lack an implementation.

sumit0190 avatar Oct 24 '17 18:10 sumit0190

I've fixed most of the vector instructions today. I'm left with vupkd3d128/vpkd3d128 which is a very tough instruction with practically no documentation.

rexdex avatar Oct 24 '17 18:10 rexdex

Aah, the infamous VMX128 instructions. I hate NDAs because of things like this, but on the other hand, it is often fun reverse engineering this kind of stuff.

sumit0190 avatar Oct 24 '17 18:10 sumit0190

5-years later: Even the bootanim.xex fails. I suppose seeing what goes on when the animation starts is still rater cool. I did get the dolphin example to run today.

Function 'KeQueryBasePriorityThread' is already registered as import symbol. Function 'KeSetBasePriorityThread' is already registered as import symbol. Image: Unimplemented import function 'XexGetModuleSection' at 0x98040BDC. Crash possible. Image: Unimplemented import function 'HalSendSMCMessage' at 0x98040C0C. Crash possible. Image: Unimplemented import function 'XeCryptRandom' at 0x98040C4C. Crash possible. Image: Unimplemented import function 'VdGetGraphicsAsicID' at 0x98040C6C. Crash possible. Image: Unimplemented import function 'VdInitializeEDRAM' at 0x98040E1C. Crash possible. Image: Unimplemented import function 'KeSetPriorityThread' at 0x98040EEC. Crash possible. Image: Unimplemented import function 'XAudioGetVoiceCategoryVolumeChangeMask' at 0x98040F5C. Crash possible. Image: Unimplemented import function 'XMAEnableContext' at 0x98040F9C. Crash possible. Image: Unimplemented import function 'XMAIsInputBuffer1Valid' at 0x98040FAC. Crash possible. Image: Unimplemented import function 'XMAIsInputBuffer0Valid' at 0x98040FBC. Crash possible. Image: Unimplemented import function 'XMASetOutputBufferValid' at 0x98040FCC. Crash possible. Image: Unimplemented import function 'XMAGetOutputBufferWriteOffset' at 0x98040FDC. Crash possible. Image: Unimplemented import function 'XMASetOutputBufferReadOffset' at 0x98040FEC. Crash possible. Image: Unimplemented import function 'XMADisableContext' at 0x98040FFC. Crash possible. Image: Unimplemented import function 'XMAGetOutputBufferReadOffset' at 0x9804100C. Crash possible. Image: Unimplemented import function 'XMASetInputBufferReadOffset' at 0x9804101C. Crash possible. Image: Unimplemented import function 'XMABlockWhileInUse' at 0x9804102C. Crash possible. Image: Unimplemented import function 'XMACreateContext' at 0x9804103C. Crash possible. Image: Unimplemented import function 'XMAReleaseContext' at 0x9804104C. Crash possible. Image: Unimplemented import function 'XMASetInputBuffer1Valid' at 0x9804105C. Crash possible. Image: Unimplemented import function 'XMASetInputBuffer1' at 0x9804106C. Crash possible. Image: Unimplemented import function 'XMASetLoopData' at 0x9804107C. Crash possible. Image: Unimplemented import function 'XMASetInputBuffer0Valid' at 0x9804108C. Crash possible. Image: Unimplemented import function 'XMASetInputBuffer0' at 0x9804109C. Crash possible. Image: Unimplemented import function 'XMAInitializeContext' at 0x980410AC. Crash possible. Image: Unimplemented import function 'XMAIsOutputBufferValid' at 0x980410BC. Crash possible. Image: 26 unknown functions Process: Thread '(null)' (ID=2) removed from thread list

TheExpertNoob avatar Apr 04 '22 21:04 TheExpertNoob