From f7aa25044ec8c45009bb4c75dd94adf82da3d626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Thu, 18 Dec 2025 16:03:00 +0100 Subject: [PATCH] [FREELDR:PC] pcvideo.c!PcVideoSetMode(): deduplicate VESA mode setting code (#8508) Group VESA text/graphics modes setting together. --- boot/freeldr/freeldr/arch/i386/pc/pcvideo.c | 22 ++------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/boot/freeldr/freeldr/arch/i386/pc/pcvideo.c b/boot/freeldr/freeldr/arch/i386/pc/pcvideo.c index 7be2a681493..73d17b49115 100644 --- a/boot/freeldr/freeldr/arch/i386/pc/pcvideo.c +++ b/boot/freeldr/freeldr/arch/i386/pc/pcvideo.c @@ -933,27 +933,9 @@ PcVideoSetMode(USHORT NewMode) return TRUE; } - else if (0x0108 <= NewMode && NewMode <= 0x010C) - { - /* VESA Text Mode */ - if (!PcVideoVesaGetSVGAModeInformation(NewMode, &VesaVideoModeInformation)) - return FALSE; - - if (!PcVideoSetBiosVesaMode(NewMode)) - return FALSE; - - ScreenWidth = VesaVideoModeInformation.WidthInPixels; - ScreenHeight = VesaVideoModeInformation.HeightInPixels; - BytesPerScanLine = VesaVideoModeInformation.BytesPerScanLine; - BiosVideoMode = NewMode; - DisplayMode = VideoTextMode; - VesaVideoMode = TRUE; - - return TRUE; - } else { - /* VESA Graphics Mode */ + /* VESA Text/Graphics Mode */ if (!PcVideoVesaGetSVGAModeInformation(NewMode, &VesaVideoModeInformation)) return FALSE; @@ -964,7 +946,7 @@ PcVideoSetMode(USHORT NewMode) ScreenHeight = VesaVideoModeInformation.HeightInPixels; BytesPerScanLine = VesaVideoModeInformation.BytesPerScanLine; BiosVideoMode = NewMode; - DisplayMode = VideoGraphicsMode; + DisplayMode = (0x0108 <= NewMode && NewMode <= 0x010C) ? VideoTextMode : VideoGraphicsMode; VesaVideoMode = TRUE; return TRUE;