Homebrew Question Mario 64 port?

tom2199

Well-Known Member
Member
Joined
Apr 23, 2015
Messages
256
Trophies
0
XP
540
Country
Germany
is there any way to know if you have v3? it still says version 1.00
If you get the profile selection screen from the switch before you start the game (i'm not talking about the 4 sm64 save slots) its's V3 because saves are moved to the nand like any other game now instead of the sd card.
 
  • Like
Reactions: Shiesty

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,786
Trophies
2
Age
48
Location
Japan
XP
3,685
Country
United States
Got the v3, sadly there is still no way to turn off inverted camera controls:toot:

use this fork: https://github.com/fgsfdsfgs/sm64pc

EDIT: help for DIY folks
1) follow the directions in the wiki to ensure you can build the pc port
2) have a working devkitpro installation with devkitA64 (sudo (dkp-)pacman -S switch-dev, will include it)
3) install: devkitpro-pkgbuild-helpers with (dkp)pacman
4)git checkout switch
5) source $DEVKITPRO/switchvars.sh
6) make TARGET_SWITCH=1 BETTERCAMERA=1
7) you'll find the .nro in the build folder.

Isn't Tinfoil baked into SXOS? Either way, it is the most help I can give you, any links etc. would be against the rules.
No it isn't.
 
Last edited by urherenow,

Jibbz

Active Member
Newcomer
Joined
Apr 26, 2020
Messages
26
Trophies
0
Age
48
XP
275
Country
United Kingdom
I wish that V3 Didnt have the glitch showing the black bar down the left hand side of the star select screen.
glitch.jpg

But other than that i love it ....
V1 did not have the bar but i assume it is something to do with the widescreen hack.
V2 also showed the black bar.
 
  • Like
Reactions: Reecey

gladiac1337

New Member
Newbie
Joined
Nov 10, 2009
Messages
4
Trophies
0
XP
183
Country
Gambia, The
I wish that V3 Didnt have the glitch showing the black bar down the left hand side of the star select screen.
View attachment 208860

But other than that i love it ....
V1 did not have the bar but i assume it is something to do with the widescreen hack.
V2 also showed the black bar.
There is a fix for this on GitHub in fgsfdsfgs's repository: https://github.com/fgsfdsfgs/sm64pc/commit/d2cff2838f79f82fb2f50bb7e9e234b5437cc053
Just rebuild with the latest changes and the black bar should be gone!
 
  • Like
Reactions: hippy dave

DaniPoo

Well-Known Member
Member
Joined
Jan 2, 2013
Messages
925
Trophies
1
Age
35
XP
2,291
Country
use this fork: https://github.com/fgsfdsfgs/sm64pc

EDIT: help for DIY folks
1) follow the directions in the wiki to ensure you can build the pc port
2) have a working devkitpro installation with devkitA64 (sudo (dkp-)pacman -S switch-dev, will include it)
3) install: devkitpro-pkgbuild-helpers with (dkp)pacman
4)git checkout switch
5) source $DEVKITPRO/switchvars.sh
6) make TARGET_SWITCH=1 BETTERCAMERA=1
7) you'll find the .nro in the build folder.


No it isn't.

Any chance you could write a more complete step by step guide for us noobs? I tried installing Devkitpro and I should have devkitA64. Now I asome that I do the rest from within MSYS?

I think I got step 3) right by doing "pacman -S devkitpro-pkgbuild-helpers" in MSYS.
Not sure what 4)git checkout switch means
 
Last edited by DaniPoo,
  • Like
Reactions: spriteice

gladiac1337

New Member
Newbie
Joined
Nov 10, 2009
Messages
4
Trophies
0
XP
183
Country
Gambia, The
Last edited by gladiac1337,
  • Like
Reactions: ganons

spriteice

Well-Known Member
Newcomer
Joined
Jan 17, 2020
Messages
92
Trophies
0
XP
1,042
Country
Australia
Yes, i even applied O3 (makes the compiler optimize the code) and the black border is gone and the game works fine.
I cannot share the binary, however, here is the description on how to build it yourself: github/fgsfdsfgs/sm64pc/wiki/Compiling-for-Nintendo-Switch (still cannot post real links)
I've figured out how to compile it for switch but am too tired to write a guide for switch right now. Can possible do one tomorrow. Also does anyone know how to add a custom icon? the APP_ICON in the make file does sweet FA
 

Jibbz

Active Member
Newcomer
Joined
Apr 26, 2020
Messages
26
Trophies
0
Age
48
XP
275
Country
United Kingdom

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,786
Trophies
2
Age
48
Location
Japan
XP
3,685
Country
United States
Any chance you could write a more complete step by step guide for us noobs? I tried installing Devkitpro and I should have devkitA64. Now I asome that I do the rest from within MSYS?

I think I got step 3) right by doing "pacman -S devkitpro-pkgbuild-helpers" in MSYS.
Not sure what 4)git checkout switch means
First, if you used the windows devkitpro installer for msys2, you're going to have problems. Namely, problems getting msys2 setup correctly with mingw64. That's why I said to follow the wiki and build it for PC FIRST. THEN you can switch to the "switch" branch and continue.

Second, building things assumes you understand how git works (and have git installed). When you clone the repository with git, you're looking at the master branch. To build it with the changes for Switch, you need to switch to the switch branch. That's what "git checkout switch" does.

Third, almost any project has a file called readme.md. You really should read it. It often gives hints on how to build, or a link to a guide. It's also what you see when you scroll down on a project's main github page. Problem is, in this case, the link you're looking for is only visible when you're actually looking at the switch branch, and not "master".

