1st mail
To: Petr Krenzelok «Petr.Krenzelok@gate.trz.cz»
From: Dave Haynie «dhaynie@jersey.net»
On Fri, 04 Sep 1998 12:18:50

» jammed all night, and by sunrise was overheard remarking:

» Dear Mr. Albrecht, please :-) calm down....
» 
» I don't know if Dave hurted you in some way, but some stupid PCI is not
» really a reason to use your unkind wording, or is it?

He's confused. He's been confused before, and perhaps will continue to
be. What can I say -- some people still cling to the Amiga chip
architecture, and simply refuse to believe its time has passed too. 

» Petr Krenzelok,

Feel free to post this, or use it as you like....

» And the original posting:
» 
» Moin, Rudi,
 
» » » "Yet we do think that Zorro3 has some possibilities that are hard to
» » » achieve with PCI"

» » This implies an ignorance of PCI on Mr. Albrecht's part. PCI has
» » specific latency parameters in the spec. Zorro III is better than Zorro
» » II's "whenever" approach, but it's much less deterministic than PCI.

» Well, Mr Haynie would have been welcome to discuss these things directly
» with us here. He didn't and so I believe he simply is ignorant of some
» experience USERs and developers have had with PCI technique as it
» _exists_.

Not hardly -- I'm far more well informed of the way things work than
anyone on these lists. My full time job is this stuff, I designed all of
Zorro III at Commodore, I have followed PCI since its inception, etc.

There is simply nothing about PCI that fails, relative to Zorro. PCI is
in each and every way a better system, but made all the more better by
being supported in such volume. This delivers far more efficient
implementations that you could ever get in an Amiga-sized market.

The problems users have, they have, sure. But this has absolutely
nothing to do with PCI. What you see is based on the OS being run. PCI's
autoconfiguration features are as good or better, across the board, as
Zorro, but unfortunately, you can't see this at the user level, since
you never have an updated expansion.library configuring the systems.
However, anyone in the business computer architecture would clearly see
this with about 30 minutes study of PCI and Zorro, even if they didn't
know exactly what the difference is between Amiga autoconfig and the
others.

That difference, simply put, is dynamics. While Microsoft has touted
"plug and play" up, down, and sideways, they still really think in terms
of a static configuration. This is 100% of the problem you have with
pure PCI, and perhaps 10-20% of the actual problems with PCs today (the
rest can be split between legacy stuff -- folks who don't manually
configure their ISA cards properly, though they swear they do, and bugs
in the driver code). When an Amiga system comes up, it ALWAYS does a
dynamic analysis of the expansion bus (which, as I said, could be Zorro,
PCI, or Firewire, or USB, or a combination -- all of these would work
perfectly in the context of a suitably enhanced expansion.library). When
Windows comes up, it configures everything based on records stored in
the Windows registry file, then goes looking for new stuff that wasn't
accounted for. The problem with this is twofold -- there's no way to
change anything pre-existing for optimization, and there's no mechanism
to react to missing or changed configurations (maybe you swapped the
position of two cards).

And Windows is ahead of most anything else out there, in this respect.
In Liunx, you're still dealing with pre-compiled drivers in the kernel,
and you're SOL if they're not around when needed. BeOS isn't quite so
primitive, but there are so few drivers around now, I really can't tell
if they're doing any sort of optimizations or not. 

It's frankly amazing to me, how some people cling to one aspect of the
Amiga system or another, and frankly ignore the fact that we did a damn
good job just about everywhere. From the hardware point of view,
autoconfig is TRIVIAL. Say that a few times, slowly. T-R-I-V-I-A-L.
Zorro II did the minimum necessary to get it right, I added a few very
small features to Zorro III to make it a bit better. PCI went two or
three steps further than that. The rest, friends and neighbors, is
software. And as the mighty have shown, over and over again (and still
not getting it right), this is not so trivial. 

» I know of the advantages PCI has on paper - but you always have to look
» at what is actually available, in the case of PCI there have been some
» developments that put PCI _behind_ Zorro3 (if you ignore the Buster
» problem).

