Macintosh IIx: Lockup Caused By MIDI And SCC Chip Registers



System Configuration
--------------------
Macintosh IIx
Opcode Studio 3+ (MIDI interface)
Opcode Vision (MIDI sequencer software)
Digidesign SoundTools,
System Software 6.0.3.

My Macintosh IIx sends a constant stream of data from the serial port.
This affects the MIDI setup and creates a jam causing the MIDI devices and
software to crash.

My first Macintosh IIx worked for a couple of days, then everything
locked up. I returned it to the dealer and have the dealer's Macintosh IIx
as a loaner, but that computer has the same problem.

This issue centers on the SCC chip power-on configuration and the fact
that MIDI developers have had to bypass the Toolbox to write directly to
the SCC chip. With MIDI Management Tools, Apple has provided the
developers a MIDI toolbox to communicate to the serial ports without
directly addressing the SCC chip. Since the MIDI Management Tools are a
recent development, most existing MIDI programs still talk to the hardware
directly.

Prior to Macintosh computers using the 68030, the contents of a
particular register of the SCC chip had a power-on default of zero.

(NOTE: This one register will be the only one discussed, but there are
other registers in the SCC.)

Starting with the Macintosh IIx, the register's power-on state may be set
to something other than zero. This appears to be a random event. The
Opcode utility (provided as a startup document, also known as an INIT)
assures that the setting of the Macintosh SCC register is set to zero.

Some known sequences of events that reset the register of the SCC are:

- The Opcode INIT correctly sets the register's value at startup;
printing takes place via a serial port; printing resets SCC register to
something other than zero; SCC chip sends random data stream out the
serial port; MIDI attempts to interpret the data stream as MIDI packets;
everything connected to MIDI becomes confused (for example, locks up or
crashes). Alternatively, nothing is sent out the serial port.

- AppleTalk, when it is turned on, changes the setting of the SCC
register and sends AppleTalk packets; MIDI attempts to use those
packets; this confuses all devices listening to the packets (for
example, locks up or crashes). It is reported that Font/DA Juggler and
Master Juggler are known to occasionally turn on AppleTalk.

To be sure that all works correctly, the following items need to be
watched. These items assume that the Opcode INIT is in the System Folder
of the startup disk.

- If any printing takes places after powering on and before a MIDI
application is used, the SCC register may be in an incorrect setting for
MIDI. Not printing prior to launching a MIDI program assures that the
SCC's register configuration is proper.

- If AppleTalk is turned on before MIDI is used, the SCC registers are
likely to change and, thus, may cause lockups to occur in MIDI devices.
This includes: AppleTalk off at startup, turned on, turned off; or
AppleTalk on at startup, then turned off. Restarting with AppleTalk
inactive, and not activating AppleTalk prior to MIDI usage, should allow
the MIDI session to run smoothly.

- (This is not verified but has some logical merit, so it may provide a
workaround.) Launching MacTerminal and quitting has been reported to
clear the lockups experienced on MIDI devices. This apparently sets the
SCC's register to zero, which is the setting MIDI wants. One user with
Southworth Music System's Jambox, a MIDI interface, uses the Jambox DA
to clear the lockups. Both of these solutions seem to work due to their
interaction with the SCC's register.

- It is also possible that a faulty SCC chip is on the logic board of the
computer; however, with the situation appearing on two separate
Macintosh IIx computers, it is unlikely that you are experiencing faulty
hardware.


Published Date: Feb 18, 2012