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,566
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
11,944
Trophies
4
Location
WA State
Website
ko-fi.com
XP
14,671
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
816
Trophies
0
Age
25
XP
2,612
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,566
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.
 

Hiccup

Well-Known Member
Member
Joined
Nov 21, 2009
Messages
993
Trophies
1
XP
1,694
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,360
Trophies
1
Location
his house!
Website
catboybeebop.neocities.org
XP
2,669
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
15,852
Trophies
3
Age
23
XP
19,510
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.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • SylverReZ @ SylverReZ:
    Hope they made lots of spaget
  • K3N1 @ K3N1:
    Chill dog
  • SylverReZ @ SylverReZ:
    Chilli dog
  • Skelletonike @ Skelletonike:
    Damn, I'm loving the new zelda.
  • xtremegamer @ xtremegamer:
    loving the new zelda, i started a game, it was so fucking good, so i
    am waiting on my friend to get home so we can start a new one together
  • Skelletonike @ Skelletonike:
    I just dislike that they don't let me choose the voices before the game starts. Happened with botw as well, had to change to japanese and restart.
  • K3N1 @ K3N1:
    But the important question is can you choose gender
  • Skelletonike @ Skelletonike:
    Same way you can choose Gerald's gender.
  • Skelletonike @ Skelletonike:
    *Geralt, damn autocorrect.
  • Psionic Roshambo @ Psionic Roshambo:
    But can he be trans? Lol
  • K3N1 @ K3N1:
    Zelda transforms into link
  • Psionic Roshambo @ Psionic Roshambo:
    Link I'm not the princess your looking for.... *Pulls a crying game*
  • K3N1 @ K3N1:
    *skirt up* it's exactly what I always wanted
  • Skelletonike @ Skelletonike:
    Just scanned all my zelda amiibos, took a while but didn't get anything that cool, did get the lon lon ranch hylian fabrics though.
  • Skelletonike @ Skelletonike:
    It was pretty funny when I scanned wolf link and got a shit load of meat.
  • K3N1 @ K3N1:
    @Skelletonike, btw I ran that custom for mgs4 on the deck I'm amazed it got that far in game
  • K3N1 @ K3N1:
    Plug in*
  • K3N1 @ K3N1:
    Your favorite activity
  • BentlyMods @ BentlyMods:
    My fav actvity is:

    mario-dancing.gif
  • Psionic Roshambo @ Psionic Roshambo:
    Do the Mario lol
  • K3N1 @ K3N1:
    🍑
  • K3N1 @ K3N1:
    Whoever developed Bramble was smoking that good shit fucking gnomes
    K3N1 @ K3N1: Whoever developed Bramble was smoking that good shit fucking gnomes