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. Survey of open source interactive plotting software with a 10 million point scatter plot benchmark by Ciro Santilli Updated 2025-06-02 +Created 1970-01-01
Ciro Santilli feels a bit like this guy:
- he's also an idealist, even more than Ciro. So cute. Notably, he he also dumps his brain online into pages that no-one will ever read
- he also thinks that the 2010's education system is bullshit, e.g. settheory.net/learnphysics
- trust-forum.net/ some kind of change the world website. But:is a sin to Ciro. Planning a change the world thing behind closed doors? Really? Decentralized, meh.
- antispirituality.net/ his atheism website
singlesunion.org/ so cute, he's looking for true love!!! This is something Ciro often thinks about: why it is so difficult to find love without looking people in the eye. The same applies to jobs to some extent. He has an Incel wiki page: incels.wiki/w/Sylvain_Poirier :-)
A very cool thing about telecommunication is, besides how incredibly fast it advanced (in this sense it is no cooler than integrated circuit development), how much physics and information theory is involved in it. Applications of telecommunication implementation spill over to other fields, e.g. some proposed quantum computing approaches are remarkably related to telecommunication technology, e.g. microwaves and silicon photonics.
This understanding made Ciro Santilli wish he had opted for telecommunication engineering when he was back in school in Brazil. For some incomprehensible reason, telecommunications was the least competitive specialization in the electric engineering department at the time, behind even power electronics. This goes to show both how completely unrelated to reality university is, and how completely outdated Brazil is/was. Sad stuff.
This is a good approach. The downside is that while you are developing the implementation and testing interactively you might notice that the requirements are wrong, and then the tests have to change.
One intermediate approach Ciro Santilli likes is to do the implementation and be happy with interactive usage, then create the test, make it pass, then remove the code that would make it pass, and see it fail. This does have a risk that you will forget to test something, but Ciro finds it is a worth it generally. Unless it really is one of those features that you are unable to develop without an automated test, generally more "logical/mathematical" stuff. This is a sort of laziness Driven Development.
Although Ciro Santilli is a big fan of plaintext files and of Vim, not so for games. Games must be easy to understand since they are just a toy.
Tilesets to the rescue!
This was the most obscene Nobel Prize of all time. They were completely swept away by the AI boom, and gave this ridiculous prize completely unrelated to Physics.
- Nobel Foundation:Ciro Santilli:
Did you know that models for machine learning were based on equations from physics?
Nice try but the 2024 Nobel Prize in Physics still isn't about Physics.
- academia.stackexchange.com/questions/214109/is-there-a-reason-why-the-nobel-prize-in-physics-2024-is-awarded-to-a-computer-s
- lamarr-institute.org/blog/thoughts-physics-nobel-prize-2024
- www.reddit.com/r/AskPhysics/comments/1fz27m5/nobel_prize_2024/ User ervexHublot comments
Nobel prize sponsored by Nvidia
- x.com/skdh/status/1843675220433088598
Once upon a time in the 2010's, Ciro Santilli went to an artsy theatre venue in the suburbia of Paris, dragged by his wife then girlfriend of course.
In the venue, there was a politician, who was doing his best to show how much they supported the arts, and there were of course the artists, involved in the play.
The politician would see a political power score on top of every person's head, and would spend an amount of time talking to each person exactly proportional to that score. This meant basically one sentence to us. The words themselves didn't really matter of course, only the time spent, they just have to produce nice sounds.
Ciro Santilli intends to move his beauty list here little by little: github.com/cirosantilli/mathematics/blob/master/beauty.md
The most beautiful things in mathematics are results that are:
- simple to state but hard to prove:
- Fermat's Last Theorem
- number of unknown rationality, e.g. is rational?
- transcendental number conjectures, e.g. is transcendental?
- basically any conjecture involving prime numbers:
- many combinatorial game questions, e.g.:
- surprising results: we had intuitive reasons to believe something as possible or not, but a theorem shatters that conviction and brings us on our knees, sometimes via pathological counter-examples. General surprise themes include:Lists:
- classification of potentially infinite sets like: compact manifolds, etc.
- problems that are more complicated in low dimensions than high like:
- generalized Poincaré conjectures. It is also fun to see how in many cases complexity peaks out at 4 dimensions.
- classification of regular polytopes
- unpredictable magic constants:
- why is the lowest dimension for an exotic sphere 7?
- why is 4 the largest degree of an equation with explicit solution? Abel-Ruffini theorem
- undecidable problems, especially simple to state ones:
- mortal matrix problem
- sharp frontiers between solvable and unsolvable are also cool:
- attempts at determining specific values of the Busy beaver function for Turing machines with a given number of states and symbols
- related to Diophantine equations:
- applications: make life easier and/or modeling some phenomena well, e.g. in physics. See also: explain how to make money with the lesson
Good lists of such problems Lists of mathematical problems.
Whenever Ciro Santilli learns a bit of mathematics, he always wonders to himself:Unfortunately, due to how man books are written, it is not really possible to reach insight without first doing a bit of memorization. The better the book, the more insight is spread out, and less you have to learn before reaching each insight.
Am I achieving insight, or am I just memorizing definitions?
Video 1. Alegria, Alegria by Caetano Veloso (1968)Source. Critique of Military dictatorship in Brazil.
- 1972
- Transa (1972) album. Literally: "The Fuck", good old seventies. Caetano himself later mentions that this is one of his own favorite albums.[ref] The album was composed when he was living in London.
Video 2. Triste Bahia by Caetano Veloso (1972)Source. Inspired by (or more likely: actually is) capoeira music.
Video 4. Você Não Entende Nada by Caetano Veloso (1970)Source.Amazing performance at Coliseu dos Recreios, Lisbon. 1981. Discogs says original album is Legal (1970), but wiki page and photos of back disagree...This song talks about a man's mixed desires to remain with his partner and also escape to adventure. It contains one of the most amazing sexual innuendo ever recorded: the man describes foods that his partner will serve him, and the he endlessly eats and eats and eats:translation:eu como, eu como, eu como, você [... huge intentional pause ...] não está entendendo quase nada do que eu digo.
which makes it unclear "you" is part of "I eat you" (to eat (comer) is a slang for fucking), or if "you" is part of the next sentence.I eat, I eat, I eat, you [... huge intentional pause ...] don't understand anything that I'm saying.
Video 5. Partido Alto by Caetano Veloso (1972)Source. Atheism song (theodicy)! Lyrics by Chico Buarque, but Ciro Santilli prefers this interpretation. From the 1972 "Caetano E Chico Juntos E Ao Vivo" joint album with Chico Buarque.
- 1975 Qualquer coisa album
Video 7. Samba e Amor by Caetano Veloso (1975)Source. Cover from original song by Chico Buarque, original album Chico Buarque de Hollanda - Nº4. Desperately reminds Ciro of his University day weekend nights. Except that there was no Samba. And little Amor. Mostly a silent and wholesome loneliness and emulation.Video 8. Georde de Capadócia by Caetano Veloso (1975)Source.Composed by Jorge Ben, but this interpretation is remarkable. corpo fechado (closed body) style song. This idea is much linked to Capoeira/African religion idea. E.g. a more traditional capoeira corpo fechado song: www.youtube.com/watch?v=tfd9j6XFmSg
- 1976 Doces Bárbaros (1976) album
Video 10. Um Índio by Caetano Veloso (1976)Source. Recording from 1992. Also appeared in the Bicho (1977) album. - 1977 Bicho (1977)
- 1978 album Muito (Dentro da Estrela Azulada)
Video 12. Sampa by Caetano Veloso (1978)Source."Sampa" is an affectionate slang for São Paulo City. The song perfectly captures the city, and reminds Ciro so badly of his University days there.Video 13. Terra by Caetano Veloso (1978)Source.Ciro used to watch a television nature show called "Planeta Terra" in the legendary TV Cultura with his parents in the couch when he was young, and under a duvet when it was a bit cold. Those days were the best. The narrator's lady voice was particularly soothing, and would easily put you in a kind of sleepy trance, her name is Valéria GrilloTODO what was the original show exactly? Here is a sample: www.youtube.com/watch?v=vNwfYEMdrRU Very likely just a translation of some British nature show with a custom Brazilian intro and presenter. Credits at end mention English narrator: "Eugene Fraser", and "Thirteen WNET Nature" production, which produced Nature (1982) that ran since 1982, making that a likely candidate. - 1980
- 1984 Velô (1984)
Good selection: Acústico MTV - Gilberto Gil (1994).
- 1967 Louvação (1967) album
Video 1. Lunik 9 Gilberto Gil (1967)Source. Ciro Santilli prefers Elis Regina's interpretation however. - 1972 Expresso 2222 album.
Video 2. Expresso 2222 by Gilberto Gil (1972)Source. youtu.be/aSFahdu5ga8?t=4584 In the 2002 documentary Tempo Rei he explains the origin of the song as being based on seeing trains come by in Bahia, when they still existed before the automobile decimation. - 1975 Refazenda (1975) album. This album is just too Legendary. The cover is also legendary.
- Date unclear
Video 8. A Paz by Gilberto Gil (1967)Source. Performed 2009. The earliest recording we can find is from 1994: www.discogs.com/master/190615-Gilberto-Gil-Unplugged
These are basically technically minded people that Ciro Santilli feels have similar interests/psychology to him, and who write too much for their own good:
- cat-v.org
- gwern.net. Dude's a bit overly obsessed with the popup preview though! "new Wikipedia popups (this 7th implementation enables recursive WP popups)" XD
- settheory.net by Sylvain Poirier
- HyperPhysics
- Orange Papers
Maybe one day these will also be legendary, who knows:
Another category Ciro admires are the "computational physics visualization" people, these people will go to Heaven:
Related:
Institution led:
- www.biology.arizona.edu/ The Biology Project
Other mentions:
- arngren.net/ lots of images of toys and gear with descriptions in Norwegian
It is such a huge shame that you have to understand Portuguese to appreciate those songs... this is yet another great evil outcome of having more than one natural language is bad for the world.
The good songs stopped before of just after Ciro Santilli was born, they were originally heard by his parent's generation. Those young new kids are boring.
The place to start is definitely the Holy Trinity of popular Brazilian music:
- Caetano Veloso is arguably Ciro Santilli's favorite MPB artist, he has just too many amazing songs, best ones at: Section "The best Caetano Veloso songs"
- Chico Buarque. Ciro's second favorite.
- Gilberto Gil. Perhaps Ciro likes him third because he is the most lighthearted one, although not always: Section "The best Gilberto Gil songs"
Video 1. Preciso Me Encontrar by Cartola. Source. Present in the 1976 eponymous album though it is likely from much earlier.Video 2. Asa Branca by Luiz Gonzaga. Source. Translation: "White wing". Written in 1947Video 3. O vento by Dorival Caymmi (1949)Source. Translation: "The wind".Video 4. Panis et Circenses from the Tropicália: ou Panis et Circencis ()Source. Translation: "Bread and circuses", a famous Latin phrase. Composed by Gilberto Gil and Caetano Veloso and performed by Os MutantesVideo 5. Mistério do Planeta from the Acabou Chorare album by Novos Baianos (1972)Source. Translation: "The mystery of the planet".Video 6. "Senhor Cidadão" from the Se O Caso É Chorar album by Tom Zé (1972)Source. Translation: "Mr. Citizen". This is likely reference to Military dictatorship in Brazil-lingo. This is an anti-Military dictatorship in Brazil song, appears to reuse terms used by the dictatorship propaganda in the song.Video 8. Romaria by Renato Teixeira. Source."Romaria" is the name of a type of Catholic peregrination.Video 9. Metamorfose ambulante by Raul Seixas (1973)Source. Translation: "Itinerant metamorphosis". From the album Krig-ha, Bandolo!Video 10. Ouro de tolo by Raul Seixas (1973)Source. Translation: "Fool's gold". This dude should be a scientist. But well, he went for mystic/artist. Close enough.Video 11. Gita by Raul Seixas (1974)Source. "Gita" must be a reference to the Bhagavad Gita. From the album: Gita.Video 12. Maluco beleza by Raul Seixas (1977)Source. From the album O Dia em que a Terra ParouVideo 13. A telicidade by Tom Jobim (1958)Source. Translation: "Happiness". Composed for the Black Orpheus (1958) film. "Tristeza não tem fim, felicidade sim" (Sadness never ends, but happiness does). The movie itself is OK. Appeals to Ciro's Buddhist sensibilities.Video 14. Chega de saudade by Tom Jobim. Source. Translation: "Enough longing".Video 15. Jorge da Capadócia by Jorge Ben Jor (1975)Source. From the Solta o Pavão (1975) album. The Caetano interpretation is better however, poor Jorge.- Jair Rodrigues
Video 16. Disparada by Jair Rodrigues (1968)Source. This song is simply amazing. Not exactly MPB, a bit more towards country, but close enough. This was as the track of some soap opera.Video 17. Deixa Isso Pra Lá by Jair Rodrigues (1964)Source. Fantastic early example of early rap music!!! This is regocnized example at: www.youtube.com/watch?v=jfnDEuuPq4Q which builds upon the 1964 song. Amazing. An amazing live performance at: www.youtube.com/watch?v=O3E1uHdrJws, only not using that as the default link as it is not from the official channel. - Vinicius de Moraes. Many of his lyrics are poetry. Notably, he has some "children" songs that you think about as an adult and go "oh fuck". For some reason, Ciro can't help but think that he looks like a pedophile, but he doesn't have any scandals apparently, poor dude. He was a drunkard for sure though.
Video 20. Aquarela by Toquinho (1983)Source. This is a mega childhood hit, and it never gets old. Amazing. One of the most brutal memento moris ever?Video 21. Xô Saudade by Alceu Valença. Source. From the 1980 album "Coração Bobo"Video 25. Na Rua, Na Chuva, Na Fazenda by Hyldon (1974)Source. Translation: "On the Street, In the Rain, On the Farm".Video 26. Tudo o que você podia ser from the Clube da Esquina album by Milton Nascimento (1972)Source.Translation: "All that you could be".
Ciro was even more stupid than as of 2020, and continued to try and hang out with those evil kids to show them he was cool too or that he was strong, and so continued to get hurt.
Advice to his children: stay away from evil people.
The bullied sometimes feels an almost masochistic desire to overcome the bullies' contempt, and to try and either become friends with the bullies, or to overpower them.
You must never give into those thoughts.
If you come across evil people, smile a fake smile to them, and walk away, but never give your back to them, and always be ready to fight.
If they laugh at you, know that you are shit like everyone else, pretend to laugh with them, take their post and repost it on your public profile, and silently stay away from those idiots.
Never show any weakness.
If a fight is likely, always be ready, always have your friends nearby, be as well armed as the enemy, and never be outnumbered.
On the Internet, never care about e-bully posts, either block them immediately, and anyone that likes their posts, or follow Ciro's reply policy.
Call parents or other authorities as soon as there is risk of physical harm. Better a living free pussy than dead or in youth detention for murder. Similar advice applies if you are going to jail I guess.
If a physical fight is inevitable however, ignore Jesus this once and don't give the other face, but rather follow the Talmud and fight all out on the beaches:References:
If someone comes to kill you, rise and kill first.
The Sikh knife, the Kirpan, which Sikhs must carry at all times as a religious obligation, also comes to mind. The Sikh must have been bullied out of the their minds at some point in history, Ciro understands.
Non-violence only works when you have bodies to spare from your followers.
Perhaps it was good to learn those lessons early, before the stakes were too high. Adults fake it much better, and therefore it is harder to learn those lessons from them, but they are still just as evil on the inside.
These experiences might have contributed to Ciro Santilli's self perceived compassionate personality.