WEBVTT - What were CGA, EGA and VGA?

0:00:04.400 --> 0:00:07.800
<v Speaker 1>Welcome to Tech Stuff, a production from I Heart Radio.

0:00:12.200 --> 0:00:15.080
<v Speaker 1>Hey there, and welcome to tech Stuff. I'm your host,

0:00:15.200 --> 0:00:18.440
<v Speaker 1>Jonathan Strickland. I'm an executive producer with I Heart Radio

0:00:18.480 --> 0:00:21.800
<v Speaker 1>and I love all things tech. And for today's episode,

0:00:21.840 --> 0:00:26.200
<v Speaker 1>we're going to learn about old computer graphics standards. Don't

0:00:26.280 --> 0:00:29.440
<v Speaker 1>run away. This is actually really interesting. We'll learn how

0:00:29.480 --> 0:00:32.159
<v Speaker 1>they became standards in the first place, and what the

0:00:32.200 --> 0:00:34.919
<v Speaker 1>company IBM had to do with all of this, and

0:00:34.960 --> 0:00:38.479
<v Speaker 1>why some early decisions by IBM would lead to the

0:00:38.520 --> 0:00:42.680
<v Speaker 1>company extricating itself from the personal computer business altogether a

0:00:42.680 --> 0:00:45.440
<v Speaker 1>couple of decades later. Now, when I was growing up,

0:00:45.960 --> 0:00:49.600
<v Speaker 1>my family owned a couple of personal computers over the

0:00:49.600 --> 0:00:53.000
<v Speaker 1>course of my childhood. We were in that rare small

0:00:53.120 --> 0:00:56.880
<v Speaker 1>percentage of households with a personal computer back in the

0:00:57.000 --> 0:01:00.480
<v Speaker 1>nineteen eighties, and our first computer was an Apple to

0:01:00.800 --> 0:01:04.680
<v Speaker 1>E with a mono chromatic screen that could only display

0:01:04.920 --> 0:01:08.920
<v Speaker 1>Matrix green style letters. I seem to recall that we

0:01:09.000 --> 0:01:12.760
<v Speaker 1>eventually got a monitor one hundred, which is Apple's color monitor,

0:01:13.280 --> 0:01:16.399
<v Speaker 1>and that was compatible with the two E, assuming that

0:01:16.480 --> 0:01:19.800
<v Speaker 1>you had a too E with the appropriate interface card installed.

0:01:20.240 --> 0:01:23.319
<v Speaker 1>But honestly, that memory might be conflated with the second

0:01:23.520 --> 0:01:28.479
<v Speaker 1>personal computer that my dad would purchase. See, Dad got

0:01:28.520 --> 0:01:31.440
<v Speaker 1>these computers in order to work on his novels. He

0:01:31.480 --> 0:01:34.360
<v Speaker 1>wrote his first couple of books on the old Apple

0:01:34.400 --> 0:01:36.959
<v Speaker 1>to E. I don't know if he still has them,

0:01:37.000 --> 0:01:40.199
<v Speaker 1>but for years he had these novels stored on old

0:01:40.280 --> 0:01:43.560
<v Speaker 1>five and a quarter inch floppy disc and those discs

0:01:43.600 --> 0:01:46.720
<v Speaker 1>could hold about a hundred forty kilobytes worth of information each,

0:01:47.080 --> 0:01:49.640
<v Speaker 1>so to be safe, Dad would typically store two to

0:01:49.720 --> 0:01:53.240
<v Speaker 1>three chapters per disk, since his novels were too long

0:01:53.320 --> 0:01:56.200
<v Speaker 1>to fit onto just one five and a quarter inch disc,

0:01:56.600 --> 0:01:59.200
<v Speaker 1>and the Apple to E had no hard drive. Anyway,

0:01:59.240 --> 0:02:02.480
<v Speaker 1>I digress, So I love thinking about those old times.

0:02:02.520 --> 0:02:07.240
<v Speaker 1>I remember going through sleeves of discs and seeing Dad's

0:02:07.280 --> 0:02:11.240
<v Speaker 1>old novels on there. Our second computer that we owned

0:02:11.280 --> 0:02:14.200
<v Speaker 1>as a family was a two eight six. But what

0:02:14.240 --> 0:02:17.040
<v Speaker 1>does that actually mean. Well, it was a personal computer

0:02:17.200 --> 0:02:21.120
<v Speaker 1>that relied on the Intel eight two eight six central

0:02:21.200 --> 0:02:25.400
<v Speaker 1>processing unit, and it also relied on MS DOSS as

0:02:25.440 --> 0:02:28.760
<v Speaker 1>the operating system. So this computer fell into what we

0:02:28.800 --> 0:02:32.280
<v Speaker 1>would call an IBM compatible computer back in the day.

0:02:32.520 --> 0:02:35.920
<v Speaker 1>It used components and an operating system that allowed it

0:02:35.960 --> 0:02:40.160
<v Speaker 1>to run any software designed for those IBM specific machines.

0:02:40.720 --> 0:02:43.080
<v Speaker 1>I think of this as an interesting part of personal

0:02:43.080 --> 0:02:46.320
<v Speaker 1>computer history and it helps illustrate a shark contrast between

0:02:46.320 --> 0:02:50.919
<v Speaker 1>IBM S strategy and apples. So let's backtrack a little

0:02:50.919 --> 0:02:54.440
<v Speaker 1>bit now, before there were personal computers, Back when you

0:02:54.600 --> 0:02:57.720
<v Speaker 1>needed to work for a special research facility or be

0:02:57.880 --> 0:03:00.239
<v Speaker 1>enrolled in an engineering course in the universe s D,

0:03:00.440 --> 0:03:03.160
<v Speaker 1>or maybe one of a handful of folks who knows

0:03:03.160 --> 0:03:06.040
<v Speaker 1>about computers and works for a big financial company, or

0:03:06.120 --> 0:03:09.200
<v Speaker 1>maybe you're in the military. Back in those days, computers

0:03:09.200 --> 0:03:12.720
<v Speaker 1>really didn't have monitors at all. Computer graphics weren't even

0:03:12.760 --> 0:03:16.080
<v Speaker 1>a thing yet. The computer would typically print out the

0:03:16.160 --> 0:03:19.920
<v Speaker 1>results of a computational process on some sort of paper

0:03:20.080 --> 0:03:23.080
<v Speaker 1>or paper tape. Richard Garriott, who would go on to

0:03:23.160 --> 0:03:26.840
<v Speaker 1>create the Ultimate Computer Game series before You would become

0:03:26.880 --> 0:03:29.959
<v Speaker 1>one of seven private citizens to visit the space Station,

0:03:30.320 --> 0:03:33.120
<v Speaker 1>programmed his first games on a computer that would print

0:03:33.160 --> 0:03:36.960
<v Speaker 1>out each move of his Dungeon Crawler. So imagine a

0:03:37.120 --> 0:03:40.600
<v Speaker 1>top down view of a dungeon Crawler, except you're not

0:03:40.640 --> 0:03:43.120
<v Speaker 1>looking at it on a screen. You actually have to

0:03:43.240 --> 0:03:47.160
<v Speaker 1>print out each move. So you make a move in

0:03:47.200 --> 0:03:50.160
<v Speaker 1>the game, the printer would print out a new display

0:03:50.320 --> 0:03:53.680
<v Speaker 1>of what had happened, and all the figures were represented

0:03:53.680 --> 0:03:57.640
<v Speaker 1>by the basic characters that the printer could replicate, so

0:03:58.040 --> 0:04:00.440
<v Speaker 1>it was limited to whatever the printer could print, and

0:04:00.480 --> 0:04:04.480
<v Speaker 1>that was typically stuff like your standard letters, numbers, and

0:04:04.560 --> 0:04:07.720
<v Speaker 1>symbols on a keyboard. So making a move would require

0:04:07.720 --> 0:04:09.800
<v Speaker 1>the whole system to print out a new picture showing

0:04:09.800 --> 0:04:12.400
<v Speaker 1>the results of that move. So playing the game took

0:04:12.400 --> 0:04:17.400
<v Speaker 1>a while. Obviously the refresh rate was terrible, but eventually

0:04:17.720 --> 0:04:20.600
<v Speaker 1>engineers began to create a way for computers to display

0:04:20.680 --> 0:04:24.039
<v Speaker 1>information over a screen. You might connect the computer to

0:04:24.120 --> 0:04:26.640
<v Speaker 1>a regular old television system and you might have a

0:04:26.640 --> 0:04:30.000
<v Speaker 1>little adapter to do that, or, as would later become

0:04:30.000 --> 0:04:33.560
<v Speaker 1>the norm, you would build computer monitors specifically for the

0:04:33.640 --> 0:04:37.440
<v Speaker 1>systems you were creating, and later we would call these displays.

0:04:37.480 --> 0:04:39.520
<v Speaker 1>But I'm so old i still refer to them as

0:04:39.560 --> 0:04:44.159
<v Speaker 1>computer monitors because that's just how it cemented itself in

0:04:44.240 --> 0:04:47.599
<v Speaker 1>my brain. Obviously, you've got to have some sort of

0:04:47.680 --> 0:04:50.640
<v Speaker 1>bridge for a computer to be able to send meaningful

0:04:50.680 --> 0:04:54.039
<v Speaker 1>information to a display, which will then follow the instructions

0:04:54.160 --> 0:04:57.000
<v Speaker 1>sent by the computer to represent the information to the

0:04:57.080 --> 0:04:59.840
<v Speaker 1>end user. There's got to be some sort of in

0:05:00.000 --> 0:05:03.240
<v Speaker 1>interface to make this happen. On the computer side. As

0:05:03.320 --> 0:05:05.920
<v Speaker 1>well as a port that allows a user to connect

0:05:06.000 --> 0:05:08.039
<v Speaker 1>the computer to the display, there has to be some

0:05:08.080 --> 0:05:10.920
<v Speaker 1>sort of physical connection between the two, and in the

0:05:10.960 --> 0:05:14.800
<v Speaker 1>early days of personal computers, there was no set, standardized

0:05:14.839 --> 0:05:18.200
<v Speaker 1>way to do this. The technology used in one computer

0:05:18.320 --> 0:05:21.520
<v Speaker 1>system wasn't compatible with another, so you couldn't mix and

0:05:21.560 --> 0:05:25.920
<v Speaker 1>match monitors and cables and based systems together. These were

0:05:25.960 --> 0:05:29.640
<v Speaker 1>the wild West days of computing, when making a choice

0:05:29.720 --> 0:05:32.760
<v Speaker 1>as a consumer was complicated because you had no way

0:05:32.800 --> 0:05:35.719
<v Speaker 1>of knowing if the computer you chose was going to

0:05:35.760 --> 0:05:38.320
<v Speaker 1>stand the test of time. You could end up purchasing

0:05:38.320 --> 0:05:41.839
<v Speaker 1>a system at great cost and see the parent company

0:05:41.880 --> 0:05:45.520
<v Speaker 1>crumble and all support for that system would wither away.

