From 3d7f579b625e62d8f4fdf38f2f45c701d3ca0532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Freitas?= Date: Thu, 25 Jul 2024 21:56:32 +0100 Subject: [PATCH] Implement read range over the read method --- fpt/src/memory/cartridge.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/fpt/src/memory/cartridge.rs b/fpt/src/memory/cartridge.rs index 3544065..b2a18a4 100644 --- a/fpt/src/memory/cartridge.rs +++ b/fpt/src/memory/cartridge.rs @@ -9,7 +9,9 @@ pub trait Cartridge { fn read(&self, address: Address) -> u8; fn write(&mut self, address: Address, value: u8); - fn read_range(&self, memory_range: MemoryRange) -> Vec; + fn read_range(&self, memory_range: MemoryRange) -> Vec { + memory_range.map(|address| self.read(address)).collect() + } fn get_title(&self) -> String { String::from_utf8(self.read_range(map::TITLE)).unwrap() @@ -55,13 +57,10 @@ impl EmptyCartridge { EmptyCartridge {} } } + impl Cartridge for EmptyCartridge { fn read(&self, _address: Address) -> u8 { 0xFF } fn write(&mut self, _address: Address, _value: u8) {} - - fn read_range(&self, _memory_range: MemoryRange) -> Vec { - Vec::new() - } }