sudo apt install gcc-mipsel-linux-gnu binutils-mips-linux-gnu ninja-buildsudo apt install python3-pippython3 -m pip install -U -r requirements.txt
Note: For compiling, you need to add the i386 architecture. For instructions on that please check out this guide if you're on Ubuntu.
Note: It's recommended that you set up a Python virtual environment.
-
Create a folder named
isoin the root of the repo. -
Extract the following files from the July 12th prototype and place it in said
isofolder:SCPS_150.17(main executable - found in the root)TAPCTRL.IRX(found in theIRXfolder)WAVE2PS2.IRX(found in theIRXfolder)- Every file (*.OLM) in the
MDLfolder.
-
./tools/setup.py
./configure.pyninja
After running ninja, you should see something like the following:
[238/248] sha1sum config/irx.wave2ps2.jul12.checksum.sha1
build/WAVE2PS2.IRX.rom: OK
[248/248] sha1sum config/p3.jul12.checksum.sha1
build/SCPS_150.17.rom: OK
- After a successful build, run
./configure.py --objdiff ./tools/objdiff/objdiff-cli report generate -p . -o progress/report.json -f json-pretty
Note: You will need to make a clean build by running the configure script again before attempting to run ninja.
- After a successful build, create a folder named
expected. - Copy the
buildfolder inside theexpectedfolder. ./tools/diff/diff.py -mwo FUNCTION_NAME- Use the
-targument to diff functions in IRX modules. - Possible targets are:
ee/wp2cd/tapctrl. Default isee. Thetapctrltarget will not work as of writing. - Example:
./tools/diff/diff.py -mwo -t wp2cd FUNCTION_NAME.
- Use the
Note: Every time you add a new symbol, you must do the asm-differ setup again so they appear in the diff view.