
Windows 95 – It's now safe to shutdown your computer - pentestercrab
https://twitter.com/Foone/status/1070093846703304705
======
vardump
From the "article":

> This means it only needs memory to read the file once, then it never needs
> to store it again. It's only in the VGA framebuffer, which is separate
> memory from the CPU's RAM. So how the fuck is it animated?

Color cycling is not the only option available with these constraints. Windows
95 _could_ have also used VGA "hardware accelerated blit" latching to copy
animation frames entirely inside VGA framebuffer (one 8-bit x86 read and 8-bit
store copies 32 bits of VGA data inside VRAM) had they so decided. No
conventional/extended memory needed for the animation frames that way.

VGA has at least 256 kB of VRAM while this screen requires just 128000 bytes.
So there'd been ample room to store animation frames instead of color cycling.

And there's even one more option! If the bar could have been at top of the
screen, they could have used VGA hardware scrolling for it. Top, because VGA
only supports stationary part of the screen on the bottom while using hardware
scrolling feature.

VGA could do a lot more than most people knew or still know. Like latching
based "blitting", although it's probably only a net win on 286 and some 386
level CPUs and requires both source and destination to be aligned to 4
horizontal pixels. And pixel perfect scrolling _without_ copying the graphics
data around with a free (no busy CPU based scanline waiting required),
hardware based screen split.

------
pentestercrab
Another fun fact from @foone on Twitter[1]:

The "It's now safe to turn off your computer" screen is (sometimes) backed by
DOS, meaning you can type in "mode co80" and get the DOS prompt back. You can
also type any DOS commands blind, and they'll work, invisibly!

The referenced tweet below also includes a GIF of the behavior.

1:
[https://twitter.com/Foone/status/1018973818197430273](https://twitter.com/Foone/status/1018973818197430273)

------
accrual
95 was my first graphical OS. I did not know:

\- The "loading bar" image was loaded into and remained fixed in VGA memory.
The animation was achieved by cycling the color palette over the area the bar
appeared.

\- Both the loading and shutdown images are 320x400. Conventional VGA is
640x480. The smaller image took advantage of the display to stretch the image
into the desired aspect ratio.

------
sprremix
For such an interesting message, twitter might be the most annoying platform
to share article-like posts. Just use a blog so I can just read instead of
"read-scroll-scroll-read".

------
ganeshkrishnan
The author is talking about doom but the screenshot is Wolfenstein

------
antoineMoPa
The color cycling part of this thread is really interesting!

