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:
--skip-intro
: skips the annoying pipe intro and the need to wait for Lakitu to bring Peaches message!- in-game menu:
- cheats:
- hide HUD!
- no level selection yet, but a matter of time?
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!!!
It is good to know that this game will "never die".
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.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
Survey of open source interactive plotting software with a 10 million point scatter plot benchmark by Ciro Santilli Updated 2024-12-15 +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.
Started with Vue.js + Node.js. Details reserved for developers willing to contribute
- antispirituality.net/ his atheism website
One big divergence: obsession with translating every page into every language.
Old French website: spoirier.lautre.net/
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 :-)
Communicating at a distance, from Greek "tele" for distance!
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.
Once upon a time young Ciro Santilli spent lots of time evaluating the features of different terimnals. The many windows of Terminator. The pop-uppiness of Guake/Yakuake.
But then one day he met tmux, and he was enlightened
Terminal choice doesn't matter. Just use tmux.
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!
- Nobel Foundation:
Did you know that models for machine learning were based on equations from physics?Ciro Santilli:
Nice try but the 2024 Nobel Prize in Physics still isn't about Physics.
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.
One of the artists however, and he seemed quite important in the production, for some reason spent a huge amount of time speaking to us. The score the artist saw on our heads was of love, or how interested we were in the art.
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
- 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?
- 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.
- 1975 Qualquer coisa album
- 1976 Doces Bárbaros (1976) albumUm Índio by Caetano Veloso (1976)Source. Recording from 1992. Also appeared in the Bicho (1977) album.
- 1977 Bicho (1977)Tigresa by Caetano Veloso (1977)Source. Talks about a strong willed, unapologetic, disenchanted, but also hopeful brown skinned lover: a tigress. Ciro once knew one, but it wasn't meant to be.
- 1978 album Muito (Dentro da Estrela Azulada)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.
[D]a força da grana que ergue e destroi coisas belas
The power of money that builds and destroy beautiful thingsTerra by Caetano Veloso (1978)Source."Terra" means Earth in Portuguese.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. - 1980Menino do Rio by Caetano Veloso (1980)Source. Apparently served as inspiration for the Menino do Rio (1980) movie, which is silly, but a worthwhile record of the times.
- 1984 Velô (1984)O Quereres by Caetano Veloso (1984)Source. Notable quote from the chorus that is often in Ciro's mind:translation:
Ah, bruta flor, do querer
Oh, brute flower of the wanting
Good selection: Acústico MTV - Gilberto Gil (1994).
- 1967 Louvação (1967) albumLunik 9 Gilberto Gil (1967)Source. Ciro Santilli prefers Elis Regina's interpretation however.
- 1972 Expresso 2222 album.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.Oriente by Gilberto Gil. Source. This song seems to be about a parent giving a mixture of good and weird advice. Perhaps it is what we all get, or at least the lucky ones of us.
- 1975 Refazenda (1975) album. This album is just too Legendary. The cover is also legendary.Refazenda by Gilberto Gil (1975)Source.Tenho sede by Gilberto Gil (1975)Source.
- Sítio Do Picapau Amarelo by Gilberto Gil (1977)Source.This song is the opening theme of the 1977 children's television series based on the renowned children books of the same name by Brazilian author Monteiro Lobato.The same song was also used on the 2001 series, e.g.: www.youtube.com/watch?v=i9RbBcDTRAI.The choice of Gilberto Gil as a singer and composer was a stroke of genius, as his natural quirkiness perfectly suits the subject matter of the books.
- Date unclearA 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
Runner ups:
- Beira-Mar by Gilberto Gil. Source.
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"
Non trinity songs and artists:
- Preciso Me Encontrar by Cartola. Source. Present in the 1976 eponymous album though it is likely from much earlier.
- Asa Branca by Luiz Gonzaga. Source. Translation: "White wing". Written in 1947
- O vento by Dorival Caymmi (1949)Source. Translation: "The wind".
- 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 Mutantes
- Mistério do Planeta from the Acabou Chorare album by Novos Baianos (1972)Source. Translation: "The mystery of the planet".
- "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.
- Marimbondo from the "Pirão de Peixe com Pimenta (1977)" album by Sá & Guarabyra (1977)Source.The title is the name of a type of wasp found in Brazil: synoeca cyanea.
- Romaria by Renato Teixeira. Source."Romaria" is the name of a type of Catholic peregrination.
- Metamorfose ambulante by Raul Seixas (1973)Source. Translation: "Itinerant metamorphosis". From the album Krig-ha, Bandolo!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.Gita by Raul Seixas (1974)Source. "Gita" must be a reference to the Bhagavad Gita. From the album: Gita.Maluco beleza by Raul Seixas (1977)Source. From the album O Dia em que a Terra Parou
- 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.Chega de saudade by Tom Jobim. Source. Translation: "Enough longing".
- 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 RodriguesDisparada 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.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.A Casa by Vinicius de Moraes (1972)Source. Children song.Tarde em Itapuã by Vinicius de Moraes (1971)Source.www.dicionariotupiguarani.com.br/dicionario/itapua/ gives the meaning of "Itapuã". It originates from the Tupi Guarani language, and is the name of a beach in Salvador (Praia de Itapuã), to which the song presumably refers:Itapuã beach in Salvador. Source.
- 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?
- Xô Saudade by Alceu Valença. Source. From the 1980 album "Coração Bobo"
- Carcará by João Do Vale (1981)Source.From the eponymous album.Carcará by Maria Bethânia (1981)Source. This very good interpretation likely did much to popularize the song.A carcará bird. Source.Carcará by Planeta Aves (2020)Source. A Brazilian bird watcher channel. Interestingly he mentions that the carcará actually knows how to scour post wildfire ares searching for dead animals, as mentioned in the song "it even eats burnt snakes".
- Na Rua, Na Chuva, Na Fazenda by Hyldon (1974)Source. Translation: "On the Street, In the Rain, On the Farm".
- Tudo o que você podia ser from the Clube da Esquina album by Milton Nascimento (1972)Source.Translation: "All that you could be".Anti-Military dictatorship in Brazil song, using the common "you means the dictatorship" technique.Caçador De Mim from the eponymous album by Milton Nascimento (1981)Source.
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.