diff --git a/Demos/CosmosGraphicSubsystem/Kernel.cs b/Demos/CosmosGraphicSubsystem/Kernel.cs index 31f50c527..7ddb1bcff 100644 --- a/Demos/CosmosGraphicSubsystem/Kernel.cs +++ b/Demos/CosmosGraphicSubsystem/Kernel.cs @@ -72,18 +72,18 @@ namespace Cosmos_Graphic_Subsytem * canvas.DrawString(pen, "Please press any key to continue the Demo..."); */ Console.ReadKey(); - /* + // Throws a NotImplementedException in VMWare, // due to being unable to escape from the clutches of the SVGA II driver... // // Probably best to leave this commented out until it can work in VMWare as well - + canvas.Clear(); canvas.Disable(); Console.Clear(); Console.WriteLine("If it worked, you've successfully returned back to standard VGA Text Mode!"); Console.WriteLine("Let's try returning back to CGS mode... Press any key!"); Console.ReadKey(true); - */ + /* Let's try to change mode...*/ canvas.Mode = new Mode(1024, 768, ColorDepth.ColorDepth32); diff --git a/source/Cosmos.HAL2/Drivers/PCI/Video/VMWareSVGAII.cs b/source/Cosmos.HAL2/Drivers/PCI/Video/VMWareSVGAII.cs index 00a75ac88..8977edd83 100644 --- a/source/Cosmos.HAL2/Drivers/PCI/Video/VMWareSVGAII.cs +++ b/source/Cosmos.HAL2/Drivers/PCI/Video/VMWareSVGAII.cs @@ -333,6 +333,11 @@ namespace Cosmos.HAL.Drivers.PCI.Video WaitForFifo(); } + public void Disable() + { + WriteRegister(Register.Enable, 0); + } + public void SetCursor(bool visible, uint x, uint y) { WriteRegister(Register.CursorID, 1); diff --git a/source/Cosmos.System2/Graphics/SVGAIIScreen.cs b/source/Cosmos.System2/Graphics/SVGAIIScreen.cs index 0f8e7e89d..068676567 100644 --- a/source/Cosmos.System2/Graphics/SVGAIIScreen.cs +++ b/source/Cosmos.System2/Graphics/SVGAIIScreen.cs @@ -9,7 +9,7 @@ namespace Cosmos.System.Graphics { public override void Disable() { - throw new NotImplementedException(); + xSVGAIIDriver.Disable(); } public VMWareSVGAII xSVGAIIDriver;