Inside The VIC-20

Commodore machines are well-loved around here, but usually when you think Commodore, you think about the Commodore 64, or maybe the PET or Amiga. But the Commodore 64 had an older sister, the VIC 20. This was the first computer to sell a million units and has a lot in common with its better-known successor. The machine was only made for a few years, and [Dubious Engineering] has been restoring one over a few videos. In the video below, he opens it up for a look inside, among other things.

If you want to get straight to the opening, you’ll need to fast forward about 5 and a half minutes. The keyboard pulls off and a nice old-fashioned set of cables made from individual wires connect to the skinny main board with all the smarts on it. No ribbon cables or flex PCBs!

It is interesting to see the design choices made back in the 1980s. The caps lock key, for example, is an actual latching key that mechanically maintains its position. There are two ROM chips, one for the system software and one for Basic. Two RAM chips give you a whopping 5K of read/write memory.

A $300 computer in those days would be about the same as an $800 computer today. You still needed a monitor or a TV and a cassette recorder. Meanwhile the memory could be expanded somewhat but the display was stuck at 176×184 and your choice of 8 colors.

The VIC20 might not have been the most influential computer of its day. But it was a clear stepping stone from the PET to the very influential Commodore 64. It was nice to see one running again.

The machine in this video looks a lot better than the last one we saw restored. Our own [Bil Herd] was part of the Commodore story and he appears in the documentary of that name which is well worth watching.

