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 }