From 10c2966228f43a91e97b96d6c239c049fd54d546 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com>
Date: Sun, 23 Jul 2023 23:31:48 +0100
Subject: [PATCH] chore: more efficient RAM data retrieval

---
 frontends/sdl/src/main.rs |  4 ++--
 src/rom.rs                | 10 ++++++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/frontends/sdl/src/main.rs b/frontends/sdl/src/main.rs
index 28f23c0a..af1e0388 100644
--- a/frontends/sdl/src/main.rs
+++ b/frontends/sdl/src/main.rs
@@ -344,8 +344,8 @@ impl Emulator {
             // then we've reached the time to re-save the battery backed RAM
             // into a *.sav file in the file system
             if counter % store_count == 0 && self.system.rom().has_battery() {
-                let ram_data = self.system.ram_data_eager();
-                write_file(&self.ram_path, &ram_data);
+                let ram_data = self.system.rom().ram_data();
+                write_file(&self.ram_path, ram_data);
             }
 
             // obtains an event from the SDL sub-system to be
diff --git a/src/rom.rs b/src/rom.rs
index f793667f..c4cc5388 100644
--- a/src/rom.rs
+++ b/src/rom.rs
@@ -621,6 +621,16 @@ impl Cartridge {
     }
 }
 
+impl Cartridge {
+    pub fn rom_data(&self) -> &Vec<u8> {
+        &self.rom_data
+    }
+
+    pub fn ram_data(&self) -> &Vec<u8> {
+        &self.ram_data
+    }
+}
+
 impl Default for Cartridge {
     fn default() -> Self {
         Self::new()
-- 
GitLab