https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f37fb1f7f8950cdae899d8...
commit f37fb1f7f8950cdae899d86c401f3135374cd3b1 Author: Yaroslav Kibysh yanet.prod@gmail.com AuthorDate: Thu Jun 13 22:26:42 2019 +0300 Commit: Hermès Bélusca-Maïto hermes.belusca-maito@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@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();