The Commodore VIC-20 was a big hit with consumers.
They could have just continued making that computer and reaped the profits for years.
But instead, they did what any good technology company should have done.
They kept innovating.
The VIC chip, which was at the heart of the VIC-20's graphics and sound production,
was to be upgraded.
This would be accomplished by splitting the chip into separate sound and video chips,
which would be known as the VIC-2, and the SID, or sound interface device.
The new video chip would offer higher resolution, bit mapped graphics modes, 8 hardware
sprites, a full 16 colors, Raster Interrupts, smooth scrolling, and D-RAM refresh.
While the refresh feature has nothing to do with video specifically, it does allow
any computer using this chip to move to the cheaper dynamic RAM instead of the expensive
static RAM used in the VIC-20.
As for upgrades to the sound.
The new chip would have 3 voices.
That may seem like a downgrade from the VIC-20's four voices, but these voices are
much more versatile, as all 3 voices are independently programmable, with 4 waveforms to choose from,
a programmable ADSR envelope, 8 octave range, compared to the 3 octaves of the VIC voices,
filters, and then a few other oddities, a random number generator and two analog to
digital converters that could be used for paddles or whatever accessories they might
come up with.
Of course, these upgrades were not intended for the VIC-20 itself, as these changes would
make existing software incompatible with the computer.
However, Commodore clearly saw that games were, in fact, one of the biggest selling
points of the VIC-20, so they decided to use these chips to create a new gaming system
called the Commodore Max, or in some markets it was called the Ultimax.
Now, I can only show you pictures of these because I've tried for ages to get my hands
on one, but they are very rare.
The max, while it looks like a computer, is really just a gaming machine.
It has only 2K of internal RAM and doesn't even include BASIC.
The keyboard is mostly for show, being a membrane keyboard, it was very difficult to
type on.
The reason these machines are hard to find is that the product was pretty much dead on
arrival.
Very few were sold and most of the sales that did occur were in Japan.
And while the Max had superior graphics and sound over the VIC-20, it sold for around
$200, which at that time, was the going price of the VIC-20 as well.
And the VIC-20 had a much larger software library, a real keyboard, integrated BASIC,
and the ability to connect to disk drives and all sorts of things.
So, it became obvious what needed to happen.
The Max was upgraded with essentially the same case and keyboard as the VIC-20, along
with integrated BASIC and a full 64K of memory, and they called it the Commodore 64.
Opening the box, we see "welcome to the world of friendly computing" just like the
VIC-20 had on its box.
We get a similar manual, which I will get into later.
Then, of course, there is the computer itself.
There is some debate as to what color you would call this computer.
Some call it gray, or charcoal.
Others call it brown.
This may actually be due to the fact that the computer will actually turn brown when
exposed to UV light or heat, much like white or beige computers will turn yellow.
And so when somebody says they have a brown C64, it is quite possible they do.
Inside this little cubby you get a power brick, an RF switch box, and a few other cables.
The C64 looks remarkably similar to the VIC-20, in fact it uses the exact same keyboard mechanism
and they are interchangeable between the two computers.
The C64 actually does sit ever slightly lower, so the cases aren't identical.
Looking at the side, you'll see they use the same power port, although earlier model
VIC-20s did have a different port.
The power switch is the same, but you may notice the VIC-20 has a single joystick port,
but the Commodore 64 has two.
Looking at the rear, you will also notice many similarities.
Both machines have the same user port and they are compatible with the same peripherals.
Keep in mind the Commodore User Port was introduced all the way back on the PET.
Both have the same cassette drive port, and again this port dates all the way back
to the PET and is compatible across all 3 machines.
Both machines have the same disk drive and printer port.
And the monitor port is mostly compatible, however if you recall the VIC-20 had to use
an external RF-modulator, however by making the cartridge port smaller they were able
to make room for an internal RF modulator on the Commodore 64.
Other similarities between the machines is they share an almost identical Kernal and
BASIC 2.0.
Speaking of Kernal.
Every time I post a picture with the world Kernal spelled like this, I am flooded with
comments and emails telling me that I spelled it wrong.
However, just to set the record straight, every piece of Commodore documentation spells
it Kernal, and this is the official name of their operating system.
The Commodore 64 offered a great upgrade path for existing VIC-20 users.
Even though the software library was not compatible, most all of the peripherals were.
So, if you had invested in a great setup like this, you could simply replace the computer
itself and still keep all of your existing joysticks, disk drives, cassette drive, and
printer.
In fact, if you wanted to use some VIC-20 software again, it only took a few seconds
to connect the VIC-20 back to this setup.
So now that I've covered all of the ways the Commodore 64 is like the VIC-20, let's
talk about the ways that it is different.
Powering up the old VIC-20, you get a friendly screen with nice contrasting colors, huge
letters, and a message telling you that you are running Commodore BASIC version 2, which
is essentially rebranded Microsoft Basic, and you have a whopping 3 and a half kilobytes
free.
Granted, with a memory expansion you might see a number as high as 28 kilobytes.
However, when starting up the Commodore 64, everything is very… blue.
The text is much smaller, and you are informed that the computer is still using BASIC version
2, and that it is a 64K RAM system, which is really a lot of RAM in 1982 for a home
computer.
And then a mysterious message that there is only 38K free.
I'll explain this discrepancy later.
However, needless to say, even 38K was a lot of RAM for BASIC, and considerably more than
the VIC-20 could have even with the highest RAM expander available.
One thing I always disliked about the startup colors of the C64 is that there isn't as
much contrast as I'd like.
So I had a ritual that started almost on day one, where I would press Control-2 immediately
after startup which changes the text color to white, before I would do much of anything
on the computer.
I understand this was common with quite a few people as the white text was much easier
to read, especially on a CRT.
And the Commodore 64 behaves exactly like the VIC-20 with the same 8 colors available
on the keys that can be used with the Control key.
However, on the 64, you could also use the Commodore key in conjunction with these keys
and get access to an entirely different set of colors, thus giving access to the full
16 colors.
So, while the VIC-20 could essentially support two types of displays, a television connected
to the RF modulator, or a composite monitor, the Commodore 64 actually supports 4 different
types of displays.
So, as mentioned earlier, you have the RF output for a television, along with the channel
selector switch.
Much like the VIC-20, this was probably the most commonly used display in the early
days of the Commodore 64, requiring one of these little antenna switcher boxes, then
requiring you to tune your television to channel 3 or 4.
The picture quality with this method ranged anywhere from terrible to tolerable.
Sometimes you could get a better picture on one channel or the other.
But you could also connect a dedicated monitor to this port here, just like on the VIC-20.
Taking a closer look at the monitor port, the early 64 models only had 5 pins just like
the VIC-20.
One pin for ground, one for audio, and one for composite video.
However, this configuration is very rare and only the earliest C64s had this setup.
Most C64s you'll find will have these extra pins on the port as well.
And with these you get an extra pin for monochrome video output, along with a separate
chrominance pin.
Now here's how that works.
If you connect up a to a monitor or television that has a composite input, then you'll
get a much cleaner signal.
Of course, this looks slightly better in person than it does on camera due to the way
the refresh works as well as the polarized nature of the sensor in my camera.
So this cable here is designed to be used with a monochrome monitor and it feeds off
of that special monochrome pin.
And if I try connecting this to my television, it gives a really weird looking picture.
The TV still thinks it is a color signal for some reason but the colors just go nuts,
with the text looking rainbow.
But the computer isn't actually sending any color information.
However, if you get an old monochrome monitor like this one, it is not designed to even
look for color signal, and so the picture is nice and sharp.
This configuration would not be great for gaming, although many people used black and
white televisions or monochrome monitors like this back in the day because they were cheap.
And the last type of monitor I want to show is what is called an LCA, notice this cable
has 3 connections.
One of them is audio, the other is the monochrome or what we could call a luminance signal,
and the other is the chrominance which carries the color information.
And if you had a Commodore 1702 monitor, which was THE monitor to have with your Commodore
64, you'll notice on the rear it has 3 jacks, one for audio, one labeled luma, and the other
labeled chroma.
Fortunately they are color coded so these just plug in like so.
And if you think this setup sounds familiar, then you are right.
In 1987 the world was introduced to something called S-Video for high end Super VHS players.
And if you look at the pin diagram of an S-Video cable, you'll see that in fact it is the
same thing, just in a different style of connector.
In fact, it is possible to build adapter cables.
And what I have here is an adapter cable I built which has the Commodore LCA connection
on one side and S-video on the other.
And this will allow me to connect this 1702 monitor up to an S-Video source such as a
DVD player, for example.
And you can also build the opposite of this, which will allow you to connect the Commodore
64 up to an S-Video capable television.
So, Commodore may have been the first company to introduce the public to the concept of
S-Video, even though they didn't call it that.
So how does it look?
It actually looks great, if only my camera would cooperate better.
To give you a better comparison, here is a screenshot from the RF modulator.
Here's a screenshot on the same television using composite.
And you should be able to see the signal is cleaner, but not really any clearer.
And then here's the monochrome output.
And while it is not colorful, it is very clear.
And last, here is the LCA output.
Please ignore the weird color banding in the background.
That isn't visible in person, it's a moire effect due to the polarization of my
camera combined with the type of shadow mask in this monitor.
So you'll just have to take my word that you can't see that in person, but look at
the sharpness of the pixels in the text, as compared to the other modes.
One of the main selling points of the Commodore 64, was of course it's 64K of RAM.
But how did it accomplish this when the VIC-20 could not?
For one thing, cost was greatly reduced by going with Dynamic RAM instead of static RAM.
And the refresh circuitry was provided by the new VIC-II chip.
But that doesn't explain everything.
Let's have a look at the 6502 processor for a moment.
There's 40 pins on this package.
Now, I'm not going to go into detail on each one.
But I will mention these pins here.
This is the data bus.
This is where numbers are sent and received between the different chips on the board.
You'll notice there are 8 of them.
Hence, why this is considered an 8-bit computer.
With 8 bits of data, you can use numbers anywhere from 0 to 255.
That's the largest number you can create with only 8-bits of data.
Now, these bits here, labeled A0 to A15 are the address bus.
This is where the processor says to the rest of the computer which piece of memory it wants
to read or write to.
Notice there are 16 pins.
If you do the math, the largest number you can create is 65,535.
Or, in terms of memory, that is 64K since kilobytes are actually 1,024 bytes each.
And this is the reason the CPU can access only 64K of memory total.
So you might think the memory map would look something simple like this.
But, keep in mind that even ROM is still a form of memory.
So the Commodore 64 also has 8K of Kernal ROM, 8K for BASIC, 4K for the character set,
and another 4K for I/O space.
So that presents a problem because now there is 88K of memory to access.
There are a variety of solutions to this problem, many of which can be accomplished with external
circuitry.
However, since Commodore owned their own chip fab, they decided a cheaper solution was just
to make some minor modifications to the 6502 processor.
So, if you notice, these 3 pins labelled NC mean they are no-connect, they don't actually
do anything.
And these 3 pins here are ones that Commodore felt weren't necessary either.
So they took those off, freeing up 6 pins total.
So, introducing the 6510 CPU, a custom CPU just for the Commodore 64, the pins are slightly
re-arranged, and you might notice there are these 6 new pins here.
These pins are mapped to memory address 0 and are used to control banking.
So there are all of these other little sections of RAM that can be swapped for ROM or other
things as needed.
The default configuration on bootup looks like this.
And this area here is the largest contiguous area of RAM, and that's where BASIC winds
up having access to 40K of memory.
And that explains why when you go to the boot screen, that there is only 38K free.
And while you'll often hear me say that the Commodore 64 has a 6502 processor, technically
it doesn't.
But, the chip that it does have is completely compatible with the 6502 processor, so from
a programming perspective, it's exactly the same.
Let's talk about the Graphics capabilities.
There were essentially 4 modes of operation, you had text mode where you could use the
standard character set or redefine the character set.
This works more or less exactly like it did on the VIC-20.
But with the C64 we also get a bit mapped graphics mode.
And of course both modes have a hi-res and multi-color option, giving us the 4 different
modes.
So, looking at the screen here, I'll mention that you cannot actually define the color
of a specific pixel on the Commodore 64.
The screen acts very much like a monochrome screen but there are these character cells
and within each cell you can define foreground and background colors.
This may seem obvious when you are text mode.
However, graphics mode works exactly the same way.
This game here, for example, operates in hi-res bit mapped graphics mode.
If I overlay this little grid showing where the character cells are, you'll never be
able to find any one cell that has more than 2 colors in that cell.
The programmers had to work around this limitation the best they could.
Here are some other examples of hi-res artwork.
However, if you cared more about color than you did detail, you had the option of a multi-color
mode, such as this game.
In this mode the pixels are twice is big, but you also get twice as much color.
You can have 4 colors per cell, and this allowed for some really colorful artwork to be created.
Here are some other great works of art that operate in multi-color mode.
Of course, that's not the limit of C64's graphics because it has hardware driven sprites.
And there's no better way to show you how these work than the Commodore 64 user's
manual!
The user's manual isn't quite as good as the one that came with the VIC-20, but
it's still pretty good.
And it has an entire chapter on how to program sprites, and they give an example program
for creating a single monochrome smiley face sprite.
So, I've typed in this program so we can see what it does.
All it really does is define the sprite and then move it across the screen like this,
then the program ends.
One of the things you will notice when I list the program is that it stays right there.
In fact, I can even cursor over here and try to type over it, and it has no effect, even
if I use the backspace.
The sprite is totally independent of the rest of the screen.
So, let me show you some other things you can do with the sprite, such as change it's
color.
It can be any of the 16 colors and there are even multi-color sprites that can have up
to 4 colors.
You can also overlay sprites on top of each other to add more color, if needed.
I will also point out that the sprite doesn't care about the color cells, its colors are
totally independent of that too, so this makes them very handy for moving objects that cross
the boundary of color cells.
Another thing we can do is change the size.
This register will make it double height, and this register here will make it double
width.
And if I want to move the sprite, I can put it in a new horizontal coordinate, or even
a new vertical coordinate.
So, that's how sprites work!
Sprites were an important part of Commodore 64 games, as it made coding things that move
much easier.
In fact, just to show you what a difference they make, check out the VIC-20 version of
Q*Bert.
It's terrible.
Yet, the Commodore 64 version looks as good as the arcade.
And you can pretty much give most of that credit to the hardware sprites.
The sound interface device, otherwise known as the SID chip in the Commodore 64 was revolutionary
as far as computer sound was concerned.
I can safely say that in 1982, no other computer or video game system had a sound chip as sophisticated
as the one in the Commodore 64.
In fact, most other computers of the time such as the IBM PC and the Apple II could
only produce simple beeps.
In fact, I don't even think Commodore realized how advanced the chip was in the early days.
Most of the early games released in 1982 simply used the SID chip for some sound effects.
Probably the first program to really exploit the SID chip for music was Commodore's own
Christmas demo released in 1982.
By the next year, many games started to incorporate musical tracks.
Games like MULE just assigned each voice to be one instrument and they stayed that way
for the duration of the song.
And to be honest, this sounded pretty cool in 1983 compared to what you'd hear on most
computers.
But then after another year or so, musicians started figuring out that they could dynamically
re-assign voices to different instruments as the music played, which creates the illusion
of more than 3 voices.
This becomes more apparent if you listen to these songs one voice at a time.
Also many games started to take advantage of the SID chip's ability to play digital
samples.
Ghost busters!
Another visitor.
Stay a while.
Stay forever!
All right, so that about wraps it up for this episode of Commodore history.
However, I'm not done talking about the Commodore 64, just yet.
In fact, in this episode I pretty much just told you the origins of the computer and what
the hardware is capable of.
In the next episode, I'm going to show you how the Commodore 64 scene evolved over the
following 10 years.
And I think you'll find that just as interesting!
So, stick around for that, and thanks for watching!
Không có nhận xét nào:
Đăng nhận xét