Closed sumit0190 closed 6 years ago
I had serious merge problem once with Git, maybe that's the fallout :( I'm pretty sure most of the instructions are implemented - I decompiled big games like Assasin or HALO and got though the compilation. I downloaded the xex and will check.
On 18 October 2017 at 18:08, Sumit Tiwari notifications@github.com wrote:
I tried running decompile on the XEX for XEXMenu https://digiex.net/threads/xexmenu-1-1-download-xex-menu-iso-live-and-xex-file-manager-for-xbox-360.11096/ , and near the end of the decoding process, I got the error: Unmatched secondary opcode 39 for primary 31
I checked the ISA and saw that opcode 39 corresponded to lvehx, so I modified the switch-case inside xenonInstructionDecoding.cpp to use EMIT(lvehx, VREG(b6), MEMREG0(b11,b16)). The process then continued fine, although I got a bunch of "decoded address value is outside range" warnings.
When I ran recompile on the output, I saw a few 'undeclared identifier' errors. In one of the generated files, TREG is used as an identifier but not declared anywhere.
Any ideas on what might be going on?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrRF648metsTgJJNhOz7UjGKUCbC_ks5stiJ5gaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
I'm also working on getting back the trace debugging to work (a little better this time with thread support) so it would be possible to inspect the history of the executable run (with every instruction and the results it produced). I've used in the past to find problems with great success.
On 18 October 2017 at 18:18, Tomek Jonarski tjonarski@gmail.com wrote:
I had serious merge problem once with Git, maybe that's the fallout :( I'm pretty sure most of the instructions are implemented - I decompiled big games like Assasin or HALO and got though the compilation. I downloaded the xex and will check.
On 18 October 2017 at 18:08, Sumit Tiwari notifications@github.com wrote:
I tried running decompile on the XEX for XEXMenu https://digiex.net/threads/xexmenu-1-1-download-xex-menu-iso-live-and-xex-file-manager-for-xbox-360.11096/ , and near the end of the decoding process, I got the error: Unmatched secondary opcode 39 for primary 31
I checked the ISA and saw that opcode 39 corresponded to lvehx, so I modified the switch-case inside xenonInstructionDecoding.cpp to use EMIT(lvehx, VREG(b6), MEMREG0(b11,b16)). The process then continued fine, although I got a bunch of "decoded address value is outside range" warnings.
When I ran recompile on the output, I saw a few 'undeclared identifier' errors. In one of the generated files, TREG is used as an identifier but not declared anywhere.
Any ideas on what might be going on?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrRF648metsTgJJNhOz7UjGKUCbC_ks5stiJ5gaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
-- Without order nothing can exist, without chaos nothing can evolve.
The fact that you can decompile huge games is highly impressive! I've only been trying small XBLA games for now, along with some homebrew I made or had lying around. I am sure this must be a merge issue then.
Did I emit the opcode correctly though? My knowledge of PPC ISA is hazy.
Yeah, merge issue. Check the file on the other branch. Good it will be an easy fix then :)
On 18 October 2017 at 18:29, Sumit Tiwari notifications@github.com wrote:
The fact that you can decompile huge games is highly impressive! I've only been trying small XBLA games for now, along with some homebrew I made or had lying around. I am sure this must be a merge issue then.
Did I emit the opcode correctly though? My knowledge of PPC ISA is hazy.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337649224, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBraP26jvsmZBmmcANN2eKveF6b6NFks5stieCgaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
There are only finite amount of instructions. Once you fix enough bugs eventually even the big executables compile. Then only problem is that it takes >30min and lots of RAM in case of the uber-optimized compilation mode. They still don't run though - mostly due to the missing API functions. It would be good to at least add stubs for the functions that return some sensible values (usually 0 or "true") but usually it's not that simple.
On 18 October 2017 at 18:30, Tomek Jonarski tjonarski@gmail.com wrote:
Yeah, merge issue. Check the file on the other branch. Good it will be an easy fix then :)
On 18 October 2017 at 18:29, Sumit Tiwari notifications@github.com wrote:
The fact that you can decompile huge games is highly impressive! I've only been trying small XBLA games for now, along with some homebrew I made or had lying around. I am sure this must be a merge issue then.
Did I emit the opcode correctly though? My knowledge of PPC ISA is hazy.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337649224, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBraP26jvsmZBmmcANN2eKveF6b6NFks5stieCgaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
-- Without order nothing can exist, without chaos nothing can evolve.
Yeah, the missing APIs are a pain to deal with. It' still a massive achievement though.
Oh, and thanks for adding XEXMenu to the bundled projects! 👍
It's possible to open the project for generated executable: it will be in projects\xenon.temp\default_xxx\cpp_msvc_debug\temp\code\autocode.vcxproj
It can be compiled and the errors usually point to some problem in xenonCPU.h. Just found two - one was actually an unimplemented instruction (vcfux). I use this document to write the implementations: http://moss.csc.ncsu.edu/~mueller/cluster/ps3/SDK3.0/docs/arch/vector_simd_pem_v_2.07c_26Oct2006_cell.pdf
On 18 October 2017 at 18:33, Tomek Jonarski tjonarski@gmail.com wrote:
There are only finite amount of instructions. Once you fix enough bugs eventually even the big executables compile. Then only problem is that it takes >30min and lots of RAM in case of the uber-optimized compilation mode. They still don't run though - mostly due to the missing API functions. It would be good to at least add stubs for the functions that return some sensible values (usually 0 or "true") but usually it's not that simple.
On 18 October 2017 at 18:30, Tomek Jonarski tjonarski@gmail.com wrote:
Yeah, merge issue. Check the file on the other branch. Good it will be an easy fix then :)
On 18 October 2017 at 18:29, Sumit Tiwari notifications@github.com wrote:
The fact that you can decompile huge games is highly impressive! I've only been trying small XBLA games for now, along with some homebrew I made or had lying around. I am sure this must be a merge issue then.
Did I emit the opcode correctly though? My knowledge of PPC ISA is hazy.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337649224, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBraP26jvsmZBmmcANN2eKveF6b6NFks5stieCgaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
-- Without order nothing can exist, without chaos nothing can evolve.
-- Without order nothing can exist, without chaos nothing can evolve.
OK. It fails on loading, requires CDROM to be mapped.
On 18 October 2017 at 18:41, Sumit Tiwari notifications@github.com wrote:
Closed #18 https://github.com/rexdex/recompiler/issues/18.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#event-1299477922, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrT6jJmYfEZd0VFfsIsCyHvxebOkgks5stipVgaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
But you were able to recompile it? I saw the changes on your other branch that you just merged - doesn't look like I did anything different than what you have for lvehx
, but I couldn't get past the recompilation.
I'll pull your other branch and give it a go.
Yes. It did recompiled.
Now it stubles on missing implementation of some api functions. I will look them up in the Xbox360 help files and add stubs. Should be relatively easy, unless there's a bigger dependency on something.
On 18 October 2017 at 18:50, Sumit Tiwari notifications@github.com wrote:
But you were able to recompile it? I saw the changes on your other branch that you just merged - doesn't look like I did anything different than what you have for lvehx, but I couldn't get past the recompilation.
I'll pull your other branch and give it a go.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337655183, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrW7u8n4eAVa7HBijKoreB6AdoD74ks5stixegaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
I am very curious to see what these functions are; would love to have a go at it and implement a few.
Warning: Image: Unimplemented import function 'XamEnumerate'. Crash possible. Warning: Image: Unimplemented import function 'XamContentCreateEx'. Crash possible. Warning: Image: Unimplemented import function 'XamContentClose'. Crash possible. Warning: Image: Unimplemented import function 'XamContentSetThumbnail'. Crash possible. Warning: Image: Unimplemented import function 'XamContentCreateEnumerator'. Crash possible. Warning: Image: Unimplemented import function 'XamShowSigninUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowKeyboardUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowDeviceSelectorUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowMessageBoxUI'. Crash possible. Warning: Image: Unimplemented import function 'XamLoaderLaunchTitle'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskShouldExit'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskCloseHandle'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskSchedule'. Crash possible. Warning: Image: Unimplemented import function 'XamNotifyCreateListener'. Crash possible. Warning: Image: Unimplemented import function 'XamUserGetSigninState'. Crash possible.
Got this from the run with -verbose
On 18 October 2017 at 18:55, Sumit Tiwari notifications@github.com wrote:
I am very curious to see what these functions are; would love to have a go at it and implement a few.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337656611, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrXLUngNb0C3Xzqu52ybxjO1isIvYks5sti2FgaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
Heh, the full list is longer :P
Warning: Image: Unimplemented import function 'XNotifyGetNext'. Crash possible. Warning: Image: Unimplemented import function 'XamEnumerate'. Crash possible. Warning: Image: Unimplemented import function 'XamContentCreateEx'. Crash possible. Warning: Image: Unimplemented import function 'XamContentClose'. Crash possible. Warning: Image: Unimplemented import function 'XamContentSetThumbnail'. Crash possible. Warning: Image: Unimplemented import function 'XamContentCreateEnumerator'. Crash possible. Warning: Image: Unimplemented import function 'XamShowSigninUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowKeyboardUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowDeviceSelectorUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowMessageBoxUI'. Crash possible. Warning: Image: Unimplemented import function 'XamLoaderLaunchTitle'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskShouldExit'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskCloseHandle'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskSchedule'. Crash possible. Warning: Image: Unimplemented import function 'XamNotifyCreateListener'. Crash possible. Warning: Image: Unimplemented import function 'XamUserGetSigninState'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_send'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_recv'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_select'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_accept'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_listen'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_connect'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_bind'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_getpeername'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_getsockname'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_setsockopt'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_ioctlsocket'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_closesocket'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_socket'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_WSACleanup'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_WSAStartup'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_XNetGetEthernetLinkStatus'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_XNetGetTitleXnAddr'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_XNetInAddrToString'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_XNetCleanup'. Crash possible. Warning: Image: Unimplemented import function 'XamGetSystemVersion'. Crash possible. Warning: Image: Unimplemented import function 'NetDll_XNetStartup'. Crash possible. Warning: Image: Unimplemented import function 'vsprintf'. Crash possible. Warning: Image: Unimplemented import function 'NtDeviceIoControlFile'. Crash possible. Warning: Image: Unimplemented import function 'RtlCompareStringN'. Crash possible. Warning: Image: Unimplemented import function 'XexLoadImageHeaders'. Crash possible. Warning: Image: Unimplemented import function '_snprintf'. Crash possible. Warning: Image: Unimplemented import function 'StfsControlDevice'. Crash possible. Warning: Image: Unimplemented import function 'StfsCreateDevice'. Crash possible. Warning: Image: Unimplemented import function 'XeKeysConsoleSignatureVerification'. Crash possible. Warning: Image: Unimplemented import function 'XeKeysConsolePrivateKeySign'. Crash possible. Warning: Image: Unimplemented import function 'IoDismountVolume'. Crash possible. Warning: Image: Unimplemented import function 'RtlTimeToTimeFields'. Crash possible. Warning: Image: Unimplemented import function 'RtlTimeFieldsToTime'. Crash possible. Warning: Image: Unimplemented import function 'IoInvalidDeviceRequest'. Crash possible. Warning: Image: Unimplemented import function 'ObReferenceObject'. Crash possible. Warning: Image: Unimplemented import function 'IoCreateDevice'. Crash possible. Warning: Image: Unimplemented import function 'IoDeleteDevice'. Crash possible. Warning: Image: Unimplemented import function 'ExAllocatePoolTypeWithTag'. Crash possible. Warning: Image: Unimplemented import function 'IoCompleteRequest'. Crash possible. Warning: Image: Unimplemented import function 'RtlUpcaseUnicodeChar'. Crash possible. Warning: Image: Unimplemented import function 'ObIsTitleObject'. Crash possible. Warning: Image: Unimplemented import function 'IoCheckShareAccess'. Crash possible. Warning: Image: Unimplemented import function 'IoSetShareAccess'. Crash possible. Warning: Image: Unimplemented import function 'IoRemoveShareAccess'. Crash possible. Warning: Image: Unimplemented import function 'IoDismountVolumeByFileHandle'. Crash possible. Warning: Image: Unimplemented import function 'ExAllocatePool'. Crash possible. Warning: Image: Unimplemented import function 'ExFreePool'. Crash possible. Warning: Image: Unimplemented import function 'HalSendSMCMessage'. Crash possible. Warning: Image: Unimplemented import function 'XexGetModuleHandle'. Crash possible. Warning: Image: Unimplemented import function 'XexGetProcedureAddress'. Crash possible. Warning: Image: Unimplemented import function 'XeCryptSha'. Crash possible. Warning: Image: Unimplemented import function '_vswprintf'. Crash possible. Warning: Image: Unimplemented import function '_vscwprintf'. Crash possible. Warning: Image: Unimplemented import function '_swprintf'. Crash possible. Warning: Image: Unimplemented import function '_snwprintf'. Crash possible. Warning: Image: Unimplemented import function 'XexGetModuleSection'. Crash possible. Warning: Image: Unimplemented import function 'XeCryptBnQwBeSigVerify'. Crash possible. Warning: Image: Unimplemented import function 'XeKeysGetKey'. Crash possible. Warning: Image: Unimplemented import function 'XeCryptRotSumSha'. Crash possible. Warning: Image: Unimplemented import function 'RtlCaptureContext'. Crash possible. Warning: Image: Unimplemented import function 'RtlTryEnterCriticalSection'. Crash possible. Warning: Image: Unimplemented import function 'XAudioGetVoiceCategoryVolume'. Crash possible. Warning: Image: Unimplemented import function 'MmMapIoSpace'. Crash possible. Warning: Image: Unimplemented import function 'XMACreateContext'. Crash possible. Warning: Image: Unimplemented import function 'XMAReleaseContext'. Crash possible. Warning: Image: Unimplemented import function 'XAudioSubmitRenderDriverFrame'. Crash possible. Warning: Image: Unimplemented import function 'XAudioUnregisterRenderDriverClient'. Crash possible. Warning: Image: Unimplemented import function 'XAudioRegisterRenderDriverClient'. Crash possible. Warning: Image: Unimplemented import function 'XAudioGetSpeakerConfig'. Crash possible.
On 18 October 2017 at 18:56, Tomek Jonarski tjonarski@gmail.com wrote:
Warning: Image: Unimplemented import function 'XamEnumerate'. Crash possible. Warning: Image: Unimplemented import function 'XamContentCreateEx'. Crash possible. Warning: Image: Unimplemented import function 'XamContentClose'. Crash possible. Warning: Image: Unimplemented import function 'XamContentSetThumbnail'. Crash possible. Warning: Image: Unimplemented import function 'XamContentCreateEnumerator'. Crash possible. Warning: Image: Unimplemented import function 'XamShowSigninUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowKeyboardUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowDeviceSelectorUI'. Crash possible. Warning: Image: Unimplemented import function 'XamShowMessageBoxUI'. Crash possible. Warning: Image: Unimplemented import function 'XamLoaderLaunchTitle'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskShouldExit'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskCloseHandle'. Crash possible. Warning: Image: Unimplemented import function 'XamTaskSchedule'. Crash possible. Warning: Image: Unimplemented import function 'XamNotifyCreateListener'. Crash possible. Warning: Image: Unimplemented import function 'XamUserGetSigninState'. Crash possible.
Got this from the run with -verbose
On 18 October 2017 at 18:55, Sumit Tiwari notifications@github.com wrote:
I am very curious to see what these functions are; would love to have a go at it and implement a few.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337656611, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrXLUngNb0C3Xzqu52ybxjO1isIvYks5sti2FgaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
-- Without order nothing can exist, without chaos nothing can evolve.
Yeah, I just grabbed your latest changes and got through recompilation - I get the same result. That's a long list, but we can do it!
Yeah, i've added empty file with some stubs.
As susspected, most of the functions will do fine with "return 0;". For now.
But some dont:
Warning: Visited empty function 'XboxXam_XamNotifyCreateListener' Exception thrown: read access violation. func was 0xFFFFFFFFFFFFFFFF.
In that case, usually some kind more elaborate stub needs to be created. Do you have access to original help files from Xbox360 ?
On 18 October 2017 at 18:59, Sumit Tiwari notifications@github.com wrote:
Yeah, I just grabbed your latest changes and got through recompilation - I get the same result. That's a long list, but we can do it!
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337657756, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrRErYL25i9zjvF2-t24giPrwJ7SUks5sti50gaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
Yay, gets to the point:
Warning: Visited empty function 'XboxXam_XamUserGetSigninState' Warning: Visited empty function 'XboxXam_XamUserGetSigninState' Warning: Visited empty function 'XboxXam_XamUserGetSigninState' Warning: Visited empty function 'XboxXam_XamUserGetSigninState' Log: XamInputGetState(0, 00000001, 5FFFFA90) Log: XamInputGetCapabilities(0, 00000001, 8330EA14) Log: XamInputGetState(1, 00000001, 5FFFFA90) Log: XamInputGetState(2, 00000001, 5FFFFA90) Log: XamInputGetState(3, 00000001, 5FFFFA90) Warning: Visited empty function 'XboxXam_XamShowSigninUI'
Looks like that making a proper stubs for the user system would get us further.
On 18 October 2017 at 19:08, Tomek Jonarski tjonarski@gmail.com wrote:
Yeah, i've added empty file with some stubs.
As susspected, most of the functions will do fine with "return 0;". For now.
But some dont:
Warning: Visited empty function 'XboxXam_XamNotifyCreateListener' Exception thrown: read access violation. func was 0xFFFFFFFFFFFFFFFF.
In that case, usually some kind more elaborate stub needs to be created. Do you have access to original help files from Xbox360 ?
On 18 October 2017 at 18:59, Sumit Tiwari notifications@github.com wrote:
Yeah, I just grabbed your latest changes and got through recompilation - I get the same result. That's a long list, but we can do it!
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337657756, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrRErYL25i9zjvF2-t24giPrwJ7SUks5sti50gaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
-- Without order nothing can exist, without chaos nothing can evolve.
I agree. I don't have access to the original help files, but are those hard to find on the internet as well?
I can work on some of the stubs if you don't mind.
Yeah, I did the XamEvent for now and moved to user. You can start from the other end - audio stubs (just so it's there, RETURN_DEFAULT() is the good implementation for now). And the network ones. This one probably will be also ok with some sensible default return values.
The User one is shitty as I see that I need to emulate a proper "user" with attributes and such :(
I've wrote you an private email on the address you list in your github account regarding the help files. I don't think they are publicly available.
On 18 October 2017 at 20:22, Sumit Tiwari notifications@github.com wrote:
I agree. I don't have access to the original help files, but are those hard to find on the internet as well?
I can work on some of the stubs if you don't mind.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/18#issuecomment-337683196, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBra2fVvU49KmrWThch9mfsbIWSJBoks5stkHigaJpZM4P99uD .
-- Without order nothing can exist, without chaos nothing can evolve.
I've wrote you an private email on the address you list in your github account regarding the help files. I don't think they are publicly available.
That's really helpful, thanks!
The User one is shitty as I see that I need to emulate a proper "user" with attributes and such :(
I personally don't know much about that part but back in the 360 days when I was writing homebrew I was able to find a few resources online about it. Let me see if I can find them.
Did anything come of this project? It would be groundbreaking to have some sort of XeXMenu source files.
I was working for Microsoft for a while after I did this project and I have to suspend it so I didn't post any updates. That's all I can write :(
I was working for Microsoft for a while after I did this project and I have to suspend it so I didn't post any updates. That's all I can write :(
Would you be willing to talk about this in private?
Email: pablo67340@gmail.com Discord: Bryce#0001
I tried running
decompile
on the XEX for XEXMenu , and near the end of the decoding process, I got the error:Unmatched secondary opcode 39 for primary 31
I checked the ISA and saw that opcode 39 corresponded to
lvehx
, so I modified the switch-case insidexenonInstructionDecoding.cpp
to useEMIT(lvehx, VREG(b6), MEMREG0(b11,b16))
. The process then continued fine, although I got a bunch of "decoded address value is outside range" warnings.When I ran
recompile
on the output, I saw a few 'undeclared identifier' errors. In one of the generated files,TREG
is used as an identifier but not declared anywhere.Any ideas on what might be going on?