Homebrew Super Mario 64 (1996) Port for DSi

battlecatsahead

Well-Known Member
Member
Joined
May 28, 2020
Messages
241
Trophies
0
XP
1,083
Country
Canada


marky@Darknite MSYS ~
$ cd sm64

marky@Darknite MSYS ~/sm64
$ make -j$(nproc)
==== Build Options ====
Version: us
Microcode: f3dex2
Target: sm64.us
Compare ROM: no
Build Matching: no
=======================
make: gcc: No such file or directory
make: *** [Makefile:78: n64graphics] Error 127
Traceback (most recent call last):
File "extract_assets.py", line 282, in <module>
main()
File "extract_assets.py", line 156, in main
subprocess.check_call(
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '-s', '-C', 'tools/', 'n64graphics', 'skyconv', 'mio0', 'aifc_decode']' returned non-zero exit status 2.
Makefile:190: *** Failed to extract assets. Stop.

marky@Darknite MSYS ~/sm64
$



thought i followed it well , guess i didnt ...easy fix ?
It looks like you don’t have gcc installed
 
D

Deleted User

Guest
I found a working build on reddit. Just google for Super Mario 64 DSi port.
sm46-dsi.us.f2ff7b9.noDLIBFAT.nds works on my 3DS through Twilightmenu.
SM64.jpg
 
Last edited by ,
  • Like
Reactions: Tarmfot

Nexus45

New Member
Newbie
Joined
Nov 12, 2011
Messages
3
Trophies
1
XP
16
Country
France
Hi guys, I've been trying to compile on Windows 10 and macOS, but no luck. Did anyone manage to create a docker image? The instructions a really a tad too generic for me :/
 
Last edited by Nexus45,

I_AM_L_FORCE

Unban me from Discord
Member
Joined
Feb 19, 2015
Messages
1,064
Trophies
0
Age
23
Location
London
XP
1,537
Country
United Kingdom
Super Mario 64 (1996) Port for DSi

Yes, you read that right! This is a port of the original Super Mario 64 from 1996 to the Nintendo DSi, based on the open-source decompilation of the game. It originally started out as a joke idea that I didn't think would go very far, but once I actually got the game running on the DSi, I saw potential. The initial version was based on the PC port of the game, but that port is designed with modern hardware in mind, and its graphics abstraction layer is slow. I decided to scrap it and start from scratch, writing a new graphics interpreter designed to work directly with the DS hardware for maximum performance. The results were better than I expected; the game runs full speed in most cases, and the graphics don't look too bad, either!

Compiling
Just like the original decompilation and the PC port, this requires you to provide your own legally dumped Super Mario 64 ROM file in order to compile it. I can't provide compiled binaries, so don't ask for them or share them. The source code is available here. It's already configured to build the DSi port, so just follow the build instructions included in the readme and you should be good to go.

Usage

Once you've compiled the game, you can load it through unlaunch, memory pit, or whatever DSi homebrew method you prefer. The game uses libfat to save to a file just like the PC port. For some reason there are issues launching the game from TWiLightMenu with libfat enabled; if you have no other way of launching homebrew, it can be disabled in the makefile by removing -DLIBFAT. Note that if you do this, you won't be able to use saves.

Issues
The game runs full speed for the most part, but there are slowdowns in certain areas. There are also some minor graphical issues; translating N64 graphics calls to the DS isn't an easy task, and while there are hacks in place to accomodate for most of what the game does, some issues might be unfixable. Audio is currently entirely unimplemented, but that's probably the next thing I'll work on.

DS Support?
The only real thing stopping this from working on the original DS is lack of RAM. Right now the entire game is loaded into memory on boot, and it's simply too big to fit in the 4MB that the DS has to offer. Eventually I'd like to load in assets dynamically with NitroFS, but this will require hacking up how the game loads things. Performance would also of course be worse on the DS, but not much can be done about that.

Screenshots
View attachment 246341View attachment 246342View attachment 246343
View attachment 246344View attachment 246345View attachment 246346

The above screenshots were taken with my emulator for the sake of quality, but here's a picture of it running on real hardware in case you weren't convinced :)
View attachment 246347
Oh, oh I've seen this one before!
 

MetoMeto

Well-Known Member
Member
Joined
Dec 28, 2018
Messages
1,486
Trophies
0
Location
SR-388
XP
2,264
Country
Zimbabwe
ok i know this isnt PS vita thread but it is super mario 64 port thread so.... well anyway i wanted to ask about compiling vita port, since as i noticed all coplilers use this... "msys64" thing can someone please help me compile for vita? i mean its similar as for 3DS but a bit different. I compiled 3DS version but i cant do it for vita...idk what am i doing wrong but im always stuck at last step.

this is the guide i followed: https://github.com/bythos14/sm64-vita/blob/master/README.md
 
Last edited by MetoMeto,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @OctoAori20, Thank you. Hope you're in good spirits today like I am. :)