0:05:45.880 --> 0:05:48.760
<v Speaker 1>And software developers were affected by this too in a

0:05:48.760 --> 0:05:53.640
<v Speaker 1>big way. Developing software can be an arduous process. Back

0:05:53.640 --> 0:05:57.360
<v Speaker 1>in the early days, it was feasible and even common

0:05:57.720 --> 0:06:00.920
<v Speaker 1>for a single programmer to produce a piece of software

0:06:00.960 --> 0:06:03.760
<v Speaker 1>for a system, But developers had to make the same

0:06:03.800 --> 0:06:06.440
<v Speaker 1>sort of bets that consumers were making. They had to

0:06:06.560 --> 0:06:10.480
<v Speaker 1>choose which systems they would develop four and they would

0:06:10.480 --> 0:06:13.000
<v Speaker 1>hope that they made the right bet and it often

0:06:13.040 --> 0:06:16.000
<v Speaker 1>meant dedicating a lot of their time to learning how

0:06:16.040 --> 0:06:20.240
<v Speaker 1>to program for that particular computers operating system. Since the

0:06:20.279 --> 0:06:23.560
<v Speaker 1>OS of say, an Apple computer was different from that

0:06:23.720 --> 0:06:26.960
<v Speaker 1>of the Texas Instruments trash a D system, which was

0:06:27.000 --> 0:06:30.520
<v Speaker 1>different from the Commodore sixty four, et cetera. So in

0:06:30.560 --> 0:06:33.960
<v Speaker 1>the early days of personal computers, there were many competing

0:06:34.000 --> 0:06:37.200
<v Speaker 1>systems to choose from, both as a consumer and as

0:06:37.200 --> 0:06:41.080
<v Speaker 1>a developer. Apple, Commodore, and Texas Instruments were three of

0:06:41.080 --> 0:06:43.320
<v Speaker 1>the big ones here in the United States, and they

0:06:43.360 --> 0:06:46.440
<v Speaker 1>weren't alone, but they didn't have to contend with a

0:06:46.520 --> 0:06:49.719
<v Speaker 1>really big name in computers for a few years, and

0:06:49.800 --> 0:06:54.400
<v Speaker 1>that was I b M. And that's because initially IBM

0:06:54.480 --> 0:06:59.240
<v Speaker 1>chose to concentrate on its traditional enterprise focused business and

0:06:59.320 --> 0:07:02.080
<v Speaker 1>not really get into the consumer market. They were making

0:07:02.440 --> 0:07:06.520
<v Speaker 1>products and services for other companies, not for end users

0:07:06.560 --> 0:07:09.440
<v Speaker 1>like me and you. Now that would change in nineteen

0:07:09.840 --> 0:07:13.920
<v Speaker 1>one when IBM introduced the IBM Personal Computer or the

0:07:14.120 --> 0:07:18.239
<v Speaker 1>fifty one fifty. IBM didn't invent the term personal computer,

0:07:18.560 --> 0:07:21.400
<v Speaker 1>but the fact that this juggernaut had used the phrase

0:07:21.480 --> 0:07:25.040
<v Speaker 1>for its own product would shape the terminology for computers

0:07:25.080 --> 0:07:29.200
<v Speaker 1>in general, we all know that ultimately the two major

0:07:29.320 --> 0:07:32.960
<v Speaker 1>systems to emerge from those early days were Windows based

0:07:33.080 --> 0:07:37.400
<v Speaker 1>PCs and Mac computers from Apple. These would be the

0:07:37.440 --> 0:07:40.720
<v Speaker 1>two big ones for consumers. There are obviously others out

0:07:40.720 --> 0:07:44.520
<v Speaker 1>there there, Linux systems, for example, but for the majority

0:07:44.520 --> 0:07:48.400
<v Speaker 1>of people out there, it's the Windows based PC and

0:07:48.560 --> 0:07:53.880
<v Speaker 1>Apple's Mac. Well, we call the Windows based machines PCs.

0:07:53.920 --> 0:07:57.760
<v Speaker 1>Because of IBM and its influence, a MAC is a

0:07:57.800 --> 0:08:01.320
<v Speaker 1>personal computer. To a MAC is a PC in the

0:08:01.320 --> 0:08:03.520
<v Speaker 1>sense it's a personal computer, but you wouldn't call it

0:08:03.600 --> 0:08:08.160
<v Speaker 1>a PC typically because to us, PCs means a machine

0:08:08.240 --> 0:08:11.920
<v Speaker 1>built upon ibm s approach, and that leads us into

0:08:11.960 --> 0:08:15.360
<v Speaker 1>the choices IBM made that would ultimately contribute to the

0:08:15.360 --> 0:08:18.960
<v Speaker 1>company getting out of the personal computer business. Further down

0:08:19.040 --> 0:08:21.600
<v Speaker 1>the road. It all comes down to how they chose

0:08:21.640 --> 0:08:23.680
<v Speaker 1>to get into it in the first place. You see,

0:08:24.040 --> 0:08:27.560
<v Speaker 1>when IBM was making the personal computer, the company wasn't

0:08:27.600 --> 0:08:31.640
<v Speaker 1>exactly putting its full support behind that effort in order

0:08:31.680 --> 0:08:34.760
<v Speaker 1>to produce the system cheaply, which would mean the company

0:08:34.760 --> 0:08:37.600
<v Speaker 1>could sell the manufactured systems at a premium and have

0:08:37.679 --> 0:08:40.880
<v Speaker 1>a really sweet profit margin. You know, you you buy

0:08:40.960 --> 0:08:44.880
<v Speaker 1>cheap and you sell high. IBM engineers built the PC

0:08:45.080 --> 0:08:48.720
<v Speaker 1>using off the shelf components. The company didn't build a

0:08:48.800 --> 0:08:53.760
<v Speaker 1>custom made microprocessor or anything. Instead, the original IBM PC

0:08:54.120 --> 0:08:58.320
<v Speaker 1>used an Intel eight chip as the CPU. In a

0:08:58.360 --> 0:09:02.240
<v Speaker 1>similar fashion, the engineers used other standard components to build

0:09:02.240 --> 0:09:06.360
<v Speaker 1>out the PC, and they made an arrangement with Microsoft

0:09:06.400 --> 0:09:09.280
<v Speaker 1>to supply the operating system for this new personal computer.

0:09:09.960 --> 0:09:13.400
<v Speaker 1>And the story behind all of that operating system stuff

0:09:13.480 --> 0:09:17.960
<v Speaker 1>gets really super juicy and bonkers. That has betrayal and backstabbing.

0:09:18.000 --> 0:09:20.640
<v Speaker 1>It's like a Game of Thrones episode. For one thing,

0:09:21.000 --> 0:09:24.640
<v Speaker 1>Microsoft was not the company to originally develop DOSS, but

0:09:24.720 --> 0:09:29.800
<v Speaker 1>it's sure as heck profited from it. But that's another story.

0:09:30.160 --> 0:09:34.120
<v Speaker 1>The operating system that IBM used was called PC DOSS,

0:09:34.120 --> 0:09:38.559
<v Speaker 1>but IBM did not establish an exclusivity agreement with Microsoft,

0:09:38.800 --> 0:09:43.880
<v Speaker 1>and so Microsoft would also develop another OS called MS DOSS,

0:09:43.920 --> 0:09:48.800
<v Speaker 1>which was to all intents and purposes, identical to PC DOSS,

0:09:48.840 --> 0:09:52.360
<v Speaker 1>and it would remain so for several versions. Now, all

0:09:52.400 --> 0:09:55.920
<v Speaker 1>the pieces were in place for IBM's eventual decision to

0:09:55.920 --> 0:09:59.040
<v Speaker 1>get out of the consumer PC market, and it was

0:09:59.720 --> 0:10:01.680
<v Speaker 1>just to the point when it was getting in. You

0:10:01.720 --> 0:10:05.440
<v Speaker 1>see the basic components for the computers were available to anyone,

0:10:05.920 --> 0:10:10.120
<v Speaker 1>and the operating system was likewise available through licensing with Microsoft.

0:10:10.240 --> 0:10:15.080
<v Speaker 1>So an enterprising computer company with much lower operating costs

0:10:15.160 --> 0:10:20.120
<v Speaker 1>than a behemoth like IBM could conceivably swoop in, build

0:10:20.160 --> 0:10:24.920
<v Speaker 1>a reasonable facsimile of an IBM PC machine using similar components,

0:10:25.280 --> 0:10:28.000
<v Speaker 1>and include a licensed version of MS DOSS as the

0:10:28.000 --> 0:10:31.160
<v Speaker 1>operating system. In presto, you have a computer that runs

0:10:31.320 --> 0:10:35.080
<v Speaker 1>just like an IBM PC, including support for all software

0:10:35.120 --> 0:10:38.280
<v Speaker 1>designed for the IBM system, and it's at a fraction

0:10:38.320 --> 0:10:41.520
<v Speaker 1>of the cost. This gave birth to an entire subclass

0:10:41.520 --> 0:10:46.320
<v Speaker 1>of computers called the IBM clones or IBM compatibles. The

0:10:46.360 --> 0:10:48.760
<v Speaker 1>two six I mentioned at the top of this episode

0:10:49.240 --> 0:10:52.480
<v Speaker 1>was just such a machine. We didn't known an official

0:10:52.559 --> 0:10:55.520
<v Speaker 1>IBM Burstal computer, but rather a machine with the same

0:10:55.559 --> 0:10:59.600
<v Speaker 1>sort of guts inside and running MS DOSS. It would

0:10:59.600 --> 0:11:01.920
<v Speaker 1>take a long time for all of this to actually

0:11:01.960 --> 0:11:05.280
<v Speaker 1>catch up to IBM, mind you, it's not like they

0:11:05.320 --> 0:11:09.280
<v Speaker 1>were shot and sunk as soon as they launched. The

0:11:09.320 --> 0:11:12.120
<v Speaker 1>company would ultimately pull back from the PC business, but

0:11:12.160 --> 0:11:14.440
<v Speaker 1>it would stick around long enough to make an enormous

0:11:14.559 --> 0:11:18.920
<v Speaker 1>influence on computers and programming and that includes graphics. When

0:11:18.960 --> 0:11:23.280
<v Speaker 1>the IBM PC debut in nine, the company offered two

0:11:23.320 --> 0:11:27.160
<v Speaker 1>options when it came to graphics. Each was a type

0:11:27.160 --> 0:11:30.160
<v Speaker 1>of circuit board that could be plugged into the motherboard

0:11:30.280 --> 0:11:34.240
<v Speaker 1>of the computer, the sort of an expansion slot. These

0:11:34.240 --> 0:11:37.360
<v Speaker 1>types of cards were called add in boards or A

0:11:37.520 --> 0:11:40.960
<v Speaker 1>I B s, and they represented ways to add capabilities

0:11:40.960 --> 0:11:45.160
<v Speaker 1>to a base computer model. Sometimes those abilities were fairly

0:11:45.240 --> 0:11:49.240
<v Speaker 1>simple additional features. Sometimes, like in this case, they were

