aboutsummaryrefslogtreecommitdiff
path: root/src/cartridge.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cartridge.rs')
-rw-r--r--src/cartridge.rs6
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;
}