/ src / rom.rs
rom.rs
 1  use std::{path::PathBuf, io::Read};
 2  use anyhow::Result;
 3  use std::fs::File;
 4  
 5  #[derive(Debug, Clone)]
 6  pub struct Ch8Rom {
 7      pub memory: Vec<u8>,
 8      pub size: usize
 9  }
10  
11  impl Ch8Rom {
12      pub fn init(path: PathBuf) -> Result<Self> {
13          let mut file = File::open(path)?;
14          let romsize = file.metadata()?.len();
15          let mut buffer = Vec::new();
16          file.read_to_end(&mut buffer)?;
17  
18          Ok(Ch8Rom { memory: buffer, size: romsize as usize })
19      }
20  }