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