Add PS2 support in create_config
#493
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds support for PS2 ELFs in
create_configby using the "fake rom" approach.This avoid issues in the long run generating elf within an elf in the build system, but adds
objcopyas a dependency ofcreate_configfor PS2. Since we can't know whatobjcopyflavour the user may want to use thencreate_configwill try to figure out which one the user has from a list. The user can also provide their ownobjcopyby passing a flag.The generated yaml is generated from the elf and it includes info like each section from the game and automatically fill
section_orderand similar variables,gpvalue if available and ald_gp_expressionsetting when possible, inferred compiler and tweaked default settings for ps2.The compiler inferring machinery is pretty weak. Currently it assumes
EEGCCunless there's a.mwcatssection present in the ELF. I think this should be good enough as an starting point, and we can improve this in the future.Since splat doesn't have built-in support for
vutext,vudata, etc, those kind of sections will be listed asincbins instead.I also wrote some docs in a separate Quickstart page. Hopefully everything is clear enough.
I'm not sure how to bump the splat version. Should I do +
0.1.0or +0.0.1?