Why are they doing that?
The most important reason is that IBM introduced that check as part of the BIOS startup code, so everyone copied it to be compatible.
The PC did differ from many other machines of the same era in that it did a thorough test of all components installed at power up to make sure the configuration was operable. Something carried over from mainframes or similar professional systems. Other machines just initialized components and let the user guess what the problem was when an error occurred.
Modern computers, as far as I am aware of, only check their memory when explicitly told to.
RAM got more reliable over the years. Equally important, RAM size increased manyfold, making a thorough memory test anything but quick. Last but not least, memory design for PCs did split in the (late) 90s between consumer PC with error detection (like the first PC) and professional machines with error correction (ECC). Where consumer grade machines just let the process/OS die on the user, professional systems will not only correct starting RAM failure, but also report it which (hopefully) leads to preemptive RAM change.
What exactly are retro computers doing during that check that more modern computers seem to not do
Various bit patterns are written to RAM and read again to detect cell failure or certain kinds of crossover. The test is split into two parts: base RAM (first 16/64 KiB, *1,2) and memory above 64 KiB. On AT (286+) class machines, a third (faster) test may be used for memory above 1 MiB (*3), together with an additional test in protected mode and even more diverging POST codes.
Conventional memory (up to 1 MiB ,*4) is checked in 4 KiB blocks (*5) and reported as such. The BIOS halts if there is an error in the first 16 KiB (original PC) or first 64 KiB (XT and above).
The bit pattern used (*6) for the first 64 KiB is AA
, 55
, 00
, FF
, 01
, 02
, 04
, 08
, 10
, 20
, 40
and 80
. They are written (and read) in a way to not only detect single bit failures, but also address and data line mismatch/failure.
For the remaining memory it is shortened to AA
, 55
, FF
, 00
and 01
.
Here is a nice explanation of basic bit walking and increment tests similar to what the PC does/did and what it will show.
and why?
To alarm the user of an imminent RAM problem before it occurs so that they don't lose hours of work due to a flipped bit.
*1 - 16 KiB on the first series of 5150 PCs (64 Kib Motherboard), 64KiB on the later (256 KiB motherboard and XT)
*2 - On the XT there is a separate BIOS POST code for the first 32 KiB.
*3 - The beep codes do not distinguish between above 64 KiB and above 1 MiB.
*4 - Well, in reality on the early PCs only until 544 KiB. Later PCs would go until 640 KiB.
*5 - Looks like a hint as if they expected 4 KiB chips to be used - at least during early development stage - or that test was copied from some other device using them.
*6 - Caveat: Bit patterns are taken from an old man's memory. To verify, browsing the BIOS would be helpful.