# What can and cannot run Super Mario 64 ?



## Moon164 (Oct 17, 2020)

This is something that came to my mind recently, so apparently Super Mario 64 has become something like Doom, according to this blog: ( https://itrunsmario64.blogspot.com/p/does-it-run-super-mario-64.html ) there are currently a total of 13 platforms that have a Super Mario 64 port, ranging from the port for PC and MS / DOS, portables consoles like 3DS and PSP and even consoles like PS2 and Dreamcast.

So... what can run Super Mario 64 ?, would it be possible to port it to weaker consoles like the PS1 or Sega Saturn for example ?, maybe even the Game Boy Advance? (I always look at the
Asterix And Obelix XXL and I imagine what that would be like with Super Mario 64), maybe even for unknown and difficult to program consoles like Zeebo from TecToy that uses Brew or Atari Jaguar ?

I really wanted to talk a little more about it, do you think Super Mario 64 has the potential to become a new Doom that can run on anything? Do you think it would be possible to port it to consoles like Zeebo, PS1 or DSi?


----------



## isoboy (Oct 17, 2020)

Whenever I play it next time it'll be on my 3ds with the 3d effect.


----------



## Lostbhoy (Oct 17, 2020)

I like to think it could run on ps1 since the console was going to be a nintendo/sony collaboration and development and releases are relatively close to each other. 

They must have had plans to release a Mario game on it at launch, if it ever came to fruition with the collaboration, and this must have been the one.... In some form!!


----------



## FAST6191 (Oct 18, 2020)

Going to have to be the classic answer of "It depends", even more so if you have found yourself looking at the perks of high end PC development using it and thinking "ooh".

It is an early stage game, an ambitious one at that, written for some rather obtuse hardware back in the 90s.
This means its base code very much plays to the hardware, which itself had some interesting abilities as far as running 3d code. This also applies to most 3d consoles of the era, and older, but in different ways.
For the PC and powerful devices then several decades and thus orders and orders of magnitude more power mean even playing as fast and loose as you like you are probably going to waste more CPU resources with the little printer application that tells you your wallet is looking too fat, buy some ink. Go back to legacy devices and you get to refactor the code massively to work in anything like real time/playable framerates, or indeed figure out what the code does and replicate it with other code (if gravity, speed, movement, attacks and such are all the same mathematical/relative results then have you not ported it?).

From what I have seen then thus far nobody has really made some kind of pure implementation of Mario 64 -- the early PC port just stripped out the N64 audio, video and control pipeline and kicked it to standard Windows (which was then good enough to tweak to being on various consoles). Some more work was done when people started playing with long render distance, high res, widescreen, framerate fun and whatnot but still had more to do.

It is a full on 3d game so I would be impressed if it was ported to anything not contemporary in power to the N64 (so PS1, maybe Saturn, arcade hardware maybe from a few years earlier, though 3d was still new enough that I am not sure there will be much of that -- the 3dfx voodoo stuff was 1996 that it really took off with most things before in gamer world being a software render leaning into the CPU), and most of those would be a fairly impressive project in their own right done as an exercise for the programmer rather than intending to make a workable port (such a thing would teach you a pretty decent bit of fairly legacy C*, likely a lot of the N64 hardware, 3d in general and also the hardware of what you are porting it to.

*it is not K&R C or anything truly fun but embedded and conventional C of that vintage (C99 was the next big step to gain widespread acceptance and as the number there refers to year of adoption that would not be a for a few years yet, mario 64 being 1996 and programmed earlier still after all) still has a few places that find it and find no new university graduates know it.

Equally there is also the legality issue. Doom is open source, even if you are nominally supposed to get the WADs yourself. Mario 64 is only technically source available -- using it (be it the decompiled or the leaked version) comes with a host of legal issues.


----------



## The Real Jdbye (Oct 18, 2020)

I'd say maybe on PSX support. Although the PSX is weaker, Super Mario 64 was nowhere near taking full advantage of the N64 hardware. I would say Rare were the first to do that. And it wasn't even compiled with proper optimizations. It might not run as well as on a N64 but it should be playable.


Lostbhoy said:


> I like to think it could run on ps1 since the console was going to be a nintendo/sony collaboration and development and releases are relatively close to each other.
> 
> They must have had plans to release a Mario game on it at launch, if it ever came to fruition with the collaboration, and this must have been the one.... In some form!!


The Nintendo PlayStation was just a SNES addon, it didn't have any extra hardware capabilities, so it wouldn't have been able to do 3D graphics (beyond your usual Mode 7)
More of a competitor to the Sega CD than anything else. It didn't even have any hardware decoding for FMV cutscenes, but it's possible that would've been added later.


FAST6191 said:


> Going to have to be the classic answer of "It depends", even more so if you have found yourself looking at the perks of high end PC development using it and thinking "ooh".
> 
> It is an early stage game, an ambitious one at that, written for some rather obtuse hardware back in the 90s.
> This means its base code very much plays to the hardware, which itself had some interesting abilities as far as running 3d code. This also applies to most 3d consoles of the era, and older, but in different ways.
> ...


I'm pretty sure the reverse engineered version is perfectly legal, as long as you provide the assets yourself. WIthout them, it's just a generic 3D platformer engine. The one thing they could get in trouble for is using Nintendo trademarks such as names. If it comes to that, simply rename the project and remove any references to Nintendo or Mario. There are many open source engine recreations around other than just Doom and Super Mario 64; usually they name the project something related, but not directly referencing the source material, likely so as to avoid infringing on trademark.


----------



## CMDreamer (Oct 18, 2020)

As far as the source code is ported to the console where we want to play it on, the game would run, but even then, that doesn't mean it will run as fast/good as in powerful consoles.

There's much that need to be "converted" in graphic therms, sound, and interface (gaming controls), as not all systems have the same capabilities.

I'm still willing to see a native Wii port, that would be awesome to play. But again, the WiiMote/Nunchuck don't have the same capabilities as the N64 controller (one analogue input is missing), so there are many adjustments needed to make it playable. Using a NGC controller instead would make it completely playable.


----------



## FAST6191 (Oct 18, 2020)

The Real Jdbye said:


> I'm pretty sure the reverse engineered version is perfectly legal, as long as you provide the assets yourself. WIthout them, it's just a generic 3D platformer engine. The one thing they could get in trouble for is using Nintendo trademarks such as names. If it comes to that, simply rename the project and remove any references to Nintendo or Mario. There are many open source engine recreations around other than just Doom and Super Mario 64; usually they name the project something related, but not directly referencing the source material, likely so as to avoid infringing on trademark.


The reverse engineered version was made via decompilation of the code itself. A more clear case of derived work you would struggle to get in coding. Just because you provide (most of) the graphical, musical, level and textual assets does not obviate/absolve you of using Nintendo's own code for the glue binding it all together. I am truly shocked at this point Nintendo has not kicked off big style -- far lesser works from far lesser entities have had far more legal protection sought for far lesser incidents.

If they had sat there, jumped, noted that in this many frames he jumped this high, repeated for all the jumps, swimming, flying, attacking, enemy behaviours, camera handling... then that would be one thing. This is however what a lot of the open source recreations we see on the likes of https://osgameclones.com/ and littering https://www.moddb.com/ aim to do. For this even if they had started that in 1996 I imagine they would be at it today (never mind compiling to 1:1 as it was in the original ROM).

Any trademark named items within the code (which is a tricky trademark case -- harder to make the case the general consumer of your products is going to be fooled there) are incidental at best. Resulting projects then sure be prepared to rename.


----------



## The Real Jdbye (Oct 18, 2020)

FAST6191 said:


> The reverse engineered version was made via decompilation of the code itself. A more clear case of derived work you would struggle to get in coding. Just because you provide (most of) the graphical, musical, level and textual assets does not obviate/absolve you of using Nintendo's own code for the glue binding it all together. I am truly shocked at this point Nintendo has not kicked off big style -- far lesser works from far lesser entities have had far more legal protection sought for far lesser incidents.
> 
> If they had sat there, jumped, noted that in this many frames he jumped this high, repeated for all the jumps, swimming, flying, attacking, enemy behaviours, camera handling... then that would be one thing. This is however what a lot of the open source recreations we see on the likes of https://osgameclones.com/ and littering https://www.moddb.com/ aim to do. For this even if they had started that in 1996 I imagine they would be at it today (never mind compiling to 1:1 as it was in the original ROM).
> 
> Any trademark named items within the code (which is a tricky trademark case -- harder to make the case the general consumer of your products is going to be fooled there) are incidental at best. Resulting projects then sure be prepared to rename.


Yes, but there is nothing left of that disassembled code, it was only used as a reference.
I imagine Nintendo's lawyers are busy trying to find the legal grounds to have it shut down, but thus far have been unsuccessful.


----------



## mightymuffy (Oct 18, 2020)

PS1? Yeah it'd have a good go. The experience wouldn't be great (playable/fast enough though) and would obviously look a lot less muddy, but the warping would be rather gruesome and the game would suffer as a result.
Saturn? Blood n stomach pills we'd need a team that really knows what they're fukkin doing to even attempt that, and the compromises would be larger than on PS1. But yeah....I suppose so. In some kind of dream alternate reality! 
Stuff like GBA and Jaguar though.... naaaaah! Don't be silly!


----------



## The Real Jdbye (Oct 18, 2020)

mightymuffy said:


> PS1? Yeah it'd have a good go. The experience wouldn't be great (playable/fast enough though) and would obviously look a lot less muddy, but the warping would be rather gruesome and the game would suffer as a result.
> Saturn? Blood n stomach pills we'd need a team that really knows what they're fukkin doing to even attempt that, and the compromises would be larger than on PS1. But yeah....I suppose so. In some kind of dream alternate reality!
> Stuff like GBA and Jaguar though.... naaaaah! Don't be silly!


Not all PS1 games seemed to suffer from that warping issue, I never noticed it in any of the games I played.


----------



## Bl4aze (Oct 18, 2020)

Lostbhoy said:


> I like to think it could run on ps1 since the console was going to be a nintendo/sony collaboration and development and releases are relatively close to each other.
> 
> They must have had plans to release a Mario game on it at launch, if it ever came to fruition with the collaboration, and this must have been the one.... In some form!!



Wasnt the n64 more powerful then the ps1?
ps2 would be more reasonable imo


----------



## FAST6191 (Oct 18, 2020)

The Real Jdbye said:


> Yes, but there is nothing left of that disassembled code, it was only used as a reference.
> I imagine Nintendo's lawyers are busy trying to find the legal grounds to have it shut down, but thus far have been unsuccessful.


That is immaterial. If I listen to a song, figure out the pitch by ear and play it back I have not made a new song. So it goes with playing with disassembly and/or decompilation.

Have they been unsuccessful (I have not see anything fired off in a court) or are they biding their time for some reason? There are reasons not to jump right away, and always the question of how good will it be (there have been some open source projects disappeared from the internet with people not having offline backups, not heard of it happening for many many many years though)?



mightymuffy said:


> Stuff like GBA and Jaguar though.... naaaaah! Don't be silly!



The GBA did see full 3d games.
Between the likes of Payback

and Super Monkey Ball



I reckon you could do something like the movement and actions at the distances Mario 64 took place in and have it recognisable as such. How close you might get to the "yeah I played mario 64" position I don't know but it would be within the scope of debate.


----------



## Goemonz (Nov 5, 2020)

Mario 64 doesn't require too much power by today's standards. It runs fine (emulated) on my Samsung tablet (with no discrete gpu) and would probably even work on the latest Android phones.

Emulation requires way more processing juice than running games natively. I'm sure it could be ported well to a lot of systems, if there was a point, which there isn't.

The 3d graphics on the N64 were very basic and Mario 64 was one of the earliest titles for that system. I think it could probably be ported to the 32bit consoles like the Saturn and PS1 almost intact if someone was super board. 

Maybe it would suffer more pop-up and long loading times though (given the PS1's pathetic amount of ram and slow CD drive). Keeping rom carts was one of the few things Nintendo did right in that gen IMO.


----------



## elk1007 (Nov 10, 2020)

No one wants to spend time porting to old devices and console when its already reached max proliferation through the mobile phone and pc ports.


----------



## Moon164 (Nov 10, 2020)

elk1007 said:


> No one wants to spend time porting to old devices and console when its already reached max proliferation through the mobile phone and pc ports.


Tell that to the people who port Doom to countless platforms, or the Brazilian who ported MegaMan X to Sega Genesis and Sonic 1 for the Super Nintendo, or even the guys who ported Cave Story and Goof Troop to Sega Genesis,maybe even Wolfenstein 3D for the Game Boy Color or how about Pier Solar for the Dreamcast?

There is something special about seeing a game that we never imagined really being able to run on an old console.

In the 90s it was impossible to imagine seeing Sonic on the Super Nintendo, but look what we have in 2020:



It blew people's minds, I guarantee you it drew much more attention than any port made for smartphones, those who lived in the 90s can never imagine Crash on the Nintendo 64 or Super Mario 64 on the PS1, this is something that without a doubt would surprise many people, which would be something special to see. To be honest, I didn't even know that Super Mario 64 had been ported to Android simply because it wasn't something that caught my attention, it wasn't surprising to see Super Mario 64 running on it, but when they ported it to Dreamcast and Playstation 2 I went running to see and test it myself, it's an excitement that can't be replicated with modern platforms.

It's just not so surprising to see Super Mario 64 running on an android phone than on a Playstation 2 or 3DS/PSP for example.


----------



## Goemonz (Nov 11, 2020)

Brazil is a special case. There are good reasons for porting games to old consoles there but they don't apply to the rest of the world. 

Specifically, Brazil has insane import taxes (circa 90%) which makes importing new consoles unfeasible for most.

For this reason, long dead consoles like the Sega Master System are still being made (locally) and sold in Brazil. Games are still being made for them too (usually 3rd party ports). 

Try searching YouTube for Street Fighter 2 on the Master System for more info. 

If I wanted to play Mario 64 here in America, I could buy a used N64 console for $50 or play on a choice of emulators. There's no good reason for anyone to port it to other consoles aside from intellectual curiosity or boredom. 

It's been decades since it might have been cool to see Sonic on a Snes but I guess that part is a matter of opinion.

I'd much rather see some of these geniuses porting some of the arcade classics that never got a home release or acceptable emulation.


----------



## Zense (Nov 11, 2020)

The GBA recently saw a port of OpenLara, the open source Tomb Raider engine, so you might be able to get a GBA version of SM64 running. However you'd probably have to do a lot from scratch for the GBA.


----------



## Anxiety_timmy (Nov 12, 2020)

I feel like it should be able to run at dsi only og ds's cpu is probably wayyy to damn weak to get that running well. imo gamecube should be done or a wii port at this point.


----------



## Zense (Nov 12, 2020)

wiiuepiccpu said:


> I feel like it should be able to run at dsi only og ds's cpu is probably wayyy to damn weak to get that running well. imo gamecube should be done or a wii port at this point.


I'm not sure what you're refering to? The base DS already has a SM64 port so it can definitely run it  As for OpenLara, well if the GBA can then the DS can as well, but that shouldn't come as a surprise since you have lots of 3D games on the DS. Wouldn't be surprised if there even were a 3D Tomb Raider on it. Just look at stuff like Moon DS and Dementium.


----------



## SamueltheTechnoKid (Oct 18, 2021)

There's a SM64 DSi port.


----------



## elk1007 (Nov 4, 2021)

If you can modify polygon count and assets, pretty much any port is possible. I think the major limitation is the calculation of the physics.


----------

