[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 VOID
ArmPrepareForReactOS(IN BOOLEAN Setup) ArmPrepareForReactOS(VOID)
{ {
return; return;
} }

View file

@ -1391,10 +1391,10 @@ PcMachInit(const char *CmdLine)
} }
VOID VOID
PcPrepareForReactOS(IN BOOLEAN Setup) PcPrepareForReactOS(VOID)
{ {
/* On PC, prepare video and turn off the floppy motor */ /* On PC, prepare video and turn off the floppy motor */
PcVideoPrepareForReactOS(Setup); PcVideoPrepareForReactOS();
DiskStopFloppyMotor(); DiskStopFloppyMotor();
} }

View file

@ -211,10 +211,10 @@ XboxMachInit(const char *CmdLine)
} }
VOID VOID
XboxPrepareForReactOS(IN BOOLEAN Setup) XboxPrepareForReactOS(VOID)
{ {
/* On XBOX, prepare video and turn off the floppy motor */ /* On XBOX, prepare video and turn off the floppy motor */
XboxVideoPrepareForReactOS(Setup); XboxVideoPrepareForReactOS();
DiskStopFloppyMotor(); DiskStopFloppyMotor();
} }

View file

@ -1109,16 +1109,10 @@ PcVideoSync(VOID)
} }
VOID VOID
PcVideoPrepareForReactOS(IN BOOLEAN Setup) PcVideoPrepareForReactOS(VOID)
{ {
if (Setup) // PcVideoSetMode80x50_80x43();
{ PcVideoSetMode80x25();
PcVideoSetMode80x50_80x43();
}
else
{
PcVideoSetBiosMode(0x12);
}
PcVideoHideShowTextCursor(FALSE); PcVideoHideShowTextCursor(FALSE);
} }

View file

@ -240,9 +240,10 @@ XboxBeep(VOID)
} }
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 */ /* EOF */

View file

@ -43,8 +43,8 @@ BOOLEAN XboxVideoIsPaletteFixed(VOID);
VOID XboxVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue); VOID XboxVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue);
VOID XboxVideoGetPaletteColor(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue); VOID XboxVideoGetPaletteColor(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue);
VOID XboxVideoSync(VOID); VOID XboxVideoSync(VOID);
VOID XboxVideoPrepareForReactOS(IN BOOLEAN Setup); VOID XboxVideoPrepareForReactOS(VOID);
VOID XboxPrepareForReactOS(IN BOOLEAN Setup); VOID XboxPrepareForReactOS(VOID);
VOID XboxMemInit(VOID); VOID XboxMemInit(VOID);
PVOID XboxMemReserveMemory(ULONG MbToReserve); PVOID XboxMemReserveMemory(ULONG MbToReserve);

View file

@ -44,8 +44,8 @@ BOOLEAN PcVideoIsPaletteFixed(VOID);
VOID PcVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue); VOID PcVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue);
VOID PcVideoGetPaletteColor(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue); VOID PcVideoGetPaletteColor(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue);
VOID PcVideoSync(VOID); VOID PcVideoSync(VOID);
VOID PcVideoPrepareForReactOS(IN BOOLEAN Setup); VOID PcVideoPrepareForReactOS(VOID);
VOID PcPrepareForReactOS(IN BOOLEAN Setup); VOID PcPrepareForReactOS(VOID);
PFREELDR_MEMORY_DESCRIPTOR PcMemGetMemoryMap(ULONG *MemoryMapSize); 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 (*VideoGetPaletteColor)(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue);
VOID (*VideoSync)(VOID); VOID (*VideoSync)(VOID);
VOID (*Beep)(VOID); VOID (*Beep)(VOID);
VOID (*PrepareForReactOS)(IN BOOLEAN Setup); VOID (*PrepareForReactOS)(VOID);
// NOTE: Not in the machine.c ... // NOTE: Not in the machine.c ...
FREELDR_MEMORY_DESCRIPTOR* (*GetMemoryDescriptor)(FREELDR_MEMORY_DESCRIPTOR* Current); FREELDR_MEMORY_DESCRIPTOR* (*GetMemoryDescriptor)(FREELDR_MEMORY_DESCRIPTOR* Current);
@ -113,8 +113,8 @@ VOID MachInit(const char *CmdLine);
MachVtbl.VideoSync() MachVtbl.VideoSync()
#define MachBeep() \ #define MachBeep() \
MachVtbl.Beep() MachVtbl.Beep()
#define MachPrepareForReactOS(Setup) \ #define MachPrepareForReactOS() \
MachVtbl.PrepareForReactOS(Setup) MachVtbl.PrepareForReactOS()
#define MachDiskGetBootPath(Path, Size) \ #define MachDiskGetBootPath(Path, Size) \
MachVtbl.DiskGetBootPath((Path), (Size)) MachVtbl.DiskGetBootPath((Path), (Size))
#define MachDiskReadLogicalSectors(Drive, Start, Count, Buf) \ #define MachDiskReadLogicalSectors(Drive, Start, Count, Buf) \

View file

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