Pseultra: Difference between revisions
Fix link to pseultra-project.zip
(Initial version) |
(Fix link to pseultra-project.zip) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1:
pseultra is
There is also [https://github.com/iffyloop/pseultra a fork] of pseultra with pre-built binaries for MSYS2 (Windows) x64, along with several merged features, updates, and patches. The following section describes how to set up an MSYS2 environment with pre-built pseultra binaries.
== Windows ==
The following instructions will help you set up a pseultra development environment on Windows with MSYS2 and n64chain.
# Download and install the latest 64-bit '''MSYS2''' from: [https://www.msys2.org/ msys2.org].
# 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], open 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]]
|