summaryrefslogtreecommitdiff
path: root/Emulator/Chip/BusDevice.cs
diff options
context:
space:
mode:
authorMelodi <62381002+Melodi17@users.noreply.github.com>2026-03-17 20:49:22 +1000
committerMelodi <62381002+Melodi17@users.noreply.github.com>2026-03-17 20:49:22 +1000
commit18868128e18d38b706e7df14e8e683e1a9739c17 (patch)
tree6f0e0e5eee646f10cbad9c0c89c24d330bc58cc6 /Emulator/Chip/BusDevice.cs
parentd87ab8af4c86a3fc6ee237444e372d87e536e3ef (diff)
chore: Initial commit
Diffstat (limited to 'Emulator/Chip/BusDevice.cs')
-rw-r--r--Emulator/Chip/BusDevice.cs49
1 files changed, 0 insertions, 49 deletions
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