From 18868128e18d38b706e7df14e8e683e1a9739c17 Mon Sep 17 00:00:00 2001 From: Melodi <62381002+Melodi17@users.noreply.github.com> Date: Tue, 17 Mar 2026 20:49:22 +1000 Subject: chore: Initial commit --- Emulator/Chip/BusDevice.cs | 49 ---------------------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 Emulator/Chip/BusDevice.cs (limited to 'Emulator/Chip/BusDevice.cs') diff --git a/Emulator/Chip/BusDevice.cs b/Emulator/Chip/BusDevice.cs deleted file mode 100644 index 1e1e972..0000000 --- a/Emulator/Chip/BusDevice.cs +++ /dev/null @@ -1,49 +0,0 @@ -namespace Q1.Emulator.Chip; - -using System.Runtime.CompilerServices; - -public abstract class BusDevice -{ - public BusDevice(u16 addressableStart, u16 addressableEnd) - { - this.AddressableStart = addressableStart; - this.AddressableEnd = addressableEnd; - } - - public Bus Bus { get; set; } - public abstract u8 Read(u16 address); - public abstract void Write(u16 address, u8 value); - - public u16 ReadWord(u16 address) - { - u8 high = this.Read(address); - u8 low = this.Read((u16) (address + 1)); - u16 value = Make.u16(high, low); - return value; - } - - public void WriteWord(u16 address, u16 value) - { - ref8 data = Make.ref8(value); - this.Write(address, data[0]); - this.Write((u16) (address + 1), data[1]); - } - - public virtual void Clock() { } - public virtual void Reset() { } - - public void AttachToBus(Bus bus) - { - this.Bus = bus; - bus.Devices.Add(this); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected u16 GetRelativeAddress(u16 address) - { - return (u16) (address - this.AddressableStart); - } - - public u16 AddressableStart { get; } - public u16 AddressableEnd { get; } -} \ No newline at end of file -- cgit v1.3.1