fix ie behaviour
This commit is contained in:
parent
6d2cab2d87
commit
0c0c42e8ba
|
@ -40,21 +40,32 @@ pub enum Interrupt {
|
|||
Joypad,
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct Interrupts {
|
||||
// 0xFFFF
|
||||
enable_register: InterruptRegister,
|
||||
enable_register_unused: u8,
|
||||
// 0xFF0F
|
||||
flag_register: InterruptRegister,
|
||||
}
|
||||
|
||||
impl Default for Interrupts {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
enable_register: Default::default(),
|
||||
enable_register_unused: 0b11100000,
|
||||
flag_register: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Interrupts {
|
||||
pub fn get_enable_register(&self) -> u8 {
|
||||
0b11100000 | self.enable_register.as_register()
|
||||
self.enable_register_unused | self.enable_register.as_register()
|
||||
}
|
||||
|
||||
pub(super) fn set_enable_register(&mut self, data: u8) {
|
||||
self.enable_register.set_from_bits(data);
|
||||
self.enable_register_unused = data & 0b11100000;
|
||||
}
|
||||
|
||||
pub fn get_flag_register(&self) -> u8 {
|
||||
|
|
Loading…
Reference in a new issue