0:11:49.320 --> 0:11:52.720
<v Speaker 1>required in order to send images to an external display.

0:11:52.760 --> 0:11:54.920
<v Speaker 1>So without one of these two cards you wouldn't have

0:11:55.000 --> 0:11:59.040
<v Speaker 1>any way of sending information to a computer monitor. The

0:11:59.120 --> 0:12:02.520
<v Speaker 1>first of the two was called the Monochrome Display Adapter

0:12:02.800 --> 0:12:06.479
<v Speaker 1>or m d A. This was a video card installed

0:12:06.600 --> 0:12:11.880
<v Speaker 1>on the PC that would output monochromatic signals to the monitor. Furthermore,

0:12:12.360 --> 0:12:16.760
<v Speaker 1>it didn't do so in a pixel addressable way. So wait, wait, wait,

0:12:16.760 --> 0:12:20.240
<v Speaker 1>what does that mean? All right, So let's remember that

0:12:20.320 --> 0:12:23.720
<v Speaker 1>the images we see on displays and monitors and screens

0:12:23.720 --> 0:12:27.200
<v Speaker 1>like on smartphones are made up of little points of light.

0:12:27.720 --> 0:12:30.640
<v Speaker 1>By changing the brightness and color of those points of light,

0:12:31.080 --> 0:12:34.640
<v Speaker 1>you can create full images. It's not that different from

0:12:34.720 --> 0:12:38.440
<v Speaker 1>the technique used by the famous painter George Serat in

0:12:38.559 --> 0:12:42.200
<v Speaker 1>his famous work A Sunday Afternoon on the Island of

0:12:42.320 --> 0:12:46.760
<v Speaker 1>Lagrange Jatt. In that painting, all the images consist of

0:12:46.840 --> 0:12:49.640
<v Speaker 1>tiny dots of paint, but when you view it from

0:12:49.640 --> 0:12:53.120
<v Speaker 1>a distance, they form the shapes of people spending a

0:12:53.160 --> 0:12:56.400
<v Speaker 1>lovely day at a park along the Sin River. It's

0:12:56.440 --> 0:12:58.520
<v Speaker 1>an example of a style called point to list, and

0:12:58.520 --> 0:13:02.040
<v Speaker 1>it's perhaps the most famous version of this of all time.

0:13:02.160 --> 0:13:06.040
<v Speaker 1>But television's computer monitors and electronic displays like the one

0:13:06.120 --> 0:13:10.200
<v Speaker 1>smartphones use have a similar technique, except they use points

0:13:10.240 --> 0:13:14.240
<v Speaker 1>of light rather than points of paint. Now, as I mentioned,

0:13:14.520 --> 0:13:19.040
<v Speaker 1>the m d A wasn't pixel addressable, and addressability refers

0:13:19.080 --> 0:13:24.560
<v Speaker 1>to the capacity to separately access individual units of something, so,

0:13:24.600 --> 0:13:28.640
<v Speaker 1>in this case pixels. A pixel addressable approach allows the

0:13:28.679 --> 0:13:33.120
<v Speaker 1>computer system to send specific instructions to each and every pixel,

0:13:33.360 --> 0:13:37.199
<v Speaker 1>which in turn lets computers send full images and graphics

0:13:37.200 --> 0:13:40.720
<v Speaker 1>to a connected monitor. But m d A didn't have

0:13:40.880 --> 0:13:44.160
<v Speaker 1>that capability, so you couldn't send a black and white

0:13:44.160 --> 0:13:47.480
<v Speaker 1>photo to display on a connected monitor. The m d

0:13:47.600 --> 0:13:52.600
<v Speaker 1>A was dedicated purely to text mode. The screen consisted

0:13:52.679 --> 0:13:56.480
<v Speaker 1>not of pixels so much as it did of character cells.

0:13:56.520 --> 0:13:59.560
<v Speaker 1>So imagine a box that's large enough to hold the

0:13:59.679 --> 0:14:03.679
<v Speaker 1>large ist text character, like an uppercase G or W

0:14:04.040 --> 0:14:08.080
<v Speaker 1>or something. Now imagine that the entire screen is a

0:14:08.120 --> 0:14:12.000
<v Speaker 1>grid of those boxes. Each box is exactly the same shape,

0:14:12.040 --> 0:14:14.960
<v Speaker 1>so it can a lot for the largest of characters

0:14:15.040 --> 0:14:17.920
<v Speaker 1>inside of it. But that's all they can fit inside.

0:14:17.920 --> 0:14:21.920
<v Speaker 1>Each box is one character. You couldn't create more complex images,

0:14:22.240 --> 0:14:26.080
<v Speaker 1>only pictures that consisted of those basic characters, just like

0:14:26.160 --> 0:14:29.160
<v Speaker 1>the old printers that I mentioned earlier that Richard Garriott

0:14:29.200 --> 0:14:32.320
<v Speaker 1>had been playing with. Well, with these displays you could

0:14:32.320 --> 0:14:37.160
<v Speaker 1>get really good resolution on those characters, so the images

0:14:37.200 --> 0:14:41.280
<v Speaker 1>were crisp and clear. The pictures, the text was incredibly

0:14:41.320 --> 0:14:45.000
<v Speaker 1>clear to read. It was very simple too. With these displays,

0:14:45.040 --> 0:14:48.040
<v Speaker 1>you could get really good resolution on those characters. The

0:14:48.120 --> 0:14:52.240
<v Speaker 1>text is crisp and clear. And that was a big

0:14:52.320 --> 0:14:54.600
<v Speaker 1>drop because a lot of these computers were meant to

0:14:54.680 --> 0:14:58.920
<v Speaker 1>go towards small businesses, where presumably the applications you're running

0:14:58.960 --> 0:15:02.960
<v Speaker 1>are mostly text based. There were some tradeoffs because the

0:15:03.000 --> 0:15:06.480
<v Speaker 1>screen was made up of a grid of equal sized boxes,

0:15:06.520 --> 0:15:10.720
<v Speaker 1>and each of those boxes could contain one character. Every

0:15:10.800 --> 0:15:14.080
<v Speaker 1>letter would use up the same amount of space on

0:15:14.160 --> 0:15:18.160
<v Speaker 1>the screen. So an upper case W, which is about

0:15:18.160 --> 0:15:20.720
<v Speaker 1>as wide as it gets, would take up the same

0:15:20.760 --> 0:15:23.320
<v Speaker 1>amount of space as an upper case I. Now I

0:15:23.360 --> 0:15:26.040
<v Speaker 1>don't mean that the upper case I would be wide,

0:15:26.800 --> 0:15:30.120
<v Speaker 1>but rather it would occupy a spot that would be

0:15:30.440 --> 0:15:34.480
<v Speaker 1>surrounded by an invisible box the same size as the

0:15:34.520 --> 0:15:37.360
<v Speaker 1>invisible box that goes around the upper case W. So

0:15:37.400 --> 0:15:40.920
<v Speaker 1>you get this weird spacing between letters in the same word,

0:15:41.280 --> 0:15:44.760
<v Speaker 1>if you're using a collection of wide and narrow letters,

0:15:45.400 --> 0:15:50.680
<v Speaker 1>it would just look off. It's called monospace font. It's

0:15:50.800 --> 0:15:52.720
<v Speaker 1>it's the same sort of thing that you would see

0:15:52.960 --> 0:15:56.960
<v Speaker 1>with a lot of printers and typewriters because they were

0:15:57.040 --> 0:16:01.040
<v Speaker 1>limited to having all of their stamps at the same size,

0:16:01.120 --> 0:16:04.840
<v Speaker 1>even if the letters were different sizes. In contrast, most

0:16:04.880 --> 0:16:08.680
<v Speaker 1>fonts we use today are proportional fonts, which means individual

0:16:08.760 --> 0:16:12.200
<v Speaker 1>characters are given space proportional to their own size, so

0:16:12.240 --> 0:16:14.840
<v Speaker 1>you don't get these odd gaps between letters that should

0:16:14.840 --> 0:16:17.000
<v Speaker 1>be right next to each other. But that was just

0:16:17.120 --> 0:16:20.040
<v Speaker 1>one option for the IBM PC. The other option had

0:16:20.120 --> 0:16:23.800
<v Speaker 1>direct addressability for pixels. It also had support for color,

0:16:23.880 --> 0:16:26.880
<v Speaker 1>so you could have color graphics with this version, and

0:16:26.960 --> 0:16:30.080
<v Speaker 1>it was called c g A and we'll talk about

0:16:30.120 --> 0:16:41.080
<v Speaker 1>it more after the break. So c g A stands

0:16:41.120 --> 0:16:45.440
<v Speaker 1>for Color Graphics Adapter, and describing this technology will also

0:16:45.480 --> 0:16:47.720
<v Speaker 1>require us to examine a couple of other sets of

0:16:47.760 --> 0:16:50.600
<v Speaker 1>standards that affected the graphics that displayed on old c

0:16:50.800 --> 0:16:55.560
<v Speaker 1>g A systems. C g A had big limitations had

0:16:55.640 --> 0:16:59.800
<v Speaker 1>compared to graphics cards today, they seem absolutely stone a.

0:17:00.480 --> 0:17:04.760
<v Speaker 1>The c g A system could support four different modes officially,

0:17:05.040 --> 0:17:08.960
<v Speaker 1>but clever programmers figured out ways to boost this. We'll

0:17:08.960 --> 0:17:12.600
<v Speaker 1>get into that. There were two text modes and two

0:17:12.640 --> 0:17:16.879
<v Speaker 1>graphic modes for the c g A card. The first

0:17:17.040 --> 0:17:20.800
<v Speaker 1>text mode supported four bit color and could display up

0:17:20.840 --> 0:17:24.720
<v Speaker 1>to forty characters per line, with twenty five lines making

0:17:24.800 --> 0:17:28.080
<v Speaker 1>up the total screen space, so twenty five like you

0:17:28.080 --> 0:17:31.800
<v Speaker 1>could stack twenty five vertically or you could stack forty

0:17:31.840 --> 0:17:36.880
<v Speaker 1>horizontally across the screen. The pixel aspect ratio was one

0:17:37.200 --> 0:17:40.359
<v Speaker 1>to one point two. But what does that mean. Well,

0:17:40.440 --> 0:17:44.720
<v Speaker 1>these pixels were not perfect squares. They were actually taller

0:17:45.080 --> 0:17:48.639
<v Speaker 1>than they were wide. With that ratio of one for

0:17:48.760 --> 0:17:52.160
<v Speaker 1>width to one point two for height, this would mean

0:17:52.160 --> 0:17:55.040
<v Speaker 1>that the visual resolution of the screen was more like

0:17:55.160 --> 0:17:59.480
<v Speaker 1>three twenty by two forty In actuality, it was three

0:17:59.520 --> 0:18:03.280
<v Speaker 1>twenty by two hundred. So why the three forty, Well,

0:18:03.600 --> 0:18:08.080
<v Speaker 1>because the pixels were longer than they were wide. If

