On Mar 19, 2012, at 12:33 AM, Ethan Dicks wrote:
On Sat, Mar 17, 2012 at 10:17 PM, Mouse <mouse at
rodents-montreal.org> wrote:
Isn't that the chip Sun used on most of their
SPARCstations?
Yes, and on most/all 68K Macs.
And the OldWorld PowerPC Macs.
If so, I
disagree in at least a few respects. I *think* it has basically no
FIFO...
It has no FIFO. It came from an era before serial chips routinely had
FIFOs, but I've used it at 56K and faster with no problems - your CPU
just has to keep up, which I know was a problem in the DOS era with
8250 and 16450 serial chips.
I thought it had a very tiny FIFO on receive (maybe 2 or 3 deep?). I'm
pretty sure the "enhanced" SCCs (85230 and up) had larger buffers. I
haven't seen them used in the wild in many places, though admittedly I
haven't looked much. The Mac architectures at various points used:
- Real Z8530s (or second-source replicas)
- Real AM85C30s
- An AMD 85C80 (an unholy hybrid of an AM85C30 and a 53C80 SCSI
controller; I have some in my various LCs)
- IP cores of the 85[C?]30 integrated along with 6522 VIA cores in the
custom chipset ICs
As far as I know, none of these were enhanced parts. The Mac OS kept up
with them OK, though I certainly recall LocalTalk taking up significant
processor time on local machines because the 68K architecture didn't
really "do" DMA (among other reasons).
Also, to
quote NetBSD's z8530reg.h (version 1.12, in case
anyone cares),
* The damnable chip was designed to fit on Z80 I/O ports, and thus
* has everything multiplexed out the wazoo.
That is true. It _is_ possible to stick it on a 68000 bus, but some
glue logic, including, possibly wait-states or careful driver crafting
may be required.
One thing that complicated _our_ design was that we
started using the
Z8530 very early in its evolution, so we were hanging either a 4MHz or
6MHz part off of an 8MHz 68000. We had to inject wait states (via
registered PALs and /DTACK, IIRC) _and_ we had to ensure we didn't jam
up the inner workings of the Z8530 by hitting the registers too fast.
We had NOPs in the driver between selecting and using the registers.
Perhaps 8MHz parts would be easier to use now.
The original Mac had the same issue, it would seem; there are bits in
the original Inside Macintosh which warn that if you absolutely must
talk directly to the SCC instead of using the Toolbox drivers, you need
to add NOPs to the access (or access twice, I don't quite recall).
The 68000 had an interesting 6800 bus emulation mode for accessing
legacy peripherals at around 1MHz. I'm not sure if the original Mac
used it, but there's a simplified one-page schematic on
folklore.org
somewhere if you wanted to find out. Do you know why your company
didn't use that? Or if so, why it didn't quite work?
Once we worked out what was needed, it was a solid,
reliable chip, but
I will admit that our embedded application guys did have a few fits
trying to port front-end code from the older models that expected a
minimal-option simple chip like the COM5025.
I like the 8530, but it's definitely not a simple chip. Its popularity
is evidenced by the fact that you can still buy IP cores of it (I think
its popularity is mostly with folks that need SDLC, which some of our
customers do for legacy radio protocols).
- Dave