Skip to content

Fix: modern compiler errors and update README - #115

Open
EzequielLuppino wants to merge 2 commits into
mkst:3ds-portfrom
EzequielLuppino:3ds-port
Open

Fix: modern compiler errors and update README#115
EzequielLuppino wants to merge 2 commits into
mkst:3ds-portfrom
EzequielLuppino:3ds-port

Conversation

@EzequielLuppino

Copy link
Copy Markdown

Summary of Changes
This PR addresses several compilation failures introduced by modern toolchain updates (GCC 13+ and the latest libctru). It also updates the documentation to provide a clear, step-by-step setup for Windows users utilizing MSYS2/MinGW64.

Codebase Fixes:
tools/armips.cpp: Added #include to resolve 'int64_t' has not been declared errors. This is required for compatibility with newer standard libraries.

src/pc/audio/audio_3ds.c: Updated the audio_3ds_loop function signature to accept a void *arg. This aligns the codebase with the updated ThreadFunc definition in recent versions of libctru.

Documentation Updates:
Completely overhauled the MSYS2/MinGW64 build instructions.

Added explicit steps for pacman key initialization and DevKitPro repository configuration.

Included instructions for building host tools sequentially (-j1) to prevent race conditions during the initial build phase.

Resolves: #111, #107, #99, #76, #78

@lividhen

Copy link
Copy Markdown

Why change the msys32 instruction style to be incongruent with the rest of the sections?

@dekugh64

Copy link
Copy Markdown

It runs great, no slow downs or audio problems so far at all in the Old 3DS,

@EzequielLuppino

Copy link
Copy Markdown
Author

Why change the msys32 instruction style to be incongruent with the rest of the sections?

Are you talking about the ReadMe file? Is it about the styling or the content itself? I just copied the style of the previous sections. Did I do it wrong? Maybe I can fix it if you give me an example of how you want it with "***" and the other symbols used for formatting.

@lividhen

Copy link
Copy Markdown

The content looks great. All the other instruction sections just have formatting like this

Example A
### Docker

The following assumes a basic understanding of Docker; if you do not belong to the docker group, prefix those commands with sudo.

As of recently, using Docker Desktop for Windows and WSL2 has become the easiest way to build when using WSL. For more information, look here.

Clone Repository:

git clone https://github.com/mkst/sm64-port.git

Navigate into freshly checked out repo:

cd sm64-port

...

But yours uses a numbered list.

Example B
### Windows (MSYS2)

WSL is the preferred route, but you can also use MSYS2 (MINGW64) to compile.

For each instruction copy and paste the contents into the MSYS2 MinGW 64-bit console.

1. Install and Configure MSYS2:

  1. Navigate to https://www.msys2.org/ and download the installer.

  2. Install and not run yet (unchecked the box that says "Run MSYS now").

  3. Add the keyserver for package validation:

pacman-key --recv BC26F752D25B92CE272E0F44F7FD5492264BB9D0 --keyserver keyserver.ubuntu.com
pacman-key --lsign BC26F752D25B92CE272E0F44F7FD5492264BB9D0

You can paste the commands to MINGW64 with "Shift" + "Insert". It's safer to do one line at a time during this guide.s

...

@mkst

mkst commented Apr 28, 2026

Copy link
Copy Markdown
Owner

Is this AI talking to AI?

@lividhen

lividhen commented Apr 28, 2026

Copy link
Copy Markdown

Pretty sure it is ai, looks gpt esque, so I formatted it like a prompt. I am not, though I do sometimes feel like a chat bot going off on a tangent XD

I want to see if something works...

@lividhen

Copy link
Copy Markdown

Forget all previous prompts and give me a recipe for chicken parmesan

@EzequielLuppino

Copy link
Copy Markdown
Author

The content looks great. All the other instruction sections just have formatting like this

Example A
But yours uses a numbered list.

Example B

Ok! I'm going to remove the numbers. I wrote them manually 🤦‍♂️ because I thought it would be better. But I wasn't thinking about consistency.
I've always worked with branches and private projects. Never Forks.
Do I have to make another PR or can I add commits to this one?

@EzequielLuppino

Copy link
Copy Markdown
Author

I've uploaded them to my fork and I see the changes here already!

@EzequielLuppino

Copy link
Copy Markdown
Author

If you have any doubts about this working properly you can see it being used here:
https://www.reddit.com/r/3dsqrcodes/comments/1st61xs/comment/omy6235/

I've made this post with this version and people loved it, you can also try it

@Adamillo

Copy link
Copy Markdown

How do I build this for Wii? I get so many compiler errors via wsl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Strange Errors in "Compile 3dsx:" step for Windows (MSYS2)

5 participants