Whistler boot screen mystery

Discuss Windows 2000, NT, XP and Windows Server 2000, 2003, SBS 2003.
Post Reply
AlphaBeta
User avatar
Donator
Posts: 2439
Joined: Sun Aug 12, 2012 4:33 pm
Location: Czechia

Whistler boot screen mystery

Post by AlphaBeta »

Up to build 2416, the boot screen was pretty simple:
Image
The system just rotated the rings in the middle of the picture in a loop. The color palette of the boot screen was also self-contained in the bitmap. This boot screen used exactly 16 colors in total.

The boot animation mechanism was changed in build 2419 with the introduction of this bootscreen:
Image
Instead of just changing the position of an element in the bitmap, Windows first faded the boot screen in and then started fading the color bars in and out. Now, the boot screen was running in 4 bit color, which means that no more than 16 colors can be displayed at a time. As you can see in the picture above, the boot screen of build 2419 uses 12 shades of gray and 4 colors. To accomplish the fade animations, Windows used a little trick: it changed the colors in the color palette on the fly. It changed the color values of the last 4 fields in the palette to create a fade-in/out animation of the color bars.

The boot screen was updated in build 2428 to accomodate the new Windows flag, but the mechanism stayed the same. The only thing that changed was the bitmap:
Image

The mechanism changed a little bit with build 2474 and its short-lived blinking "loading..." boot screen, but the core principle stayed: the "loading..." label had its own color palette entry (made it cyan in the following screenshot for illustration purposes), which changed colors between various shades of gray as the system booted up:
Image

The "loading..." label was soon scrapped and not even ten builds later we see a completely new boot screen with the familiar moving squares. The fade-in animation still remained and made its way into RTM:
Image

Of course, this means that the boot screen needed to display more than 16 colors in total, more than the 4-bit bitmap could fit in its palette, so the enumeration of colors was moved outside the bitmap and its color palette was changed to be all-black, which causes Resource Hacker and any other software working with the bitmap's own color palette to just display a black picture:
Image

Now this comes with a little mystery: the color palette isn't present in the bitmap since build 2419, but it doesn't seem to be in ntoskrnl.exe either until build 2481 with the RTM boot screen (at least not in the RTM format), so my final question is: Where could the color palette be stored from build 2419 to build 2475?
AlphaBeta, stop brainwashing me immediately!

Image

whistler2250
User avatar
Posts: 214
Joined: Wed Aug 09, 2017 1:08 am

Re: Whistler boot screen mystery

Post by whistler2250 »

It may be in ntkrnpa.exe, I haven't checked it for sure yet.
Pseudo-localized builds are awesome!

geminiman112
User avatar
Posts: 74
Joined: Sun Aug 06, 2017 12:46 pm

Re: Whistler boot screen mystery

Post by geminiman112 »

AlphaBeta wrote:Up to build 2416, the boot screen was pretty simple:
The boot animation mechanism was changed in build 2419 with the introduction of this bootscreen:
Image
Instead of just changing the position of an element in the bitmap, Windows first faded the boot screen in and then started fading the color bars in and out. Now, the boot screen was running in 4 bit color, which means that no more than 16 colors can be displayed at a time. As you can see in the picture above, the boot screen of build 2419 uses 12 shades of gray and 4 colors. To accomplish the fade animations, Windows used a little trick: it changed the colors in the color palette on the fly. It changed the color values of the last 4 fields in the palette to create a fade-in/out animation of the color bars.
This reminds me of the color tricks that developers would use on the Sega Genesis to get more than 64 colors. It is interesting that Microsoft would work around a limitation that they set themselves which they could have just as (if not more) easily removed.

EDIT:
whistler2250 wrote:It may be in ntkrnpa.exe, I haven't checked it for sure yet.
I checked. It's not in ntkrnpa.exe (at least not in build 2419). There was an interesting image of a Microsoft Codename Whistler Windows Server Family boot-up screen, but that's probably on the internet already.

AlphaBeta
User avatar
Donator
Posts: 2439
Joined: Sun Aug 12, 2012 4:33 pm
Location: Czechia

Re: Whistler boot screen mystery

Post by AlphaBeta »

whistler2250 wrote:It may be in ntkrnpa.exe, I haven't checked it for sure yet.
It's not, and it wouldn't make sense to include the color palette in one kernel image but exclude it from other ones.
geminiman112 wrote:It is interesting that Microsoft would work around a limitation that they set themselves which they could have just as (if not more) easily removed.
Oh, they didn't set the limitation themselves. They went for the 640x480x4 resolution that's guaranteed to be supported by any display adapter supported by Windows, including these without VESA support.
AlphaBeta, stop brainwashing me immediately!

Image

