6

The Vic-20 uses the 6522 VIA for peripheral I/O. However, it has two of them. I find this surprising, particularly considering minimizing cost was an important design goal. Is there a reason why it couldn't get by with just one? Or is it a case where having two of them, lets the machine do two things at the same time? In which case, which two things?

10
  • 2
    There are a lot of signals. All of the regular port signals on one of them is taken up just by the keyboard matrix. Add on top of that joysticks, various ports, etc. and you need a lot. Dec 18, 2020 at 2:46
  • 2
    The number of ports? I'm not really sure what you're asking. The 6522 is a parallel port offering I/O lines.
    – Raffzahn
    Dec 18, 2020 at 3:27
  • 1
    "I find this surprising, particularly considering minimizing cost was an important design goal." - you are right. If they really cared about minimizing costs they would have had no VIAs. A few standard TTL chips could have done the keyboard and tape interface, joysticks could be wired in parallel with the keyboard (or simply not provided), the IEC port was buggy and should have been dropped, and who needs a 'user port'? ZX81 and Spectrum sold heaps and didn't have any of that stuff... Dec 18, 2020 at 4:10
  • 4
    I think they did put them in for fun. Firstly the fun of having proper joystick ports, a serial port that could be used for sophisticated communications, and a user port for doing fun stuff. Secondly the fun of designing something that isn't cut to the bone. Whereas Sir Clive thought cutting things to the bone was fun, while his customers didn't (I didn't buy a ZX81 until the price dropped below cost, and even then was disappointed. Only saving grace was the expansion bus). Dec 18, 2020 at 6:48
  • 3
    What I don't understand is why Commodore would put all that good stuff in the VIC20, and then gave it such a crappy text resolution. I never even considered buying one because of that, which is a pity because I could have had a lot of fun with those VIA chips. Dec 18, 2020 at 6:51

1 Answer 1

12

[Not sure if I understand the question in full]

A parallel port chip like the 6522 is about providing port lines. In case of a 6522 these are 16 lines (two 8 bit ports) for arbitrary use plus 4 control lines with restricted use. Like with any other interface, a designer adds as many as he needs.

In case of the VIC-20 the schematics show

enter image description here

that

  • of the first VIA
    • the two 8 bit ports are used to scan the keyboard,
    • the handshake lines are used for the serial interface.
  • of the second VIA
    • of the first 8 bit port
      • three lines are used as well for the serial port,
      • three are used for the joysticks
      • one for the lightpen
      • one for cassette
    • of the first two control lines
      • one is used for the restore key
      • one is used for cassette
    • the second 8 bit port is available as user port
    • likewise the two control lines going with that.

All used up. If they would have need any more line the VIC-20 would have had a third VIA :))


From a comment of the OP:

Maybe what I really should be asking is, why were the VIAs needed at all?

Because they are the most simple and, as the name already gives, versatile solution. Not much fiddling and thinking needed. Each line can be controlled independent from all others. No restrictions, most decisions are moved into software.

Or put another way, what did the Spectrum lose by not having them?

The Spectrum is a complete different design. Commodore designs are rather clean and straight from the school book.

There must've been some disadvantage to not having them;

Higher design effort, as building ports from TTL need more time to design. Also higher board production cost, as any TTL design will need more holes drilled. In addition the TTL may be similar, if not higher in cost - especially considering that the 6522 is produced in house.

the Commodore engineers wouldn't have put them in just for fun.

Last, but not least, at the core the VIC follows the PET design, which already used the 6522 much the same way. So why spending money on a new design?

2
  • 2
    Also, the cost of the additional VIA is probably negligible, given that Commodore owned the VIA factory.
    – Brian H
    Dec 18, 2020 at 15:29
  • 3
    It was not unusual to put two VIAs in one machine. The BBC Micro also did so, marking one as the "System VIA" which handled things like the keyboard and sound chip interface, as well as the system-managed timers; the other was the "User VIA" which was connected more-or-less directly to external connectors (a User Port and a Printer Port).
    – Chromatix
    Dec 19, 2020 at 19:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .