aboutsummaryrefslogblamecommitdiff
path: root/src/cartridge.rs
blob: 524ef1253e591eb97fd199df27d69b20156a2d22 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                    









                      
                   




                             



                                                                                  
 
#![allow(dead_code)]

#[derive(Copy, Clone)]
pub enum MirrorType {
    Horizontal = 0,
    Vertical = 1,
    Single0 = 2,
    Single1 = 3,
    Four = 4
}

pub enum BankType {
    PrgRom, /* program rom */
    ChrRom, /* pattern rom */
    Sram,    /* save ram */
}

pub trait Cartridge {
    fn get_size(&self, kind: BankType) -> usize;
    fn get_bank(&mut self, base: usize, size: usize, kind: BankType) -> *mut [u8];
    fn get_mirror_type(&self) -> MirrorType;
}