devices6502 0.1.0

Helper library for cpu6502 implementing memory devices
Documentation
#![no_std]

//! # devices6502
//!
//! A crate providing implementations of various memory-mapped devices for 6502-based systems.
//!
//! This crate includes common device types that can be used to build memory maps for 6502 emulators
//! or similar projects. It provides:
//!
//! - `Ram`: Random Access Memory implementation
//! - `Rom`: Read Only Memory implementation
//! - `Mirror`: Memory mirroring functionality
//! - `Socket`: A device that can be hot-swapped at runtime (requires `alloc` feature)
//! - `Adjacent`: Helper for combining multiple devices
//! - `ReadWrite`: A device that routes read and write operations to different devices
//! - `Device`: Trait defining common device behavior
//!
//! All devices implement the `Device` trait which provides a consistent interface for
//! memory operations.

#[cfg(feature = "alloc")]
extern crate alloc;

#[deny(missing_docs)]
mod adjacent;

#[deny(missing_docs)]
mod device;

#[deny(missing_docs)]
mod mirror;

#[deny(missing_docs)]
mod ram;

#[deny(missing_docs)]
mod read_write;

#[deny(missing_docs)]
mod rom;

#[cfg(feature = "alloc")]
#[deny(missing_docs)]
mod socket;

pub use adjacent::Adjacent;
pub use device::Device;
pub use mirror::Mirror;
pub use ram::Ram;
pub use read_write::ReadWrite;
pub use rom::Rom;

#[cfg(feature = "alloc")]
pub use socket::Socket;

pub use device::size_const;
pub use device::size_const::*;