From 3db52cbef652ebbc4aa8c2a6277818f8d68c0119 Mon Sep 17 00:00:00 2001 From: transistor Date: Wed, 7 Jun 2023 19:56:00 -0700 Subject: [PATCH] Changed the Addressable trait's len() to size() This is to avoid the need for the clippy override --- emulator/core/src/devices.rs | 3 +- emulator/core/src/memory.rs | 36 +++++++++---------- emulator/cpus/m68k/src/memory.rs | 2 +- emulator/peripherals/generic/src/ata.rs | 2 +- emulator/peripherals/mos/src/mos6522.rs | 2 +- emulator/peripherals/motorola/src/mc68681.rs | 2 +- emulator/peripherals/yamaha/src/sn76489.rs | 2 +- emulator/peripherals/yamaha/src/ym2612.rs | 2 +- emulator/peripherals/zilog/src/z8530.rs | 2 +- .../genesis/src/peripherals/controllers.rs | 2 +- .../genesis/src/peripherals/coprocessor.rs | 6 ++-- .../systems/genesis/src/peripherals/ym7101.rs | 2 +- emulator/systems/genesis/src/system.rs | 2 +- .../systems/macintosh/src/peripherals/iwm.rs | 2 +- .../macintosh/src/peripherals/mainboard.rs | 4 +-- .../systems/trs80/src/peripherals/model1.rs | 4 +-- 16 files changed, 37 insertions(+), 38 deletions(-) diff --git a/emulator/core/src/devices.rs b/emulator/core/src/devices.rs index d0e39ef..7d0ef76 100644 --- a/emulator/core/src/devices.rs +++ b/emulator/core/src/devices.rs @@ -27,9 +27,8 @@ pub trait Interruptable { } /// A device that can be addressed to read data from or write data to the device. -#[allow(clippy::len_without_is_empty)] pub trait Addressable { - fn len(&self) -> usize; + fn size(&self) -> usize; fn read(&mut self, clock: ClockTime, addr: Address, data: &mut [u8]) -> Result<(), Error>; fn write(&mut self, clock: ClockTime, addr: Address, data: &[u8]) -> Result<(), Error>; diff --git a/emulator/core/src/memory.rs b/emulator/core/src/memory.rs index fb70813..d282d96 100644 --- a/emulator/core/src/memory.rs +++ b/emulator/core/src/memory.rs @@ -51,7 +51,7 @@ impl MemoryBlock { } impl Addressable for MemoryBlock { - fn len(&self) -> usize { + fn size(&self) -> usize { self.contents.len() } @@ -92,9 +92,9 @@ impl AddressRightShifter { } impl Addressable for AddressRightShifter { - fn len(&self) -> usize { - let len = self.subdevice.borrow_mut().as_addressable().unwrap().len(); - len << self.shift + fn size(&self) -> usize { + let size = self.subdevice.borrow_mut().as_addressable().unwrap().size(); + size << self.shift } fn read(&mut self, clock: ClockTime, addr: Address, data: &mut [u8]) -> Result<(), Error> { @@ -128,18 +128,18 @@ impl AddressRepeater { } impl Addressable for AddressRepeater { - fn len(&self) -> usize { + fn size(&self) -> usize { self.range as usize } fn read(&mut self, clock: ClockTime, addr: Address, data: &mut [u8]) -> Result<(), Error> { - let len = self.subdevice.borrow_mut().as_addressable().unwrap().len() as Address; - self.subdevice.borrow_mut().as_addressable().unwrap().read(clock, addr % len, data) + let size = self.subdevice.borrow_mut().as_addressable().unwrap().size() as Address; + self.subdevice.borrow_mut().as_addressable().unwrap().read(clock, addr % size, data) } fn write(&mut self, clock: ClockTime, addr: Address, data: &[u8]) -> Result<(), Error> { - let len = self.subdevice.borrow_mut().as_addressable().unwrap().len() as Address; - self.subdevice.borrow_mut().as_addressable().unwrap().write(clock, addr % len, data) + let size = self.subdevice.borrow_mut().as_addressable().unwrap().size() as Address; + self.subdevice.borrow_mut().as_addressable().unwrap().write(clock, addr % size, data) } } @@ -153,7 +153,7 @@ impl Transmutable for AddressRepeater { #[derive(Clone)] pub struct Block { pub base: Address, - pub length: usize, + pub size: usize, pub dev: TransmutableBox, } @@ -175,17 +175,17 @@ impl Bus { } pub fn insert(&mut self, base: Address, dev: TransmutableBox) { - let length = dev.borrow_mut().as_addressable().unwrap().len(); - let block = Block { base, length, dev }; + let size = dev.borrow_mut().as_addressable().unwrap().size(); + let block = Block { base, size, dev }; let i = self.blocks.iter().position(|cur| cur.base > block.base).unwrap_or(self.blocks.len()); self.blocks.insert(i, block); } pub fn get_device_at(&self, addr: Address, count: usize) -> Result<(TransmutableBox, Address), Error> { for block in &self.blocks { - if addr >= block.base && addr < (block.base + block.length as Address) { + if addr >= block.base && addr < (block.base + block.size as Address) { let relative_addr = addr - block.base; - if relative_addr as usize + count <= block.length { + if relative_addr as usize + count <= block.size { return Ok((block.dev.clone(), relative_addr)); } else { return Err(Error::new(&format!("Error reading address {:#010x}", addr))); @@ -233,9 +233,9 @@ impl Bus { } impl Addressable for Bus { - fn len(&self) -> usize { + fn size(&self) -> usize { let block = &self.blocks[self.blocks.len() - 1]; - (block.base as usize) + block.length + (block.base as usize) + block.size } fn read(&mut self, clock: ClockTime, addr: Address, data: &mut [u8]) -> Result<(), Error> { @@ -304,8 +304,8 @@ impl BusPort { } impl Addressable for BusPort { - fn len(&self) -> usize { - self.subdevice.borrow().len() + fn size(&self) -> usize { + self.subdevice.borrow().size() } fn read(&mut self, clock: ClockTime, addr: Address, data: &mut [u8]) -> Result<(), Error> { diff --git a/emulator/cpus/m68k/src/memory.rs b/emulator/cpus/m68k/src/memory.rs index 8704865..568f1e3 100644 --- a/emulator/cpus/m68k/src/memory.rs +++ b/emulator/cpus/m68k/src/memory.rs @@ -2,7 +2,7 @@ use moa_core::{Error, ClockTime, Address, Addressable, BusPort}; use crate::state::{M68k, Exceptions}; -use crate::instructions::{Target, Size}; +use crate::instructions::Size; #[repr(u8)] #[allow(dead_code)] diff --git a/emulator/peripherals/generic/src/ata.rs b/emulator/peripherals/generic/src/ata.rs index 0acf780..587e2fa 100644 --- a/emulator/peripherals/generic/src/ata.rs +++ b/emulator/peripherals/generic/src/ata.rs @@ -53,7 +53,7 @@ impl AtaDevice { } impl Addressable for AtaDevice { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x30 } diff --git a/emulator/peripherals/mos/src/mos6522.rs b/emulator/peripherals/mos/src/mos6522.rs index f1c178e..a5b3541 100644 --- a/emulator/peripherals/mos/src/mos6522.rs +++ b/emulator/peripherals/mos/src/mos6522.rs @@ -53,7 +53,7 @@ impl Default for Mos6522 { } impl Addressable for Mos6522 { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x10 } diff --git a/emulator/peripherals/motorola/src/mc68681.rs b/emulator/peripherals/motorola/src/mc68681.rs index d640832..eebe962 100644 --- a/emulator/peripherals/motorola/src/mc68681.rs +++ b/emulator/peripherals/motorola/src/mc68681.rs @@ -246,7 +246,7 @@ impl Steppable for MC68681 { } impl Addressable for MC68681 { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x30 } diff --git a/emulator/peripherals/yamaha/src/sn76489.rs b/emulator/peripherals/yamaha/src/sn76489.rs index 8f98c70..e8b11bc 100644 --- a/emulator/peripherals/yamaha/src/sn76489.rs +++ b/emulator/peripherals/yamaha/src/sn76489.rs @@ -135,7 +135,7 @@ impl Steppable for Sn76489 { } impl Addressable for Sn76489 { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x01 } diff --git a/emulator/peripherals/yamaha/src/ym2612.rs b/emulator/peripherals/yamaha/src/ym2612.rs index c4b09a3..f4f643a 100644 --- a/emulator/peripherals/yamaha/src/ym2612.rs +++ b/emulator/peripherals/yamaha/src/ym2612.rs @@ -1016,7 +1016,7 @@ fn get_ch(bank: u8, reg: u8) -> usize { } impl Addressable for Ym2612 { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x04 } diff --git a/emulator/peripherals/zilog/src/z8530.rs b/emulator/peripherals/zilog/src/z8530.rs index 3e222a8..0c74b43 100644 --- a/emulator/peripherals/zilog/src/z8530.rs +++ b/emulator/peripherals/zilog/src/z8530.rs @@ -9,7 +9,7 @@ pub struct Z8530 { } impl Addressable for Z8530 { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x10 } diff --git a/emulator/systems/genesis/src/peripherals/controllers.rs b/emulator/systems/genesis/src/peripherals/controllers.rs index 998f037..eec06a7 100644 --- a/emulator/systems/genesis/src/peripherals/controllers.rs +++ b/emulator/systems/genesis/src/peripherals/controllers.rs @@ -142,7 +142,7 @@ impl GenesisControllers { } impl Addressable for GenesisControllers { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x30 } diff --git a/emulator/systems/genesis/src/peripherals/coprocessor.rs b/emulator/systems/genesis/src/peripherals/coprocessor.rs index d4da7f3..c3c0d13 100644 --- a/emulator/systems/genesis/src/peripherals/coprocessor.rs +++ b/emulator/systems/genesis/src/peripherals/coprocessor.rs @@ -24,7 +24,7 @@ impl CoprocessorCoordinator { } impl Addressable for CoprocessorCoordinator { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x4000 } @@ -75,7 +75,7 @@ impl CoprocessorBankRegister { } impl Addressable for CoprocessorBankRegister { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x01 } @@ -114,7 +114,7 @@ impl CoprocessorBankArea { } impl Addressable for CoprocessorBankArea { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x8000 } diff --git a/emulator/systems/genesis/src/peripherals/ym7101.rs b/emulator/systems/genesis/src/peripherals/ym7101.rs index 93f27cb..ea76cfa 100644 --- a/emulator/systems/genesis/src/peripherals/ym7101.rs +++ b/emulator/systems/genesis/src/peripherals/ym7101.rs @@ -804,7 +804,7 @@ fn decode_scroll_size(size: u8) -> usize { } impl Addressable for Ym7101 { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x20 } diff --git a/emulator/systems/genesis/src/system.rs b/emulator/systems/genesis/src/system.rs index a057be3..c79dc61 100644 --- a/emulator/systems/genesis/src/system.rs +++ b/emulator/systems/genesis/src/system.rs @@ -57,7 +57,7 @@ pub fn build_genesis(host: &mut H, mut options: SegaGenesisOptions) -> //let mut rom = MemoryBlock::load("binaries/genesis/Ghostbusters (REV 00) (JUE).bin").unwrap(); //let mut rom = MemoryBlock::load("binaries/genesis/Teenage Mutant Ninja Turtles - The Hyperstone Heist (U) [!].bin").unwrap(); //rom.read_only(); - let rom_end = rom.len(); + let rom_end = rom.size(); system.add_addressable_device(0x00000000, wrap_transmutable(rom)).unwrap(); let cartridge_nvram = MemoryBlock::new(vec![0; 0x400000 - rom_end]); diff --git a/emulator/systems/macintosh/src/peripherals/iwm.rs b/emulator/systems/macintosh/src/peripherals/iwm.rs index b3fc41b..4717f4c 100644 --- a/emulator/systems/macintosh/src/peripherals/iwm.rs +++ b/emulator/systems/macintosh/src/peripherals/iwm.rs @@ -34,7 +34,7 @@ impl IWM { } impl Addressable for IWM { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x10 } diff --git a/emulator/systems/macintosh/src/peripherals/mainboard.rs b/emulator/systems/macintosh/src/peripherals/mainboard.rs index d1407ae..2988bdb 100644 --- a/emulator/systems/macintosh/src/peripherals/mainboard.rs +++ b/emulator/systems/macintosh/src/peripherals/mainboard.rs @@ -65,7 +65,7 @@ impl Mainboard { } impl Addressable for Mainboard { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x01000000 } @@ -142,7 +142,7 @@ pub struct PhaseRead { } impl Addressable for PhaseRead { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x80000 } diff --git a/emulator/systems/trs80/src/peripherals/model1.rs b/emulator/systems/trs80/src/peripherals/model1.rs index 59730aa..c97f706 100644 --- a/emulator/systems/trs80/src/peripherals/model1.rs +++ b/emulator/systems/trs80/src/peripherals/model1.rs @@ -28,7 +28,7 @@ impl Model1Keyboard { } impl Addressable for Model1Keyboard { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x420 } @@ -113,7 +113,7 @@ impl Steppable for Model1Video { } impl Addressable for Model1Video { - fn len(&self) -> usize { + fn size(&self) -> usize { 0x400 }