Skip to content

Game Boy Advance game development with Rust using agbrs + Embassy. Includes blocking and async examples.

License

Notifications You must be signed in to change notification settings

zpg6/agbrs-playground

Repository files navigation

agbrs-playground

Examples of Game Boy Advance game development with Rust using agbrs.

Examples

Blocking agb Examples

  • hello_world - Text rendering
  • hello_world_ttf - Text rendering with TTF font
  • color_test - Color Wheel with slices of a few RGB colors
  • color_spin - Spin the Color Wheel continuously
  • simple_sprite - Basic sprite display using aseprite

Async Examples (embassy-agb)

  • animated_ship - Async animated ship (rockets) with movement with button holding support
  • animated_sprite - Async animated sprite (ship flames) with movement with button holding support
  • moving_sprite_hold - Async sprite movement with button holding support
  • moving_square - Async sprite movement with button press detection
  • moving_square_hold - Async sprite movement with button holding support

Note

These async examples accompany agb PR #1089 which adds async support to agb. I brought in Embassy as the async executor and implemented async for inputs, display, and time drivers.

Quick Start

# Install prerequisites
cargo install agb-gbafix

# Run a blocking example (requires mgba-qt in PATH)
cargo run --bin hello_world

# Run an async example (requires mgba-qt in PATH)
cargo run --bin moving_square
cargo run --bin moving_square_hold

# Build for real hardware
cargo build --release --bin hello_world
agb-gbafix target/thumbv4t-none-eabi/release/hello_world -o hello_world.gba

Resources

License

MIT

Contributing

Contributions are welcome! Whether it's bug fixes, feature additions, or documentation improvements, we appreciate your help in making this project better. For major changes or new features, please open an issue first to discuss what you would like to change.

About

Game Boy Advance game development with Rust using agbrs + Embassy. Includes blocking and async examples.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages