diff options
Diffstat (limited to 'src/cartridge.rs')
-rw-r--r-- | src/cartridge.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cartridge.rs b/src/cartridge.rs index 52b43ca..ca9c31e 100644 --- a/src/cartridge.rs +++ b/src/cartridge.rs @@ -1,4 +1,5 @@ #![allow(dead_code)] +use utils::{Read, Write}; #[derive(Copy, Clone)] pub enum MirrorType { @@ -17,7 +18,10 @@ pub enum BankType { pub trait Cartridge { fn get_size(&self, kind: BankType) -> usize; - fn get_bank<'a>(&mut self, base: usize, size: usize, kind: BankType) -> &'a mut [u8]; + fn get_bank<'a>(&self, base: usize, size: usize, kind: BankType) -> &'a [u8]; + fn get_bank_mut<'a>(&mut self, base: usize, size: usize, kind: BankType) -> &'a mut [u8]; #[inline(always)] fn get_mirror_type(&self) -> MirrorType; #[inline(always)] fn set_mirror_type(&mut self, mt: MirrorType); + fn load(&mut self, reader: &mut Read) -> bool; + fn save(&self, writer: &mut Write) -> bool; } |