Newer
Older
}
}
(rom.mbc.read_rom)(rom, addr)
},
write_rom: |rom: &mut Cartridge, addr: u16, value: u8| (rom.mbc.write_rom)(rom, addr, value),
read_ram: |rom: &Cartridge, addr: u16| -> u8 { (rom.mbc.read_ram)(rom, addr) },
write_ram: |rom: &mut Cartridge, addr: u16, value: u8| (rom.mbc.write_ram)(rom, addr, value),
};
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
#[cfg(test)]
mod tests {
use super::{Cartridge, RomType};
#[test]
fn test_has_rumble() {
let mut rom = Cartridge::new();
rom.set_data(&vec![0; 0x8000]);
assert!(!rom.has_rumble());
rom.set_rom_type(RomType::Mbc5Rumble);
assert!(rom.has_rumble());
rom.set_rom_type(RomType::Mbc5RumbleRam);
assert!(rom.has_rumble());
rom.set_rom_type(RomType::Mbc5RumbleRamBattery);
assert!(rom.has_rumble());
rom.set_rom_type(RomType::Mbc1);
assert!(!rom.has_rumble());
}
}