Personally, I recommend (AFTER you've successfully built the PC version) that you uncomment "MSYS2_PATH_TYPE=inherit" in mingw64.ini, and add to the very top of your Windows path, in order:
path to mingw64/bin
path to mingw32/bin

https://github.com/fgsfdsfgs/sm64pc/wiki/Compiling-for-Nintendo-Switch
 
Last edited by urherenow,

masterchan777

Well-Known Member
Member
Joined
Oct 1, 2007
Messages
380
Trophies
1
Location
World Wide Web
XP
1,468
Country
Following @urherenow 's post, you can try building for switch following the two steps below, you'll have to make sure you're able to build the PC version correctly first.
Note: This is for Windows 10 X64

Step 1 - Setup devkitpro's switch tools through Msys2:

1 - Set the following environment variable
Code:
 DEVKITPRO=/opt/devkitpro

2 - Start Msys2 and import the needed keys
Code:
pacman-key --recv F7FD5492264BB9D0
pacman-key --lsign F7FD5492264BB9D0

3- Install keyring
Code:
pacman -U https://downloads.devkitpro.org/devkitpro-keyring-r1.787e015-2-any.pkg.tar.xz

4- Edit your Msys2 pacman.conf file found in [your-Msys2-dir]/etc/pacman.conf and add these lines
Code:
[dkp-libs]
Server = https://downloads.devkitpro.org/packages

[dkp-windows]
Server = https://downloads.devkitpro.org/packages/windows

5- Update Msys2 database
Code:
pacman -Syu

6- Install devkitpro switch tools
Code:
pacman -S switch-dev devkitpro-pkgbuild-helpers libnx switch-tools switch-mesa switch-libdrm_nouveau switch-sdl2


Step 2 - Building the source:

Navigate to your switch source dir in Msys2 and run

Code:
source $DEVKITPRO/switchvars.sh

For new (experimental) camera controls:
Code:
make -j4 TARGET_SWITCH=1 BETTERCAMERA=1

OR

For traditional camera controls :
Code:
make -j4 TARGET_SWITCH=1

When your source is updated, you'll have to rebuild and reinstall libaudiofile, and only follow Step 2.

Good luck.
 
Last edited by masterchan777,

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,786
Trophies
2
Age
48
Location
Japan
XP
3,685
Country
United States
When your source is updated, you'll have to rebuild and reinstall libaudiofile, and only follow Step 2.

Good luck.
Nah, I didn't have to do that (yet). If you mess with the source yourself, you just have to

git stash
git checkout master
git pull
git checkout switch
make clean
make TARGET_SWITCH=1 BETTERCAMERA=1

you can turn that into a script as well...
 

TheCasualties

Just trying to be helpful
Member
Joined
May 11, 2020
Messages
440
Trophies
0
Location
The Bardo Islands
XP
494
Country
Netherlands
I've successfully built it for windows 10 but when trying to build (make) for switch gcc errored out (idr the error from the first time). Then I installed the i686 version of gcc and now I get "gcc: error: unrecognized command line option '-mtp=soft'"

Still pretty new to this build from source stuff. Do i need to uninstall gcc and try installing it again? Maybe I have the wrong version of gcc?

Also, what is the "switch source directory"? I only have the sm64pc-master source directory.
 
Last edited by TheCasualties,

spriteice

Well-Known Member
Newcomer
Joined
Jan 17, 2020
Messages
92
Trophies
0
XP
1,042
Country
Australia
I've successfully built it for windows 10 but when trying to build (make) for switch gcc errored out (idr the error from the first time). Then I installed the i686 version of gcc and now I get "gcc: error: unrecognized command line option '-mtp=soft'"

Still pretty new to this build from source stuff. Do i need to uninstall gcc and try installing it again? Maybe I have the wrong version of gcc?

Also, what is the "switch source directory"? I only have the sm64pc-master source directory.
you have to build it in msys MinGW64 (or 32bit if you have a 32bit pc)
 
D

Deleted User

Guest
Yeah same what is meant by switch source directory? I managed to build the pc port fine but when I follow the instructions I am stuck on what you are calling the switch source directory. Also the command git checkout switch does not work for me. My build fails for the following:

C:\msys64\sm64pc\tools\audiofile-0.3.6\libaudiofile/WAVE.h:44: undefined reference to `operator delete(void*, unsigned long long)'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: lib/libaudiofile.a(BlockCodec.o):BlockCodec.cpp:(.rdata$_ZTV10BlockCodec[_ZTV10BlockCodec]+0x80): undefined reference to `__cxa_pure_virtual'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: lib/libaudiofile.a(BlockCodec.o):BlockCodec.cpp:(.rdata$_ZTV10BlockCodec[_ZTV10BlockCodec]+0x88): undefined reference to `__cxa_pure_virtual'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: lib/libaudiofile.a(UUID.o): in function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
C:/msys64/mingw64/include/c++/10.1.0/bits/basic_string.tcc:219: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long long&, unsigned long long)'
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:49: tabledesign] Error 1
Makefile:170: *** Failed to build tools. Stop.

any ideas?

I didn't change my path I think you mean in Windows the paths? I also did not change any ini data like you said here:

"Personally, I recommend (AFTER you've successfully built the PC version) that you uncomment "MSYS2_PATH_TYPE=inherit" in mingw64.ini, and add to the very top of your Windows path, in order:
path to mingw64/bin
path to mingw32/bin"

Is this my problem the pathing?

recorded my findings so far but that's where i am stuck

 
Last edited by ,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: 24,000 hmmmm lol