add basic support for rgbds assembly #13831
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.
This adds basic support for assembling and linking Game Boy and Game Boy Color games with RGBDS's
rgbasm
andrgblink
. This also adds knowledge of the Sharp SM83 CPU family, the 8080/Z80-like CPU used on the device's SoC.An example of this being used can bee seen in the two included tests, as we'll as a fork of pokered.
As demonstrated in test case "2 rgbfix" as well as the pokered fork, many projects will need to call
rgbfix
to setup the ROM headers to the expected (and computed, in the case of checksum) values on top of the output ofexecutable()
. Unfortunately, it's not possible to have the linker automatically callrgbfix
, and I wasn't able to find a good place in Meson to add that call. I'm open to ideas as possible alternatives to thecustom_target
I've documented.