From 31f83fe0f7ca1ce213b80d2852e2f447909be746 Mon Sep 17 00:00:00 2001 From: Alex Date: Sun, 16 Oct 2022 20:58:35 +0300 Subject: [PATCH] Fix for display uart printing colors --- Core/Video/Display.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Core/Video/Display.cpp b/Core/Video/Display.cpp index 664c7b7a..c51f21f0 100644 --- a/Core/Video/Display.cpp +++ b/Core/Video/Display.cpp @@ -14,8 +14,6 @@ namespace Video char Display::Print(char Char, int Index, bool WriteToUART) { SMARTLOCK(PrintLock); - if (WriteToUART) - UniversalAsynchronousReceiverTransmitter::UART(UniversalAsynchronousReceiverTransmitter::COM1).Write((char)Char); if (this->ColorIteration) { @@ -29,19 +27,25 @@ namespace Video else this->Buffers[Index]->Color = 0; + UniversalAsynchronousReceiverTransmitter::UART(UniversalAsynchronousReceiverTransmitter::COM1).Write(Char); this->ColorPickerIteration++; if (this->ColorPickerIteration == 6) { this->ColorPickerIteration = 0; + UniversalAsynchronousReceiverTransmitter::UART(UniversalAsynchronousReceiverTransmitter::COM1).Write(']'); this->ColorIteration = false; } return Char; } + if (WriteToUART) + UniversalAsynchronousReceiverTransmitter::UART(UniversalAsynchronousReceiverTransmitter::COM1).Write(Char); + switch (Char) { case '\e': { + UniversalAsynchronousReceiverTransmitter::UART(UniversalAsynchronousReceiverTransmitter::COM1).Write('['); this->ColorIteration = true; return Char; }