Programs that display output on remote video terminals must issue special control sequences to manipulate the screen buffer.
[1] At the time text terminals were beginning to replace teleprinters in the 1970s, the extremely high cost of random-access memory in that period made it exorbitantly expensive to install enough memory for a computer to simultaneously store the current value of every pixel on a screen, to form what would now be called a framebuffer.
Early framebuffers were standalone devices which cost tens of thousands of dollars, in addition to the expense of the advanced high-resolution displays to which they were connected.
[2] For applications that required simple line graphics but for which the expense of a framebuffer could not be justified, vector displays were a popular workaround.
But there were many computer applications (e.g., data entry into a database) for which all that was required was the ability to render ordinary text in a quick and cost-effective fashion to a cathode-ray tube.
Thus, the computer's screen buffer only stores and knows about the underlying text characters (hence the name "text mode") and the only location where the actual pixels representing those characters exist as a single unified image is the screen itself, as viewed by the user (thanks to the phenomenon of persistence of vision).
By far the most common text mode used in DOS environments, and initial Windows consoles, is the default 80 columns by 25 rows, or 80×25, with 16 colors.
The 40-column text modes were never very popular outside games and other applications designed for compatibility with television monitors, and were used only for demonstration purposes or with very old hardware.
Character sizes and graphical resolutions for the extended VESA-compatible Super VGA text modes are manufacturer-dependent.
In Linux systems, a program called SVGATextMode is often used with SVGA cards to set up very large console text modes, such as for use with split-screen terminal multiplexers.
It can be switched to full screen, true text mode and vice versa by pressing the Alt and Enter keys together.
Most Linux distributions support several virtual console screens, accessed by pressing Ctrl, Alt and a function key together.
The AAlib open source library provides programs and routines that specialize in translating standard image and video files, such as PNG and WMV, and displaying them as a collection of ASCII characters.