0:18:08.119 --> 0:18:11.520
<v Speaker 1>you were clever with the way you create your computer graphics,

0:18:11.880 --> 0:18:15.320
<v Speaker 1>it would seem almost like you had stacked more pixels vertically,

0:18:15.920 --> 0:18:17.959
<v Speaker 1>and you could take advantage of things and make a

0:18:17.960 --> 0:18:20.520
<v Speaker 1>picture that had that sort of look as if it

0:18:20.560 --> 0:18:23.680
<v Speaker 1>was a resolution of three twenty by two forty. However,

0:18:24.240 --> 0:18:27.160
<v Speaker 1>if you needed to cut things short and the ratio

0:18:27.280 --> 0:18:30.080
<v Speaker 1>just wasn't working for you, it would become a detriment,

0:18:30.200 --> 0:18:32.800
<v Speaker 1>not an asset. However, if you do the math, you'll

0:18:32.840 --> 0:18:36.159
<v Speaker 1>see that this means every character on screen would have

0:18:36.280 --> 0:18:39.840
<v Speaker 1>eight pixels dedicated to it. And here's how I did that.

0:18:39.880 --> 0:18:43.040
<v Speaker 1>You just take the resolution with that's three twenty pixels.

0:18:43.400 --> 0:18:45.280
<v Speaker 1>You divide that by the number of characters that could

0:18:45.320 --> 0:18:48.840
<v Speaker 1>fit on one line. Remember it's forty characters across, so

0:18:49.000 --> 0:18:52.160
<v Speaker 1>three twenty divided by forty you get eight. The same

0:18:52.240 --> 0:18:55.480
<v Speaker 1>is true vertically. You can have twenty five characters stacked

0:18:55.520 --> 0:18:58.119
<v Speaker 1>from top to bottom on the screen, and the vertical

0:18:58.200 --> 0:19:01.520
<v Speaker 1>resolution is two hundred pixels top to bottom. Two hundred

0:19:01.560 --> 0:19:06.640
<v Speaker 1>divided is eight. So each character and the adapter supported

0:19:06.680 --> 0:19:11.359
<v Speaker 1>two fifty six different characters could use eight pixels for

0:19:11.440 --> 0:19:16.040
<v Speaker 1>display purposes. The four bit color part also needs explaining.

0:19:16.200 --> 0:19:20.159
<v Speaker 1>So a bit is a single unit of computer information,

0:19:20.320 --> 0:19:23.160
<v Speaker 1>and we represent it as either a zero or a one,

0:19:24.119 --> 0:19:27.200
<v Speaker 1>So that means a bit has one of two possible

0:19:27.240 --> 0:19:29.639
<v Speaker 1>states at any given time. You can think of it

0:19:29.680 --> 0:19:34.720
<v Speaker 1>as off or on, zero or one. We have four

0:19:34.800 --> 0:19:37.120
<v Speaker 1>bits for four bit color, so that means we can

0:19:37.160 --> 0:19:41.160
<v Speaker 1>think of having to the possible number of states per bit.

0:19:41.760 --> 0:19:45.440
<v Speaker 1>Raised to the power of four, that's equal to sixteen.

0:19:45.880 --> 0:19:50.640
<v Speaker 1>So four bit color could support sixteen different colors total,

0:19:51.040 --> 0:19:56.679
<v Speaker 1>not all at once, but total, like, that's the number

0:19:56.720 --> 0:20:02.040
<v Speaker 1>of colors this display could show. In text mode, programmers

0:20:02.080 --> 0:20:05.800
<v Speaker 1>could choose a foreground and background color, choosing from those

0:20:05.880 --> 0:20:10.159
<v Speaker 1>sixteen pre made colors. In addition, a bit for the

0:20:10.240 --> 0:20:12.920
<v Speaker 1>foreground color could be dedicated to make the character blink,

0:20:13.000 --> 0:20:16.439
<v Speaker 1>so you can have blinking text in the foreground the

0:20:16.680 --> 0:20:21.359
<v Speaker 1>blinking bit the bit responsible for that blinking command, was

0:20:21.440 --> 0:20:24.560
<v Speaker 1>repurposed for the background color, and it's served as an

0:20:24.560 --> 0:20:29.639
<v Speaker 1>intensity bit instead. Intensity essentially means how dark or bright

0:20:29.920 --> 0:20:33.760
<v Speaker 1>that particular color happens to appear. The second text mode

0:20:34.280 --> 0:20:38.160
<v Speaker 1>was an eighty by twenty five four bit color mode,

0:20:38.800 --> 0:20:42.639
<v Speaker 1>so that meant you could fit eighty letters across in

0:20:42.680 --> 0:20:47.920
<v Speaker 1>a line twenty five lines per screen. These letters were

0:20:47.960 --> 0:20:50.920
<v Speaker 1>half as wide as the forty by twenty five versions.

0:20:51.200 --> 0:20:54.040
<v Speaker 1>Makes sense, right, you could fit twice as many across

0:20:54.119 --> 0:20:56.439
<v Speaker 1>the screen, they must be half as wide as the

0:20:56.480 --> 0:21:01.760
<v Speaker 1>forty five. The pixel ratio the this would create for

0:21:01.800 --> 0:21:05.760
<v Speaker 1>a visual representation of the resolution was six forty by

0:21:05.840 --> 0:21:09.439
<v Speaker 1>four eighty. Now, in reality, those pixels again were taller

0:21:09.440 --> 0:21:12.879
<v Speaker 1>than they were wide. In fact, they were notably taller

0:21:12.920 --> 0:21:16.200
<v Speaker 1>than they were wide, so the real resolution, the true

0:21:16.240 --> 0:21:19.119
<v Speaker 1>resolution was six forty by two hundred, but it looked

0:21:19.119 --> 0:21:23.560
<v Speaker 1>like six forty eight. More programs were written in this

0:21:23.640 --> 0:21:26.960
<v Speaker 1>mode because that you could fit way more text on

0:21:27.000 --> 0:21:30.000
<v Speaker 1>a screen than you could with the forty five mode.

0:21:30.520 --> 0:21:34.080
<v Speaker 1>It was less chunky, but most text based programs relied

0:21:34.240 --> 0:21:38.320
<v Speaker 1>on the eighty by twenty five approach. If you were

0:21:38.400 --> 0:21:41.240
<v Speaker 1>using a word processor or something, this was the style

0:21:41.600 --> 0:21:43.920
<v Speaker 1>that you were most likely looking at. That being said,

0:21:43.920 --> 0:21:46.320
<v Speaker 1>the resolution of text on a C G A machine

0:21:46.760 --> 0:21:48.959
<v Speaker 1>was lower than what you would have found on the

0:21:49.040 --> 0:21:52.800
<v Speaker 1>monochromatic M D A computers, so it was a tradeoff

0:21:52.920 --> 0:21:57.719
<v Speaker 1>You could have a c g A ibm PC running

0:21:57.720 --> 0:22:00.199
<v Speaker 1>on this eighty by twenty five text mode for a

0:22:00.240 --> 0:22:03.600
<v Speaker 1>specific program and it would be fine. It just wouldn't

0:22:03.600 --> 0:22:06.480
<v Speaker 1>be as crisp and clear as the monochromatic m d

0:22:06.640 --> 0:22:12.040
<v Speaker 1>A text specific machines onto the graphics modes. However, that's

0:22:12.040 --> 0:22:15.639
<v Speaker 1>what we're really interested in, right, What actually made the images,

0:22:16.080 --> 0:22:21.680
<v Speaker 1>not just the text on these computers. Well, the graphics

0:22:21.680 --> 0:22:24.600
<v Speaker 1>mode for the c g A machine had, like I said,

0:22:24.640 --> 0:22:27.800
<v Speaker 1>two different modes to it, two different official modes to it.

0:22:28.080 --> 0:22:32.480
<v Speaker 1>One was a three twenty by two hundred resolution, but

0:22:32.720 --> 0:22:35.280
<v Speaker 1>the pixel ratio was one to one point two, so

0:22:35.400 --> 0:22:38.520
<v Speaker 1>again it looked more like three by two forty. This

0:22:38.560 --> 0:22:42.520
<v Speaker 1>mode could display up to four colors at any one time,

0:22:42.800 --> 0:22:46.880
<v Speaker 1>using one of two pre selected palettes. This is why

0:22:46.880 --> 0:22:49.080
<v Speaker 1>if you ever look at old c g A games,

0:22:49.119 --> 0:22:51.800
<v Speaker 1>they all start to look really similar. They're all using

0:22:51.800 --> 0:22:56.080
<v Speaker 1>the exact same colors for colors. The programmers were working

0:22:56.119 --> 0:22:59.639
<v Speaker 1>under some really tight restrictions. The first palette of colors

0:22:59.640 --> 0:23:05.160
<v Speaker 1>include did black, green, red, and yellow. This was palette zero.

0:23:05.560 --> 0:23:10.879
<v Speaker 1>The second palette, a k A Palette one had black, cyan, magenta,

0:23:11.000 --> 0:23:14.640
<v Speaker 1>and white. Now, as you can imagine it's pretty tough

0:23:14.720 --> 0:23:18.040
<v Speaker 1>to create good graphics with this limited color selection. Now

0:23:18.720 --> 0:23:22.480
<v Speaker 1>on top of that, programmers could use low intensity or

0:23:22.560 --> 0:23:27.200
<v Speaker 1>brightness or high intensity or brightness, So that would add

0:23:27.240 --> 0:23:31.080
<v Speaker 1>another variation. And I've seen the same screen presented in

0:23:31.680 --> 0:23:36.760
<v Speaker 1>both palettes at both levels of intensity, and there are differences,

0:23:36.880 --> 0:23:39.720
<v Speaker 1>like you can get a very different effect going from

0:23:39.760 --> 0:23:42.719
<v Speaker 1>one to the other. So programs had a little bit

0:23:42.760 --> 0:23:46.800
<v Speaker 1>of flexibility, but not by much. In both palettes, black

0:23:47.040 --> 0:23:51.359
<v Speaker 1>is color zero, and color zero was actually customizable. You

0:23:51.359 --> 0:23:54.760
<v Speaker 1>could swap it out. You could choose one of the

0:23:54.800 --> 0:23:58.600
<v Speaker 1>other fifteen colors that c g A supported and use

0:23:58.720 --> 0:24:01.879
<v Speaker 1>that as color z Yerow. Black would no longer be used.

0:24:02.200 --> 0:24:04.560
<v Speaker 1>The flip side of this is that the new color

0:24:04.680 --> 0:24:07.520
<v Speaker 1>would replace color zero in all of the image, So

0:24:07.800 --> 0:24:11.160
<v Speaker 1>if you wanted the image to have black in it,

0:24:11.160 --> 0:24:13.600
<v Speaker 1>it would get replaced by whatever color you had now

0:24:13.720 --> 0:24:17.639
<v Speaker 1>designated as color zero. If you wanted to have green

0:24:17.800 --> 0:24:22.200
<v Speaker 1>included with your white, cyan, and magenta, then it would

