summaryrefslogtreecommitdiff
path: root/Chip/DisplayDevice.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Chip/DisplayDevice.cs')
-rw-r--r--Chip/DisplayDevice.cs15
1 files changed, 14 insertions, 1 deletions
diff --git a/Chip/DisplayDevice.cs b/Chip/DisplayDevice.cs
index ea34cfb..28bf4e0 100644
--- a/Chip/DisplayDevice.cs
+++ b/Chip/DisplayDevice.cs
@@ -2,6 +2,7 @@ namespace Q1Emu.Chip;
using System;
using System.Collections.Generic;
+using System.Threading;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
@@ -11,6 +12,7 @@ public class DisplayDevice : RamDevice
private readonly u16 _paletteSize;
private readonly u16 _displayWidth;
private readonly u16 _displayHeight;
+ private Color[] textureData;
public DisplayDevice(u16 paletteSize, u16 displayWidth, u16 displayHeight, u16 addressableStart)
: base(addressableStart, DisplayDevice.DetermineSize(paletteSize, displayWidth, displayHeight))
@@ -18,6 +20,7 @@ public class DisplayDevice : RamDevice
this._paletteSize = paletteSize;
this._displayWidth = displayWidth;
this._displayHeight = displayHeight;
+ this.textureData = new Color[this._displayWidth * this._displayHeight];
}
private static u16 DetermineSize(u16 paletteSize, u16 displayWidth, u16 displayHeight)
@@ -30,7 +33,6 @@ public class DisplayDevice : RamDevice
Color[] palette = this.ReadPalette();
ref8 pixelData = this.ReadSeq((u16) (this.AddressableStart + this._paletteSize * 3), (u16) (this._displayWidth * this._displayHeight));
- Color[] textureData = new Color[this._displayWidth * this._displayHeight];
for (u16 i = 0; i < textureData.Length; i++)
{
u8 pixelValue = pixelData[i];
@@ -73,4 +75,15 @@ public class DisplayDevice : RamDevice
paletteData[offset + 2] = palette[i].B;
}
}
+
+ public override void Write(u16 address, u8 value)
+ {
+ Console.WriteLine($"DisplayDevice.Write: {address:X4} = {value:X2}");
+ base.Write(address, value);
+ }
+ public override void WriteSeq(u16 address, u16 length, ref8 value)
+ {
+ Console.WriteLine($"DisplayDevice.WriteSeq: {address:X4} length={length} value={Make.u16(value)}");
+ base.WriteSeq(address, length, value);
+ }
} \ No newline at end of file