HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
n64decomp
sm64
C2019–2024
n64decomp / sm64

sm64

A Super Mario 64 decompilation, brought to you by a bunch of clever folks.

21Distinct people
23Mentions
0Explicit recommenders
9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A Super Mario 64 decompilation, brought to you by a bunch of clever folks.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:01:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year23 dated mentions

Observed mentions: 2019-08-25 12:42:05 UTC to 2024-04-18 14:54:33 UTC.

02462019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 3 submissions, 2 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC532
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC413
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC606
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303

What Hacker News says

6 sources
It sounds like, rather than a ground-up rewrite, COBOL should be treated as an object-code language, and "hand-decompiled" (ala efforts like https://github.com/n64decomp/sm64) into an HLL that can, at every point, be losslessly transpiled back into the original COBOL. I know the tooling for doing that doesn't currently exist... but paying someone to develop it would be cheaper than any one of these ground-up rewrite projects!
In How popular is COBOL?
All nostalgia aside, TIL that superfans reverse engineered "Space Cadet" from binary code [1] the same way they did Mario 64 [2]. Not only that, they've ported the result to use SDL and execute in the browser under Emscripten. A super-impressive technical accomplishment with a beautifully tangible result, wow! My favorite bit - the reverse engineering process seems to have fixed the 64-bit bug Raymond Chen blogged about [3] > I did not find it, decompiled game worked in x64 mode on the first try. > It was either lost in decompilation or introduced in x64 port/not present in x86 build. > Based on public description of the bug (no ball collision), I guess that the bug was in TEdgeManager::TestGridBox [1] https://github.com/k4zmu2a/SpaceCadetPinball. [2] https://github.com/n64decomp/sm64 [3] https://devblogs.microsoft.com/oldnewthing/202201
Read the rest
In Play Windows Pinball (Space Cadet) on the Web
> The level of snark here is outstanding. [...] 'smelling the grass' I thought his snark wasn't too off the charts in this video. I'd bet it's more a cultural thing. If you were working on the N64, you're probably like two decades above Kaze's target audience for his youtube videos haha. Like, he said that you can either be a weirdo who spends all day optimizing nearly 30 year old source code, or someone who "touches grass"[1]. He, of course, was referencing his own lack of life, not Nintendo's programmers. But, you'd have to pretty familiar with current online memes and insults to get his joke. > I have not seen the Mario 64 source but I imagine some of the lowest level code was written in mips assembly but has been decompiled into C. No, we only decompiled C code back into C code. The decompilation matches 1 to 1 with the released ROM i
Read the rest
mages.[2] iirc, the only, non-libultra ASM code was the decompressor[3]. The C code was pretty obvious due to "wonders" of IDO -O0 optimization. We were forced to get surprisingly close to what Nintendo wrote. We were stuck with an `f32 [3]` 3-vec instead of a `struct`... > I suspect the debug flags in gameplay code were to avoid compiler bugs. As far as we could tell, this wasn't an issue. IDO 5.3 had no issues that we could find when compiling at -O2, but then again it was decompiled code. I personally subscribe to the '-O2 -g' IDO meme, but Giles Goddard thought it was out of fear of the unknown. So, I'd trust him. We had the `mulmul` patch for IDO. I don't know the chronology for the release of that patch to devs, though. We also haven't been able to find any N64s that have the mulmul issue. > An NTSC tv runs at 60Hz, you either hit 60fps or 30fps, anything in-between results in horrible tearing of the screen or your frames bounce between 60 and 30 and movement feels horrific. I wonder what Kaze is doing. I know that there was work on a variable framerate mod/revamp for SM64. I'd guess it'd be outputting at the N64's 60 fps mode with duplicated frames, but you'd have much better luck asking one of the modders/coders who were working on that a couple years ago. ---------- [1] which is Twitter's insult du jour: https://knowyourmeme.com/memes/touch-grass [2] https://github.com/n64decomp/sm64 [3] https://github.com/n64decomp/sm64/blob/master/asm/decompress...
In Overhauling Mario 64's code to reach 30 FPS and render 6x faster on N64 [video]
From what I understand he used Mario 64 decomp code. The game was reverse engineered as 1-1 compilable to the original rom. [1]:https://github.com/n64decomp/sm64 Fun fact: The people who did this moved on to Zelda 64 Ocarina of time and recently completed that project as well [2]:https://zelda64.dev/ There are ongoing projects by other people for Mario Kart 64, Goldeneye, Perfect-Dark, Banjo-Kazooie and others although I think the next target for completion may probably be either Majora's Mask or The Minish Cap.
In Overhauling Mario 64's code to reach 30 FPS and render 6x faster on N64 [video]
Before reading the paper: is "verified lifting" kind of like "deterministic decompilation" — where you ensure, with every modification to the generated HLL source, that it continues to compile back into the original LL object code? (See e.g. the Mario 64 decompilation — https://github.com/n64decomp/sm64 — , whose reverse-engineering process at all times kept a source tree that could build the original byte-identical ROMs of the games, despite being increasingly [manually] rewritten in an HLL.)
In A new programming language for high-performance computers

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.