0:24:22.240 --> 0:24:25.520
<v Speaker 1>mean that if you had a scene with a night sky,

0:24:25.920 --> 0:24:28.600
<v Speaker 1>that night sky is going to be green because it

0:24:28.640 --> 0:24:31.840
<v Speaker 1>would normally be black, but you've designated that color to

0:24:31.880 --> 0:24:35.680
<v Speaker 1>go to green. Instead of black. So yeah, very limited. However,

0:24:35.760 --> 0:24:39.480
<v Speaker 1>another trick programmers could do is leverage the way CRT

0:24:39.760 --> 0:24:43.480
<v Speaker 1>screens work. I'm gonna gloss over the details, but in

0:24:43.600 --> 0:24:47.320
<v Speaker 1>CRT screens there is an electron gun and it paints

0:24:47.440 --> 0:24:50.840
<v Speaker 1>the back of the screen with electrons. That causes phosphor

0:24:50.880 --> 0:24:54.760
<v Speaker 1>the glow as the phosphor absorbs electrons. But the painting

0:24:54.880 --> 0:24:58.040
<v Speaker 1>is the important part. It happens at the top line

0:24:58.119 --> 0:25:01.560
<v Speaker 1>on the screen. It goes all the way across horizontally,

0:25:01.800 --> 0:25:04.639
<v Speaker 1>then it moves down the line and it does this again,

0:25:04.840 --> 0:25:09.120
<v Speaker 1>and it does this really fast. A slow CRT monitor

0:25:09.359 --> 0:25:13.679
<v Speaker 1>would repaint the entire screen sixty times a second. But

0:25:13.800 --> 0:25:17.639
<v Speaker 1>this means that if you're programming, you know precisely what

0:25:17.840 --> 0:25:20.200
<v Speaker 1>parts of an image are going to be painted first,

0:25:20.240 --> 0:25:22.679
<v Speaker 1>because it's going to go top to bottom. So if

0:25:22.720 --> 0:25:27.159
<v Speaker 1>you're meticulous, you can swap from one pallette set to

0:25:27.640 --> 0:25:31.959
<v Speaker 1>the other pallette set in mid screen draw. That allows

0:25:32.000 --> 0:25:35.679
<v Speaker 1>for slightly more colors to display on screen at one time,

0:25:35.840 --> 0:25:38.320
<v Speaker 1>or at least what we perceive to be at one time,

0:25:38.680 --> 0:25:43.000
<v Speaker 1>because our perception lags behind this refresh rate. So in

0:25:43.040 --> 0:25:46.560
<v Speaker 1>any given band of horizontal lines, you would be limited

0:25:46.600 --> 0:25:49.480
<v Speaker 1>to four colors because you'd be limited to one pallette. However,

0:25:49.520 --> 0:25:52.480
<v Speaker 1>you could swap from band to band, so you might

0:25:52.520 --> 0:25:54.840
<v Speaker 1>have a screen with an image in it that has

0:25:55.160 --> 0:25:58.199
<v Speaker 1>the four colors represented from palette zero, and then at

0:25:58.200 --> 0:26:00.960
<v Speaker 1>the bottom you swap out to pal at one and

0:26:01.000 --> 0:26:04.040
<v Speaker 1>you get a little more variety that way. The second

0:26:04.080 --> 0:26:08.040
<v Speaker 1>official graphics mode that the c g A chip supported

0:26:08.480 --> 0:26:12.959
<v Speaker 1>was a six forty by two hundred one bit color mode.

0:26:13.440 --> 0:26:17.560
<v Speaker 1>Now this was a monochromatic approach, so you had black

0:26:17.920 --> 0:26:20.919
<v Speaker 1>the background color, and then whatever the foreground color was,

0:26:21.720 --> 0:26:25.400
<v Speaker 1>whether it's white or green or amber. With color monitors,

0:26:25.440 --> 0:26:29.000
<v Speaker 1>you could technically choose any of the sixteen colors the

0:26:29.080 --> 0:26:32.320
<v Speaker 1>c g A chip supported to be the foreground color.

0:26:32.880 --> 0:26:35.320
<v Speaker 1>And the bonus of this was that it allowed for

0:26:35.359 --> 0:26:38.159
<v Speaker 1>more fine detail. It was a greater resolution than what

0:26:38.240 --> 0:26:41.720
<v Speaker 1>you would find in the other mode, but now you

0:26:41.760 --> 0:26:45.080
<v Speaker 1>were reduced to just one color in addition to the background.

0:26:45.520 --> 0:26:47.720
<v Speaker 1>This mode was primarily meant for users who had a

0:26:47.720 --> 0:26:51.639
<v Speaker 1>monochromatic display but who wanted to have graphics support. They

0:26:51.640 --> 0:26:54.359
<v Speaker 1>didn't want to just get the text based m d

0:26:54.520 --> 0:26:57.720
<v Speaker 1>A approach. You could enable this mode on a color

0:26:57.800 --> 0:27:00.320
<v Speaker 1>display and swap out that foreground color, like I said,

0:27:00.359 --> 0:27:02.280
<v Speaker 1>but you were still limited by that one color on

0:27:02.320 --> 0:27:04.439
<v Speaker 1>a screen at a time. There were a couple of

0:27:04.440 --> 0:27:07.719
<v Speaker 1>other tricks programmers could use to to kind of fool

0:27:07.840 --> 0:27:10.919
<v Speaker 1>the system to get more colors on screen. One involved

0:27:11.000 --> 0:27:14.600
<v Speaker 1>using the text mode instead of the graphics mode. So

0:27:14.640 --> 0:27:18.040
<v Speaker 1>the text mode actually supported more colors on screen at once.

0:27:18.760 --> 0:27:22.400
<v Speaker 1>And if you could just make your game out of text,

0:27:23.000 --> 0:27:26.639
<v Speaker 1>then you can have much more colorful games. However, there

0:27:26.680 --> 0:27:28.680
<v Speaker 1>are games that are made up of text. So how

0:27:28.720 --> 0:27:32.360
<v Speaker 1>do you adjust for that. Well, one of the two

0:27:32.800 --> 0:27:36.119
<v Speaker 1>fifty six characters that you could choose from was a

0:27:36.200 --> 0:27:39.560
<v Speaker 1>simple shape. It took up half of the character cell.

0:27:40.080 --> 0:27:43.480
<v Speaker 1>So one half of the cell would be this color

0:27:43.560 --> 0:27:45.560
<v Speaker 1>and the other half would be the background color. So

0:27:45.600 --> 0:27:47.879
<v Speaker 1>you have a foreground color in the background color. However,

0:27:48.160 --> 0:27:50.640
<v Speaker 1>what if you set both the foreground and the background

0:27:50.720 --> 0:27:53.399
<v Speaker 1>to the exact same color, Well, you would get a

0:27:53.440 --> 0:27:57.919
<v Speaker 1>solid block of that color, and using those blocks, you

0:27:57.960 --> 0:28:00.840
<v Speaker 1>could create simple graphics. But it's kind of like using

0:28:01.160 --> 0:28:03.760
<v Speaker 1>wooden blocks that you would have as a kid. Right,

0:28:03.880 --> 0:28:05.600
<v Speaker 1>you can make stuff out of it, but it's gonna

0:28:05.640 --> 0:28:09.680
<v Speaker 1>be chunky. You're not gonna get the fine graphic detail.

0:28:09.760 --> 0:28:12.720
<v Speaker 1>You would down to the pixel level. Now, your pixels

0:28:13.000 --> 0:28:16.000
<v Speaker 1>are much much bigger than they would have been otherwise,

0:28:16.040 --> 0:28:19.520
<v Speaker 1>so the resolution was just one sixty by one hundred

0:28:19.600 --> 0:28:22.240
<v Speaker 1>in this mode, but you'd be able to use a

0:28:22.240 --> 0:28:25.560
<v Speaker 1>lot more colors. The last trick programmers could rely upon

0:28:25.800 --> 0:28:28.280
<v Speaker 1>had to do with the monitors themselves, So there were

0:28:28.280 --> 0:28:32.640
<v Speaker 1>two big categories at this time. The IBM PC had

0:28:32.680 --> 0:28:35.520
<v Speaker 1>an R G B I monitor, and r G B

0:28:35.760 --> 0:28:40.800
<v Speaker 1>I stands for red, green, blue, and intensity, which again

0:28:40.880 --> 0:28:43.400
<v Speaker 1>is the brightness of a color. But you could also

0:28:44.200 --> 0:28:48.320
<v Speaker 1>use a composite video monitor like a television set. You

0:28:48.320 --> 0:28:51.200
<v Speaker 1>could use that as your computer monitor, and you could

0:28:51.240 --> 0:28:54.959
<v Speaker 1>feed video to it through a composite cable. That's the

0:28:55.080 --> 0:28:58.280
<v Speaker 1>yellow r c A cables of old. That one cable

0:28:58.280 --> 0:29:01.920
<v Speaker 1>would carry out all the video information to the display. However,

0:29:02.040 --> 0:29:06.240
<v Speaker 1>composite video monitors had an interesting tendency. Colors would bleed

0:29:06.320 --> 0:29:09.000
<v Speaker 1>into each other a little bit, and that bleed that

0:29:09.560 --> 0:29:13.680
<v Speaker 1>melding of colors would present other colors that you might

0:29:13.720 --> 0:29:18.200
<v Speaker 1>not otherwise be able to create in c g A graphics,

0:29:18.240 --> 0:29:23.040
<v Speaker 1>So you could kind of create through the process of transmission,

0:29:23.280 --> 0:29:26.400
<v Speaker 1>brand new colors. So it's not like it's in the programming.

0:29:26.480 --> 0:29:30.960
<v Speaker 1>It's literally impairing two different colors that could be represented

0:29:31.040 --> 0:29:34.040
<v Speaker 1>in C G A next to each other, because you know,

0:29:34.120 --> 0:29:36.280
<v Speaker 1>when it's going to be shown on a screen, they're

0:29:36.280 --> 0:29:38.960
<v Speaker 1>going to bleed together a little bit, so you get

0:29:39.000 --> 0:29:44.080
<v Speaker 1>a more rich from a color perspective image. However, there

0:29:44.200 --> 0:29:47.040
<v Speaker 1>was a drawback to this as well. It would mean

0:29:47.080 --> 0:29:49.960
<v Speaker 1>that the image is a little more blurry and not

0:29:50.120 --> 0:29:52.760
<v Speaker 1>as sharp, so it would almost be like you're ending

0:29:52.800 --> 0:29:56.720
<v Speaker 1>up with a lower resolution image. However you would get

0:29:56.720 --> 0:29:59.360
<v Speaker 1>more colors. So it just depended on what was most

0:29:59.400 --> 0:30:02.000
<v Speaker 1>important to you when you were putting these things together.

0:30:02.480 --> 0:30:04.800
<v Speaker 1>But why was there such a limitation on colors in

0:30:04.800 --> 0:30:08.080
<v Speaker 1>the first place, Like, what was the factor that was

0:30:08.320 --> 0:30:12.280
<v Speaker 1>making this be so primitive. Well, it wasn't because of

