rlvgl_core/plugins/
nes.rs1use alloc::string::String;
3use yane::core::Cartridge;
4
5pub fn rom_sizes(bytes: &[u8]) -> Result<(usize, usize), String> {
7 let cart = Cartridge::from_ines(bytes, None)?;
8 Ok((cart.memory.prg_rom.len(), cart.memory.chr_rom.len()))
9}
10
11#[cfg(test)]
12mod tests {
13 use super::*;
14
15 #[test]
16 fn parse_minimal_header() {
17 let mut rom = vec![0u8; 16 + 0x4000];
18 rom[0..4].copy_from_slice(b"NES\x1a");
19 rom[4] = 1; rom[5] = 0; let (prg, chr) = rom_sizes(&rom).unwrap();
22 assert_eq!(prg, 0x4000);
23 assert_eq!(chr, 0);
24 }
25}