• 0 Posts
  • 94 Comments
Joined 2 years ago
cake
Cake day: December 31st, 2023

help-circle
  • You’ve shifted the problem of corruption from the cops to the programmers

    Unless you make their code open source, but even then, there’s still a person/entity responsible for managing the code

    Computers aren’t divorced from human biases. They do exactly what you’ve told them to do, even if you didn’t intend for the exact outcome.

    There’s no “do the right thing” instruction. You have to mathematically define what “the right thing” is as a series of numerical instructions














  • Source code is just text with special grammar rules, that’s easy for a human to read and think about. But it’s not possible for a computer to execute source code directly.

    So it’s run through a “compiler”, which takes the text and compiles it into binary machine code (x86 Assembly). This is what gets written to the CD and shipped

    “decompilation” is the process of starting from the raw machine code, and trying to figure out what source code text could have generated that machine code.

    Typically you use a tool that can do an initial decomp pass, but since it’s missing a lot of context, the resulting text is generally incomprehensible (and may not even fully compile). Variable x123ieh48hdc could be Link’s velocity, the currently loaded map, or it could be a temporary scratch variable

    The real challenge to decomp is figuring out which incomprehensible variable and function names actually correspond to in-game

    (Note, usually “100% decomp” means they’ve fully translated machine code to source code. But there may still be large parts of the source code that remain incomprehensible. Ocarina of Time decomp still has sections like this)


    The reason this is exciting, is because the source code is much easier to modify. So having 100% of the game in source code means you can do fancy things like PC source ports (even if some of the code remains incomprehensible, though i imagine that makes it more difficult)