Hello and welcome back. I’m about to unbox something that I hope you guys will find
interesting. As you’ve probably already guessed from the title of the video, this
is another computer kit I’ll be assembling. This one claims to be a fully working Commodore VIC-20
made from all off the shelf parts. Well, almost all.
You see, if you look at a traditional VIC-20 motherboard, pretty much every part on this is
still available today, or there are modern parts that can be substituted. With the exception of one
chip, which is the 6560 VIC chip. This is the chip responsible for both audio and video production.
And so, what I need to do next is take all of these pieces and make a computer out of it.
As you can see the PCB doesn’t much resemble an original VIC-20.
It’s called the VIC-2020, Fichter Edition. Let’s get started.
I’m not a huge fan of these sockets. While they do have sort of an indent on one side,
I much prefer the more traditional notch as it is easier to see at a glance.
OK, so here we are. I have all of the components soldered to the board. Now I can start populating
the ICs. I’m going to start with the 6502 CPU from Mouser Electronics. I tell you what,
they spared no expense on packaging for these things. Not only is it sealed in this bag,
but then it also gets its own little box. And I almost didn’t think the CPU was in there, but
here it is. And it also comes with this little moisture card letting you know
if the chip needs to be baked or not. However, if I’m reading this correctly,
then I don’t think I need to bake anything. So, let’s get populating!
I’m just about ready for the first power on test. But, I need one more IC. As I said earlier, there
is exactly one chip from the past that we need, which is the VIC chip. I have one here that I
pulled from a dead VIC-20. And since it was dead, I don’t even know for sure if this chip works,
but I think there’s a good chance. And now I’m going to plug in the power. And what do you know,
I have some video. At the moment it’s in black and white, but I suspect I can fix
that. I just need to rotate this adjustment here. And there we go! And yeah, doesn’t look too bad!
I don’t have a keyboard yet, but I figured I could do a quick test with a game cartridge and a
joystick. And sure enough, it seems to be working fine. I’ll try one more. I’m sort of partial to
Omega Race since it was the first game I ever had for the VIC-20 when I was 6 years old. And I
spent a lot of time playing this! Although as you can see I’m certainly out of practice!
So, now I’ll begin assembling the keyboard PCB. Incidentally,
you can actually use a real VIC-20 keyboard with this. But
I have decided to skip that for now and build the custom version here instead.
I’m not a huge fan of this ribbon cable. I’d prefer a
single connector over these individual ones.
And now I’ll find out if the keyboard is working. And it is!
OK, so now that we’ve got this thing put together and it works, what I’d like to do now is discuss
some of the ways in which this particular product is actually better than an original Commodore
VIC-20, but then also talk about some of the ways that it’s not as good as an original VIC-20.
So the first thing I want to talk about is probably one of the first things on your mind,
which is why is the key arrangement so bizarre. Well, this boils down to needing to be able to
source standard key cap sets. And unless you want to spent a lot of money, it’s best to try to stick
with a standard set, which is designed to come with 104 keys, and you can expect certain keys
to be larger sizes like the shift keys, and so on. Well, the thing is, there are limited
ways you can re-arrange these. The problem is, if you look at the side profile of a keyboard,
different rows have different shapes. So, for example, if you wanted to take a key cap from
this row, and put it up here in this row, you can see how it would look. I ran into a similar
problem when doing the keyboard for my Mini Pet, and it was really challenging to find the best
way to arrange the keys. And so hopefully that explains why this keyboard looks like it does.
The other thing I want to talk about is the RAM configuration here. You probably noticed that when
it booted up, it said it had 6655 bytes free. But a stock VIC-20 will boot up to 3583 bytes. And to
explain this a little better, I need to give you a crash course in the VIC-20 memory map. Each of
these little blocks represents 1 kilobyte of RAM. And so this represents the entire 64K memory map.
As you can see, the green areas are ROM and they never change. Also there’s IO space,
and in the red you’ll find RAM. And as you can see a stock system has 5K. Of course, part of
that is used as screen RAM. And the left over bits here is where we get the 3.5K available for BASIC.
The trouble is, BASIC requires a contiguous area of RAM. It can’t be broken up with
something in the middle. So, for example, if you add in an 8K RAM expansion cart here,
this creates a problem. You see, the screen RAM area would be right in the middle. So, what the
VIC will do, is it will move the location of the screen down here if it detects RAM in this area.
And then you can have a contiguous 11K of RAM for BASIC, and if you boot up a machine like this,
BASIC will report 11K free. All is good, right? Well, yes and no. You see,
if you have a program designed to work on a stock VIC-20, chances are you have broken
compatibility with it, because the software is expecting the screen RAM in a different place.
This is one of the few cases in computer history where adding additional RAM to a system
actually breaks compatibility of software. And thus VIC-20 users would have to constantly
pull out the RAM expander to use certain software.
So, back to our memory configuration here. So,
you can technically add an additional 24K to this area here. And nothing else will change.
This is considered the maximum RAM usable by BASIC on a VIC 20 and it will boot up and detect
27K free. You can still add more RAM to the machine, but it won’t be usable by BASIC.
Now, let’s go back to the stock configuration for a moment. It is possible to add 3K into this area
here. Doing this will give you 6K for BASIC but it won’t cause the screen RAM to change.
And Commodore did in fact make several RAM expanders, including this one,
which will fill that spot. The great part about this is that it generally won’t hurt compatibility
with software designed for a stock system. Because the screen RAM stays in the same place.
So, to simplify things, this system was designed with that 3K block always filled
up. You can change the DIP switches here to add in extra RAM banks. But you’ll never see
less than 6K on boot up. However, if you really absolutely need a stock RAM configuration,
you can always type in this command to trick the system into not seeing the extra 3K,
and you should have 100% compatibility this way.
In order to test this out, we’ll need to connect a disk drive.
And so, here’s an example. This is Astro Nell. This game is truly amazing simply for the fact
that it runs on a stock VIC-20 without any memory expansion. And as you can see, it works fine here.
But, maybe we should try something that uses the entire RAM. It’s possible to adjust the
dip switches here to fill in all RAM banks like this. THat’s 35K plus the original 5K,
making this a 40K system at this point. Like I said earlier, BASIC can’t use all of the RAM,
but machine language programs can. And I can count all of the programs that use this on one hand.
One such program is, of course, Petscii Robots for the VIC-20. And here it is.
I haven’t seen a lot of feedback from VIC-20 users playing this game. And I suspect the
reason is because it does require the full memory configuration, which a lot of people don’t have.
OK, so you may notice it has an S-Video port,
but there’s no spot in the back for the cable to go through. And that’s because
unfortunately when Dan was designing the board, he got the pinout wrong on the port so that the pins
don’t actually aren’t connected to the correct signals. But, I think we can still test it.
In order to test this, I’ll need to remove the board from the case so I can reach the S-Video
port. I should be able to use my meter to find the pins I need. For example the ground
should be the same as on the composite port. And yep, there it is. Actually,
it occurs to me that there is this jumper for the chroma signal. If you pull it off,
the picture will turn grayscale. In fact, you can see how much sharper the image is without color.
So, that means I should be able to just get my luminance signal right from the original
port here. As well as the audio. So that means all I need to do is find
the chroma signal and connect it to the red cable, which shouldn’t be too hard
to do. I’ll just use an alligator clip here. And Then I’ll connect everything
like normal to the Commodore monitor and turn on LCA mode. Let’s see if it works.
And it does. And wow, it is super sharp, at least as far as a VIC-20 goes.
So the first thing I wanted to do was keep the camera pointing at the screen and swap
the cable over to an original VIC-20 with composite and take a look at the difference.
Here’s another example. This is the original VIC-20, and here’s the kit version with s-video.
I’ve honestly never seen video like this from a VIC-20, I can’t even really get the camera
to capture how good it looks. It’s not just the sharpness, but there’s also no dot-crawl,
which the VIC-20 is notoriously bad about. This actually looks fake, like it’s coming
from an emulator or something. Of course, I grew up using a VIC-20 on an RF modulator,
so the image quality was terrible by comparison. This is how the VIC-20 should have always looked!
I wanted to do one more test. Rather than compare to an original VIC-20,
I’m just going to show both video outputs from the kit computer. This is S-Video,
and here’s composite. So, I think we can safely say the kit computer has the better video output.
But here’s one area where this kit is lacking.
Notice that is is totally missing the user port and cassette port.
Now, when I asked Dan on his reasoning for this he said it was because he wanted to
be able to run the entire computer from a regulated 5V power source.
And both the user and cassette ports require higher voltages or even alternating current.
The thing is, I feel this was somewhat of an injustice because there are a lot
of peripherals that use these that don’t need these voltages. For example, my SD-2-IEC uses
the cassette port for power. Sure, I can make this work by creating an adapter or
chopping the cable here, but I’d rather not. And as for the user port, I can’t even use my
Super Nintendo adapter for Petscii Robots, which doesn’t need the 9V AC on that port.
But, at the same time, having worked at many tech support and customer service jobs throughout my
life, I guarantee you that had Dan put the ports on this computer that only partially worked,
even with full disclosure and full documentation on its limitations,
you’ve got to know, there would be people plugging things in, expecting them to work and then being
angry when they don’t, saying that the product is defective. So, you just can’t win sometimes.
My other gripe with this computer is that there is no power switch. The only way to turn it off
is to unplug it. Kind of reminds me of the Sinclair products. I might find that less
annoying if there were at least a reset button, but it doesn’t have that either.
One way to mitigate that to some extent is by using something like the Penultimate cartridge,
which will give you a reset button that way.
On the plus side, I will say that the keyboard on this computer feels amazing to type on.
Way better than an original VIC-20. And it is also worth mentioning that
this system is probably more reliable than a real VIC-20.
But, another complaint I have with this system is that in order to use the extra memory,
you’ll need access to the DIP switches here. But if you screw the case together,
then you don’t have access to that anymore. And, as I mentioned earlier, with the VIC-20,
you will definitely need to be changing the RAM configuration often, depending on
what software you want to run. However, another way around that is also to use the Penultimate
cartridge as your RAM expander, since it is configurable with on-screen controls. Of course,
this totally defeats the purpose of having the extra RAM on the motherboard in the first place.
And my last complaint is that the computer still requires a VIC chip
from a real VIC-20 to work. These chips are already in short supply.
Now, I do understand that there is no off-the-shelf replacement for
this part, so there’s not a lot that the designer could have done to mitigate this.
And it’s actually for that very reason that I hope there aren’t too many of these built
because I would really hate to think people are gutting real original VIC-20s for their VIC-chips,
however I’m kind of hopeful that maybe somebody somebody will create an FPGA replacement for
the VIC chip, in which case a product like this could be made from literally all generic parts.
Speaking of that, you might be surprised how much architecture is actually shared between
this computer and the Commander X16. After all, the X16 is based on the VIC-20 with
the idea of being a computer that is made from all off-the-shelf parts. And since a
lot of people have been asking about the C16, I’m going to give you a quick update on it.
So here it is, this is the latest prototype of the X16. From a hardware standpoint,
it is basically 99% completed. The next revision will contain a few minor changes, but nothing
that impacts the architecture or anything like that. However, we still have a ways to go before
this is actually ready for prime time, as it has a number of software bugs. One problem is
with the keyboard routines. For example, it won’t even recognize the official keyboard
unless you set the jumper to 2 Mhz mode. This I a timing issue in the kernel that needs to be fixed.
Another problem is the SD card. Half of the time it just doesn’t detect the file system.
Sometimes it does. This is also a software problem that needs to be fixed.
Nevertheless, here it is running at 2 Mhz mode playing Petscii Robots. As
you can see the game has been significantly improved since last you saw it on the X16.
In fact, it made its public debut recently at the DFW Retrocomputing meet up, where
I had it out on display for people to play with. It’s still a work in progress and I will be doing
another episode on Petscii Robots very soon explaining some of the development work on X16
version as well as the Atari version. That’s right there is a version almost finished for
the Atari 8-bit computers, and I’m going to tell you all about that in an upcoming video.
But that’s it for this episode, as always, thanks for watching!