[comp.sys.mac.system] IIfx Serial Switch cdev, System 7, flow control...

dplatt@ntg.com (Dave Platt) (05/15/91)

A question or two for the Powers That Be: what's the actual truth
regarding the need for the IIfx Serial Switch cdev under System 7?

Background:  The IIfx serial ports are normally accessible only via the
serial IOP, via the serial drivers.  In the usual "faster" mode, the SCC
isn't accessible via the bus, and any attempt to access it generates a
bus error.

This causes problems for software which really does want to access the
SCC registers directly... in particular, sound-digitizer interface
software (for the MacRecorder, SID, CSD, etc.) will bomb if run on a
normally-configred Mac IIfx.

I've also noticed another characteristic of "faster" mode... it's
actually slower in one important case!  It seems that the serial IOP
takes a significant amount of time to "see" that an XOFF character has
been received, and to stop sending data.  This causes problems when one
is sending serial data to devices that use XON/XOFF flow control, and
which have only a limited amount of buffer space remaining when they
send an XOFF.  If the IIfx port is in "faster" mode, it will continue to
send data for some time after the XOFF is received... thus overrunning
the buffer in the serial device and causing a loss of data.  I own two
devices which get nailed in this way... a Paralink serial-to-Centronics-
parallel converter, and a USR HST Dual Standard modem.

Apple released a cdev which apparently sets a bit in the PRAM, so that
(the next time the machine is rebooted) the serial drivers and SCC are
configured to use a "compatible" mode, in which the SCC is accessible
via the bus, and (apparently) the serial drivers access the SCC directly
rather than via the serial IOP.  This permits the MacRecorder software
(and similar packages) to drive the SCC.  It also eliminates the latency
in XOFF processing (both of my serial devices work fine when my IIfx is
configured in "compatible" mode).

I've heard from a couple of sources (including, indirectly, the Apple
Answer Line) that the IIfx Serial Switch cdev "is unnecessary, as its
functions have been rolled into System 7."  I've also heard, however,
that it may be necessary to keep a copy of this cdev around "until
sensitive software is updated."

So... for those folks who know:

-  Just how has the functionality of this cdev been rolled into System
   7?  Is there a serial-driver call that an application can use, which
   means "Permit me to have direct access to the SCC"?

-  Has the problem with XOFF latency in "faster" mode been fixed in
   System 7 Golden?  [It still exists in 7.0FC1]

-  If I continue to use my copy of this cdev to configure my IIfx in
   "compatible" mode, will my SCC turn into a newt once I install System
   7 Golden?


  


-- 
Dave Platt                                                VOICE: (415) 813-8917
              Domain: dplatt@ntg.com      UUCP: ...apple!ntg!dplatt
 USNAIL: New Technologies Group Inc. 2468 Embarcardero Way, Palo Alto CA 94303

winders@aux.support.apple.com (Scott Winders) (05/15/91)

In article <422@goblin.ntg.com> dplatt@ntg.com (Dave Platt) writes:

> So... for those folks who know (regarding the IIfx Serial Switch):
> 
> 1.  Just how has the functionality of this cdev been rolled into System
>     7?  Is there a serial-driver call that an application can use, which
>     means "Permit me to have direct access to the SCC"?
> 
> 2.  Has the problem with XOFF latency in "faster" mode been fixed in
>     System 7 Golden?  [It still exists in 7.0FC1]
> 
> 3.  If I continue to use my copy of this cdev to configure my IIfx in
>     "compatible" mode, will my SCC turn into a newt once I install System
>     7 Golden?

1. None of the functionality of the IIfx Serial Switch is part of
System 7. If you have a program that needs to write directly to the
SCC chip, you will need to use the IIfx Serial Switch to turn off the
IOP.

2. As far as I know, the answer to this question is "no". I don't think
that it is fixable. Goinf through the IOP is going to be slower (in the
cdev, "Faster" should be called "Standard" and "Compatible" should be
called "Compatible and Faster").

3. The IIfx Serial Switch cdev seem to work fine with System 7.  Using
it should not cause any problems...

Scott Winders
internet: winders@aux.support.apple.com
AppleLink: winders.s@applelink.apple.com

nerm@Apple.COM (Dean Yu) (05/15/91)

In article <422@goblin.ntg.com> dplatt@ntg.com (Dave Platt) writes:
>A question or two for the Powers That Be: what's the actual truth
>regarding the need for the IIfx Serial Switch cdev under System 7?
>

  The Serial Switch INIT is no longer needed in 7.0.  The IOP drivers were
changed to allow programs that need the "compatible" mode to work now.

  -- Dean Yu
     Blue Meanie, Negative Ethnic Role Model, etc.
     Apple Computer, Inc.
     My opinions and so on and so forth...