#gba #agb

no-std gba_env

Crate for detecting the environment for GameBoy Advance ROMs (GBA/NDS/mGBA/VBA/gpSP/etc)

2 stable releases

1.1.0 May 26, 2024
1.0.0 May 22, 2024

#447 in Game dev

GPL-3.0 OR MIT OR Apache-2.0

160 lines

GBA env

Crate for detecting the environment for Game Boy Advance ROMs (GBA/NDS/mGBA/VBA/gpSP/etc)

You can find the documentation for gba_env here.


You would need to use the nightly rust version and add this to your Cargo.toml:

gba_env = "1.0"

Then you can use the crate in your code:

use gba_env;
use gba_env::Environment;

fn main() {
    let env = gba_env::get_env();
    if env == Environment::GpSp {
        println!("Sorry, but this ROM is not supported on gpSP.");


This project is licensed under the GNU GPLv3 or MIT or Apache-2.0 License. Just pick the one that fits your needs.


All the information about the GBA environment detection were taken from the gbadev Discord server. So a huge thanks to the gbadev community!


Crate for identifying the environment for Game Boy Advance ROMs. The environment can be identified by simply calling the get_env() function.
The supported environments can be found in the Environment-enum

No runtime deps