ttvm 0.4.1

tt64 emulator API for Rust
Documentation
use std::ops;

#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub struct ROM {
    data: Box<[u8]>,
}

impl ROM {
    pub fn from(data: &[u8]) -> Self {
        ROM {
            data: data.to_vec().into_boxed_slice(),
        }
    }

    pub fn get(&self, addr: usize) -> Option<&u8> {
        self.data.get(addr)
    }

    pub fn len(&self) -> usize {
        self.data.len()
    }
}

impl ops::Index<usize> for ROM {
    type Output = u8;

    fn index(&self, addr: usize) -> &Self::Output {
        self.data.get(addr).unwrap()
    }
}