whistler2250
User avatar
Posts: 214
Joined: Wed Aug 09, 2017 1:08 am

Re: Whistler boot screen mystery

Post by whistler2250 »

Well, since Windows XP has a default VESA driver even if your display hardware can't be detected, it wouldn't make sense to put on such a limitation. The only time Windows XP wouldn't be in VESA mode is if you set it to 256 color mode or if your display driver badly screws up and you end up with horrible 4-bit color.
Pseudo-localized builds are awesome!

AlphaBeta
User avatar
Donator
Posts: 2439
Joined: Sun Aug 12, 2012 4:33 pm
Location: Czechia

Re: Whistler boot screen mystery

Post by AlphaBeta »

whistler2250 wrote:Well, since Windows XP has a default VESA driver even if your display hardware can't be detected, it wouldn't make sense to put on such a limitation. The only time Windows XP wouldn't be in VESA mode is if you set it to 256 color mode or if your display driver badly screws up and you end up with horrible 4-bit color.
XP's default VGA driver does support VESA modes but (logically) enables them only if it detects that the graphics adapter is VESA compatible. If it's not, you're going to get 4-bit color since that's the greatest common divisor:
Image

Of course, the VGA also supported 8-bit color, but no Windows except from 3.0 MME really supported operating in this mode with the OOB drivers since the resolution was too low (3.0 MME used 320x240):
Image

Windows 9x made use of VGA's 256 colors modes with some clever tricks for its boot screen, the progress bar in the bottom even works on the same principle, but that's a completely different story.

I think we are going slightly off-topic with this though, it's time to get back.
There was an interesting image of a Microsoft Codename Whistler Windows Server Family boot-up screen, but that's probably on the internet already.
Oh yes, Server builds still used the re-branded Windows 2000 Server boot screen that was ditched in Client around build 2267 until build 2455. Build 2257 includes the client variant of this specific boot screen, which (unexpectedly) is a re-branded Windows 2000 Professional one.
Last edited by AlphaBeta on Fri Aug 11, 2017 1:43 am, edited 1 time in total.
AlphaBeta, stop brainwashing me immediately!

Image

whistler2250
User avatar
Posts: 214
Joined: Wed Aug 09, 2017 1:08 am

Re: Whistler boot screen mystery

Post by whistler2250 »

AlphaBeta wrote:
whistler2250 wrote:Well, since Windows XP has a default VESA driver even if your display hardware can't be detected, it wouldn't make sense to put on such a limitation. The only time Windows XP wouldn't be in VESA mode is if you set it to 256 color mode or if your display driver badly screws up and you end up with horrible 4-bit color.
XP's default VGA driver does support VESA modes but (logically) enables them only if it detects that the graphics adapter is VESA compatible. If it's not, you're going to get 4-bit color since that's the greatest common divisor:
Image

Of course, the VGA also supported 8-bit color, but no Windows except from 3.0 MME really supported operating in this mode with the OOB drivers since the resolution was too low (3.0 MME used 320x240):
Image

Windows 9x made use of VGA's 256 colors modes with some clever tricks for its boot screen, the progress bar in the bottom even works on the same principle, but that's a completely different story.

I think we are going slightly off-topic with this though, it's time to get back.
Not trying to get too off-topic here, but I'm pretty sure almost everyone in 2001 had a vesa compatible graphics card in their computer, but once again, it may be Microsoft retaining legacy graphics modes that no one uses anymore.
Pseudo-localized builds are awesome!

Raritize
User avatar
Posts: 324
Joined: Wed Apr 16, 2014 6:34 pm

Re: Whistler boot screen mystery

Post by Raritize »

This snippet of code might be what you're looking for. This code is used for the fade in portion of the boot animation.

Code: Select all

#define FULL_PALETTE_SIZE (16)
RGBQUAD MainPalette [FULL_PALETTE_SIZE] = { {0,0,0,0}, {21,26,32,0}, {70,70,70,0}, {210,62,45,0},
											{1,101,83,0}, {5,53,178,0}, {126,126,126,0}, {0,146,137,0},
											{252,127,94,0}, {32,107,247,0}, {255,166,141,0}, {4,220,142,0},
											{27,188,243,0}, {188,188,188,0}, {252,252,252,0}, {255,255,255,0} };
I haven't done much research on 2475 but I'd imagine that they used the same snippet of code in 2475.

Image

Another good place to look would probably be in bootvid.dll itself.

AlphaBeta
User avatar
Donator
Posts: 2439
Joined: Sun Aug 12, 2012 4:33 pm
Location: Czechia

Re: Whistler boot screen mystery

Post by AlphaBeta »

Yes, that's the color palette for the boot screen :) They surely must have used a similar piece of code in 2475 and below, but this would mean that the array is in a different format and/or in a different file as opposed to RTM.

