• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Super Mario 64 has been ported to Windows

Mato

Member
This is great. I'm amazed by how well this plays after all these years. It's just a delight to control and it looks and sounds great too. The mere sound and animation of Mario's footsteps is a joy. I think this might be my favorite game. It would be nice to see some subtle visual upgrades. Mostly anything that has an alpha mask, especially the GUI elements, the text, the trees, the coins, etc. But nothing unrecognizable, like those crappy noisy textures I see some time in mod versions. Just a smoother outline. Oh and maybe fix those abrupt texture seams too.
 

petran79

Banned
We already know what Mario looks like nude.

KeqQS53.jpg

Just add a cgi render of his head at Mario's face!
 

Mato

Member
I'm surprised people are excited about this. I like it but I felt the emulators for this were already good for awhile now.

It's nice being able to play this natively. Even if there's only a minimal difference in performance, it's still substantial knowing that this is essentially now a PC game also.
 

Videospel

Member
Yeah, the dude in the video definitely oversells it. Doesn't look smoother than any regular emulator. Widescreen is nice though.
 

bee

Member
ye this is amazing, the possibilities of it go way beyond emulation especially as they released the full source too, it took them 3 years to decompile it, if people are willing to do that amount of work then I imagine 60fps or unilmited (will take long time), AI high resolution textures, 3d stereoscopic, VR, level editor etc mods will happen at some point

The widescreen rom hack for this game has been around for years so that's not really new for me but it's crazy that it's got better resolution support than many modern pc games, any 32:9 shots yet?
 

RScrewed

Member
I'm extremely glad this happened, but sad it had to happen this way. Would have been cool if Nintendo Carmack'd it, but alas.


Does this mean a PC port is possible for any N64 game that has its source code released?

I see this question pop up a lot and no one's answering. The short answer is: yes.

The long answer is, the term 'port' usually means the entire process to take a piece of software that once targeted execution on a particular microprocessor architecture and transforming it to run on another, different, target platform.

Each microprocessor architecture has its own close-to-machine code language called Assembly, that is the fundamental building blocks of all instructions. We're long passed programming in Assembly, especially for video games, as higher level languages have added a level of abstraction making it less cumbersome to program.

Assembly code is very very very low level. A piece of C++ code might be something like:

int i = 10;

Setting the value of 10 to a variable named 'i' of type Integer.