Again, nonsense. There is NOTHING done in Zorro III that's not done
better in PCI. There is still stuff in Windows not done as well as it's
done in AmigaOS. Part of the problem with so many armchair quarterbacks
in this business is that they don't know the Amiga as a SYSTEM. A system
engineer understands both the software and hardware, because in fact,
until you get to implementation details, they're the same exact thing.
Hackers rarely learn this approach, it's even rare among professionals.
In fact, at my first job, I was one of about 10 new hires at General
Electric, the only people in the company even ALLOWED to touch both
hardware and software at the same time. In most places, it's hardware
vs. software. At Commodore, it was hardware, software, and chips working
together as a team. So when I say "it's the software", you really ought
to listen, then figure out why you couldn't figure that out, if you want
to learn something, not simply dwell on the past.

» There is a BIG difference between theory and practice. I though Mr
» Haynie had experienced this by now when devlopers at Phase5 as an
» example have shown him that his developments did NOT meet the
specificatoins he
» himself told people they would meet.

The people at Phase V, for the most part, simply showed me they didn't
know what they were doing. I did meet one Phase V guy, Thomas Rudloff,
who did know what he was doing, and I hired him for PIOS.

There have been some Zorro III bugs, but that's not a gigantic surprise.
And in fact, one of the problems with Zorro III leads to this -- it's an
asynchronous bus protocol. For those of you who haven't designed custom
chips, back in 1989 when I did the first Fat Buster I prototype, there
was no simulation technology available to properly exercise such a
design. When I started the Fast Buster II design in 1990, there was no
simulation technology available for this. Today, there still isn't. I
wrote about a third of the software used to verify the Buster designs,
but some of the problems really could only be found in practice. Which
was exactly the plan for Fat Buster II, except when the Ali/Sydnes
regieme took over in 1991, they cancelled the "Gemini" prototype, the
test vehicle for Fat Buster II. So we were stuck with Rev I (actually the
second revision of Fat Buster II -- since it was a replacement for Fat
Buster I, we kept the same gate array font number, so revs started with
H), which had a 6ns window in which an ongoing Zorro III slave cycle
could cause the Zorro III bus arbiter to lock up. I found this before
Phase V found it, told them about it as soon as they asked, and suggested
a work-around, which they implemented (you switch it off for Rev K, which
has this fix, and a few others to let A4000s actually work, timing-wise,
with the Bridgette chip, which doesn't meet original Zorro III timings,
another Sydnes-influenced problem). 
» 
» I am NOT saying that Zorro3 as we have it NOW is better. Please read my
» mail. I am simply saying that on a NEW board Zorro3 (in an enhanced
» version) could give us possibilities which the EXISTING PCI does not.

Such as? As in the last time I got into such a fairly uninteresting
conversation, you'll find no useful replies here. There's nothing,
nothing at all, that Zorro III will do better than PCI. Take this from
THE Zorro III guy -- I did every damn bit of Zorro III at Commodore,
with no help and precious little support (if Jeff Porter hadn't been
running things in the A3000 days, I suspect we wouldn't even have had
Zorro III, no one else in C= management gave a damn). 

» Mr. Haynie could also explain why people sell their PCI PC machines to
» buy a DRACO

They don't. You're dreaming. 

» So once and for all: It is not PCI that I want to REMOVE. It is the
» buggy current Zorro3 implementation (oops, sorry, Mr. Haynie, I forgot you
did
» this...)

Of course you didn't forget that I did Buster. What you seem to forget
is that I did all of Zorro III -- the specification, the first
controllers, the first cards. Of course the Buster chip was a problem,
though no worse, really, than Intel's first crack at a PCI controller.
Of course, they've had seven or so architectural generations to improve
on the controller. Zorro III got just the one, though the Level II chips
did at least finally implement the full set of Zorro III features, with
only one known bug left (three brownie points and a cupie doll to anyone
who knows it). The basic architecture is all wrong, but that's actually
intentional -- Zorro III wasn't designed to be a great match to the '030,
or to Commodore's 1989 gate array technology. Just as the CPU module
interface I designed in the A3000 was intended to hook in '040s using a
single, smart controller, Zorro III was designed to be run with a single
chip controller, not one hopelessly overdesigned 84-pin chip (using
one-hot state machines, all four edges of the two-phase 25MHz clock,
custom gate placement, and still sucking in performance), 10 TTL buffers,
and a PAL. Anyone interested in what a good Zorro III controller would
look like, check out the "Acutiator" specs on the "Haynie Archives",
http://www.thule.no/haynie, specifically, the EPIC chip. 

