Live data from Hacker News

Xbox360 –> Windows Executable Converter (2017)

github.com

41–50 of 57 posts

Re: Xbox360 –> Windows Executable Converter (2017)

#41
post #38

Earlier quoted context omitted.

Much less lossy than you probably would think if you've never dug through what your typical compiler outputs. There usually aren't that many ways to interpret the assembly and it doesn't matter whether it generates different assembly as long as it does the same thing. The typical code generator for a compiler uses all kinds of boilerplate for common constructs (loops, function calls, data access) and once you know ab…

Hmm, that's interesting, thanks Jaques.

np

Optimizing compilers can make this quite a bit harder by the way, extra passes that do all kinds of reshuffling to get rid of instructions, to combine them and to move things from memory into registers.

You can usually tell compilers to output assembly code, doing that for a program that you wrote yourself is a good exercise to see how your high level code translates into lower level code. And with optimization off all you see is the code generator's output.

Re: Xbox360 –> Windows Executable Converter (2017)

#43
post #18

Earlier quoted context omitted.

The main README explains their approach. It disassembles PPC, generates equivalent C++ and compiles that into the target ISA (amd64).

Is it not completely crazy that this is even possible? This sounds like wizardry to me.

In addition to the examples other commenters have given, it’s also how Rosetta 2 works to translate x86_64 to arm64 for supporting Intel binaries on M1/M2 Macs

Re: Xbox360 –> Windows Executable Converter (2017)

#44
post #35

Is it HN’s gaming emulators day? 4 posts in the last 12 hours regarding emulators. Xbox360 –> Windows Executable Converter (2017) https://news.ycombinator.com/item?id=36705223 The Simpsons Hit and Run leaked source code https://news.ycombinator.com/item?id=36703711 PCSX2 is an open source PS2 Emulator https://news.ycombinator.com/item?id=36702084 Xenia: Xbox 360 Emulator https://news.ycombinator.com/item?id=36702731

I look forward to the HN discussions of Citra and CEMU.

Re: Xbox360 –> Windows Executable Converter (2017)

#45
post #35

Is it HN’s gaming emulators day? 4 posts in the last 12 hours regarding emulators. Xbox360 –> Windows Executable Converter (2017) https://news.ycombinator.com/item?id=36705223 The Simpsons Hit and Run leaked source code https://news.ycombinator.com/item?id=36703711 PCSX2 is an open source PS2 Emulator https://news.ycombinator.com/item?id=36702084 Xenia: Xbox 360 Emulator https://news.ycombinator.com/item?id=36702731

I'm guessing it's somewhat related to the recent news about emulators on the Xbox consoles.

Re: Xbox360 –> Windows Executable Converter (2017)

#47
post #17

Earlier quoted context omitted.

At this point, is it still worth it to post these manually? Checking all post submissions, keeping only the ones with sufficient engagement, and a little summary line "7 other submissions ignored, the oldest dating from Oct 2018" Maybe I'm too lazy, but that really sounds like something I would let a computer automatically do.

Technologically the task can be automated by scraping each submission when it’s submitted, calculate the sentence embeddings of the article, and compare the new submissions with other embeddings. However, that’s how you become a Facebook style social network with “more you might like” and whatnot.

I agree, hn clearly stays minimal on purpose, which is why I put the last disclaimer line.

>with “more you might like”

In itself that's a very good feature, it becomes a problem with a host of other patterns to transform discoverability into addiction. Most often these 'bad recommendations' are high engagement content (controversial, or low-value but high attractiveness clickbait) that are purposefully known by the platform to only be tangentially related to the content, if at all.

Re: Xbox360 –> Windows Executable Converter (2017)

#48
post #38

Earlier quoted context omitted.

Hmm, that's interesting, thanks Jaques.

np Optimizing compilers can make this quite a bit harder by the way, extra passes that do all kinds of reshuffling to get rid of instructions, to combine them and to move things from memory into registers. You can usually tell compilers to output assembly code, doing that for a program that you wrote yourself is a good exercise to see how your high level code translates into lower level code. And with optimization of…

Yeah this is where you start to see decompilers outputting C code that just looks like assembler written out as C. There was one I used to use years ago - can't remember the name, some odd commercial thing from one of the many commercial C products that never really took off - that would do a good job *mostly* but at some point start outputting blocks of code with lots of `register` variables in, and you knew it had gone out to lunch on that bit.

Re: Xbox360 –> Windows Executable Converter (2017)

#49
post #35

Is it HN’s gaming emulators day? 4 posts in the last 12 hours regarding emulators. Xbox360 –> Windows Executable Converter (2017) https://news.ycombinator.com/item?id=36705223 The Simpsons Hit and Run leaked source code https://news.ycombinator.com/item?id=36703711 PCSX2 is an open source PS2 Emulator https://news.ycombinator.com/item?id=36702084 Xenia: Xbox 360 Emulator https://news.ycombinator.com/item?id=36702731

Also in the last day:

RPCS3 – Open Source Playstation 3 Emulator https://news.ycombinator.com/item?id=36690498

Re: Xbox360 –> Windows Executable Converter (2017)

#50

Earlier quoted context omitted.

The point is that it's still HLEing all of the imports (like CXBX). Just going the extra mile and full system emulating pays massive dividends. No, it's not close enough to Windows in super subtle ways, so don't take the bait of the import names being the same.

> The point is that it's still HLEing all of the imports (like CXBX). You have a fundamental misunderstanding here. HLE in the style that CXBX does it is not possible for 360 games as every userland library is static linked and LTCG is enabled by default (maybe required for MS cert?) for release builds. Nearly everything is inlined and impossible to replace with calls to matching windows APIs as a result. Xenia and r…

On original Xbox even more libraries are statically linked than 360 (they had nothing like xam.xex) and heavily inlined even without LTO because the code style at the time heavily used C macros.
Post reply on HN