Homebrew Super Mario 64 (1996) Port for DSi

Deleted member 323844

Well-Known Member
Member
Joined
Feb 17, 2013
Messages
802
Trophies
1
XP
2,335
Country
Spain
That's not a thing, afaik
I use:

wget https://github.com/devkitPro/pacman/releases/download/v1.0.2/devkitpro-pacman.amd64.deb && sudo gdebi devkitpro-pacman.amd64.deb && sudo dkp-pacman -Sy && sudo dkp-pacman -Syu -y && sudo dkp-pacman -S nds-dev --noconfirm && sudo dkp-pacman -Syu devkitARM devkitarm-rules general-tools dstools ndstool libnds libfat-nds --noconfirm && sudo dkp-pacman -S devkitpro-pkgbuild-helpers libnx switch-tools switch-mesa switch-libdrm_nouveau switch-sdl2 --noconfirm && wget https://github.com/n64decomp/qemu-i...b/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb && sudo dpkg -i qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb

+ sudo apt install -y binutils-mips-linux-gnu build-essential git libcapstone-dev pkgconf python3 (of course).

I install all groups, so there are probably many redundant tools there xD
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,580
Country
Canada
It's nothing major, but I just pushed a workaround for texture sizes that aren't natively supported on the DS. Only a few textures in SM64 are affected by this, including the goddard background and the sides of purple switches. Didn't really have much time to work on this today, but I'm hoping to start taking a look at audio soon.
goddard.png
 
Last edited by Hydr8gon,

Jayro

MediCat USB Dev
Developer
Joined
Jul 23, 2012
Messages
12,964
Trophies
4
Location
WA State
Website
ko-fi.com
XP
16,974
Country
United States
Nice! I knew the 3DS port was possible, but this just blind-sided me! GREAT JOB with this! :yaynds:

It's nothing major, but I just pushed a workaround for texture sizes that aren't natively supported on the DS. Only a few textures in SM64 are affected by this, including the goddard background and the sides of purple switches. Didn't really have much time to work on this today, but I'm hoping to start taking a look at audio soon.
View attachment 246513
What if you were to take all the textures, and cut their sizes in half... Do you think it would then run within a DS's 4MB of RAM?
 

Moon164

Well-Known Member
Member
Joined
Nov 21, 2015
Messages
856
Trophies
0
Age
26
XP
2,946
Country
Brazil
This is just insane, Super Mario 64 really became the new Doom, now we have about 18 different platforms with a Super Mario 64 Port.
https://itrunsmario64.blogspot.com/p/does-it-run-super-mario-64.html

At this point I no longer doubt that anyone can port to consoles like Playstation and Sega Saturn or even obscure consoles like Zeebo.

It's a shame it doesn't work on the Nintendo DS, if anyone can test with expansion pak let me know, I really want to test it on my old Nintendo DS.

--------------------- MERGED ---------------------------

bruh i just built it and it runs amazing, i just posted a video about the performance:

--------------------- MERGED ---------------------------

also, at this point someone needs to make a list of every port of sm64 made


I keep following the list from this blogspot, every day it gets bigger :
https://itrunsmario64.blogspot.com/p/does-it-run-super-mario-64.html
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,580
Country
Canada
What if you were to take all the textures, and cut their sizes in half... Do you think it would then run within a DS's 4MB of RAM?
Probably not; the textures aren't the main problem anyway. On the N64, ROM data was mapped directly to memory, so the game could access it at any time without having to load it into RAM. On the DS, the cartridge is only accessible through I/O registers, so to actually use code or data it needs to be copied into RAM first. I haven't modified the game to load assets in this way, so right now the entire game needs to be copied into memory on boot. I'm hoping that something like this can be done without hacking the codebase to bits, but it'll need some looking into.

It's a shame it doesn't work on the Nintendo DS, if anyone can test with expansion pak let me know, I really want to test it on my old Nintendo DS.
I responded to someone earlier saying it should be possible to run using the expansion pak with minor modifications, but I've had some realizations since then. For one, the expansion adds 8MB, bringing the total RAM to 12MB, not 16MB like the DSi has. Now, 12MB might still be doable, except... being a slot 2 accessory, that extra 8MB is mapped to a completely different location than the main RAM! This makes it impossible to load the game into memory on boot, because not only would the binary have to be split, it would have to be copied to a location outside of main RAM. The expansion pak could still be useful for the dynamic asset loading that I want to attempt, if that isn't able to make the game work with only 4MB of RAM. But with the current limitation of having to load everything at once, it probably isn't possible.
 

Jayro

MediCat USB Dev
Developer
Joined
Jul 23, 2012
Messages
12,964
Trophies
4
Location
WA State
Website
ko-fi.com
XP
16,974
Country
United States
I feel like Super Mario 64 will become the new Doom thanks to the decompilation project
Not to mention the leaked source code that came out shortly after it.
 

Hiccup

Well-Known Member
Member
Joined
Nov 21, 2009
Messages
1,000
Trophies
1
XP
1,786
Country
Not to mention the leaked source code that came out shortly after it.
There's a reason people don't mention it - its not the complete source code, and unlike the decomp, it wasn't created with modern setups in mind, so even if all the source was there, it wouldn't be as easy to use/port as the decomp.
 

jeffyTheHomebrewer

Neato Burrito!
Member
Joined
Aug 24, 2018
Messages
1,620
Trophies
1
Location
his house!
Website
catboybeebop.neocities.org
XP
3,481
Country
United States
The plan is to eventually rework how the game loads assets to load them from the "cartridge", reducing the size of the binary in memory and hopefully allowing it to work with the 4MB limit. I won't make any promises on this, though.

I'd say we should make it 3mb or less, to give the DS some room to load in things, even if it's all in ram. (Maybe load it with extreme compression? We do have the source code to play with, after all!)
 
  • Like
Reactions: battlecatsahead

RocketRobz

Stylish TWiLight Hero
Developer
Joined
Oct 1, 2010
Messages
16,574
Trophies
3
Age
24
XP
20,948
Country
United States
Been enjoying this a bunch, any way to have it be bootable through hiya? I enjoy having all of my stuff in one place, and as of right now this is the only exception which requires me to boot through unlaunch.
The only way for it to be bootable on Hiya, is to move the game's data to NitroFS, which of course, would require changing the game code to load data from there.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: https://gbatemp.net/profile-posts/163064/