From d57aa9b99b719c186d681ea9dcc3632d1cd9367e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com>
Date: Mon, 6 Nov 2023 00:11:53 +0000
Subject: [PATCH] chore: support for ROM data loading

---
 src/py.rs                        | 6 +++++-
 src/python/boytacean/__init__.py | 5 ++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/py.rs b/src/py.rs
index 3a588c09..f444703e 100644
--- a/src/py.rs
+++ b/src/py.rs
@@ -27,7 +27,11 @@ impl GameBoy {
         self.system.load(true);
     }
 
-    pub fn load_rom(&mut self, path: &str) {
+    pub fn load_rom(&mut self, data: &[u8]) {
+        self.system.load_rom(data, None);
+    }
+
+    pub fn load_rom_file(&mut self, path: &str) {
         self.system.load_rom_file(path, None);
     }
 
diff --git a/src/python/boytacean/__init__.py b/src/python/boytacean/__init__.py
index 533633c5..544de8bb 100644
--- a/src/python/boytacean/__init__.py
+++ b/src/python/boytacean/__init__.py
@@ -24,7 +24,10 @@ class GameBoy:
         self._system.load()
 
     def load_rom(self, filename: str):
-        self._system.load_rom(filename)
+        self._system.load_rom_file(filename)
+
+    def load_rom_data(self, data: bytes):
+        self._system.load_rom(data)
 
     def clock(self) -> int:
         return self._system.clock()
-- 
GitLab