mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
2003-08-11 Casper S. Hornstrup <[email protected]>
* bootdata/txtsetup.sif (SetupData): Add /NOBOOTSCREEN to OsLoadOptions. * hal/halx86/display.c (CHAR_ATTRIBUTE_BLACK): Define. (HalClearDisplay): Add CharAttribute parameter. (HalInitializeDisplay, HalReleaseDisplayOwnership): Blue screen. * hal/halx86/halinit.c (DriverEntry): Blue screen for boot phase 2. * include/reactos/resource.h (IDB_BOOTIMAGE): Define. * ntoskrnl/Makefile: Add boot video objects. * ntoskrnl/Makefile.i386: Ditto. * ntoskrnl/ntoskrnl.def: Add boot video exports. * ntoskrnl/ntoskrnl.edf: Ditto. * ntoskrnl/ntoskrnl.rc (IDB_BOOTIMAGE): Define. * ntoskrnl/include/internal/kd.h (KdInit3): Add. * ntoskrnl/kd/kdebug.c (KdInitSystem): Print information in KdInit3. * ntoskrnl/ke/bug.c (KeBugCheckWithTf, KeBugCheckEx): Switch to text-mode on crash if needed. * ntoskrnl/ke/main.c (ExpInitializeExecutive): Display bootscreen image during boot. * ntoskrnl/ke/i386/v86m_sup.S (_KiV86Complete): Restore previous mode and old exception handler list. * subsys/csrss/init.c: Change PrintString to DPRINT1. * subsys/smss/init.c: Change PrintString to DPRINT1. (SignalInitEvent): New. (InitSessionManager): Call SignalInitEvent to switch to text-mode if needed. * subsys/smss/smss.c: Change PrintString to DPRINT1. * ntoskrnl/inbv: New directory. * ntoskrnl/inbv/i386: Ditto. * ntoskrnl/res: Ditto. * include/ntos/bootvid.h: New file. * ntoskrnl/inbv/.cvsignore: Ditto. * ntoskrnl/inbv/bootvid.c: Ditto. * ntoskrnl/inbv/inbv.c: Ditto. * ntoskrnl/inbv/i386/.cvsignore: Ditto. * ntoskrnl/inbv/i386/pixelsup.S: Ditto. * ntoskrnl/res/bootimage.bmp: Ditto. svn path=/trunk/; revision=5529
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: display.c,v 1.5 2003/06/21 14:25:30 gvg Exp $
|
||||
/* $Id: display.c,v 1.6 2003/08/11 18:50:12 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
@@ -110,7 +110,8 @@
|
||||
#define CRTC_CURLO 0x0f
|
||||
|
||||
|
||||
#define CHAR_ATTRIBUTE 0x17 /* grey on blue */
|
||||
#define CHAR_ATTRIBUTE_BLACK 0x00 /* black on black */
|
||||
#define CHAR_ATTRIBUTE 0x17 /* grey on blue */
|
||||
|
||||
|
||||
/* VARIABLES ****************************************************************/
|
||||
@@ -130,14 +131,14 @@ static PHAL_RESET_DISPLAY_PARAMETERS HalResetDisplayParameters = NULL;
|
||||
|
||||
/* STATIC FUNCTIONS *********************************************************/
|
||||
|
||||
static VOID
|
||||
HalClearDisplay (VOID)
|
||||
VOID
|
||||
HalClearDisplay (UCHAR CharAttribute)
|
||||
{
|
||||
WORD *ptr = (WORD*)VideoBuffer;
|
||||
ULONG i;
|
||||
|
||||
for (i = 0; i < SizeX * SizeY; i++, ptr++)
|
||||
*ptr = ((CHAR_ATTRIBUTE << 8) + ' ');
|
||||
*ptr = ((CharAttribute << 8) + ' ');
|
||||
|
||||
CursorX = 0;
|
||||
CursorY = 0;
|
||||
@@ -214,7 +215,7 @@ HalInitializeDisplay (PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||
#ifdef BOCHS_30ROWS
|
||||
SizeY=30;
|
||||
#endif
|
||||
HalClearDisplay();
|
||||
HalClearDisplay(CHAR_ATTRIBUTE_BLACK);
|
||||
|
||||
DisplayInitialized = TRUE;
|
||||
}
|
||||
@@ -238,7 +239,7 @@ HalReleaseDisplayOwnership()
|
||||
if (HalResetDisplayParameters(SizeX, SizeY) == TRUE)
|
||||
{
|
||||
HalOwnsDisplay = TRUE;
|
||||
HalClearDisplay();
|
||||
HalClearDisplay(CHAR_ATTRIBUTE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: halinit.c,v 1.4 2003/02/26 14:14:03 ekohl Exp $
|
||||
/* $Id: halinit.c,v 1.5 2003/08/11 18:50:12 chorns Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
@@ -24,6 +24,9 @@
|
||||
|
||||
/* FUNCTIONS ***************************************************************/
|
||||
|
||||
extern VOID
|
||||
HalClearDisplay (UCHAR CharAttribute);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
DriverEntry(
|
||||
@@ -39,6 +42,7 @@ HalInitSystem (ULONG BootPhase,
|
||||
{
|
||||
if (BootPhase == 0)
|
||||
{
|
||||
/* Initialize display and make the screen black */
|
||||
HalInitializeDisplay (LoaderBlock);
|
||||
|
||||
#ifdef MP
|
||||
@@ -63,6 +67,11 @@ HalInitSystem (ULONG BootPhase,
|
||||
/* Enumerate the devices on the motherboard */
|
||||
HalpStartEnumerator();
|
||||
}
|
||||
else if (BootPhase == 2)
|
||||
{
|
||||
/* Go to blue screen */
|
||||
HalClearDisplay (0x17); /* grey on blue */
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user