IEEE-488 bus
- From: christianlott1 <christianlott1@xxxxxxxxx>
- Date: Sat, 5 Jan 2008 19:39:48 -0800 (PST)
Can anyone point me to more details about this?
------------
Q $07B) When the VIC-20 was designed, the serial port throughput was
roughly
equivalent to the throughput of the IEEE-488 bus? Why isn't
it
very fast in production VICs?
A $07B) Let's go back to question $04F:
<begin insert>
Q $04F) What was the primary reason Commodore went to a serial
bus
with the introduction of the VIC-20?
A $04F) Jim Butterfield supplied me with this one:
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.
<end insert>
And here is what Jim Butterfield followed up with:
"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.
When the 64 came out, the problem VIA 6522 chip had been
replaced by the CIA 6526. This did not have the shift
register
problem which had caused trouble on the VIC-20, and at that
time it
would have been possible to restore plan 1, a fast serial
bus. Note
that this would have called for a redesign of the 1540 disk
drive,
which also used a VIA. As best I can estimate - and an
article in
the IEEE Spectrum magazine supports this - the matter was
discussed
within Commodore, and it was decided that VIC-20 compatibility
was
more important than disk speed. Perhaps the prospect of a
1541
redesign was an important part of the decision, since current
inventories needed to be taken into account. But to keep the
Commodore 64 as a "bit-banger", a new problem arose.
The higher-resolution screen of the 64 (as compared to the
VIC-20)
could not be supported without stopping the CPU every once in
a while.
To be exact: Every 8 screen raster lines (each line of text),
the CPU
had to be put into a WAIT condition for 42 microseconds, so as
to
allow the next line of screen text and color nybbles to be
swept into
the chip.(More time would be needed if sprites were being
used).
But the bits were coming in on the serial bus faster than
that:
a bit would come in about every 20 microseconds! So the poor
CPU,
frozen for longer than that, would miss some serial bits
completely!
Commodore's solution was to slow down the serial bus even
more.
That's why the VIC-20 has a faster serial bus than the 64,
even though
the 64 was capable, technically, of running many times faster.
Fast disk finally came into its own with the Commodore 128."
--Jim
-----------
http://www.ffd2.com/fridge/chacking/c=hacking9.txt
-----------
.
- Follow-Ups:
- Re: IEEE-488 bus
- From: Jim Brain
- Re: IEEE-488 bus
- Prev by Date: Re: Still the "no video" bug in Vice for Debian?
- Next by Date: Re: 1541 Ultimate Plus with 32MB REU!
- Previous by thread: C64 Bunny
- Next by thread: Re: IEEE-488 bus
- Index(es):