Always nice to see another game decompiled like this. It's a big deal as far as laying the groundwork for possible ports to PC and other consoles is concerned, and will probably aid modders quite a bit.

If anyone needs a full list of these projects (which includes this one), there's a pretty good selection here:

https://decomp.dev/projects

Though these may have a few they missed:

https://readonlymemo.com/decompilation-projects-and-n64-reco...

https://github.com/CharlotteCross1998/awesome-game-decompila...

I'm the author of ghidra-delinker-extension and these are not full lists of these projects. Here are some public projects that I'm aware of which aren't listed:

- Moon Lights 2: https://github.com/Armonte/ml2decomp

- F-15 Strike Eagle II: https://github.com/neuviemeporte/f15se2-re

I've also been in discussion with people working on decompilation projects which are private. I won't share details, but it includes both well-known games and recent games (as in, built with link time optimizations).

The decompilation community is quite decentralized, with lots of Discord servers specific to one platform or a series of games. In the case of Windows it's also heavily fragmented, as there is no equivalent to community-standard tooling like splat or dtk-decomp for that platform, although my Ghidra extension has carved itself a niche in it.

Sorry to ask this, but are there any discord links you can share?

I'd rather not post invite links here directly out of concern for spamming, but I can leave some easy-to-follow breadcrumbs.

The decomp.me Discord server invite link can be readily found on that website and in the README of its GitHub repository. It's the closest thing to a central hub of the decompilation community. You can find some invite links in its chat history by searching for "discord.gg" (including the servers listed below).

Some of these Discord servers have a #other-servers or #related-servers channel with tons of invite links to other similar Discord servers. In particular, these servers have those channels:

- PS1/PS2 Decompilation

- GC/Wii Decompilation

That way, you should be able to find dozens and dozens of Discord servers on that topic. There are still many more out there (I've joined at least six others that aren't directly reachable from the invite links inside the servers I've mentioned).

There are also other Discord servers about reverse-engineering that can contain discussions about decompilation techniques or projects.

I mostly don't use Discord, but I'm intrigued how this system works. If the invite link is already posted on the project website and the readme of a Github repository, why would putting it in a Hacker News comment risk spammers?

First, because personally I think it's bad etiquette to post an invite link publicly on large, open-access forums like Hacker News.

Second, because while the biggest decompilation Discord servers have effective moderation team and processes, the vast majority are just a server for a project from one or a couple of persons with <100 members joined. Such small servers don't have round-the-clock moderation or customized settings.

Third, because I regularly see phishing crypto spam posted in the smaller servers. Spreading invite links publicly carelessly increases the odds that these scammers find them and spam them.

The part I don't understand is how posting the link on HN is different from posting it on Github. I'm wondering for example if Github has some sort of extra bot protection HN does not, or if there's some cultural difference I'm not aware of or seeing.

Discord servers are more like a hangout place than a public forum and public invite links are like putting a key under a mat. Just because the owners of a Discord server put it on their public webpage or GitHub repository doesn't mean it's cool to spread it around willy-nilly.

There are also practical concerns. An invite link that needs to be deleted (for example due to spam abuse) means that it will no longer work. Updating all the places where that old link appeared to the new one can be impractical or impossible.

Thanks a lot!

HN isn't a good place to share Discord invite links. I'd recommend putting an email address (or something) in your bio – ideally one you don't mind getting spammed – so people can send such things to you semi-privately.

I've been experimenting with AI in this space myself. Don't believe any of my projects are listed there but I posted an article some days back where I showcased static recompilers all playing at least one commercial game for the NES, SNES, Sega Genesis, Virtual Boy and Playstation. I actually just announced a playable build of Megaman X today that eliminates all its slowdowns.

Whether the broader communities will accept any of my work remains to be seek given the heavy correlation to those communities and anti AI sentiment.

given the heavy correlation to those communities and anti AI sentiment.

I've noticed the anti-AI sentiment is starting to die down. People are slowly realising that, along with the voluminous amounts of slop, there are others who have been able to leverage AI with much success.

> I've noticed the anti-AI sentiment is starting to die down.

I've noticed the opposite. Seems that it depends on where you're looking and what you're looking for.

You say that, but just today I showcased my Megaman X Recomp on a Megaman subreddit. I got harassed by a drive-by anti-AI cabal and then the moderators of the subreddit removed my submission after I reported the harassment, citing that AI was involved, and AI is theft.

One bizarre related thing I've noticed is often you will find people who otherwise seem ok with people violating the copyright and other various licenses by "decompiling" a game, but as soon as AI is involved suddenly it's a big controversial ethical issue... as if totally violating the authors rights is a minor inconvenience.

"AI is theft" --- just like every human who reads a book borrowed from the library or consumed any other media in their lives?

Reddit has a few pro-AI subreddits too, so you might find a better audience there.

Libraries purchase books. One for every book they loan out at a time, digitally or physically.

The most recent noteworthy counter-example is archive.org breaching their "one purchase = one concurrent loan" limit during COVID, and they lost that court battle.

If you're equating libraries to LLMs, then every leading-model company would have purchased ~every book, newspaper, movie, and song in existence at least once. They have not.

Many national libraries receive copies of “every” book published in the covered country. They don’t have to buy them.

https://en.wikipedia.org/wiki/National_library

Because libraries predate copyright and publishers and all the industry behind it. If libraries were to be invented nowadays, they won't let them purchase a single physical book to be enjoyed by several different physical persons over the course of time. What the publishing industry would like to have is 1 physical person = 1 or more physical copies, not the other way round.

Yeah, I may give a whirl to those subreddits, but it does really show the dissonance between a sect's visceral hatred of AI relative to their interests when they're rejecting the progress of a game on the game's own franchise's subreddit.

big reason why i stopped using reddit

I've been off-and-on again. I stopped using it for years. I begrudgingly began using it again as I founded a private game server (before AI was viable, even, so it wasn't sued) for a game that shutdown a few years ago. Perhaps hilariously, the moderators there also didn't like me and told me to eat shit when I suggested people start doing packet captures. At least they warmed up to me over the years though and actually endorse the project now. Doesn't make the rest of the website any less of a cesspool though.

