Live data from Hacker News

Super Mario 64 has been decompiled

github.com

161–170 of 180 posts

Re: Super Mario 64 has been decompiled

#161
post #68

Earlier quoted context omitted.

IRIX [1] was the version of SVR4 UNIX which ran on SGI [2] computers. QEMU [3] is an emulator used to run programs for one machine on another. N64 [4] is the Nintendo 64 games console. SGI Indy [5] was a desktop SGI workstation from 1993. [1] https://en.wikipedia.org/wiki/IRIX [2] https://en.wikipedia.org/wiki/Silicon_Graphics [3] https://www.qemu.org/ [4] https://en.wikipedia.org/wiki/Nintendo_64 [5] https://en.wiki…

[5] Often referred to as 'the pizzabox' IIRC edit: oh, says it right there in the Wiki

Also the Sun SPARCstation.

https://en.wikipedia.org/wiki/SPARCstation

Re: Super Mario 64 has been decompiled

#162

Is there a usb compatible n64 controller? Part of what makes this game such a watershed moment for 3d gaming is how the controller was designed to maximize it's potential. To this day Mario 64 is one of the best games ever made.

8bitdo once hat an N64 controller, but seems like it's not available anymore, maybe you find a used one somewhere.

Also there are "Controller Converter" N64->USB available on i.e. Amazon and iNNEXT has an Retro 64-Bit N64 Controller on Amazon as well.

Don't know if any of these will work for you, at least the iNNEXT is mentioned in the retropie wiki[0].

[0] https://retropie.org.uk/docs/Nintendo-64/

Re: Super Mario 64 has been decompiled

#163
post #47

Earlier quoted context omitted.

Is a raspberry pi a good-enough platform to run N64 1080P games on?

The question is now, would it be possible for someone to make a port of Mario 64 that runs on the Pi, instead of trying to emulate it? Usually after you get source releases to games, you get people that port them to different platforms. Like how we had Doom on iPods and Kodak digital cameras.

There's still a lot of assembly code

Re: Super Mario 64 has been decompiled

#164
post #64

Earlier quoted context omitted.

Sort of. Wine impersonates OS calls, (including syscalls) but does not perform emulation on the binary itself. Wine can only run windows applications written for x86, but not windows applications written for itanium. This appears to be running both hardware emulation on the supplied binary, (which is what VMware/KVM/virtualbox etc do) as well as wine-like OS impersonation. I made up the word "impersonates" for what w…

I think the usual term Wine (plus e.g. WSL1, Darling, Solaris/BSD Linux compatibility shims, etc.) uses is "translate", but "impersonate" does sound closer to what such systems actually do.

Speaking of Wine, you can actually run x86 Wine using QEMU on a Raspberry Pi and run Windows software with it. You essentially chroot into an x86 Debian environment that's running with QEMU, then install Wine in there and run it. There's a product called 'ExaGear Desktop' which makes the process pretty seamless from what I hear.

https://www.youtube.com/watch?v=0yZ5UiQyeFA

Re: Super Mario 64 has been decompiled

#165
post #74
post #55

Earlier quoted context omitted.

Super Mario 3D World's architecture goes back to Super Mario Sunshine. Some parts go back all the way to Super Mario 64, but not the object / actor management. The ring buffer isn't really emulating OAM, either. You can trace the evolution of "LiveActor" all the way through until it ends up in Super Mario Odyssey. Sunshine - https://github.com/shibbo/Corona/blob/master/include/actor/T... Galaxy 1 - https://github.com…

> The ring buffer isn't really emulating OAM, either. I mean, you're right, it's not a literal implementation of OAM in the sense of controlling the same things OAM controls. I was speaking kinda metaphorically. NES/SNES OAM was useful for reading back entity physics data (because it gave objects X/Y position registers) which meant that developers (incl. Nintendo themselves) often chose to rely on the OAM-object "com…

Semi-offtopic, but you've clearly spent a lot of time studying Nintendo's code, from a range of eras... I'd be curious to hear, if you had to make a very broad assessment, how would you rate the quality of Nintendo's programming?

Nintendo is quite clearly second-to-none on the design/creative end, how much does that translate to the technical aspect of game development? Speaking purely in terms of software.

I find this particularly interesting in the context of a company that appears to retain many of the same programmers today as they did 30 years ago, when software development was obviously much different.

Re: Super Mario 64 has been decompiled

#166

It's interesting there are bits of code that don't have a purpose, and may have been there to support a second player. For example here: > This is evidence of a removed second player, likely Luigi. > This variable lies in memory just after the gMarioObject and > has the same type of shadow that Mario does. The `isLuigi` > variable is never 1 in the game. Note that since this was a > switch-case, not an if-statement,…

I vaguely recall reading that the multiple characters in SM64DS were a feature that was cut from the original game. Am I hallucinating or did Nintendo say that somewhere?

(The additional characters in the DS remake were horribly unbalanced, so I wonder if the earlier implementation would have been better...)

Re: Super Mario 64 has been decompiled

#167

Earlier quoted context omitted.

There was a virtual console release for Mario 64, so it's still applicable

Would this help improve the Virtual Console release?

As silly as it may seem to use an emulator to run another emulator, Dolphin makes it quite easy to create and load custom textures, so it's a solid choice in this instance.

Re: Super Mario 64 has been decompiled

#168
post #85
post #51

Earlier quoted context omitted.

Super Paper Mario uses an extremely similar engine as Paper Mario: The Thousand Year Door, which uses a slightly modified version of the Paper Mario 64 engine.

Intelligent Systems seems to have a good head on their shoulders for code reuse. Enough so that I would suspect that their Fire Emblem and Advance Wars series—when they were releasing concurrently—were the same engine underneath. (Side-note: I've always wondered how the mini-games in IS's WarioWare series work—whether each game is entirely custom code, or whether they've come up with some sort of DSL for specifying r…

Fun Fact: The minigames of the WarioWare series began life in Mario Studio, the 64DD Japan-only sequel to Mario Paint.[0][1]

[0]https://en.wikipedia.org/wiki/Mario_Artist#Polygon_Studio

[1]https://www.youtube.com/watch?v=-FoB3n1kxrY

Re: Super Mario 64 has been decompiled

#169
post #145

Earlier quoted context omitted.

Train a ML system on a range of parameters (whirlpool strength) until you have a decent port of the game to a neural network and/or tree-based algo. Then try to optimize the game based on people’s enjoyment.

I think it would be much easier to use change the parameters directly in the original program. Just have to use a gradient-free optimizer.

Yours is a better technical approach to the vague dream I had described.

Am I being downvoted because I don't have an optimal solution to some problem?

Re: Super Mario 64 has been decompiled

#170

Earlier quoted context omitted.

Huh? I wasn't making an appeal to anyone, so your point is moot. Context is important. Why bother decompiling a game if you have the source already? Of course I meant decompiling games for which there is no source code available on any machine. Nintendo has the source for SM64. What a ridiculous load of pedantry.

It isn't pedantry. Expressing a wish that something "could" be done is ambiguous. "Could" is both used as you originally intended and as an expression of ability. It's not pedantry to misunderstand, and it's not pedantry for GP to explain why the misunderstanding occurred. A misunderstanding occurred. The misunderstanding was clarified, acknowledged, and explained. I'm not sure it contributes anything to make accusat…

Yes, this thread right here officer.
Post reply on HN