🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc
Article #41350

Re: Why no graphics in text mode?

#41350
From: Bruce Wright
Date: Fri, 12 Jan 1990 17:08
47 lines
3050 bytes
In article <25820@cup.portal.com>, cliffhanger@cup.portal.com (Cliff C Heyer) writes:
> I'm trying to figure out why there is this division 
> between text and graphics modes with PCs. 
> 
> It seems logical that it should be possible to write 
> directly to the same video memory being used for 
> text display and place graphics with the text.

It would be logical to be able to do this, but the problem is that when
the original PC came out, graphics cards were expensive, especially if
they had enough resolution (=memory) so that the characters could be
displayed on the screen in a reasonable font.  The solution was to have
the characters stored as a character + attribute (underline, reverse,
etc) byte in video memory (so there was 1 word / character on the screen,
or about 4000 bytes of video memory) and then do a table lookup on the
character bitmap into a small ROM.  Given the technology of the day, and
the cost of video RAM, this was a reasonable approach.  Those who actually
wanted graphics could pay the extra for the expensive interface.  (BTW,
for the PC this "expensive interface" started out as the CGA ... hardly 
what would be considered "sophisticated graphics" nowadays).

In other words, what is being stored in video memory when you are in text
mode is essentially just the text ... no bitmaps.  You can't bypass it by
using the right library.  You either have to do everything on the screen
in graphics mode or text mode - no mixing.  (Of course, you can mix text
screens with graphics screens in a single program by changing modes, but
you can't display both at once).

If you were designing a system from scrach nowadays, you would probably
dispense with the zillions of screen "modes" that the IBM-PC has managed
to accumulate over the years (for compatibility with older text mode and
graphics mode interfaces) and do things similar to the way you suggest,
with a single graphics memory.  You'd probably also want a bitblt circuit
so that characters could be zapped onto this bitmap screen without a lot
of CPU time on the part of the main machine, and also to allow scrolling
to be accomplished quickly (a problem with simple bitmapped graphics
displays).

Unfortunately, although this would simplify things quite a bit in the
long run, and make the video hardware much more elegant, it would mean
a lot of incompatibility in the short run which would be very difficult
to overcome in the marketplace.

Consult a book on the PC video architecture (of which there are many
good titles available) if you want further information -

						Bruce C. Wright
Technical Details
Message-ID: <3418@rti.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!usc!apple!rutgers!mcnc!rti!bcw
References: <25820@cup.portal.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!usc!apple!rutgers!mcnc!rti!bcw
From: bcw@rti.UUCP (Bruce Wright)
Newsgroups: comp.sys.ibm.pc
Subject: Re: Why no graphics in text mode?
Summary: Graphics and text mode
Message-ID: <3418@rti.UUCP>
Date: 12 Jan 90 17:08:49 GMT
References: <25820@cup.portal.com>
Organization: Research Triangle Institute, RTP, NC
Lines: 47