use super::*;
#[cfg(feature = "unsafe_addresses")]
pub const WIN_HORIZONTAL: WriteOnlyVolAddr<WinHorizontal> =
unsafe { WriteOnlyVolAddr::new(0x0400_0040) };
#[repr(transparent)]
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct WinHorizontal(u32);
#[rustfmt::skip]
#[allow(missing_docs)]
impl WinHorizontal {
pub_const_fn_new_zero!();
unsigned_bits_u32!(0..=7, win0_right, with_win0_right, set_win0_right);
unsigned_bits_u32!(8..=15, win0_left, with_win0_left, set_win0_left);
unsigned_bits_u32!(16..=23, win1_right, with_win1_right, set_win1_right);
unsigned_bits_u32!(24..=31, win1_left, with_win1_left, set_win1_left);
}
#[cfg(feature = "unsafe_addresses")]
pub const WIN_VERTICAL: WriteOnlyVolAddr<WinVertical> =
unsafe { WriteOnlyVolAddr::new(0x0400_0044) };
#[repr(transparent)]
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct WinVertical(u32);
#[rustfmt::skip]
#[allow(missing_docs)]
impl WinVertical {
pub_const_fn_new_zero!();
unsigned_bits_u32!(0..=7, win0_bottom, with_win0_bottom, set_win0_bottom);
unsigned_bits_u32!(8..=15, win0_top, with_win0_top, set_win0_top);
unsigned_bits_u32!(16..=23, win1_bottom, with_win1_bottom, set_win1_bottom);
unsigned_bits_u32!(24..=31, win1_top, with_win1_top, set_win1_top);
}
#[cfg(feature = "unsafe_addresses")]
pub const WIN_CONTROL: SimpleVolAddr<WindowControlValue> =
unsafe { SimpleVolAddr::new(0x0400_0048) };
#[repr(transparent)]
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct WindowControlValue(u32);
#[rustfmt::skip]
#[allow(missing_docs)]
impl WindowControlValue {
pub_const_fn_new_zero!();
bool_bit_u32!(0, bg0_in_win0, with_bg0_in_win0, set_bg0_in_win0);
bool_bit_u32!(1, bg1_in_win0, with_bg1_in_win0, set_bg1_in_win0);
bool_bit_u32!(2, bg2_in_win0, with_bg2_in_win0, set_bg2_in_win0);
bool_bit_u32!(3, bg3_in_win0, with_bg3_in_win0, set_bg3_in_win0);
bool_bit_u32!(4, obj_in_win0, with_obj_in_win0, set_obj_in_win0);
bool_bit_u32!(5, color_effect_in_win0, with_color_effect_in_win0, set_color_effect_in_win0);
bool_bit_u32!(8, bg0_in_win1, with_bg0_in_win1, set_bg0_in_win1);
bool_bit_u32!(9, bg1_in_win1, with_bg1_in_win1, set_bg1_in_win1);
bool_bit_u32!(10, bg2_in_win1, with_bg2_in_win1, set_bg2_in_win1);
bool_bit_u32!(11, bg3_in_win1, with_bg3_in_win1, set_bg3_in_win1);
bool_bit_u32!(12, obj_in_win1, with_obj_in_win1, set_obj_in_win1);
bool_bit_u32!(13, color_effect_in_win1, with_color_effect_in_win1, set_color_effect_in_win1);
bool_bit_u32!(16, bg0_outside_win, with_bg0_outside_win, set_bg0_outside_win);
bool_bit_u32!(17, bg1_outside_win, with_bg1_outside_win, set_bg1_outside_win);
bool_bit_u32!(18, bg2_outside_win, with_bg2_outside_win, set_bg2_outside_win);
bool_bit_u32!(19, bg3_outside_win, with_bg3_outside_win, set_bg3_outside_win);
bool_bit_u32!(20, obj_outside_win, with_obj_outside_win, set_obj_outside_win);
bool_bit_u32!(21, color_effect_outside_win, with_color_effect_outside_win, set_color_effect_outside_win);
bool_bit_u32!(16, bg0_in_obj_win, with_bg0_in_obj_win, set_bg0_in_obj_win);
bool_bit_u32!(17, bg1_in_obj_win, with_bg1_in_obj_win, set_bg1_in_obj_win);
bool_bit_u32!(18, bg2_in_obj_win, with_bg2_in_obj_win, set_bg2_in_obj_win);
bool_bit_u32!(19, bg3_in_obj_win, with_bg3_in_obj_win, set_bg3_in_obj_win);
bool_bit_u32!(20, obj_in_obj_win, with_obj_in_obj_win, set_obj_in_obj_win);
bool_bit_u32!(21, color_effect_in_obj_win, with_color_effect_in_obj_win, set_color_effect_in_obj_win);
}