From 0bb62fc65526a0981cd328dea1b09aba8ce0a576 Mon Sep 17 00:00:00 2001 From: Melodi <62381002+Melodi17@users.noreply.github.com> Date: Wed, 18 Mar 2026 07:19:22 +1000 Subject: add: Add bus --- Q1.core/Components/Memory.cs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 Q1.core/Components/Memory.cs (limited to 'Q1.core/Components/Memory.cs') diff --git a/Q1.core/Components/Memory.cs b/Q1.core/Components/Memory.cs new file mode 100644 index 0000000..9d23c7a --- /dev/null +++ b/Q1.core/Components/Memory.cs @@ -0,0 +1,21 @@ +namespace Q1.core.Components; + +public class Memory : IAddressable +{ + private readonly u8[] _memory; + + public u16 AddressableStart { get; } + public u16 AddressableEnd { get; } + + public Memory(u16 start, u16 size) + { + this.AddressableStart = start; + this.AddressableEnd = (u16) (start + size); + + this._memory = new u8[size]; + } + + public u8 Read(u16 address) => this._memory[address]; + public void Write(u16 address, u8 value) => this._memory[address] = value; + public void Clock() { /* No timing behavior for simple memory */ } +} \ No newline at end of file -- cgit v1.3.1