[dead]

That's a pretty valid viewpoint, honestly. Unless the AI is open weights and free of charge it's using human effort that nobody paid for to do a commercial thing.

I would make the argument that open weights models are ethically still maybe questionable, but at least it's making the output a public good

The counterpoint is that every company ever has based themselves on human effort they never paid for (usually). The entire scientific endeavour for example. Standing on the shoulders of giants and so on.

Depends on the community. From my experience, the modding scenes for certain more recent games seem abivalent about it, or more willing to tolerate it, while the communities for modding older games tend to be more heavily against it.

For example, when a Paper Mario decomp/port used AI, the subreddit for the series pretty much tore it to shreds for that. Mario fan communities in general tend to be really heavily against it, with Mario Fan Games Galaxy, SMW Central, and SMBX having rules which are basically "no AI allowed for submissions ever".

Meanwhile my experience on sites like ROM Hacking.net is that AI is more accepted/tolerated there.

So, it's very much a series by series thing. Best to check what the Mega Man community thinks of LLMs before you post it.

That page absolutely fills me with hope. I don't see some of my cherished childhood games in there. I should start a decompilation project for them...

Any idea if there's a place where we can request games for decompilation?

I see that one for Burnout Paradise is in the works, but I would love one for Burnout Revenge.

When people work for an insanely difficult project for more than 2 years, they probably pick something they personally love and don't need any external request.

As someone who reverse engineers games for fun and preservation, I would personally be more than happy to take an external request. With compensation, of course. Maybe not so much if it's the "do hundreds to thousands of hours of highly specialised labour for free" kind of request :)

What is the current SOTA in terms of tools? How are these tools being used with LLMs to speed up decompilation?

My current wishlist is to decomp Elite CGA version (tiny x86 binary) back into assembler and annotating all the method names, vars etc. That way I could swap out some of the inner loop using knowledge that has been uncovered in the last 40 years of optimizations.

These models are getting crazy good at examining things like core dumps and disassembly. I've been using an agent to write compiler logic, and its amazing the kind results you can get by having the agent examine the raw binary outputs. I would not be surprised to see agents excel at identifying and labeling patterns for decompilation.

I transcribed several pieces from a public-domain orchestral score of Swan Lake and uploaded them to Musescore's web site. This would have been ~dozens of hours of work. (For me, starting with almost no relevant training.)

I did this because those particular pieces were significant to me.

But I attracted the attention of another user who wanted to see more public-domain orchestral music on the site, and who contacted me to ask if I was planning to do the entire ballet (no; it's about 600 pages) and if I would take requests.

I responded that I was happy to take requests but wouldn't guarantee that I'd do any work on them. He requested Tchaikovsky's Italian Capriccio, which was a decent guess as to what I might be willing to transcribe (it's the same author)... but I looked into it, listened to the music, and just couldn't muster the enthusiasm to keep working on it.

So yeah, a request might work, but it's only likely to work if you happen to make an excellent guess about what the person would have wanted to do anyway. Think of it like drawing someone's attention to something.

[dead]