0:30:12.320 --> 0:30:16.920
<v Speaker 1>display technology. Like color televisions have been around since the seventies,

0:30:16.960 --> 0:30:21.240
<v Speaker 1>really earlier technically, but definitely commercially. They've been available since

0:30:21.280 --> 0:30:24.440
<v Speaker 1>the seventies, and there's no reason why a monitor wouldn't

0:30:24.440 --> 0:30:27.560
<v Speaker 1>be able to handle lots of different colors. The real

0:30:27.720 --> 0:30:31.040
<v Speaker 1>issue lay with computer memory. See, in the early days,

0:30:31.400 --> 0:30:35.240
<v Speaker 1>computer memory was a pretty valuable and scarce resource. It

0:30:35.320 --> 0:30:38.880
<v Speaker 1>was expensive, it was hard to implement. Most computers had

0:30:38.880 --> 0:30:43.080
<v Speaker 1>a very limited amount of random access memory or RAM.

0:30:43.240 --> 0:30:47.360
<v Speaker 1>Computers pulled data into RAM from some other storage source

0:30:47.440 --> 0:30:49.880
<v Speaker 1>like a floppy disk or a hard drive, and then

0:30:49.920 --> 0:30:53.480
<v Speaker 1>the computer response to input provided by the user or

0:30:53.520 --> 0:30:57.040
<v Speaker 1>by some program and performs operation on the data in

0:30:57.080 --> 0:31:00.920
<v Speaker 1>this memory, thus producing output. The more information the computer

0:31:01.000 --> 0:31:04.120
<v Speaker 1>can hold in RAM, generally speaking, the better because it

0:31:04.160 --> 0:31:08.040
<v Speaker 1>brings downloading times and speeds things up quite a bit.

0:31:08.360 --> 0:31:11.800
<v Speaker 1>But RAM was pretty precious in the early days of computing.

0:31:12.200 --> 0:31:18.280
<v Speaker 1>The IBM PC shipped standard with just sixteen kilobytes of RAM,

0:31:18.400 --> 0:31:20.920
<v Speaker 1>so rather than eat up that memory by supporting more

0:31:20.960 --> 0:31:24.840
<v Speaker 1>colorful graphics, IBM chose to give limited support to color

0:31:24.920 --> 0:31:28.320
<v Speaker 1>representation and reserve that RAM for other stuff like, you know,

0:31:28.560 --> 0:31:32.560
<v Speaker 1>actually helping the computer execute programs. Other companies looked at

0:31:32.560 --> 0:31:35.800
<v Speaker 1>IBMS c g A approach and they reverse engineered it.

0:31:36.200 --> 0:31:39.600
<v Speaker 1>Soon they could also produce computers that supported c g

0:31:39.760 --> 0:31:43.280
<v Speaker 1>A graphics. Thus c g A approach became a standard,

0:31:43.720 --> 0:31:46.640
<v Speaker 1>and originally you could just think of it as being proprietary.

0:31:46.840 --> 0:31:50.360
<v Speaker 1>It was an IBM proprietary technology, but through reverse engineering

0:31:50.600 --> 0:31:54.120
<v Speaker 1>it became a standard in computer graphics and some of

0:31:54.120 --> 0:31:56.920
<v Speaker 1>these third parties took this approach a step further. There

0:31:57.000 --> 0:32:01.440
<v Speaker 1>was a company called Hercules Computer Technology that introduced the

0:32:01.440 --> 0:32:05.840
<v Speaker 1>Hercules Graphics Card in two. The card came about as

0:32:05.880 --> 0:32:08.720
<v Speaker 1>a matter of necessity. The developer needed a way to

0:32:08.760 --> 0:32:13.520
<v Speaker 1>display Thai characters from from the language of Thailand, and

0:32:13.920 --> 0:32:16.440
<v Speaker 1>that was his native language was Thai, and in a

0:32:16.520 --> 0:32:18.560
<v Speaker 1>resolution similar to I B M S M D A.

0:32:18.680 --> 0:32:20.960
<v Speaker 1>That was the goal, like to have these very clear,

0:32:21.040 --> 0:32:25.240
<v Speaker 1>crisp figures in the Thai language, but the m D

0:32:25.360 --> 0:32:28.959
<v Speaker 1>A didn't support that alphabet. The Hercules Graphics card had

0:32:28.960 --> 0:32:32.560
<v Speaker 1>a resolution of seven twenty by three fifty, but unlike

0:32:32.600 --> 0:32:36.040
<v Speaker 1>the m D A, it was pixel addressable, so it

0:32:36.040 --> 0:32:39.840
<v Speaker 1>could display both text and graphics at high resolution. It

0:32:40.000 --> 0:32:43.160
<v Speaker 1>was a monochromatic technology, so you weren't going to get

0:32:43.240 --> 0:32:46.600
<v Speaker 1>full color this way, but the resolution was superior to

0:32:46.680 --> 0:32:49.800
<v Speaker 1>the c g A standard, so you could program a

0:32:49.880 --> 0:32:52.760
<v Speaker 1>game in the c g A one bit mode that

0:32:52.840 --> 0:32:56.680
<v Speaker 1>monochromatic graphics mode of c g A, but had a

0:32:56.760 --> 0:32:59.000
<v Speaker 1>much higher resolution than what you would do with a

0:32:59.040 --> 0:33:01.600
<v Speaker 1>c g A computer. Now that being said, not many

0:33:01.600 --> 0:33:05.640
<v Speaker 1>programmers actually took advantage of this because it wasn't standard

0:33:05.720 --> 0:33:08.880
<v Speaker 1>for developers to cater to a specific ad in board

0:33:08.920 --> 0:33:12.040
<v Speaker 1>like that, but man those times would change. However, a

0:33:12.160 --> 0:33:14.960
<v Speaker 1>lack of BIOS support for this card meant not many

0:33:15.000 --> 0:33:18.800
<v Speaker 1>programmers would actually take advantage of this and develop games

0:33:18.880 --> 0:33:22.400
<v Speaker 1>specifically for computers with that type of card. Other companies

0:33:22.400 --> 0:33:25.520
<v Speaker 1>would begin producing similar cards, and IBM was hard at

0:33:25.560 --> 0:33:28.680
<v Speaker 1>work on the next generation of graphics capabilities. We'll talk

0:33:28.720 --> 0:33:31.800
<v Speaker 1>about how they enhanced graphics in just a second, but

0:33:31.840 --> 0:33:43.720
<v Speaker 1>first let's take another quick break in. IBM boosted the

0:33:43.720 --> 0:33:46.720
<v Speaker 1>graphical capabilities of its line of personal computers by a

0:33:46.800 --> 0:33:50.920
<v Speaker 1>decent amount, though again by today's standards, still primitive. The

0:33:50.920 --> 0:33:56.280
<v Speaker 1>company introduced e g A, or Enhanced Graphics Adapters. These

0:33:56.360 --> 0:33:59.240
<v Speaker 1>add in boards, similar to c g A, included a

0:33:59.280 --> 0:34:01.920
<v Speaker 1>bunch of chips that would show a marked improvement over

0:34:01.960 --> 0:34:05.120
<v Speaker 1>the old c g A approach. E g A could

0:34:05.120 --> 0:34:09.600
<v Speaker 1>support sixteen colors at the same time for some resolutions,

0:34:09.640 --> 0:34:12.520
<v Speaker 1>so think of that four times the number of colors

0:34:12.560 --> 0:34:16.160
<v Speaker 1>on screen at once. Wow, And it could pull colors

0:34:16.160 --> 0:34:20.240
<v Speaker 1>from a palette of sixty four total options. No longer

0:34:20.280 --> 0:34:23.200
<v Speaker 1>were you forced to decide between supporting dark yellow or

0:34:23.239 --> 0:34:27.000
<v Speaker 1>having brown. C g A chose brown because it was

0:34:27.080 --> 0:34:29.160
<v Speaker 1>decided that that was a color that would far more

0:34:29.239 --> 0:34:33.080
<v Speaker 1>frequently be used than dark yellow. The resolution support for

0:34:33.160 --> 0:34:36.200
<v Speaker 1>graphics had increased as well. E g A support resolutions

0:34:36.200 --> 0:34:39.880
<v Speaker 1>of up to six forty by three fifty, though there

0:34:39.920 --> 0:34:42.400
<v Speaker 1>are some caveats I'll get to in a second. The

0:34:42.480 --> 0:34:46.760
<v Speaker 1>card itself included sixteen kilobytes of RAM. RAM is read

0:34:46.920 --> 0:34:50.840
<v Speaker 1>only memory, and as the name suggests, read only memory

0:34:50.880 --> 0:34:54.480
<v Speaker 1>cannot be written to or changed. Data stored in ROM

0:34:54.520 --> 0:34:57.719
<v Speaker 1>typically includes sets of instructions that are necessary for doing

0:34:57.760 --> 0:35:00.960
<v Speaker 1>stuff like booting up a program or running a critical process.

0:35:01.480 --> 0:35:03.680
<v Speaker 1>In the case of e g A cards, the RAM

0:35:03.840 --> 0:35:07.440
<v Speaker 1>included basic instructions for graphics applications that took some of

0:35:07.480 --> 0:35:11.360
<v Speaker 1>the load off the host computer's own memory. In addition

0:35:11.400 --> 0:35:14.280
<v Speaker 1>to those kilobytes of RAM, the card also had sixty

0:35:14.320 --> 0:35:18.759
<v Speaker 1>four dedicated kilobytes of RAM, or random access memory. This

0:35:18.840 --> 0:35:21.279
<v Speaker 1>is like the short term memory stuff, you know, the

0:35:21.320 --> 0:35:24.040
<v Speaker 1>memory where a computer stuff's data in order to access

0:35:24.080 --> 0:35:27.919
<v Speaker 1>that information rapidly while carrying out operations. The card also

0:35:27.960 --> 0:35:31.640
<v Speaker 1>allowed for a secondary memory card to boost the capability

0:35:31.800 --> 0:35:35.279
<v Speaker 1>of e g A another sixty four kilobytes, which is

0:35:35.320 --> 0:35:38.440
<v Speaker 1>good because at the base level of sixty four kilobytes

0:35:38.560 --> 0:35:41.000
<v Speaker 1>from the basic e G A card, you would only

0:35:41.040 --> 0:35:43.719
<v Speaker 1>get four colors on screen at once if you were

0:35:43.719 --> 0:35:46.359
<v Speaker 1>showing graphics at the full resolution of six forty by

0:35:46.400 --> 0:35:49.480
<v Speaker 1>three fifty. The e g A card provided support for

0:35:49.520 --> 0:35:52.080
<v Speaker 1>both the c G A and m d A modes

0:35:52.120 --> 0:35:55.520
<v Speaker 1>of IBM's previous graphics adapters, in addition to the new

0:35:55.600 --> 0:35:59.240
<v Speaker 1>capabilities of the e G A itself. And IBM provided

0:35:59.320 --> 0:36:02.799
<v Speaker 1>extensive of documentation on the e G A, and that

