[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@reactos.org>
This commit is contained in:
Yaroslav Kibysh 2019-06-13 22:26:42 +03:00 committed by Hermès Bélusca-Maïto
parent 306bcd9d73
commit f37fb1f7f8
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
9 changed files with 19 additions and 24 deletions

View file

@ -90,7 +90,7 @@ ArmInit(IN PARM_BOARD_CONFIGURATION_BLOCK BootContext)
}
VOID
ArmPrepareForReactOS(IN BOOLEAN Setup)
ArmPrepareForReactOS(VOID)
{
return;
}

View 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();
}

View 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();
}

View 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);
}

View 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 */

View 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);

View 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);

View 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) \

View file

@ -832,7 +832,7 @@ LoadAndBootWindowsCommon(
LoaderBlockVA = PaToVa(LoaderBlock);
/* "Stop all motors", change videomode */
MachPrepareForReactOS(Setup);
MachPrepareForReactOS();
/* Cleanup ini file */
IniCleanup();