diff --git a/RedBookPlayer.Models/Hardware/Karaoke/KaraokeDisplay.cs b/RedBookPlayer.Models/Hardware/Karaoke/KaraokeDisplay.cs index a8e03ab..051b177 100644 --- a/RedBookPlayer.Models/Hardware/Karaoke/KaraokeDisplay.cs +++ b/RedBookPlayer.Models/Hardware/Karaoke/KaraokeDisplay.cs @@ -1,3 +1,5 @@ +using System; + namespace RedBookPlayer.Models.Hardware.Karaoke { /// @@ -7,6 +9,9 @@ namespace RedBookPlayer.Models.Hardware.Karaoke /// Display data as a 2-dimensional byte array /// /// + /// Coordinate (0,0) is the upper left corner of the display + /// Coordinate (299, 215) is the lower right corner of the display + /// // CONFLICTING INFO: /// /// In the top part of the document, it states: @@ -57,6 +62,23 @@ namespace RedBookPlayer.Models.Hardware.Karaoke this.TransparentColor = 0x00; } + /// + /// Print the current color map to console + /// + public void DebugPrintScreen() + { + string screenDump = string.Empty; + for(int y = 0; y < 216; y++) + { + for(int x = 0; x < 300; x++) + { + screenDump += $"{this.DisplayData[x,y]:X}"; + } + + screenDump += Environment.NewLine; + } + } + /// /// Process a subchannel packet and update the display as necessary /// @@ -106,7 +128,9 @@ namespace RedBookPlayer.Models.Hardware.Karaoke break; }; } - + + #region Command Processors + /// /// Set the screen to a particular color /// @@ -337,5 +361,7 @@ namespace RedBookPlayer.Models.Hardware.Karaoke this.ColorTable[start + 6] = tableData.ColorSpec[6]; this.ColorTable[start + 7] = tableData.ColorSpec[7]; } + + #endregion } } \ No newline at end of file