Mr-Wiseguy 2ab125a5f3 Matched 2.0I and 2.0J, fixed matched object count calculation (#53)
* Matched 2.0I and 2.0J, fixed matched object count calculation

* Update version checkbox matrix

* Mark irix 2.0H as N/A in the checkbox matrix since it's not available

* Address PR comments

* Changed tab to spaces on new files

* Converted tabs to spaces in other changes, fixed os_motor.h definitions
2023-09-02 23:17:04 -04:00

ultralib

Reverse engineering of libultra

Compatibility

Currently this repo supports building the following versions:

IDO / GCC libultra.a / libgultra.a libultra_d.a / libgultra_d.a libultra_rom.a / libgultra_rom.a
2.0E / N/A / N/A / N/A
2.0F / N/A / N/A / N/A
2.0G / N/A / N/A / N/A
2.0H N/A / N/A / N/A /
2.0I ✔️ / ✔️ / ✔️ ✔️ / ✔️
2.0I_patch / / /
2.0J ✔️ / ✔️ / ✔️ ✔️ / ✔️
2.0K ✔️ / ✔️ / ✔️ ✔️ / ✔️
2.0L ✔️ / ✔️ / ✔️ ✔️ / ✔️
ique_v1.5

Preparation

After cloning the repo, put a copy of the target archive(s) in their correct version folder in base/. For example, if your target archive is libgultra_rom.a 2.0L then you'd place it in base/L/. If you will be building without a target archive by setting NON_MATCHING then you can skip this step.

Build dependencies

The build process requires the following packages:

  • build-essential
  • python3
  • binutils-mips-linux-gnu (libultra* only)

Under Debian / Ubunutu you can install them with the following commands:

sudo apt update
sudo apt install build-essential python3

If building any libultra you can install binutils-mips-linux-gnu with:

sudo apt install binutils-mips-linux-gnu

Building

Run make setup with the proper flags set followed by make with optional jobs. For example, if building the 2.0L PC archive you'd do the following:

  • make VERSION=L TARGET=libgultra_rom setup
  • make VERSION=L TARGET=libgultra_rom

Every target flag combination requires separate a setup command.

If building without a target archive using NON_MATCHING then you can skip the setup command.

Description
No description provided
Readme 3.3 MiB
Languages
C 93%
Assembly 5.4%
Python 0.8%
Makefile 0.8%