Pseultra: Difference between revisions

2,504 bytes added ,  3 years ago
Fix link to pseultra-project.zip
No edit summary
(Fix link to pseultra-project.zip)
 
(3 intermediate revisions by the same user not shown)
Line 1:
pseultra is feature-rich, open-source alternative to the official N64 SDK. The biggest benefit of developing with an open-source SDK is that open-source code is legal to redistribute in your homebrew game (as long as you ensure you're not using ''any'' proprietary Nintendo code ''at all'' or infringing on other copyrights), and better support for modern operating systems (such as Windows 10 and Linux). The official pseultra repository is [https://github.com/pseudophpt/pseultra available on GitHub], and the "Getting Started" section of the readme explains how to set it up on macOS or Linux. Please note that there is a slight error in the current "Getting Started" instructions, as some users have reported that you must run <code>scons && sudo scons install</code> in the tools directory before running it in the root directory.
 
There is also [https://github.com/iffyloop/pseultra a fork] of pseultra with somepre-built updates,binaries particularlyfor related toMSYS2 (Windows) compatibilityx64, andalong pre-builtwith binariesseveral formerged thefeatures, MSYS2updates, and environmentpatches. The following section describes how to set up an MSYS2 environment with pre-built pseultra binaries.
 
== Windows ==
Line 9:
# Download the latest '''n64chain''' binaries from: [https://cen64.com/ cen64.com]. Make sure you download the binaries under the section titled "n64chain Downloads" rather than the CEN64 emulator.
# Extract the n64chain package, move the <code>tools</code> directory into <code>C:\msys64\opt</code>, and rename <code>tools</code> to <code>n64chain</code>.
# Download and extract [https://github.com/iffyloop/pseultra/releases/ pseultra-chksum64-binaries.zip], thenopen the extracted <code>pseultra-chksum64-binaries</code> folder, and move the <code>pseultra</code> and <code>chksum64</code> directories into <code>C:\msys64\opt</code>.
 
== macOS & Linux ==
Please follow the "Getting Started" instructions in either of the linked repositories above. While the Windows one is an unofficial fork, it does contain some updates and patches that are likely to be beneficial to UNIX users also.
 
== Initializing a Project ==
pseultra's build system integration is still a work-in-progress. Thus, currently a simple shell script is used to automate the building of a ROM from a single C source file. This section explains how to download and use the template project and build script, which you can then customize as much as you want. (Here, we assume the Windows setup described above; if you're using a different platform or toolchain, the most important thing to adjust will be the assignment of the <code>PATH</code> environment variable in <code>build.sh</code>. Additionally, make sure you have a copy of the [https://github.com/DragonMinded/libdragon/blob/trunk/tools/chksum64.c chksum64] application which is bundled with pseultra in the binaries linked above).
 
# Download and extract [https://github.com/iffyloop/pseultra/releases/ pseultra-project.zip], optionally renaming the extracted <code>pseultra-project</code> directory to something more appropriate for your project.
# Take the first 4096 bytes of a big-endian N64 ROM and copy them to a separate file called <code>nintendo-boot-template.n64</code>, placing that file in the root directory of your project (next to <code>build.sh</code>). If you want, you can keep a copy of this file in another location, separate from your project, and re-use it again later. '''This is the non-free part discussed below in the section "A Note About Bootloaders."'''
# Run <code>build.sh</code> inside an '''MSYS2''' shell. The final output should be located inside <code>build\main-linked-nintendo-boot.n64</code>. Run this ROM with CEN64, and you should see a spinning cube!
# Use this project as a starting point for your own N64 software.
 
== A Note About Bootloaders ==
The official Nintendo bootloader (known more specifically as the [[IPL3]]) is the only non-open-source component required to build N64 games with pseultra, thus inhibiting free and unencumbered distribution of your homebrew games. Thankfully, though, work is ongoing in the N64brew community to write a completely open-source replacement for the [[IPL3]], and once that is accomplished, the template project and above instructions will be adjusted accordingly.
[[Category:Software Development Kits]]
9

edits