Make rust emitted code compatible with Rev A Playdate hardware #61
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.
Hi there! I've been working on a Playdate game in rust for the last 9 months using crankstart. Thanks for all the work on this project which has made that possible! I have a bunch of changes to both crankstart and crank, some of which are probably useful to others, so I'm planning to start sending some back upstream. Here's the first! Changelog below:
--
The FPU settings for C code are
-mfpu=fpv5-sp-d16
, the-sp-
part means that double precision floating point is unsupported. The rust docs show that getting this same effect from rustc-emitted code requires this additional target feature. Note that at the moment this produces a warning that this target flag is unstable.Without this, I was getting "undefined instruction" errors for f64 instructions on the original Playdate hardware, with this change it seems to be resolved.