https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f37fb1f7f8950cdae899d…
commit f37fb1f7f8950cdae899d86c401f3135374cd3b1
Author: Yaroslav Kibysh <yanet.prod(a)gmail.com>
AuthorDate: Thu Jun 13 22:26:42 2019 +0300
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Tue Jun 25 02:32:09 2019 +0200
[FREELDR] Always change video mode back to text-mode before starting up ReactOS.
CORE-16116
- This allows getting the /NOGUIBOOT mode working correctly, as the latter
expects text-mode. Then, usetup (via BLUE driver) will change to a
different text-mode, or, GUI boot will change (via BOOTVID) to VGA
640*480 16-color.
- Always hide the VGA cursor.
- Remove also the deprecated boolean "Setup" in the *PrepareForReactOS()
functions.
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
---
boot/freeldr/freeldr/arch/arm/macharm.c | 2 +-
boot/freeldr/freeldr/arch/i386/machpc.c | 4 ++--
boot/freeldr/freeldr/arch/i386/machxbox.c | 4 ++--
boot/freeldr/freeldr/arch/i386/pcvideo.c | 12 +++---------
boot/freeldr/freeldr/arch/i386/xboxvideo.c | 5 +++--
boot/freeldr/freeldr/include/arch/i386/machxbox.h | 4 ++--
boot/freeldr/freeldr/include/arch/pc/machpc.h | 4 ++--
boot/freeldr/freeldr/include/machine.h | 6 +++---
boot/freeldr/freeldr/ntldr/winldr.c | 2 +-
9 files changed, 19 insertions(+), 24 deletions(-)
diff --git a/boot/freeldr/freeldr/arch/arm/macharm.c
b/boot/freeldr/freeldr/arch/arm/macharm.c
index 8d4465f8d79..d9daad3bf95 100644
--- a/boot/freeldr/freeldr/arch/arm/macharm.c
+++ b/boot/freeldr/freeldr/arch/arm/macharm.c
@@ -90,7 +90,7 @@ ArmInit(IN PARM_BOARD_CONFIGURATION_BLOCK BootContext)
}
VOID
-ArmPrepareForReactOS(IN BOOLEAN Setup)
+ArmPrepareForReactOS(VOID)
{
return;
}
diff --git a/boot/freeldr/freeldr/arch/i386/machpc.c
b/boot/freeldr/freeldr/arch/i386/machpc.c
index 527b944dee3..4e21727a19b 100644
--- a/boot/freeldr/freeldr/arch/i386/machpc.c
+++ b/boot/freeldr/freeldr/arch/i386/machpc.c
@@ -1391,10 +1391,10 @@ PcMachInit(const char *CmdLine)
}
VOID
-PcPrepareForReactOS(IN BOOLEAN Setup)
+PcPrepareForReactOS(VOID)
{
/* On PC, prepare video and turn off the floppy motor */
- PcVideoPrepareForReactOS(Setup);
+ PcVideoPrepareForReactOS();
DiskStopFloppyMotor();
}
diff --git a/boot/freeldr/freeldr/arch/i386/machxbox.c
b/boot/freeldr/freeldr/arch/i386/machxbox.c
index 7dffa2baab6..c7873f0c0f3 100644
--- a/boot/freeldr/freeldr/arch/i386/machxbox.c
+++ b/boot/freeldr/freeldr/arch/i386/machxbox.c
@@ -211,10 +211,10 @@ XboxMachInit(const char *CmdLine)
}
VOID
-XboxPrepareForReactOS(IN BOOLEAN Setup)
+XboxPrepareForReactOS(VOID)
{
/* On XBOX, prepare video and turn off the floppy motor */
- XboxVideoPrepareForReactOS(Setup);
+ XboxVideoPrepareForReactOS();
DiskStopFloppyMotor();
}
diff --git a/boot/freeldr/freeldr/arch/i386/pcvideo.c
b/boot/freeldr/freeldr/arch/i386/pcvideo.c
index 97327122ba8..6eb070fbb6c 100644
--- a/boot/freeldr/freeldr/arch/i386/pcvideo.c
+++ b/boot/freeldr/freeldr/arch/i386/pcvideo.c
@@ -1109,16 +1109,10 @@ PcVideoSync(VOID)
}
VOID
-PcVideoPrepareForReactOS(IN BOOLEAN Setup)
+PcVideoPrepareForReactOS(VOID)
{
- if (Setup)
- {
- PcVideoSetMode80x50_80x43();
- }
- else
- {
- PcVideoSetBiosMode(0x12);
- }
+ // PcVideoSetMode80x50_80x43();
+ PcVideoSetMode80x25();
PcVideoHideShowTextCursor(FALSE);
}
diff --git a/boot/freeldr/freeldr/arch/i386/xboxvideo.c
b/boot/freeldr/freeldr/arch/i386/xboxvideo.c
index cbb8b92c55a..cb54dd2bf5f 100644
--- a/boot/freeldr/freeldr/arch/i386/xboxvideo.c
+++ b/boot/freeldr/freeldr/arch/i386/xboxvideo.c
@@ -240,9 +240,10 @@ XboxBeep(VOID)
}
VOID
-XboxVideoPrepareForReactOS(IN BOOLEAN Setup)
+XboxVideoPrepareForReactOS(VOID)
{
- XboxVideoClearScreenColor(MAKE_COLOR(0, 0, 0), TRUE);
+ XboxVideoClearScreenColor(MAKE_COLOR(0, 0, 0), TRUE);
+ XboxVideoHideShowTextCursor(FALSE);
}
/* EOF */
diff --git a/boot/freeldr/freeldr/include/arch/i386/machxbox.h
b/boot/freeldr/freeldr/include/arch/i386/machxbox.h
index c2a20056976..93bcb7835f1 100644
--- a/boot/freeldr/freeldr/include/arch/i386/machxbox.h
+++ b/boot/freeldr/freeldr/include/arch/i386/machxbox.h
@@ -43,8 +43,8 @@ BOOLEAN XboxVideoIsPaletteFixed(VOID);
VOID XboxVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue);
VOID XboxVideoGetPaletteColor(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue);
VOID XboxVideoSync(VOID);
-VOID XboxVideoPrepareForReactOS(IN BOOLEAN Setup);
-VOID XboxPrepareForReactOS(IN BOOLEAN Setup);
+VOID XboxVideoPrepareForReactOS(VOID);
+VOID XboxPrepareForReactOS(VOID);
VOID XboxMemInit(VOID);
PVOID XboxMemReserveMemory(ULONG MbToReserve);
diff --git a/boot/freeldr/freeldr/include/arch/pc/machpc.h
b/boot/freeldr/freeldr/include/arch/pc/machpc.h
index e834eb383a0..444db26fa9a 100644
--- a/boot/freeldr/freeldr/include/arch/pc/machpc.h
+++ b/boot/freeldr/freeldr/include/arch/pc/machpc.h
@@ -44,8 +44,8 @@ BOOLEAN PcVideoIsPaletteFixed(VOID);
VOID PcVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue);
VOID PcVideoGetPaletteColor(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue);
VOID PcVideoSync(VOID);
-VOID PcVideoPrepareForReactOS(IN BOOLEAN Setup);
-VOID PcPrepareForReactOS(IN BOOLEAN Setup);
+VOID PcVideoPrepareForReactOS(VOID);
+VOID PcPrepareForReactOS(VOID);
PFREELDR_MEMORY_DESCRIPTOR PcMemGetMemoryMap(ULONG *MemoryMapSize);
diff --git a/boot/freeldr/freeldr/include/machine.h
b/boot/freeldr/freeldr/include/machine.h
index c104036a489..abf6a4d343c 100644
--- a/boot/freeldr/freeldr/include/machine.h
+++ b/boot/freeldr/freeldr/include/machine.h
@@ -55,7 +55,7 @@ typedef struct tagMACHVTBL
VOID (*VideoGetPaletteColor)(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue);
VOID (*VideoSync)(VOID);
VOID (*Beep)(VOID);
- VOID (*PrepareForReactOS)(IN BOOLEAN Setup);
+ VOID (*PrepareForReactOS)(VOID);
// NOTE: Not in the machine.c ...
FREELDR_MEMORY_DESCRIPTOR* (*GetMemoryDescriptor)(FREELDR_MEMORY_DESCRIPTOR*
Current);
@@ -113,8 +113,8 @@ VOID MachInit(const char *CmdLine);
MachVtbl.VideoSync()
#define MachBeep() \
MachVtbl.Beep()
-#define MachPrepareForReactOS(Setup) \
- MachVtbl.PrepareForReactOS(Setup)
+#define MachPrepareForReactOS() \
+ MachVtbl.PrepareForReactOS()
#define MachDiskGetBootPath(Path, Size) \
MachVtbl.DiskGetBootPath((Path), (Size))
#define MachDiskReadLogicalSectors(Drive, Start, Count, Buf) \
diff --git a/boot/freeldr/freeldr/ntldr/winldr.c b/boot/freeldr/freeldr/ntldr/winldr.c
index e563188bc31..1127f2e88c7 100644
--- a/boot/freeldr/freeldr/ntldr/winldr.c
+++ b/boot/freeldr/freeldr/ntldr/winldr.c
@@ -832,7 +832,7 @@ LoadAndBootWindowsCommon(
LoaderBlockVA = PaToVa(LoaderBlock);
/* "Stop all motors", change videomode */
- MachPrepareForReactOS(Setup);
+ MachPrepareForReactOS();
/* Cleanup ini file */
IniCleanup();