0:36:02.920 --> 0:36:06.200
<v Speaker 1>documentation came in handy not just for people who wanted

0:36:06.200 --> 0:36:08.640
<v Speaker 1>to program for systems with a e g A card,

0:36:09.040 --> 0:36:11.560
<v Speaker 1>but for companies that wanted to produce their own version

0:36:11.880 --> 0:36:14.000
<v Speaker 1>of the e G A card. It would go on

0:36:14.080 --> 0:36:17.680
<v Speaker 1>to become one of the most cloned cards in computer history,

0:36:17.920 --> 0:36:20.840
<v Speaker 1>and only that companies were upping the anti by including

0:36:20.880 --> 0:36:25.040
<v Speaker 1>more RAM on these cloned cards, providing greater graphical support

0:36:25.120 --> 0:36:27.520
<v Speaker 1>than what IBM was offering out of the gate. So

0:36:27.680 --> 0:36:30.560
<v Speaker 1>while a basic e G A card would support four

0:36:30.600 --> 0:36:33.879
<v Speaker 1>colors at full resolution, these clones would allow for all

0:36:33.920 --> 0:36:39.560
<v Speaker 1>sixteen colors simultaneously at that same resolution ouch. Just two

0:36:39.680 --> 0:36:43.040
<v Speaker 1>years after IBM introduced e G A, we saw more

0:36:43.080 --> 0:36:47.920
<v Speaker 1>than twenty companies offering up clones of that technology. Some

0:36:48.160 --> 0:36:50.480
<v Speaker 1>iconic games that came out during the e g A

0:36:50.600 --> 0:36:54.760
<v Speaker 1>era include Ultimate five Warriors of Destiny. I mentioned the

0:36:54.840 --> 0:36:58.400
<v Speaker 1>Ultimate series earlier in this episode. The first several Ultimate

0:36:58.440 --> 0:37:01.719
<v Speaker 1>games came out for the Apple platform primarily and then

0:37:01.760 --> 0:37:05.600
<v Speaker 1>we're later reported to other computer systems. Ultimate five included

0:37:05.640 --> 0:37:08.120
<v Speaker 1>e g A Support, and I remember this game fondly.

0:37:08.120 --> 0:37:11.520
<v Speaker 1>In fact, it's my favorite of the Ultimate series. But

0:37:11.640 --> 0:37:15.600
<v Speaker 1>other iconic e g A games included Cosmos, Cosmic Adventure,

0:37:16.160 --> 0:37:21.320
<v Speaker 1>Commander Keene, and the original Nucom platforming game, and many more.

0:37:22.000 --> 0:37:24.359
<v Speaker 1>One of the big advances in graphics found its way

0:37:24.400 --> 0:37:27.320
<v Speaker 1>into e g A, which was the concept of bit mapping.

0:37:27.560 --> 0:37:30.000
<v Speaker 1>So remember when I said that images on a screen

0:37:30.040 --> 0:37:33.760
<v Speaker 1>are made up of individual points of light called pixels. Well,

0:37:33.840 --> 0:37:37.400
<v Speaker 1>in the older version of interlaced graphics, you would include

0:37:37.440 --> 0:37:41.759
<v Speaker 1>information about each pixel, so you might say pixel in

0:37:41.880 --> 0:37:46.120
<v Speaker 1>column one, row one is read pixel, and column two

0:37:46.320 --> 0:37:50.239
<v Speaker 1>row one is read pixel and column three in row

0:37:50.360 --> 0:37:54.960
<v Speaker 1>one is read. That gets pretty tedious. Bit mapping allowed

0:37:55.000 --> 0:37:57.839
<v Speaker 1>for a different approach. With bit mapping, you would only

0:37:57.880 --> 0:38:01.239
<v Speaker 1>include data on a pixels color if the color was

0:38:01.320 --> 0:38:05.600
<v Speaker 1>different from the pixel immediately before that one. So if

0:38:05.600 --> 0:38:09.400
<v Speaker 1>pixels one, two, and three are all red, you would

0:38:09.400 --> 0:38:12.640
<v Speaker 1>only have to define it for pixel one. The system

0:38:12.680 --> 0:38:15.759
<v Speaker 1>would understand that if you didn't have any new information

0:38:15.800 --> 0:38:19.040
<v Speaker 1>for pixel two, that it would also be read the

0:38:19.080 --> 0:38:21.440
<v Speaker 1>same as for pixel three. It would only be when

0:38:21.440 --> 0:38:23.879
<v Speaker 1>you had new information that would say, all right, now

0:38:23.920 --> 0:38:27.200
<v Speaker 1>we have a new color like blue. This made displaying

0:38:27.239 --> 0:38:31.200
<v Speaker 1>shapes that all were the same color throughout much more efficient.

0:38:31.480 --> 0:38:33.880
<v Speaker 1>There's more to it than that, but it gets technical

0:38:33.880 --> 0:38:36.360
<v Speaker 1>and we'd have to talk more about electron guns and stuff,

0:38:36.400 --> 0:38:38.640
<v Speaker 1>so we'll just leave it off from here. But it

0:38:38.719 --> 0:38:42.080
<v Speaker 1>was a big advance. It wouldn't be long before IBM

0:38:42.080 --> 0:38:46.200
<v Speaker 1>introduced another advance in graphics technology. E g A debuted

0:38:46.200 --> 0:38:50.120
<v Speaker 1>in nine four, and just three short years later, IBM

0:38:50.160 --> 0:38:54.600
<v Speaker 1>introduced the video graphics Array or v g A. No

0:38:54.760 --> 0:38:58.960
<v Speaker 1>longer were we talking about adapters, Nah, this here was

0:38:59.000 --> 0:39:01.680
<v Speaker 1>an array. So what does that mean? Well, it actually

0:39:01.719 --> 0:39:04.160
<v Speaker 1>matters in this case. The c g A and e

0:39:04.320 --> 0:39:07.200
<v Speaker 1>g A adapters were add in boards that you would

0:39:07.200 --> 0:39:10.400
<v Speaker 1>slot onto the main frame circuit board of a computer.

0:39:10.840 --> 0:39:13.160
<v Speaker 1>So you'd open up the computer case. There would be

0:39:13.200 --> 0:39:15.920
<v Speaker 1>these little slots where you could slide in circuit boards.

0:39:16.280 --> 0:39:18.719
<v Speaker 1>You'd slide the circuit board in and it would have

0:39:18.920 --> 0:39:21.040
<v Speaker 1>a port in the back that would poke out the

0:39:21.040 --> 0:39:24.000
<v Speaker 1>back of the computer case and you could plug stuff

0:39:24.000 --> 0:39:26.799
<v Speaker 1>in that way. This was very typical in fact still

0:39:26.920 --> 0:39:29.319
<v Speaker 1>is to this day. There's still computers that do this

0:39:29.880 --> 0:39:33.840
<v Speaker 1>with expansion slots. So v g A was different. V

0:39:34.000 --> 0:39:38.239
<v Speaker 1>g A was hardwired onto the motherboard itself for the

0:39:38.280 --> 0:39:42.320
<v Speaker 1>IBM computers. Later, third party companies would make v g

0:39:42.560 --> 0:39:45.759
<v Speaker 1>A adapter cards to give computers that did not have

0:39:45.880 --> 0:39:48.800
<v Speaker 1>the v GA installed directly on the motherboard the added

0:39:48.800 --> 0:39:53.719
<v Speaker 1>capabilities of the new graphics standard. So, while IBM took

0:39:53.719 --> 0:39:57.080
<v Speaker 1>a different approach to this, other companies would replicate what

0:39:57.160 --> 0:40:00.080
<v Speaker 1>IBM was doing on expansion cards that you could and

0:40:00.719 --> 0:40:04.359
<v Speaker 1>plug into an existing machine. So what were those capabilities? Well,

0:40:04.400 --> 0:40:06.360
<v Speaker 1>you could use lots of colors if you were also

0:40:06.480 --> 0:40:10.200
<v Speaker 1>using lower resolutions. So at a resolution of three twenty

0:40:10.360 --> 0:40:13.040
<v Speaker 1>by two hundred pixels, the array could support up to

0:40:13.160 --> 0:40:18.759
<v Speaker 1>two hundred fifty six colors simultaneously. Wow, But if you

0:40:18.800 --> 0:40:22.520
<v Speaker 1>want better resolution then you had to reduce the number

0:40:22.560 --> 0:40:25.080
<v Speaker 1>of colors. Higher resolution mode of six forty by four

0:40:25.080 --> 0:40:29.440
<v Speaker 1>eighty supported just a modest sixteen colors. The palettes could

0:40:29.520 --> 0:40:31.880
<v Speaker 1>draw from a global collection of more than two hundred

0:40:31.920 --> 0:40:36.320
<v Speaker 1>sixty thousand colors. One other big difference between v G

0:40:36.560 --> 0:40:39.439
<v Speaker 1>A and its predecessors is that v G A would

0:40:39.440 --> 0:40:42.520
<v Speaker 1>send out data in an analog signal. E G A

0:40:42.640 --> 0:40:45.800
<v Speaker 1>and c G A used digital signals. So what's the

0:40:45.840 --> 0:40:51.400
<v Speaker 1>difference there, Well, an analog signal is continuous. It's unbroken,

0:40:51.960 --> 0:40:55.279
<v Speaker 1>so you can plot that as a smooth wave. Uh,

0:40:55.400 --> 0:40:59.200
<v Speaker 1>it doesn't have to be like a smooth gentle repeating pattern.

0:40:59.239 --> 0:41:01.600
<v Speaker 1>It can be all over the place, but it's unbroken.

0:41:01.880 --> 0:41:05.560
<v Speaker 1>It's a continuous signal, so it can get really squiggly,

0:41:05.920 --> 0:41:10.560
<v Speaker 1>but it's still one continuous, unbroken signal. So imagine playing

0:41:10.800 --> 0:41:13.799
<v Speaker 1>a stringed instrument and you strum a string and it's

0:41:13.880 --> 0:41:16.680
<v Speaker 1>playing a tone, but then you move your finger up

0:41:16.719 --> 0:41:20.279
<v Speaker 1>the fret board while the string is vibrating. That increases

0:41:20.320 --> 0:41:24.240
<v Speaker 1>the frequency of the strings vibration, and thus we perceive

0:41:24.360 --> 0:41:26.880
<v Speaker 1>that as the pitch of the note going up and

0:41:26.920 --> 0:41:29.839
<v Speaker 1>you can bend the note up. So if you've ever

0:41:29.840 --> 0:41:32.640
<v Speaker 1>heard that kind of sound, you know, oh, well, that's

0:41:32.640 --> 0:41:36.479
<v Speaker 1>like a continuous experience. It's not like I I heard

0:41:36.520 --> 0:41:39.719
<v Speaker 1>it play low and then play high. I heard it

0:41:40.160 --> 0:41:44.400
<v Speaker 1>shift through all those different frequencies until it reached its

