- Install Playdate SDK: https://play.date/dev/
- Set PLAYDATE_SDK_PATH env var to point at the SDK install dir.
- Install clang: https://releases.llvm.org/download.html
- For windows look for a .exe file on the GitHub release page. It doesn't say clang in the name but it's there.
- rustup target add thumbv7em-none-eabihf
- cargo build --release --lib --target thumbv7em-none-eabihf
- The build will print
"dropping unsupported crate type cdylib"
warning. This is normal and expected when building for the device.
Api coverage:
- 6.1 Utility [ DONE ]
- 6.2 Audio [ DONE ] (bugs filed: some incomplete C APIs and completion callbacks run on the wrong thread and crash)
- 6.3 Display [ DONE ]
- 6.4 Filesystem [ DONE ]
- 6.5 Graphics [ DONE ] (except BitmapTables due to C API being incomplete)
- 6.6 Video [ DONE ]
- 6.7 Input [ DONE ]
- 6.8 Device Auto Lock [ DONE ]
- 6.9 System Sounds. [ DONE ]
- 6.10 JSON [ WONTFIX: Use postcard instead ]
- 6.11 Lua [ WONTFIX: No current plan to support Rust backend for Lua games ]
- 6.12 Sprites [ WONTFIX: No current plan to support Sprites ]
There are still some TODOs around for a few missing functions.