51 thoughts on “Inside The VIC-20

  1. I owned a VIC 20. It was my second computer, my first was a Timex Sinclair. The Sinclair used a Z80 and I expanded memory in both. Both machines used static RAM.

    The Sinclair was expanded by soldering additional RAM chips on top of the originals with the CS pin pulled out and routed to a 74LS138 who’s inputs were tied to the right address lines. With careful soldering you could expand the Sinclair’s memory to 4X the original by stacking and soldering 3 chips on top of each of the machine’s original 8 RAM chips. Each bank of 8 would have it’s CS lines wire wrapped together and run to the right output pin on the 74LS138. The VIC 20 was a little harder to expand because I had to wire wrap a card that plugged into the expansion port on the back – the same port you plugged game cartridges into.

    After the Sinclair and VIC 20, I moved on to the C64 and then the C128. The C128 was a real disappointment. It was switchable between C64 mode and a Z80 running CPM at 1 or 2 mHz. It never did either mode really well – the C64 was a far superior machine.

    1. To me the effort put into the C128 would had be better used to made a C64 with 256K of bank switched memory. I could always used more memory on my C64, on the other hand I never saw anyone use the CP/M mode for anything serious. Worse, there were other environments available for Z80s but I never saw them ported to the C128.

    2. Oh the disappointment at the discovery that the C128 could only run one of those CPUs at a time. Bought the thing anyway, but it was always in the back of my mind that the ‘other’ CPU (looking at you, Z) was just suspended, like a zombie, like some poor schmuck in a Ridley Scott film, gasping for a clock cycle! The 80 column feature was noticeably, unforgivably slow. The disk interface was better than the 64, but still not as good as an Apple II. Overall .. it was like a C64 with a nicer keyboard. And that perennial silent scream ..

  2. 5K of RAM but about 1.5K was for the screen so you actually only had 3.5K for code. One trick was to make the game 5K and the last 1.5 would load into the screen. That’s where you would put all your set up and other one time code. The first line of code jumps to the code residing essentially on the screen, do set up and then jump back and then you’d wipe the screen. Many ways to get the most possible out of that 5K.

  3. The VIC 20 has actually 5.5KB of RAM (5KB 8-bit wide, 0.5KB 4-bit wide color-RAM). On the first PCBs this was realized with 11× 2114 1K×4bit RAM chips. In later revisions (shown in the illustration of this article) the number of RAM chips was reduced to 5 by replacing 8 of the 2114s by 2K×8bit RAMs.
    The VIC 20 also has 3 ROM chips 8KB for the KERNAL [sic], 8KB for the BASIC interpreter and 4KB for the character generator.

  4. I respect these guys keeping old machines running, but let’s be honest: The VIC-20 sucked ass. It had what, a 30-column display? Come on. The Ataris already existed at the time.

    1. The VIC 20 was great because it came in at a time and price point to help drive the desktop revolution. And sure it was substandard as a game machine but the machine opened up the world to a budding programmer like me and many others.

      The Atari with it’s superior graphics was still just a game machine.

        1. Very true. But what I mainly remember thinking when I saw the Ataris, was how big they were compared to the VIC-20. This was supposed to be a home computer for young people. And I had a bedroom of maybe 10 m^2. That had to contain my bed, my closet, and a desk. You can imagine the size of the desk. :)

          We didn’t have the money to buy either, though. And by the time we did have the money, the C64 was already out. I’m not sure when Atari made the 800 XL, but it was not available to me, so I never had the choice. To be honest, I had one later, and I think it *was* a great computer.

          So, it came down to a choice between an Atari 800 and a C64 (and actually a TI-99/4a was in the picture as well). The C64 won, because it would take less space on my desk. I don’t remember anymore why I forewent on the TI-99/4a, but this was end of 1983, and I think there were already rumours that TI would discontinue.

          So, basically the size of the C64 is what won me over. And I think that it’s size won over many parents. :)

          1. The 400 was a good bit smaller than the 800 and not much larger than the VIC-20, and was it’s natural competitor, but still much better. The 800XL came out for Xmas 83, but came out late in that season and in far less quantities than could meet demand. Atari got a new CEO in 83, midstream in the moving of manufacturing from Japan to Taiwan, and he held up that move to make his own determination based on a fact-finding mission. It doomed Atari and the Atari computers and allowed the C64 to gain top position as many would-be Atari 800XL buyers bought C64s that Xmas.

        2. The PDP-11 was also superior to the VIC in every way but cost, too.

          Needless to say, the low cost of the VIC-20 was the difference between my growing up with a computer — and growing up without one.

          Or growing up with a 400 with a keyboard designed just for Star Raiders, vs. one with a keyboard you could actually type on.

          1. Atari 8bits didn’t have much of a presence in many countries. The 400 arrived after the Vic in Australia, and cost considerably more. Plus, no built-in Basic, and if I recall, no way of expanding memory without voiding warranty. The video was better, so it was capable of better games and endless pointless demos showing the colour palette – as a computer though really no better than the Vic.

    2. 22 column, actually. it was an interesting machine to use.

      Mine had a 16K memory expansion cartridge, but that used the only expansion slot. There was a third party multi-slot board, but by the time I would have wanted one, I had switched to the 128.

    3. 22 column display. But I remember going to IBM headquarters in Toronto and having TVs with events/programs displayed using Vic-20s.

      I ask why Vic-20s, and was told it was because they could pump the video anywhere in the buildings and the text was still readable. The IBM PCs could not do it and C64 text was too small.

    4. There’s a reason the Vic-20 was the first computer model to sell over a million units.
      When I got my first computer, this was the only computer we really could afford. (OK, maybe a Timex Sinclair 1000)
      The 400 was kind of close.
      But even the 400 was more expensive, and it had that membrane keyboard. (Although i want one now.. ;-)
      And to be fair, the Vic was great. It had great games. I even used it and that 300 baud Vicmodem to check out some BBSes in all the 22 column glory. ;-)

  5. It was the first computer i ever owned. It was so limited in resources you could actually fill up the complete memory area just by typing in a program, and it would not take you that long to type it ;-)
    After that i switched to the C64, was by all standards quite a notch above the VIC20. Never looked back…

  6. Oh man – the nostalgia. My first play of Jeff Minter’s Matrix on a Vic 20 was a standout moment for me in the personal computer world. Not my first computer, but damn it was a sexy beast when compared to the (also excellent) Sinclair stuff.

    1. I still have my VIC-20 in the original box. Also the cassette drive, along with the 8k memory card which cost several hours pay to expand to 16k by opening it and adding chips. Next to it sets my Apple IIc that cost me over a grand on a $8 per hr. job. Also in the pile is my Sharp 1500 single line pocket computer with plotter. I sure spent a lot of disposable income on computers in the 80’s. But I learned a lot from them. Somewhere in there, there was a long lost C-64. My first IBM was a motherboard attached to wooden board and a repaired junk 9″ monitor without a case that UPS threw away. It only had a floppy, 10 meg (Winchester) harddrives where just coming out and cost way too much. Thought I was the cats meow when I got my first 30meg RLL drive. Now days I am just spoiled. Multipile 3 and 5 terabyte drives on a home network. Jeepers where to begin. But it all started with that VIC-20. I can remember being so excited driving to pick it up.

  7. My very first “hello world” was done on my grandparents’ VIC-20.
    Also, my elementary school had a VIC-20 as their very first computer. I remember how impressed I was that it could count to 1,000,000 in ONLY 2.5 days!!! As a little kid with no real experience with computers, this seemed like an impressively fast time. (looking back it occurs to me that this “feat” was probably programmed in BASIC, and the VIC-20 probably could have done it faster if programmed in Assembler.)

  8. Ah yes, the VC20 (Vixen), which got renamed for German market due to the codename being so similar to a dirty/sexual word (hi Puck Man aka Pac Man!). ;)

    From what I remember (speaking heavily under correction), the backwards compatibility to the VC20 computer was the cause for C64 floppy drives being so utterly slow via serial i/o, also. I can’t remember the details right now, but I believe it was because one of the many hardware flaws that were so common on Commodore computers.

    That being said, I think its honorable that people put their hearts into fixing things after decades, even. It’s one of the things that restore my faith in humanity.

      1. Are you sure? I mean, I’m no Commodore person myself, so could be wrong likely. That’s what I found online, though: “Unfortunately, close to the release date of the Vic20, a timing bug bug was discovered in the 6522 chip shift register. (a framing error could occur when the clocks between 6522 chips were not synchronised – this would cause the serial buss to lock up). ?Greg Berlin? at Commodore had to change the serialparallel routines to be “bit-banged” by the 6502 processor instead – a slow, clumsy method. However slow it was, it worked, and with the VIC20’s tiny 5K RAM, speed was not particularly critical. ”


        1. Never mind. We’re both right, it seems. The C64 was messed up even further! 🙄 Some high speed data lines were disconnected by accident or something. It’s in the link mentioned earlier.

        2. The Vic-20 with the 1540 drive is faster than the C64 with the 1541 or the Vic-20 with the 1541 drive.
          The C64 won’t work with the 1540.

          To be honest tho, it’s tough to really tell since most things that load on the Vic-20 are less than 16k and all load pretty quickly.

          1. Yes! When I bought a C64, I had to buy a new chip (eprom?) for my 1540 while I could only load files from the 1540 into the C64 if you turned of the videochip. (poke ???) before loading, and turned it on after loading….

  9. There’s probably dozens of VIC-20 books printed, but one of the best is VIC-20 Blue Book… dozen+ simple interface projects , they might work on the C64… its online for free

    1. I’ve only dumped c64 disks and it’s been about 10 years but I used a board where you plug in a 1541 drive and usb out on the other, then used a dos program to make the images. I would think it’s probably a bit easier now to make an image as long as you have the right hardware to run a disk drive.

    2. I think I once had a parallel port cable to connect a 1541 to a PC. It had some software which looked like Norton Commander, you could configure the whole 1541 interface.

      Last time I tested I was able to create dumps pretty reliably using that. IIRC it was just a DIN plug at one end and a DB25 at the other end, maybe a few passive components, but not much more than that.

      I think it was this one:

  10. Four RAM chips, not counting the one 2114 for Color RAM (2x 2114 for 1K, 2x 6116 at 2K each).

    There’s also another ROM with the character set in it.

    And the latching Shift Lock is a 1970s decision – same as the PET 2001N keyboard.

    1. I think it was common, a latching cap-lock. It was there in my OSI Superboard, and I think the Radio Shack Color Comouter, and maybe the Model 100.

      As I recall, the lock worked differently from a typewriter. I can’t remember how, but I was using a typewriter back then, and it through me off.

  11. My first computer was a VIC20, “inherited” from kids of my parents friends. It came with a programming tutorial book (must have been in Swedish, I didn’t know English back then). I think you made some bouncing balls and flying “seagulls”. Had some nice games (all pirated on cassette of course) and a memory expansion. Had to look up the names (; River Rescue, Bonzo, Choplifter, Paratrooper and Shamus among others. Fun times! I still have the power supply and maybe the cassette player plus tapes somewhere I think, but the computer is gone.

  12. The VIC-20 was not considered all that primitive for its time. My son, who was about 14 yo at the time, taught himself to program. He spent hours with the irresistible combination of Basic and a TV screen, eventually exploring simple orbital mechanics.
    Many years later, he was a maintenance supervisor at Kitt Peak. Even today, some of their telescopes and supporting systems still use C-64s, since there hasn’t been a good reason to upgrade them.

    1. My second comouter, in 1981, was an OSI Superboard. 8K of RAM, video and an ASCII keyboard. It pcould have had more memory, but not really limited otherwise at the time.

  13. $88 blowout at K-Mart! I got the $15 generic cassette drive; $5 was $5 then! I soon got the 1541 hard disk, dunno if it worked as the manual told everything but how to use it! A reader could decipher the High Martian and find any byte with a ruler, but how to store and retrieve stuff? Sorry! “Load something or other, 8” was as close as it got…
    Did anyone ever successfully type in a program from a book, and have it work? “Syntax error in Line 143”!, identical to line 143 in the book…
    Nostalgia is fine, but reality pills are good too… My only truly happy memories were about a Jupiter Lander cartridge I loved- wonder if there’s a Windows or browser port…

    1. When I got my first floppy drive in 1984, for the Radio Shack Color Computer (but tye drive from a third party), I was bugged that they didn’t include a blank floppy. I paid enough. Luckiky I found a two-pack.

      And then it wasn’t obvious which way to insert the floppy, which side went left? (The drive slot was vertical).

      37 years ago, yet still early enough.

  14. One or two lawns were mowed many times to purchase a first computer, a VIC-20, and a datassette, for $164 and change at K-Mart at the end of 1983, the heat of the price wars. Jupiter Lander was a cartridge, and Thunderbird and Hardhat Climber were source code listings in Compute!’s Gazette that were saved onto cassettes and passed around.

  15. Was the old rumor true that there was a self destruct poke sequence on a VIC-20? I heard about that rumor when I was 10, so I went down to the local K-Mart Commodore display and ran the following program to find out:

    10 FOR Q = 0 TO 65535
    20 FOR W = 0 TO 255
    30 POKE (Q,W)
    40 PRINT Q,W,PEEK(Q)
    50 NEXT W
    60 NEXT Q

    I don’t recall anything happening other than random noise and displays, but I never stuck around to see the end of the script either.

    1. Almost, it was the early PET computers.
      There was a poke that could damage the screen. There are some good youtube videos that have come out on that recently. You can search for “killer poke pet” to find them.
      I used to think it was an urban myth till I found out it was real on the PET. ;-)

    2. That would not run all the way through, as you would overwrite the program, and it would halt/crash, so you would need to step over the program area of ram (Which, if I remember right, started at 4096(decimal) , so roughly 1/16 of the way through .
      Something like that given below: might be better…. assuming an unexpanded VIC 20

      10 FOR Q = 0 TO 4095
      20 FOR W = 0 TO 255
      30 POKE (Q,W)
      40 PRINT Q,W,PEEK(Q)
      50 NEXT W
      60 NEXT Q
      70 FOR Q = 8192 TO 65535 (– lets jump over the screen memory also, as we might want to read the out put print statments…. )
      80 FOR W = 0 TO 255
      90 POKE (Q,W)
      95 PRINT Q,W,PEEK(Q) not sure I’d bother with that,
      100 NEXT W
      110 NEXT Q

      Probably would still fall over as there would be some vectors here and there that would get written over, can’t remember those off the top of my head… but you get the idea….

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.