0:41:44.400 --> 0:41:48.080
<v Speaker 1>its ending frequency. It was a very smooth transition. That's

0:41:48.160 --> 0:41:52.920
<v Speaker 1>kind of like describing just an analog signal, this smoothness.

0:41:53.480 --> 0:41:57.880
<v Speaker 1>Digital signals are done in a series of steps, so

0:41:57.920 --> 0:42:01.520
<v Speaker 1>this is more about taking slices of time and applying

0:42:01.560 --> 0:42:04.840
<v Speaker 1>a specific value to whatever signal you're sending out in

0:42:04.960 --> 0:42:08.520
<v Speaker 1>that slice of time. The finer you slice the time,

0:42:08.960 --> 0:42:13.160
<v Speaker 1>so the smaller or thinner the slices, the smoother you

0:42:13.200 --> 0:42:16.759
<v Speaker 1>can make the signal. But in turn, it requires way

0:42:16.800 --> 0:42:21.239
<v Speaker 1>more information to describe that signal, So rather than it

0:42:21.320 --> 0:42:25.200
<v Speaker 1>being smooth and continuous and unbroken, if you were to

0:42:25.360 --> 0:42:28.359
<v Speaker 1>zoom in on a digital signal, you would see these

0:42:28.400 --> 0:42:32.600
<v Speaker 1>little edges of these steps of time as the signal

0:42:32.719 --> 0:42:35.399
<v Speaker 1>goes up or down, depending on whatever it is you're

0:42:35.400 --> 0:42:39.280
<v Speaker 1>measuring or indicating here. But it indicates a discrete amount

0:42:39.360 --> 0:42:42.400
<v Speaker 1>of time and the data associated with that discrete amount

0:42:42.400 --> 0:42:44.680
<v Speaker 1>of time. If you've got a lot of processing power,

0:42:44.960 --> 0:42:48.120
<v Speaker 1>you can make those time slices very very very thin.

0:42:48.719 --> 0:42:52.040
<v Speaker 1>And if you can do that thin enough, then it's

0:42:52.080 --> 0:42:55.960
<v Speaker 1>almost as if you're listening to an unbroken signal, you

0:42:56.040 --> 0:42:59.080
<v Speaker 1>get beyond the level of human perception. But there is

0:42:59.120 --> 0:43:02.520
<v Speaker 1>a point where human perception definitely picks up on this stuff.

0:43:03.120 --> 0:43:07.840
<v Speaker 1>So one downside of analog is that analog cables, if

0:43:07.880 --> 0:43:12.200
<v Speaker 1>they're not properly shielded, can suffer from interference problems. Digital

0:43:12.239 --> 0:43:16.200
<v Speaker 1>cables don't. You don't get interference with digital cables. But

0:43:16.280 --> 0:43:19.120
<v Speaker 1>generally speaking, with an analog cable, the longer the cable,

0:43:19.239 --> 0:43:23.520
<v Speaker 1>the more prone it is to interference issues. Uh. And

0:43:23.680 --> 0:43:26.040
<v Speaker 1>the shielding, as I said, is a big factor. So

0:43:26.080 --> 0:43:28.200
<v Speaker 1>if you think of a cable as having several wires

0:43:28.239 --> 0:43:32.200
<v Speaker 1>inside of it, if the individual wires are not shielded properly,

0:43:32.480 --> 0:43:35.960
<v Speaker 1>you could get interference between them and that would result

0:43:36.040 --> 0:43:40.120
<v Speaker 1>in poor performance. From graphics perspectives. V g A really

0:43:40.160 --> 0:43:43.000
<v Speaker 1>did set a new standard for computer graphics on the

0:43:43.040 --> 0:43:45.040
<v Speaker 1>PC side of things, and it would also lead to

0:43:45.040 --> 0:43:48.719
<v Speaker 1>IBM no longer being the entity that would define those standards.

0:43:49.239 --> 0:43:53.319
<v Speaker 1>The rise of third party companies creating IBM clones by

0:43:53.320 --> 0:43:56.520
<v Speaker 1>this time we pretty much just called them PCs would

0:43:56.520 --> 0:44:01.240
<v Speaker 1>prompt anyc Home Electronics to announce the intention to form

0:44:01.360 --> 0:44:05.920
<v Speaker 1>a new organization. This organization is called the Video Electronics

0:44:06.080 --> 0:44:10.200
<v Speaker 1>Standards Association or VASA, and the purpose of VESAS to

0:44:10.239 --> 0:44:14.200
<v Speaker 1>come up with technical standards for computer video displays and graphics.

0:44:15.040 --> 0:44:18.320
<v Speaker 1>The group would build upon the v g A proprietary

0:44:18.360 --> 0:44:22.359
<v Speaker 1>standard to create what has collectively been referred to as

0:44:22.600 --> 0:44:26.040
<v Speaker 1>super v g A. So think of v g A,

0:44:26.160 --> 0:44:30.319
<v Speaker 1>but with even more capabilities and no longer dictated by

0:44:30.360 --> 0:44:33.760
<v Speaker 1>a single company, but rather by a consortium of companies

0:44:33.800 --> 0:44:37.160
<v Speaker 1>that have decided what the standards should be. Super v

0:44:37.280 --> 0:44:40.000
<v Speaker 1>g A could expand the resolution up to eight hundred

0:44:40.000 --> 0:44:44.120
<v Speaker 1>by six hundred pixels. Again, it's not one single standard,

0:44:44.160 --> 0:44:46.719
<v Speaker 1>it's rather a collection of supersets of the v g

0:44:46.880 --> 0:44:48.759
<v Speaker 1>A standards, So it's a little tricky to talk about

0:44:48.760 --> 0:44:52.320
<v Speaker 1>super v g A. It's not just one thing. IBM

0:44:52.360 --> 0:44:55.680
<v Speaker 1>would continue to go on to create the Extended Graphics

0:44:55.800 --> 0:44:58.800
<v Speaker 1>Array or x g A, but by that time super

0:44:58.920 --> 0:45:00.400
<v Speaker 1>v g A had kind of take and on a

0:45:00.480 --> 0:45:03.680
<v Speaker 1>life of its own as the new model for computer graphics.

0:45:04.080 --> 0:45:07.160
<v Speaker 1>IBM would no longer be front and center when it

0:45:07.200 --> 0:45:11.560
<v Speaker 1>came to defining how PCs would display graphics on a monitor.

0:45:12.360 --> 0:45:15.400
<v Speaker 1>By this time, we're getting into the mid nineties, and

0:45:15.440 --> 0:45:18.080
<v Speaker 1>the term IBM clone was pretty much dropped in favor

0:45:18.080 --> 0:45:21.839
<v Speaker 1>of PC, and that would apply to any computer running MS,

0:45:21.880 --> 0:45:25.759
<v Speaker 1>DOSS or later like after nine five or so Windows.

0:45:26.320 --> 0:45:29.600
<v Speaker 1>IBM's decision to cut down costs by going with the

0:45:29.719 --> 0:45:33.120
<v Speaker 1>off the shelf components, coupled with the failure to secure

0:45:33.120 --> 0:45:36.880
<v Speaker 1>an exclusive license for DOSS from Microsoft, meant that IBM

0:45:36.960 --> 0:45:41.960
<v Speaker 1>set the stage for its own competition in the consumer space. Ultimately,

0:45:42.280 --> 0:45:45.800
<v Speaker 1>those competitors got big enough to create their own standards organizations,

0:45:45.840 --> 0:45:48.000
<v Speaker 1>and so it became a group effort to come up

0:45:48.000 --> 0:45:51.520
<v Speaker 1>with the way computers would continue to work. This in turn,

0:45:51.760 --> 0:45:54.440
<v Speaker 1>made it easier for lots of companies to enter the space,

0:45:54.640 --> 0:45:59.040
<v Speaker 1>offering up competing products at competitive prices. IBM, for its part,

0:45:59.080 --> 0:46:01.759
<v Speaker 1>would exit the per stall computer market completely by the

0:46:01.800 --> 0:46:05.280
<v Speaker 1>mid two thousand's. The company sold off its PC division

0:46:05.320 --> 0:46:07.919
<v Speaker 1>to Lenovo in a deal that was valued at one

0:46:08.000 --> 0:46:13.440
<v Speaker 1>point seven five billion dollars A princely some IBM was

0:46:13.719 --> 0:46:16.680
<v Speaker 1>just finding it impractical to compete in that space and

0:46:16.680 --> 0:46:20.280
<v Speaker 1>instead would return a full focus on enterprise level products

0:46:20.280 --> 0:46:24.080
<v Speaker 1>and services. But if it weren't for IBM, we wouldn't

0:46:24.080 --> 0:46:27.399
<v Speaker 1>have seen this particular progression with computer graphics. I'm sure

0:46:27.480 --> 0:46:30.080
<v Speaker 1>we would have arrived at some sort of place similar

0:46:30.120 --> 0:46:33.560
<v Speaker 1>to where we are now without the IBM PC. But

0:46:33.920 --> 0:46:37.000
<v Speaker 1>who knows what it would look like. You know, maybe

0:46:37.000 --> 0:46:39.560
<v Speaker 1>there's a parallel universe out there in which we see

0:46:39.600 --> 0:46:42.720
<v Speaker 1>a world where IBM never gotten to the consumer market

0:46:42.800 --> 0:46:46.279
<v Speaker 1>at all, and someone else took on that role, and

0:46:46.320 --> 0:46:49.080
<v Speaker 1>maybe computer graphics themselves would be very different from the

0:46:49.080 --> 0:46:53.960
<v Speaker 1>way they are today. But I can't travel in parallel dimensions,

0:46:54.160 --> 0:46:57.960
<v Speaker 1>so I'll just have to imagine it. That's it for

0:46:58.000 --> 0:47:00.319
<v Speaker 1>this episode. Hope you guys learned something of about the

0:47:00.360 --> 0:47:03.279
<v Speaker 1>history of computer graphics in the PC world and why

0:47:03.400 --> 0:47:05.799
<v Speaker 1>IBM was such an important part of that. If you

0:47:05.800 --> 0:47:08.720
<v Speaker 1>have any suggestions for future topics of tech Stuff, whether

0:47:08.840 --> 0:47:12.439
<v Speaker 1>it's a specific technology, a company, a trend in tech,

0:47:12.560 --> 0:47:15.200
<v Speaker 1>anything like that, send me a message. You can reach

0:47:15.200 --> 0:47:17.759
<v Speaker 1>out to me on Facebook or Twitter. The handle for

0:47:17.840 --> 0:47:20.759
<v Speaker 1>both is tech Stuff hs W and I'll talk to

0:47:20.840 --> 0:47:29.160
<v Speaker 1>you again really soon. Tech Stuff is an I Heart

0:47:29.239 --> 0:47:33.000
<v Speaker 1>Radio production. For more podcasts from My Heart Radio, visit

0:47:33.040 --> 0:47:36.080
<v Speaker 1>the I Heart Radio app, Apple Podcasts, or wherever you

0:47:36.160 --> 0:47:37.520
<v Speaker 1>listen to your favorite shows.