From an interview with VIC-20 designer, John Feagans

by Rick Melick

18 Mar 97 11:24:33 EST

Updated: 03/26/97


>John, tell me about the VIC-20...

Peddle never had any involvement with the VIC-20.

The Yannes prototype was shown at the June 1980 CES in Chicago. Peddle left Commodore to start Sirius/Victor in August, 1980.

Bill Seiler and I did the Vic-20 hardware software work at the Moorepark advanced R&D facility in San Jose, California. We were ordered to transfer our work to the production engineering group in Santa Clara. The R&D facility was closed in September, 1980 and the people who didn't leave for Sirius, including myself, moved back to Santa Clara, 3330 Scott Blvd.

Bill Seiler left Commodre in November, 1980 for Sirius.

As you know the Vic-1001 was introduced first in Japan. My wife translated the user's manual from Japanese to English and this was the basis of the user's manual Mike Tomczyk worked on.

For the Commodore-64 I developed a music interpretive language which played the SID at the January 1982 CES, the Magic Desk at the June 1983 CES in Chicago on the "Commodore Clipper", and a cheap network using the Teacher's PET, and twisted pairs to C-64's in a classroom.

I went on to Atari where with a team from Digital Research, ported GEM from the PC to the Atari ST, a 68k based machine.

Currently I work for US Robotics, Advanced R&D. I implement ITU protocols for Video conferencing. Some shipping products with my code are the WinModem, "Big Picture" H.324 system, and Sportster DSVD.

Grass Valley Advanced R&D is located an hour northeast of Sacramento in the foothills of the Sierra. We are three hours from "Silly Valley" and recruiting!

You need to look up Bob Russel. He took our code from Advanced R&D and did things like modify the cassette tape routines (with consulting from Chuck Peddle on how the PET cassette worked) and the serial interface to the disk drive and printers. He was part of the production engineering team in Santa Clara and later moved to Valley Forge, then Wayne, and last West Chester. He ported the Vic-20 code to the Vic-40 (aka Commodore-64)

Did you know that the disk drive interface was based off the IEEE-488? That is what Bill Seiler and I implemented on the original PET. When the Vic-20 peripherals were designed we had the Atari 400 as a model of a serial system and hence we altered the parallel IEEE-488 to a serial version with the same handshake lines. It was a software bit banger serial and had horrid performance.

>Yes, here is what is on my page about a 6522 "bug" (the ones PET owners
>also used to get the "CB2 sound") This is from Jim Butterfield.  Is it
>accurate? 

----------------------------- BEGIN - Jim Butterfield 

"As you know, the first Commodore computers used the IEEE bus to connect
to peripherals such as disk and printer.  I understand that these were
available only from one source:  Belden cables.  A couple of years into
Commodore's computer career, Belden went out of stock on such cables
(military contract?  who knows?).  In any case, Commodore were in quite a
fix: they made computers and disk drives, but couldn't hook 'em together! 
     
So Tramiel issued the order:  "On our next computer, get off that bus. 
Make it a cable anyone can manufacture".  And so, starting with the VIC-20
the serial bus was born.  It was intended to be just as fast as the
IEEE-488 it replaced. 
     
Technically, the idea was sound:  the 6522 VIA chip has a "shift register"
circuit that, if tickled with the right signals (data and clock) will
cheerfully collect 8 bits of data without any help from the CPU. At that
time, it would signal that it had a byte to be collected, and the
processor would do so, using an automatic handshake built into the 6522 to
trigger the next incoming byte.  Things worked in a similar way outgoing
from the computer, too. 
     
We early PET/CBM freaks knew, from playing music, that there was something
wrong with the 6522's shift register:  it interfered with other functions. 
The rule was:  turn off the music before you start the tape!  (The shift
register was a popular sound generator).  But the Commodore engineers, who
only made the chip, didn't know this.  Until they got into final checkout
of the VIC-20. 
     
By this time, the VIC-20 board was in manufacture.  A new chip could be
designed in a few months (yes, the silicon guys had application notes
about the problem, long since), but it was TOO LATE! 
     
A major software rewrite had to take place that changed the VIC-20 
into a "bit-catcher" rather than a "character-catcher".  It called for 
eight times as much work on the part of the CPU; and unlike the shift 
register plan, there was no timing/handshake slack time.  The whole 
thing slowed down by a factor of approximately 5 to 6."

----------------------------- END - Jim Butterfield 

I won't dispute Jim Butterfield out of respect, but the main reason we went to the serial cable was connector size and cost. Also we were influenced by the Atari 400 and 800. We had an engineering manager in the R&D lab who did nothing all the summer of 1980 but play games on the Atari 400 we had for evaluation!

My mistake on "software bit banger". Yes the 6522 was a UART, but the whole system was not as fast as the parallel IEEE because of the delay while the thing shifted out.

I don't think the story on Belden holds water either--I still buy IEEE cables for our lab.

The C-64 serial bus had to be slowed down even more because of hits by the video that cause missed data.

--John