diff options
author | Determinant <ted.sybil@gmail.com> | 2018-01-08 00:32:32 +0800 |
---|---|---|
committer | Determinant <ted.sybil@gmail.com> | 2018-01-08 00:32:32 +0800 |
commit | 96c7c1e4fee261ecf386fb2fff2155f06a2f7973 (patch) | |
tree | a7d32d2173ca7ae277a97e47ed78fe654545c31b /src/cartridge.rs | |
parent | df6acf714c3ea975e75057b8b5a1d5e0fdf83109 (diff) |
support console state load/save (minor bugs still present)
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; } |