No description
Find a file
bors[bot] 038b887235 Merge #82
82: Remove dependency on gbafix r=Lokathor a=ketsuban

As per #80 this is the minimum you have to do to remove gbafix from the toolchain. I ended up doing this myself so that I could load the ELF binary directly into no$gba and use its excellent debugger.

There's no reason for the "main unit code" to ever change (the `0x96` byte before it is a fixed value) but changing the game title, game code, maker code, device type or software version will necessitate recalculating the complement check, and I didn't feel like working out if I could get the assembler to do that for me.

Co-authored-by: Thomas Winwood <twwinwood@gmail.com>
2019-06-04 06:39:02 +00:00
book bitmap video explanation 2019-02-14 21:18:21 -07:00
examples Update IME to be u16 sized, avoid newtype_enum 2019-02-14 22:11:23 -07:00
examples-bak Get all the code lined up 2019-02-14 19:39:34 -07:00
src typo 2019-03-06 19:41:03 -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 commit the changes 2019-02-14 19:16:09 -07:00
crt0.s Remove dependency on gbafix 2019-06-02 13:27:35 +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 dependency on gbafix 2019-06-02 13:27:35 +01: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 the agb env value, we might cfg on it somehow 2018-12-30 20:01:58 -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.