But when that one line of C++, (which we'll call human-readable) is compiled for the target cpu to execute, it will be translated to the particular operation codes that CPU was designed with (which can vary greatly), probably broken into a many more instructions like "clear memory address, give that address an alias of i, set that memory address to the value 10". I wrote this list of instructions in plain language but they are machine code, and if you were to visualize them, easiest way would be one layer above in Assembly where even there it's very cryptic as the language uses abbreviations for low level functions - see here for examples: https://cs.lmu.edu/~ray/notes/x86assembly/

All N64 games were written in C++, regardless of what some morons on this forum have said in the past. Now that the source code is out, you can see the code is clearly C++, only some microcode was in Assembly, but I digress.

When Nintendo wrote Mario 64, they wrote it in C++, an almost universally compile-able language to any architecture, and they compiled it to their target RISC NEC VR4300 which translated all their source code (the recipe for the instructions that make up the game) to that platform's low level machine language so that processor can run it. As it was compiled for that architecture, other computer architectures cannot make any sense of the final, released, compiled code that was found on the game cartridges (our x86-64 home computer processors have a different low level language for accomplishing things, and have different strengths and weaknesses compared to other architectures you may have heard of, such as ARM processors in your phones, or PowerPC processors in your Gamecube and Xbox 360, etc.)

But, what you can do, is if you got your hands on the source code, you can recompile the source to the low level language that your target architecture DOES understand, and that's what having the source code allows us to do: Recompile the software to target a different platform. This entire process as a whole is called "porting". Sometimes you can get clever and forcibly decompile what does get released (kind of like translating backwards) but it's very hard to make sense of code in that manner (translated backwards up the chain) as all the context of why variables or functions were named is lost, comments are lost, etc. Having the actual source code that was written for humans to understand is the silver bullet.

I'm in the software industry but I don't work on anything nearly this low-level at all so anyone please correct any mistakes I made in explaining this.
 
Last edited:

#Phonepunk#

Banned
Someone needs to create a raytracing mod for this
otm im very interested in the graphical things they could pull off.

any possible way to smooth out the geometry? imagine it wouldn't be hard to re-create the entire game, which is only a dozen or so levels, in HD. or maybe use AI on the textures to make an HD port?

whatever they do it needs to retain the original physics. the physics of Mario games are lovingly tuned like a classic sports car.
 

Holammer

Member
Nintendo could put that on Steam for 40 smackers and I'd buy it.
Also, prepare to see Mario64, like Doom running on every device where it's possible to write and execute code on. If someone can pull it off, I'm excited to see how the PS1 can handle it. Even if it's just a proof of concept demo.
 

Kazza

Member
Its surprising how good N64 games can look when run at much higher resolutions. The same cant be said of Saturn or PS1, which can actually look WORSE at higher resolutions because not only do you still get blocky unfiltered textures, warping, and polygons flickering in and out of existence, but higher resolutions add gaps between polygon seems lol.
I was very young when N64 came out, and not knowing tech at the time, i thought it 'must be some new kind of movie style tech'. Little did i know that it was just filtered textures and correct perspective polygons. The N64 was basically the first console to do modern graphics, just way worse compared to today.

I don't know, the Playstation has some pretty nifty emulation features, as others have already said. Saturn looks pretty damn good in 4K too:




To my mind, the Sonic Jam hubworld looks better in 4K than Mario 64 (which is still marred by those blurry textures, although those basic primary textures have appeal. Daytona CCE looks great in that video too.
 

Trimesh

Banned
The source code really shows it was one of Nintendo's first 3D games, there is a lot of low-level code jank and the way the N64 natively renders graphics means the entire graphics loop is a bit alien by modern standards, it puts these tiny textures into super-fast memory one at a time then declares the model geometry within a procedural function which is executed by the graphics chip.

Rendering things from tmem is hard to get away from given the N64 hardware architecture though - the Rambus memory used in the N64 had (for the time) very high peak transfer rates but was restricted to a single concurrently open page and had a huge penalty for page changes. This made stuff that would be fast on most architectures (like blitting from the main memory to the frame buffer) very slow. Another rather counter-intuitive result is that despite the cartridge interface being fairly slow and only 16 bits wide it was actually substantially faster to copy graphics data from the cart to the frame buffer than it was to do the same copy with RAM as the source. This had the downside that it forced you to store the assets in the ROM uncompressed, which made the ROM image larger and the cartridges more expensive to manufacture.
 
Is that even legal? What will the Nintendo Ninjas say about this?

They had their chance and they still do. They can't prevent the internet from moving on without them, they can squash one and another will take its place. They should learn how to adapt rather than fight it.
 

cyberheater

PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 Xbone PS4 PS4
I can’t seem to be able to change the game pad bindings.
I’ve got an original n64 controller with a converter for pc and I can’t get it to work.
 

JimboJones

Member
The updated effects look atrocious to be honest. The whole game needs rebuilding if they are going to be adding modern effects to the game.

Yeah it has a certain "lets apply every photoshop filter to it quality " but It's just reshade stuff, it's fun to play around with.
 
I mean, they're just showing what you're able to do with the flick of a few levers. They're obviously there just to show that you CAN do something with it, not that something HAS been done with it. Damn, this thing only just got released. After they spend more time with it, this can and will end up looking amazing.

Someone, please start on a graphics pack for the HUD please 😊
 

Scotty W

Member
Dont know man, imagine mario 64 on steam at 9,90 with full controller support, modable, etc... it looks like a easy sell to me.

I am not saying I disagree with you, but a big part of Nintendo’s survival strategy is in rereleases. It is easier to sell people the same game if it has not been easily available recently.

The recent rereleases of Warcraft 3 and Wow illustrate this pretty well. It seems to me there were only a small number of people interested in a graphically upgraded 3. It has always been able to find that game easily since it was first released. But with wow, people have not been able to have that experience in years, and so they were foaming at the mouth to be able to do it again.

I understand why gamers complain about Nintendo’s rerelease strategy, but I also understand why they do it. The ecosystem analogy works well: PC is a sort of continuous ecosystem where once something has become available it is basically always available fairly easily (piracy is part of this), but because the Nintendo ecosystem is closed and also controlled by Nintendo, they are able to and need to time those rereleases to hype up the hardware. Star Fox and Zelda for the 3ds, and Wind Waker for WiiU come to mind.
 

Pejo

Member
Hope some crazy people are working on texture updates too, I like Mario64 but it's hard to look at. All the N64 native stuff is. I actually prefer PS1 era polygons to most of the N64 stuff, even if the N64 games were actually better.
 
Top Bottom