From cf659bbdb8e6505d7b2a79b8cb37cf0ce8cdf656 Mon Sep 17 00:00:00 2001 From: Quajak Date: Fri, 10 Jul 2020 16:39:57 +0200 Subject: [PATCH] Fix GetPointColor for VGA --- source/Cosmos.HAL2/Drivers/Video/VGADriver.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/Cosmos.HAL2/Drivers/Video/VGADriver.cs b/source/Cosmos.HAL2/Drivers/Video/VGADriver.cs index 516309828..beb6600ba 100644 --- a/source/Cosmos.HAL2/Drivers/Video/VGADriver.cs +++ b/source/Cosmos.HAL2/Drivers/Video/VGADriver.cs @@ -1,4 +1,4 @@ -//#define COSMOSDEBUG +//#define COSMOSDEBUG using System; using System.Collections.Generic; using System.Drawing; @@ -694,7 +694,7 @@ namespace Cosmos.HAL mDebugger.Send($"GetPixel720x480x4({aX},{aY})"); uint offset = (uint)(aX / 8 + (PixelWidth / 8) * aY); - + int pixelOffset = (int)(7 - aX % 8); uint pmask = 1; uint color = 0; @@ -703,7 +703,8 @@ namespace Cosmos.HAL { SetPlane(p); - if (_IO.VGAMemoryBlock.Bytes[offset] == 255) + var v = _IO.VGAMemoryBlock.Bytes[offset]; + if ((v & (1 << pixelOffset)) != 0) { color += pmask; } @@ -711,7 +712,7 @@ namespace Cosmos.HAL pmask <<= 1; } - return color; + return (uint)_Palette[color].ToArgb(); } ///