blinks

"the Nintendo 64 homebrew scene has written multiple 3D APIs with different performance/usability tradeoffs"

blinks

"the Nintendo 64 homebrew scene has forked GCC to add a new ABI that benefits performance given its 64-bit CPU core and 32-bit pointers"

at this point I am about 60% certain AGI will be achieved not with venture capital money but with a libdragon fork, for the sole purpose of unlocking additional performance in Super Mario 64 or whatever
@asie AGI will finally solve the A Button Challenge!
@celestiallavendar
pannenkoek2012 got that one covered 😂
@asie I guarantee that one of these days someone is going to try to make the Personalization AI from all those creepypastas real and that will be how we get it

@eblu @asie

The Singularity but it forces all of us to live inside Super Mario 64 B3313 for ever and ever

@iyashikei_kris @asie this is somewhere on the iceberg probably
@asie Watching Kaze, are we?
@indigoviolet actually no, I'm aware of Kaze but I'm more or a handheld nerd
@asie I was so disappointed the fast inverse square root didn’t work with the memory throughput. That could have been the spark of AGI 64. :-(
@asie "to add a new ABI that benefits performance given its 64-bit CPU core and 32-bit pointers”

...how long before someone modifies MIPS NT to use it
@Rairii @asie I'm giving ~~you~~ them maybe two years at the most
@asie the mario 64 hackers are some of the most dedicated in the world.they make me so proud

@asie Humans are most productive when backed against a wall and under severe technical constraints.

AI Investors> So how many zeros do you want?

@asie okay but this ABI would be very useful even for desktop software, it's how Wasm nextpnr keeps up with the native one
U64: A Custom ABI For Nintendo 64 - HackMD

The U64 ABI is mostly O32 or EABI32, with some N32 features.

HackMD

@whitequark @asie The decision to sign-extend CSRs during restore is fascinating; I have to wonder whether the backend is engineered to deal with that properly. Compilers working with smaller-than-register integers often reason about the high bits and emit code assuming they’ll stay intact

It helps a lot that the actual address space is <<< 2GB, I’m sure, so that signedness is irrelevant to pointers, size computations, and so on

@asie oh so it's like X32 but for mips
@wyatt @asie MIPS already defined that long ago and called it n32, but presumably this ABI has some improvements over that based on longer experience
@asie
autism will save everyone
@asie >n64 homebrew scene
>look inside
>devs trying to get 500fps in mario64

​:wires:​
@asie There's been similar discussions re. Dreamcast homebrew, so wouldn't surprise me if me or other DC homebrew folks end up forking GCC or writing our own toolchain at some point heh.
@asie
"And at that point, it simply made more sense to build an engine that optimizes and improves itself, at runtime" shrugs

@asie

By this point Super Mario 64 has been so completely rewritten and modernised that it runs twice as fast as the original released version.

Turns out when you understand the machine architecture fully then optimisation is great for performance 🙂

@asie Luigi AGI that ends capitalism? 👉👈
@asie re:the latter, is the new ABI intended to be something like x32 or sparcv8+ thingy 
@asie A friend of mine used to assert that the most probable route to AGI was the arms race between spammers and the spam filters.
@asie we are already all living inside a simulation running inside a heavily modded Mario64.