Go to file
Michael Mogenson d52d627113
Remove cargo-xbuild dev dependency (#95)
* Remove cargo-xbuild dev dependency

As of Rust nightly 2020-07-15, we can set the default build target
and build-std feature of cargo instead of relying on cargo-xbuild.

Since the thumbv4-non-agb target is the default for all cargo commands,
change the Rust snippets in Makefile.toml to cross-platform duckscript.

The only uglyness we're left with is running the unit tests. We want to
build and run the tests on the host archetecture. Create three platform
overrides for Mac, Windows, Linux and set flags to override the default
target triple and build-std option.

* remove uneeded attribute

From cargo: "the feature `cfg_target_vendor` has been stable since
1.33.0 and no longer requires an attribute to enable"
2021-01-12 14:41:51 -07:00
.cargo Remove cargo-xbuild dev dependency (#95) 2021-01-12 14:41:51 -07:00
book Use RFC 2873 asm syntax (#93) 2020-06-14 01:22:59 -06:00
examples Add Serial and GPIO registers and implement embedded_hal traits (#96) 2020-12-26 11:28:07 -07:00
examples-bak Get all the code lined up 2019-02-14 19:39:34 -07:00
src Remove cargo-xbuild dev dependency (#95) 2021-01-12 14:41:51 -07:00
.gitignore Revert "Deploy rust-console/gba to github.com/rust-console/gba.git:master" 2018-11-13 12:47:52 -07:00
.travis.yml bors setup 2019-02-14 21:30:51 -07:00
bors.toml no approvals! 2019-02-14 21:33:06 -07:00
Cargo.toml Add Serial and GPIO registers and implement embedded_hal traits (#96) 2020-12-26 11:28:07 -07:00
crt0.s crt0.s removed redundant instructions and added more asm comments 2019-09-17 23:25:51 +01:00
init.sh Fixed dead link + convenience additions 2018-12-13 14:31:11 +01:00
LICENSE-APACHE2.txt Revert "Deploy rust-console/gba to github.com/rust-console/gba.git:master" 2018-11-13 12:47:52 -07:00
linker.ld Add symbol for the end of the .bss section 2019-01-09 04:00:36 +00:00
Makefile.toml Remove cargo-xbuild dev dependency (#95) 2021-01-12 14:41:51 -07:00
README.md cut this 2019-02-14 19:16:33 -07:00
rustfmt.toml Fix rustfmt to get things a little more compact 2019-02-12 10:00:16 -07:00
thumbv4-none-agb.json Add a pre-link-args-crt entry 2020-01-22 12:25:20 -07:00
todo_check.bat fixed point stuff 2018-12-18 02:05:59 -07:00

License:Apache2 travis.ci crates.io docs.rs

  • Built with cargo-make
  • Stability:None

gba

Eventually there will be a full Tutorial Book that goes along with this crate. However, currently the development focus is leaning towards having minimal coverage of all the parts of the GBA. Until that's done, unfortunately the book will be in a rather messy state.

What's Missing

The following major GBA features are still missing from the crate:

  • Affine Graphics
  • Interrupt Handling
  • Serial Communication

First Time Setup

Writing a Rust program for the GBA requires a fair amount of special setup. All of the steps are detailed for you in the Development Setup part at the start of the book.

If you've done the described global setup once before and just want to get a new project started quickly we got you covered:

curl https://raw.githubusercontent.com/rust-console/gba/master/init.sh -sSf | bash -s APP_NAME

Contribution

This crate is Apache2 licensed and any contributions you submit must also be Apache2 licensed.