At best, a very good Zorro III implementation could approach about half
the performance of 32-bit, 33MHz PCI, IN THEORY. Practice, due to the
asynchronous design, would usually be less. Though with enough use of
early sizing, burst modes, and the pseudo-synchronous burst transfers I
added in the Zorro III Addendum (and the Rev K Buster chip), you might
get closer to that theoretical max than you can today. Real PCI systems
maintain a full 132MB/s transfer over long bursts today, so it's no use
looking at Intel's original 25MB/s-in-practice systems of the early 90s
or so and claiming Zorro could be better.

Don't get me wrong, I like what I did in Zorro III. There were plenty of
good reasons to build things that way, in those times. The whole of the
PC industry came up with EISA, which was very much their answer to Zorro
III. And in as much as the boys at Amiga, Los Gatos, gave me a better
foundation to work from with Zorro I, I made Zorro III better than The
Industry made EISA. Both with the same goals. In 1991, it was clear to
me that Zorro was just too expensive and too slow to power the main bus
of future (say, at the time, both '040, '060, and RISC) machines
designed in the highly modular configurations I had envisioned. I cooked
up a thing called the AMI bus (Amiga Modular Interconnect) to handle
this, Zorro could be bridged off AMI bus (in fact, if you read
"Acutiator", you'll see that). Apparently, Intel had the same ideas,
they introduced PCI in the Spring of '92. It was already about as good
as AMI bus, and designed for exactly the same job and the same level of
technology. When PCI was spun off as an independent industry standard,
it was crystal clear that was the way to go (which is why PCI replaced
AMI in the second draft of the Acutiator spec, some of which I actually
had a chance to write down before C= went to hell). 

» that I want to improve and get a BETTER bus out of it. What is
» bad about this idea?

Economies of scale. There will never be a market for Zorro III large
enough to drive Zorro III control chips to be as good, for Zorro III, as
their counterparts are today for PCI. Given the additional factor of PCI
being INHERENTLY better than Zorro III, performance-wise, and the fact
that PCI is basically a universal standard (eg, it's been adopted by PCs,
Macs, workstations, servers, industrial control, etc.), it would be
foolish to even bother. That's not to say you couldn't design a better
bus than PCI. But I am saying, Zorro III ain't it. 

» I am tired of this senseless discussion.

I agree that it's senseless, but not for your reasons. You need to learn
Zorro and PCI a bit better before understanding the real senselessness
of the situation. 

As for the economics, well, there certainly have been a few Amiga
companies, such as Phase V, calling for Zorro to be improved. This was
happening near the end of Commodore, when we had already announced to
developers that we would adopt PCI in the AAA generations (which, of
course, didn't make it out before Ali & Co. killed C=), perhaps with,
perhaps without Zorro III bridges, depending on the system. It came up
again when I was running the Power Amiga hardware project for Amiga
Technologies, when Phase V again went on about Zorro III. When you strip
off the hype, it all amounts to money -- they wanted to be a bug fish in
a small pond. With Zorro, you had to buy Amiga hardware from them,
regardless of the fact it was two years late and 600% more expensive
than a PCI card. With PCI on the AmigaOS, anyone could make the hardware,
or (as typical with PC-industry companies), simply package an OEMed card,
made in million quantity, with their customized software. Which
basically means a company with only software skills (never Phase V's
strong point) could be in the hardware business, selling stuff to the
Amiga market at PC-industry prices. Which was, in my opinion when in
charge of this kind of thing for C= and for AT, our OBLIGATION to bring
about for the user. 

» all - exepct for Sprites (which can be done better by software)

Well, more flexibly. Most hardware supports at least one sprite, for a
mouse cursor. Anything much more complex, and you're really better off
using BObs, since you'll run out of hardware sprites.

» or color cycling (hmmm)

That works just as well in a LUT-based SVGA or PCI-graphics (since most,
at their core, have no more to do with VGA than my fat cat "Boggins"
here by my feet) display color-cycles as well as any Amiga display. The
reason they didn't in 1985 is that the CGA displays of the day, like the
Commodore 128's display, used the only RGBI (4-bit digital) signal,
rather than analog RGB. There simply was no lookup, period. When VGA
first came out, it worked, as anyone who went to a Comdex, CeBIT, or CES
show and saw the first "This is NOT an Amiga" labels on PCs, doing weak
Boing! and other imitations. It didn't help matters that VGA, from IBM
and the first clones, gave CPU access so many wait states, color cycling
still wasn't as good as on the Amiga. But today, no sweat -- you get
full speed access to color registers.

» or dual playfields (which modern hardware doesn't
» really need since it is fast enough to create the same effect
» "manually").

Not really -- modern hardware tends to use Z-buffering, so you get
something between 2^16 and 2^32 depth values for a pixel, not 2 to 10.
Of course, that only works when hardware/software is fast enough to
re-render each frame afresh, which in these days of 10+ GOPS rendering
engines on everyone's $15 chip, it is. It was barely an option on a
professional workstation when the Amiga came out.

--
Dave Haynie  | V.P. Technology, PIOS Computer |  http://www.metabox.de
Be Dev #2024 | NB851 Powered! | Amiga 2000, 3000, 4000, PIOS One

2nd mail
To: Marc Albrecht «albrecht@act-net.com»
From: Dave Haynie «dhaynie@jersey.net»
Cc: Petr Krenzelok «Petr.Krenzelok@gate.trz.cz»
On Mon, 07 Sep 1998 09:51:48

jammed all night, and by sunrise was overheard remarking:

» Well, besides from him again proving he is GOD, he supports what I have
» said - in the part where he discusses Custom Chip issues.

» There are advantages of the Zorro design he seems to ignore - like
» vector IRQs,

PCI supports vectors too, just differently. With Zorro III, they're
vectored by the card, with PCI, they're vectored by the interrupt
controller. While it's true PCs put the interrupt controller on the ISA
bus, making this slower than it should be, that's only an implementation
detail, after all. For example, all CHRP machines, the BeBox, and other
workstations not concerned with PC compatibility have PCI-resident
interrupts controllers, full speed, full 32-bit, etc.

While there are certainly some advantages to self-vectoring ON PAPER,
they have yet to yield any fruit. I first used the Zorro III Quick
Interrupts on the A4091 SCSI controller, discovering a flaw in the
design in the Rev I Buster (again, do realize this was SUPPOSED to have
been all proven out with the Gemini card, a year before the A4000
shipped). I was able to work around the flaw for testing purposes, along
with the bus arbiter lockup, using some external logic. Know what? The
effect of the quick interrupts couldn't be measured. Yes, the vectoring
HAD to be faster than the software polling, but it couldn't be measured.
And things are much faster today.

» asyncronous design

In today's level of technology, this is considered a disadvantage, not
an advantage.

» Otherwise: he must be in the position to judge whether I am dreaming
» (well, he's God, so he _is_ of course) when I write what _resellers_
» tell me: there is a SLIGHT but recognizable drift away from PC stations
» to Amiga clones in the video sector because of handling.

What resellers? 95% of people doing video on computers today are doing
it on new machines, which aren't Amigas, because other than the very,
very few A4000s that QuickPak makes (before they entered bankruptcy
proceedings, they could sell 100 in a good month), there simply are no
new Amigas. Most new video work is done entirely in the digital domain,
which you can only touch upon with a fully tricked out Amiga, Toaster,
and Flyer combination. Or one of about 30 different PCI cards out there,
starting at $200 MSRP.

IF you want to do analog stuff, you're probably going to use an Amiga,
simply because neither PCs nor Macs were doing much with video back in
the days that analog was an acceptable solution. Having spent four
months making my "Deathbed Vigil" video using analog techniques, I can
speak very strongly against it. I could have done better work in a week
with the digital solutions available today.

» But again... I am too dumb, too stupid and I have never ever been able
» to understand anything that GOD (Mr Haynie) has done or said,

Hey, no one's claiming infallablity here, but it's pretty clear I did
design all this stuff, and ought to have a good idea about what's going
on. Part of my job has always been to know what's going on in the
business, that's the only way to answer that on the Amiga side of
things. I didn't stop doing that, learning about new things, etc. simply
because Commodore went under. Your reliance on satire rather than facts
here doesn't seem to speak the same about your research into the
industry.

» I am to argue with the eternal supernatural being he is?

Yeah, right. You argue the only way that ever works -- out of fact and
science, not superstition and religion.

--
Dave Haynie  | V.P. Technology, PIOS Computer |  http://www.metabox.de
Be Dev #2024 | NB851 Powered! | Amiga 2000, 3000, 4000, PIOS One