From 123ef704873038f19cf19c52e174f15eaf6c84f3 Mon Sep 17 00:00:00 2001 From: Steins7 Date: Sun, 8 May 2022 21:00:51 +0200 Subject: [PATCH] Changed Memory to Peripheral The "Memory" name is too restrictive given that the bus itself implement that trait. --- src/bus.rs | 6 +++--- src/cpu.rs | 20 ++++++++++---------- src/main.rs | 2 +- src/{memory.rs => peripherals.rs} | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) rename src/{memory.rs => peripherals.rs} (94%) diff --git a/src/bus.rs b/src/bus.rs index 054a8ee..36722e6 100644 --- a/src/bus.rs +++ b/src/bus.rs @@ -1,6 +1,6 @@ use std::fmt; -use crate::memory::{Memory, Ram}; +use crate::peripherals::{Peripheral, Ram}; pub struct Bus { ram: Ram<0x800>, @@ -18,7 +18,7 @@ impl fmt::Debug for Bus { } } -impl Memory for Bus { +impl Peripheral for Bus { fn read_addr(&self, addr: u16) -> u8 { @@ -127,7 +127,7 @@ impl fmt::Debug for FileBus { } } -impl Memory for FileBus { +impl Peripheral for FileBus { fn read_addr(&self, addr: u16) -> u8 { self.mem.read_addr(addr) //RAM is mirrored 3 times diff --git a/src/cpu.rs b/src/cpu.rs index 28972e8..648d1be 100644 --- a/src/cpu.rs +++ b/src/cpu.rs @@ -5,7 +5,7 @@ use bitflags::bitflags; use crate::{ bus::FileBus, - memory::Memory, + peripherals::Peripheral, }; use std::fmt; @@ -17,11 +17,11 @@ trait Input { } trait RInput: Input { - fn read(&self, acc: &u8, bus: &M) -> u8; + fn read(&self, acc: &u8, bus: &M) -> u8; } trait WInput: Input { - fn write(&mut self, acc: &mut u8, bus: &mut M, data: u8); + fn write(&mut self, acc: &mut u8, bus: &mut M, data: u8); } trait RWInput: RInput + WInput {} @@ -33,11 +33,11 @@ impl Input for Accumulator { } impl RInput for Accumulator { - fn read(&self, acc: &u8, _bus: &M) -> u8 { *acc } + fn read(&self, acc: &u8, _bus: &M) -> u8 { *acc } } impl WInput for Accumulator { - fn write(&mut self, acc: &mut u8, _bus: &mut M, data: u8) { *acc = data } + fn write(&mut self, acc: &mut u8, _bus: &mut M, data: u8) { *acc = data } } impl RWInput for Accumulator {} @@ -51,7 +51,7 @@ impl Input for Data { } impl RInput for Data { - fn read(&self, _acc: &u8, _bus: &M) -> u8 { self.data } + fn read(&self, _acc: &u8, _bus: &M) -> u8 { self.data } } struct MemoryVal { @@ -64,13 +64,13 @@ impl Input for MemoryVal { } impl RInput for MemoryVal { - fn read(&self, _acc: &u8, bus: &M) -> u8 { + fn read(&self, _acc: &u8, bus: &M) -> u8 { bus.read_addr(self.addr) } } impl WInput for MemoryVal { - fn write(&mut self, _acc: &mut u8, bus: &mut M, data: u8) { + fn write(&mut self, _acc: &mut u8, bus: &mut M, data: u8) { bus.write_addr(self.addr, data); } } @@ -93,13 +93,13 @@ impl Input for MemoryValExtra { } impl RInput for MemoryValExtra { - fn read(&self, _acc: &u8, bus: &M) -> u8 { + fn read(&self, _acc: &u8, bus: &M) -> u8 { bus.read_addr(self.addr) } } impl WInput for MemoryValExtra { - fn write(&mut self, _acc: &mut u8, bus: &mut M, data: u8) { + fn write(&mut self, _acc: &mut u8, bus: &mut M, data: u8) { bus.write_addr(self.addr, data); self.extra_cycle = true; diff --git a/src/main.rs b/src/main.rs index f83d071..df9fb12 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,7 @@ mod cpu; use cpu::Cpu; mod bus; -mod memory; +mod peripherals; mod utils; fn main() -> Result<(), &'static str> { diff --git a/src/memory.rs b/src/peripherals.rs similarity index 94% rename from src/memory.rs rename to src/peripherals.rs index 3097156..ed1e0e9 100644 --- a/src/memory.rs +++ b/src/peripherals.rs @@ -1,7 +1,7 @@ use std::fmt; //-------------------------------------------------------------------------------------------------- -pub trait Memory { +pub trait Peripheral { fn read_addr(&self, addr: u16) -> u8; @@ -27,7 +27,7 @@ impl fmt::Debug for Ram { } } -impl Memory for Ram { +impl Peripheral for Ram { fn read_addr(&self, addr: u16) -> u8 { self.buffer[addr as usize]