The small one in comparison to the ribosome large subunit.
Written in C#.
OMG, both of those just fucking work on Ubuntu 20.04 with README instructions, it is unbelievable, those people don't have lives. And it builds the ROM byte by byte equal from source!
There are a few different versions:
- github.com/n64decomp/sm64 for emulator (i.e. or real hardware), tested at 9214dddabcce4723d9b6cda2ebccbac209f6447d
- github.com/sm64-port/sm64-port Ubuntu native, tested at 6b47859f757a40096fedd6237f2bc3573d0bc2a4Full screen with F10.
- github.com/sm64pc/sm64ex: fork of sm64-port, untested by Ciro Santilli, but more new amazing usability features, notably:Also reported to work on ARM: www.reddit.com/r/linux/comments/ityg6w/pinephone_playing_super_mario_64_30fps/They also ported to browser with Emscripten: github.com/sm64pc/sm64ex/wiki/Compiling-for-the-web
Tested with the USA ROM at sha1sum 9bef1128717f958171a4afac3ed78ee2bb4e86ce (you need a ROM to extract assets, which the project automates), which is also documented in the project itself: github.com/sm64-port/sm64-port/blob/6b47859f757a40096fedd6237f2bc3573d0bc2a4/sm64.us.sha1. Disclaimer: Ciro Santilli owns a copy of Super Mario 64.
The only dependency missing from Ubuntu packages is the IRIX QEMU user mode which they need for their tooling. The project also has a QEMU fork for that, and provide a working deb.
From this project it was also noticed that certain ROM releases were not compiled with optimizations enabled, presumably because as a release title the compiler had optimization bugs! www.resetera.com/threads/so-apparently-the-ntsc-build-of-mario-64-didnt-use-any-compiler-optimizations.166277/ But now they do have a working compiler, and by turning that switch FPS increases in certain levels!!!
Some quick stupid patches:
- jump really high:
diff --git a/src/game/mario.c b/src/game/mario.c index 5b103fa..83c9f40 100644 --- a/src/game/mario.c +++ b/src/game/mario.c @@ -826,7 +826,7 @@ static u32 set_mario_action_airborne(struct MarioState *m, u32 action, u32 actio case ACT_JUMP: case ACT_HOLD_JUMP: m->marioObj->header.gfx.unk38.animID = -1; - set_mario_y_vel_based_on_fspeed(m, 42.0f, 0.25f); + set_mario_y_vel_based_on_fspeed(m, 200.0f, 0.25f); m->forwardVel *= 0.8f; break;
Interesting entry points:
src/game/game_init.c
TODO: enable the level select debug feature! tcrf.net/Super_Mario_64_(Nintendo_64)/Debug_Content#Classic_Debug_Display They actually shipped quite a few debug features into the retail game, and they have been reversed too. I tried this but it didn't work (or I don't know how to enable the level select menu):
diff --git a/src/game/main.c b/src/game/main.c
index 9e53e50..b7443a8 100644
--- a/src/game/main.c
+++ b/src/game/main.c
@@ -65,7 +65,7 @@ s8 sAudioEnabled = 1;
u32 sNumVblanks = 0;
s8 gResetTimer = 0;
s8 D_8032C648 = 0;
-s8 gDebugLevelSelect = 0;
+s8 gDebugLevelSelect = 1;
s8 D_8032C650 = 0;
s8 gShowProfiler = FALSE;
The
enhancements/
folder contains a few sample patches.Screenshot of mupen64Plus running on Ubuntu 20.04 emulating Super Mario 64 with the title screen hacked by Ciro Santilli based on the Super Mario 64 reverse engineering project
. The title was on a string, so the hack was trivial! The patch used was:diff --git a/include/text_strings.h.in b/include/text_strings.h.in
index 749179b..626f87e 100644
--- a/include/text_strings.h.in
+++ b/include/text_strings.h.in
@@ -131,7 +131,7 @@
*/
// Main Screens
#define TEXT_MARIO _("MARIO") // View Score Menu
-#define TEXT_SELECT_FILE _("SELECT FILE")
+#define TEXT_SELECT_FILE _("HACKED BY CIRO")
#define TEXT_CHECK_FILE _("CHECK FILE")
#define TEXT_COPY_FILE _("COPY FILE")
#define TEXT_ERASE_FILE _("ERASE FILE")
Some tutorials of hacking it:
- www.youtube.com/watch?v=Jkb7Naczoww SM64 Decomp Tutorial 1: Setting Up and First Code Changes by Bitlytic (2021)
- www.youtube.com/watch?v=IuIpqX4neWg Rovert Decomp Tech Demo by Rovert (2019) Metal cap makes Mario huge.
- www.youtube.com/watch?v=5aG1Iyjo20w Is it Possible to Beat Super Mario 64 as Tiny Mario? (Mini Mario Challenge) coverts the obvious make Mario huge/tiny hack. Huge mario verion: www.youtube.com/watch?v=pR_gol6zlIo. There was a pre-decompilation ROM hack doing that trivial change already: Tiny Huge Mario 64. Sample tool-assisted speedrun: www.youtube.com/watch?v=C7BjzZ_Nkk0
FIXING the ENTIRE SM64 Source Code by Kaze Emanuar (2022)
Source. Now that we have the source, modders like this are going nuts. Theories of Quantum Matter by Austen Lamacraft Quantum Hall Effect Landau Levels Updated 2025-07-01 +Created 1970-01-01
What happens to the definition of the orthogonal group if we choose other types of symmetric bilinear forms Updated 2025-07-01 +Created 1970-01-01
We looking at the definition the orthogonal group is the group of all matrices that preserve the dot product, we notice that the dot product is one example of positive definite symmetric bilinear form, which in turn can also be represented by a matrix as shown at: Section "Matrix representation of a symmetric bilinear form".
By looking at this more general point of view, we could ask ourselves what happens to the group if instead of the dot product we took a more general bilinear form, e.g.:The answers to those questions are given by the Sylvester's law of inertia at Section "All indefinite orthogonal groups of matrices of equal metric signature are isomorphic".
- : another positive definite symmetric bilinear form such as ?
- what if we drop the positive definite requirement, e.g. ?
Elements of the orthogonal group have determinant plus or minus one Updated 2025-07-01 +Created 1970-01-01
Theories of Quantum Matter by Austen Lamacraft Quantum Hall Effect The Plasma Analogy Updated 2025-07-01 +Created 1970-01-01
The closest site of the University of California to San Francisco. Berkeley, California is a small town on the East of the San Francisco Bay.
A good explanation of how this insane system came up is given at Video "History of Oxford University by Chris Day (2018)".
The colleges are controlled by its fellows, a small self-electing body of highly successful scholars, usually in the dozens per college number it seems. Each college also usually has different types of fellows, e.g. see he university college page: www.univ.ox.ac.uk/about/college-fellowships/ (archive)
The college system does has its merits though, as it instates a certain sense of Hogwarts "belonging" to a certain group, so it might help students get better support for their learning projects from older students, or through the tutoring system. Of course, all such "belonging" feelings are bad, the correct thing would be to make great online tutorials for all, and answer questions in the open. But oh well, humans are dumb.
The college you are in impacts the quality of your courses, because tutorials are per-college. As of 2023, Ciro Santilli spoke to some students of the Computer science course of the University of Oxford, and was told that in some cases where you don't have anyone who can give the tutorial, you instead get a "class", i.e. a P.h.D. student going through question sheets with no interaction in the C.S. department, rather than a deep interactive discussion over the college fire. How can this system be so broken, it is beyond belief
Unlisted articles are being shown, click here to show only listed articles.