I suppose they have used the same fade-in code also for the color bars and the "loading..." label in the earlier bootscreens. Would be pretty nice to mod the color bars to the RTM, but the XP source tree isn't publicly available and I don't know how source compatible ReactOS is regarding kernel stuff. I don't have the experience either :P
AlphaBeta, stop brainwashing me immediately!

Image

Raritize
User avatar
Posts: 324
Joined: Wed Apr 16, 2014 6:34 pm

Re: Whistler boot screen mystery

Post by Raritize »

ReactOS seems to scan the palette table of the bitmap first, and using that data in the fade function (basically the same effect as XP, but not pre-programmed)
You could use ReactOS, or possibly the WRK to replicate this result. However, the WRK you might need to rewrite the boot video code for the kernel since it's not publicly available (I've rewritten it several times, it's not too hard depending on your skill and knowledge of windows internals/reverse engineering)

Also, From Vista to 10 they all have the same palette programmed into the kernel, which is visible when booting into Vista or entering recovery mode in 7+

I might port the Vista boot screen to XP / NT 6.0 (it's a work in progress, but it's built off of XP's kernel)
The color palette to Vista is exactly the same as XP

windowsawesome
Posts: 50
Joined: Sun Aug 13, 2017 1:53 am
Location: Earth

Re: Whistler boot screen mystery

Post by windowsawesome »

Cool There are a LOT of other builds you could try it with :D

Zacchi4k
Posts: 226
Joined: Mon Aug 18, 2014 10:47 pm
Location: Italy

Re: Whistler boot screen mystery

Post by Zacchi4k »

AlphaBeta wrote: Image
Offtopic Comment
"An exciting new look"

TuneableSumo876

Re: Whistler boot screen mystery

Post by TuneableSumo876 »

Zacchi4k wrote:
AlphaBeta wrote: Image
Offtopic Comment
"An exciting new look"
Offtopic Comment
Introducing Material Design™ for Windows XP™
Designed by Google, ported by Microsoft

AlphaBeta
User avatar
Donator
Posts: 2439
Joined: Sun Aug 12, 2012 4:33 pm
Location: Czechia

Re: Whistler boot screen mystery

Post by AlphaBeta »

Raritize wrote:I might port the Vista boot screen to XP / NT 6.0 (it's a work in progress, but it's built off of XP's kernel)
The color palette to Vista is exactly the same as XP
That actually should be a matter of replacing the resources, as the progress bar is aligned the same in XP. I actually remember some Vista Transformation Pack thing for XP changing the bootscreen to the Vista one.
windowsawesome wrote:Cool There are a LOT of other builds you could try it with :D
Image
Offtopic Comment
Zacchi4k wrote:"An exciting new look"
"sleek look, clean lines and appealing colors"
AlphaBeta, stop brainwashing me immediately!

Image

AlejHerrBar2k3
Posts: 38
Joined: Wed Nov 14, 2018 8:57 pm
Location: Puntarenas, Costa Rica

Re: Whistler boot screen mystery

Post by AlejHerrBar2k3 »

AlphaBeta wrote: Image
Offtopic Comment
"Windows® XP Professional sports a brand-new visual design that combines a sleek look, clean lines, and appealing colors with a task-oriented design and exceptionally streamlined navigation."
It's as sleek as a drawing made with an MS-DOS program and modified a lot just to make it "professional". How can Windows XP run very fine on 4-bit color?
Offtopic Comment
And shouldn't that be the "text-based" portion of Windows XP Setup when upgrading from a previous version of Windows? It's very similar! Now what it needs is the text appearing on the text-based Setup billboard and a side-by-side comparison!
Alejandro J. Herrera Barboza, 16, from Costa Rica

Dz3n
Posts: 42
Joined: Wed Jan 24, 2018 3:36 pm
Location: Ukraine

Re: Whistler boot screen mystery

Post by Dz3n »

Offtopic Comment
AlejHerrBar2k3 wrote:And shouldn't that be the "text-based" portion of Windows XP Setup when upgrading from a previous version of Windows? It's very similar! Now what it needs is the text appearing on the text-based Setup billboard and a side-by-side comparison!
it is: https://www.betaarchive.com/forum/viewt ... 61&t=39279

JennyTheOSCollector
User avatar
Posts: 68
Joined: Sat Oct 26, 2019 3:38 am
Location: Shanghai,China

Re: Whistler boot screen mystery

Post by JennyTheOSCollector »

The first and the second pictures looks so much like today's things,but the third one looks a bit like longhorn,the last one looks like an old thing!
Bored...Now I'd like to do something practical,like learning about HTML programming and make music pieces!

Post Reply