From
https://www.quora.com/When-was-it-common-for-personal-computers-to-only-recognize-all-caps
It was common back in the day when memory cost a fortune. Video displays use a character generator - a kind of read only memory- to form the characters. The smallest recognizable character on a video screen was an 8 by 8 matrix of pixels, one row of which was blank to allow line spacing, so 128 characters - the full ASCII printable set - occupied 1024 bytes, 1k, of ROM. This happened to be the capacity of the most popular character generator ROM, the 2708.
However, with only an 8x8 matrix the screen couldn’t display descenders on the lower case letters g, p, q and y, so most personal computers of the time used only the upper case set (occupying 512 bytes) and used the other 512 for block graphics characters. RAM cost far too much for byte-per-pixel graphics at the time and most personal computers made do with only 1k, or at most 4k, of video RAM.
This changed as the cost of memory came down in the 1980s, and with the advent of CPUs that could address more than 64k of memory. The original IBM PC, for example, allocated a whole 32k of RAM to the video memory, which was enough to allow a 12 by 16 character matrix that could display full descenders as well as pixel graphics. The character generator was also obsoleted, with the CPU itself creating each character as a pixel graphic in RAM.
The old PC had two sets of video memory, for use by different video adaptors. The character graphics address space, at 0xB8000 to 0BFFFF, had 32k. The pixel graphics space was given a whole 64k, at 0xA0000 to 0xAFFFF, and later on, memory paging allowed that memory to increase to 256k and then to 512k in the same space. 512k was enough for one page of 640 by 480 color graphics, 256 colors, AKA “VGA mode”. The character generator came back in a new form as the color palette generator, which allowed each of the 256 pixel codes to be mapped to any of 4096 (12 bit) colors. As the cost of memory fell further, the palette generator went away and each pixel was allocated 3 bytes, 24 bits of video RAM, bringing us to the standards we have today.