From 16f3cb74564cf7c19da6e13666c98aca36094716 Mon Sep 17 00:00:00 2001 From: Melodi <62381002+Melodi17@users.noreply.github.com> Date: Tue, 5 Aug 2025 21:24:16 +1000 Subject: updates --- Chip/BusDevice.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'Chip/BusDevice.cs') diff --git a/Chip/BusDevice.cs b/Chip/BusDevice.cs index e1f559c..8b677c5 100644 --- a/Chip/BusDevice.cs +++ b/Chip/BusDevice.cs @@ -14,20 +14,26 @@ public abstract class BusDevice public abstract u8 Read(u16 address); public abstract void Write(u16 address, u8 value); - public abstract ref8 ReadSeq(u16 address, u16 length); - public abstract void WriteSeq(u16 address, u16 length, ref8 value); - public u16 ReadWord(u16 address) { - ref8 data = this.ReadSeq(address, 2); - u16 value = Make.u16(data); + 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.WriteSeq(address, 2, data); + this.Write(address, data[0]); + this.Write((u16) (address + 1), data[1]); + } + + public i16 ReadSignedWord(u16 address) + { + u8 high = this.Read(address); + u8 low = this.Read((u16) (address + 1)); + return Make.i16(high, low); } public virtual void Clock() { } -- cgit v1.3.1