rexdex / recompiler

Xbox360 -> Windows executable converter
MIT License
1.64k stars 81 forks source link

Implement extended opcode LVEHX correctly #18

Closed sumit0190 closed 6 years ago

sumit0190 commented 6 years ago

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 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?

rexdex commented 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.

rexdex commented 6 years ago

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.

sumit0190 commented 6 years ago

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.

rexdex commented 6 years ago

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.

rexdex commented 6 years ago

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.

sumit0190 commented 6 years ago

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! 👍

rexdex commented 6 years ago

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.

rexdex commented 6 years ago

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.

sumit0190 commented 6 years ago

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.

rexdex commented 6 years ago

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.

sumit0190 commented 6 years ago

I am very curious to see what these functions are; would love to have a go at it and implement a few.

rexdex commented 6 years ago

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.

rexdex commented 6 years ago

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.

sumit0190 commented 6 years ago

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!

rexdex commented 6 years ago

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.

rexdex commented 6 years ago

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.

sumit0190 commented 6 years ago

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.

rexdex commented 6 years ago

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.

sumit0190 commented 6 years ago

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.

pablo67340 commented 4 years ago

Did anything come of this project? It would be groundbreaking to have some sort of XeXMenu source files.

rexdex commented 4 years ago

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 :(

pablo67340 commented 4 years ago

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