[FREELDR] Always change video mode back to text-mode before starting up ReactOS. 1653/head
authorYaroslav Kibysh <yanet.prod@gmail.com>
Thu, 13 Jun 2019 19:26:42 +0000 (22:26 +0300)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Tue, 25 Jun 2019 00:32:09 +0000 (02:32 +0200)
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@reactos.org>
boot/freeldr/freeldr/arch/arm/macharm.c
boot/freeldr/freeldr/arch/i386/machpc.c
boot/freeldr/freeldr/arch/i386/machxbox.c
boot/freeldr/freeldr/arch/i386/pcvideo.c
boot/freeldr/freeldr/arch/i386/xboxvideo.c
boot/freeldr/freeldr/include/arch/i386/machxbox.h
boot/freeldr/freeldr/include/arch/pc/machpc.h
boot/freeldr/freeldr/include/machine.h
boot/freeldr/freeldr/ntldr/winldr.c

index 8d4465f..d9daad3 100644 (file)
@@ -90,7 +90,7 @@ ArmInit(IN PARM_BOARD_CONFIGURATION_BLOCK BootContext)
 }
 
 VOID
-ArmPrepareForReactOS(IN BOOLEAN Setup)
+ArmPrepareForReactOS(VOID)
 {
     return;
 }
index 527b944..4e21727 100644 (file)
@@ -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();
 }
 
index 7dffa2b..c7873f0 100644 (file)
@@ -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();
 }
 
index 9732712..6eb070f 100644 (file)
@@ -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);
 }
 
index cbb8b92..cb54dd2 100644 (file)
@@ -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 */
index c2a2005..93bcb78 100644 (file)
@@ -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);
index e834eb3..444db26 100644 (file)
@@ -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);
 
index c104036..abf6a4d 100644 (file)
@@ -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)    \
index e563188..1127f2e 100644 (file)
@@ -832,7 +832,7 @@ LoadAndBootWindowsCommon(
     LoaderBlockVA = PaToVa(LoaderBlock);
 
     /* "Stop all motors", change videomode */
-    MachPrepareForReactOS(Setup);
+    MachPrepareForReactOS();
 
     /* Cleanup ini file */
     IniCleanup();