From dc24a5338baedb93859e930397dfb193d044a10c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com> Date: Mon, 20 Feb 2023 12:31:29 +0000 Subject: [PATCH] fix: title offset calculus --- frontends/sdl/src/main.rs | 2 +- src/rom.rs | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/frontends/sdl/src/main.rs b/frontends/sdl/src/main.rs index 39c6b86d..172852ff 100644 --- a/frontends/sdl/src/main.rs +++ b/frontends/sdl/src/main.rs @@ -59,7 +59,7 @@ impl Emulator { ); self.graphics .window_mut() - .set_title(format!("{} - {}", TITLE, rom.title()).as_str()) + .set_title(format!("{} [{}]", TITLE, rom.title()).as_str()) .unwrap(); } diff --git a/src/rom.rs b/src/rom.rs index 24db942a..04ccbec4 100644 --- a/src/rom.rs +++ b/src/rom.rs @@ -335,12 +335,11 @@ impl Cartridge { pub fn set_title_offset(&mut self) { let mut offset: usize = 0; - for byte in &self.rom_data[0x0134..0x0143] { - if *byte != 0u8 { - offset += 1; - continue; + for byte in &self.rom_data[0x0134..=0x0143] { + if *byte == 0u8 { + break; } - break; + offset += 1; } self.title_offset = 0x0134 + offset; } @@ -354,7 +353,11 @@ impl Cartridge { #[cfg_attr(feature = "wasm", wasm_bindgen)] impl Cartridge { pub fn title(&self) -> String { - String::from(std::str::from_utf8(&self.rom_data[0x0134..self.title_offset]).unwrap()) + String::from( + std::str::from_utf8(&self.rom_data[0x0134..self.title_offset]) + .unwrap() + .trim(), + ) } pub fn rom_type(&self) -> RomType { -- GitLab