[Coco] NEC PC6001, a shadow of the CoCo
Steve Bjork
6809er at bjork-huffman.net
Mon Mar 3 23:32:15 EST 2008
As someone that programmed a great deal on both the Z-80 and 6809, I
say the 3.8 MHz Z-80 is a match (in general) for .89 MHz 6809.
Most op-codes on the Z-80 take about same time to do the same work as
the 6809 with memory running at those speeds. Yes, there are times
the 6809 can pull ahead of the Z-80. (But the same can be said for
the Z-80 too.) It's all how you code them.
Back in my days at DataSoft, I was giving the task to write a version
of Mega-Bug for NEC's PC 6001. Like any new system, I took a peek
under the hood to see just what the computer could do. Let's just
say I did NOT like that I saw.
The big flaw in the (over) design of the computer was the marriage of
the Z-80 to the 6847 and their incompatible memory interface. The
6847 must get its data on a regularly time cycle without missing a
byte. (During H and V blanks the 6847 could miss out on data without
messing up the screen.) This works will with the 6809 because it can
time the data request so not to get in the way of the 6847. (This is
key why both the 6809 and the 6847 can access the same memory at full
speed without messing anything up.)
But the Z-80 can NOT sync its self to the timing cycle of the 6847
because a op-code's memory fetch could come in 3 to 7 (or more)
clocks apart. So, the Z-80 would add wait states to all memory
fetches till the 6847 was done with the memory. These wait states
slowed the Z-80 from 3.8 MHZ to something more like 1.1 MHz.
Because the system runs so slowly (with unreliable timing), they had
to put a microprocessor in every peripheral including the Cassette
Recorder Unit. Everything was overpriced for that computer! (Boy,
they could of used someone like Steve Woz designed the computer to
get the most out of the hardware!)
You may ask how did the slower speed of the system effect Mega-Bug?
Because of all the wait states on the Z-80, I could not put the
magnifier screen overlay in the game. (Well, I did try to put the
overlay in but it ran at an unplayable 4 frames per second.) Without
the magnifier overlay, all you got was the screen full of a maze with
a few small dots moving around on it. Not very impressive!
NEC was not happy with the way Mega-Bug turned out on their system.
(I shipped it with an option to turn on magnifier.) The producer of
the game over at NEC and I had a little talk about just how slow this
new computer. (He could not belive it!) He ask for a report on my
findings so he could pass it on to his boss. As it turned out,
Mega-Bug was the first port competed for their computer. Everyone
else writing games was also having problems getting their games working too.
After sending my report, I got a call from the head of NEC personal
computer division. He wanted me to fly me out to Japan to talk with
his team. While it would be nice to visit Japan (on someone else's
dime) but I knew that would have to go "head to head" with the whole
NEC computer department. Thanks, but no thanks! I just told him
that I had too many projects on my plate to fly out there.
Well, the next day, he called and asked to bring a "few" of team
members to meet with me. I said sure and setup for a meeting the
next week. That "few" turned out to be 8 engineers and 4 of NEC's
top executives. I gave a little song and dance on why the Z-80 and
6847 was a bad match and how well 6809/6847 synchronize bus
worked. It did not take long before the engineers where in hot water
for no knowing how poor their design was compared to computers like
Apple and Tandy's systems. At the time, the floppy drive for the
CoCo cost about 1/3 the price of the drive for PC6001 and it loaded
data at cassette tape speeds.
DataSoft (or any other American company) never got another port
project for the PC6001 and it was very quickly replace with a better
designed model.
That the story and the reason for the short life of the NEC
PC6001. I could not wait to ship that piece of crape back to Japan.
Steve (Mega-Bug) Bjork
At 04:14 PM 3/3/2008, you wrote:
>I think that a 3.8 Mhz Z80 is no match for a 1.8 Mhz 6809, may not
>even be for a 0.9 Mhz
>All my friends had Sinclair Spectrums (or clones), and when we
>managed to find some similar programs, the CoCo was usually faster.
>Of course, it might have been because many other reasons beside CPU
>power, but....
>
>Diego
>
>>>Can we create a similar game on arguably worse hardware (I still say
>>>YES)...?
>>>
>>>
>>Arguably? I'll argue that point! :) According to old-computers.com
>>the PC-6001 had 16-32K of RAM. The CoCo easily meets or exceeds that
>>capability. I think one could make a case that the 6809 is a generally
>>superior processor to the Z-80. Comparing a 3.8 MHz Z-80 to a .89 MHz
>>6809E is apples and oranges of course, but I think the 6809 generally
>>gets more done per clock cycle than the Z-80. Still, that's a pretty
>>big gap in clock rates, so the 6001 might have a slight edge in raw
>>CPU. I'll bet Sockmaster could give us a pretty good comparison, given
>>his experience with the Donkey Kong translation. But the 6809 may still
>>make up some ground in sophistication that it loses in RPM. We can MUL,
>>doggone-it. And a 64K CoCo might find opportunities to trade storage
>>space for speed in ways that a 32K 6001 couldn't.
>>
>>For graphics, it looks like they are at a dead tie, unless the chip in
>>the 6001 has a few enhancements that the stock 6847 doesn't. So they
>>can't boast better graphics. It looks like the CoCo's only real
>>deficiency in comparison to the PC-6001 is in its sound hardware. But
>>the sound chip in the 6001 is (I believe) a subset of the chip in the
>>Radio Shack Speech and Sound Cartridge. So if you are lucky enough to
>>have one of those, the 6001 has basically nothing on the CoCo. If the
>>6001 has better hardware than the CoCo, it's marginal -- maybe a little
>>more raw CPU for some purposes, and better built-in sound, though a CoCo
>>expansion betters it with an improved version of the sound chip, plus
>>hardware speech synthesis to boot.
>>
>>So I'm with you, Andrew. I don't think there's any reason the CoCo 1/2
>>couldn't have that game. The CoCo 3 of course could blow the 6001 out
>>of the water, but that's not really a fair comparison.
>>
>>JCE
More information about the Coco
mailing list