From: shigeya@foretune.co.jp (Shigeya Suzuki)
Subject: Re: MIDI with PowerBooks
Followup-To: fj.comp.music
Organization: Foretune Co., Ltd.  Tokyo Japan
Distribution: fj
Date: Sun, 16 Aug 1992 03:47:56 GMT

$B$7$2$d!w(BPowerBook 170$B%f!<%6$G$9(B

>>>>> On Sat, 15 Aug 1992 20:57:00 GMT, t90576ky@sfc.keio.ac.jp (Kenji Yasaka) said:

Kenji>   $BLp:d(B@$B7DXf5A=NBg3X(BSFC$B$H?=$7$^$9(B$B!#$9$G$K2?2s$+OCBj$K$J$C$F$$$k$3$H$+$b(B
Kenji> $BCN$l$^$;$s$,!"2a5n$N5-;v(B$B$,;D$C$F$$$J$$$N$G<ALd$7$^$9!#@hF|!"G04j$N(B
Kenji> PowerBook$B$r9XF~$7$F$-$?(B$B$N$G$9$,!"%7!<%1%s%9%=%U%H$,F0$+$J$/$F:$$C$F$$(B
Kenji> $B$^$9!#(BPowerBook$B$O(B140 4/40$B$G!"%7%9%F%`$O(B7.0.1-E$B$G$9!#%=%U%H$O!"(BEZ
Kenji> Vision$B$H(BVision1.32A$B$G(BOMS 1.1.2$B$r(B$B;H$C$F$$$^$9!#$"$H!"%$%s%?!<%U%'!<%9$O(B
Kenji> Passport$B<R$N(BMIDI Interface$B$H$$$&(B1in 3out$B$GEE8;$rI,MW$H$7$J$$4JC1$J$d$D(B
Kenji> $B$G$9!#%a!<%k$G$b$+$^$$$^$;$s(B$B$+$i65$($F2<$5$$!#$h$m$7$/$*4j$$$7$^$9!#$G(B
Kenji> $B$O!#(B

$B;d$O(B *$B$^$@(B* PowerBook170$B$G(BMIDI$B$7$F$J$$$N$G>\$7$/$O$J$$$N$G$9$,!"(B
PowerBook $B$K$*$1$k(BMIDI$B$K$D$$$F(B$B$^$H$a$?$b$N$,$"$j$^$9!#:G8e$K$D$1$F$*$-(B
$B$^$9!#(B

$B$?$@$7!D!D:G6a(B140/170$B$G(B$B$N(BMIDI Driver$B$N=q$-J}$K$D$$$F$N(BMacintosh
Technical Notes(#318)$B$,=P$?$N$G!"$=$N$&$A(B$B3F<R$,BP1~$9$k$N$G$O$J$$$G$7$g(B
$B$&$+!#(B

TN#318$B$K$b$"$j$^$9$,!";DG0$J$,$i(B$B8=;~E@$G$O%7%9%F%`%l%Y%k$G(BApple$B$,BP1~(B
$B$G$-$k$b$N$G$O$J$$$h$&$G$9!#(B

ftp.foretune.co.jp:/ftp/pub/Mac/PowerBook/MIDI $B$N2<$K$G$b!"(BTN#318$B$H$H(B
$B$b$K$3$N%U%!%$%k$r(B$BCV$$$F$*$-$^$9!#(B

shigeya

PS. $B4VH4$1$J$3$H$K!"$3$N%U%!%$%k<+BN$O(BCompuServe$B$N(BMIDI$B%U%)!<%i%`$+$i;}$C(B
$B$F$-$?$b$N$G$9!#$7$?$,$C$F!"(BInternet$B$N$I$3$G<j$K$$(B$B$l$?$H$+$$$&$N$OITL@(B
$B$G$9!#C/$,$4B8$8$N$+$?$$$i$7$?$i65$($F2<$5$$!#(B


------------------------------

The following was forwarded to me by a friend on the Internet. Relative 
to the current discussions about PowerBooks and MIDI that I've seen here
in the MIDI forum, I thought others might be interested. I can't vouch for
any of the results reported, but the author *seems* thorough based on
what he has written.

Regards,
--Joe Buczek  [71320,2067]
------------------------------------------------------------------
From: Nick Rothwell <nick@dcs.edinburgh.ac.uk>
Subject: PowerBook/MIDI: Some Results...
Via: dcs.edinburgh.ac.uk; Wed, 24 Jun 1992 13:34:44 +0100
 
It seems that there is a fair amount of misinformation floating around
about whether the PowerBooks can do MIDI at all reliably (it seems to be
generally agreed that they aren't *totally* reliable), about whether
running MIDI Manager fixes the problems, about whether it's hardware or
firmware, about whether Apple will fix the problem, about whether Apple
know about the problem, and so on and so on. In an effort to lay at least
some of this to rest, I've just done a few hours' worth of testing on my
machine. Configuration as follows:
 
        PowerBook 140 8/40
        MIDI Management Tools 2.0.1
        Opcode MIDI System 1.1.3
        Performer 3.64 (earliest version claiming to be PowerBook-savvy)
        Anodyne 2.0d5 (my MM-compatible generic editor/librarian)
        MAX 2.2
 
Now, where are my notes...
 
PERFORMER, NATIVE DRIVERS, REST mode off (see below): Dense controller
traffic (fast movement of WS pitchwheel and vector joystick): seemed fine
(slider refresh and MIDI echo), although frame errors aren't reported by
Performer. Some "breathing" behaviour: slight lags in echo about twice a
second. Breathing also occurs on SE/30, so it seems to be a problem with
Performer's own drivers.
 
Performer seems not to disable REST mode when running. (FYI, REST is one of
the power-saving options of the PowerBooks. When the machine is idle for a
few seconds (no keyboard input, mouse movement or peripheral activity,
basically) the CPU is clocked down to 1MHz.) This causes jerkiness, both
cosmetic and in MIDI echo. Fixed by disabling the mode. AppleTalk didn't
cause any obvious problems.
 
Dense note traffic and thick chords: no obvious problems, no stuck notes.
 
Dense, short (11-byte) SysEx traffic from a PG-1000 to Performer:
Corruption of perhaps 1% of the messages. (Ditto on SE/30.) Slightly worse
on printer port. Sparse 11-byte SysEx messages seemed fine, but I didn't
generate a great many of these.
 
Sparse, 300-byte SysEx from Wavestation to Performer: corruption of 25% of
messages with REST on, 10% with REST off.
 
Sparse, 3000-byte SysEx messages: 100% corruption rate, even with REST off.
 
MIDI MANAGER, APPLE MIDI DRIVER: Dense controller traffic seemed fine
(though Performer doesn't report MM framing errors at all). Smooth update
and MIDI echo, with no breathing problem as above. MIDI Manager seems to
disable the REST mode and turns it on again when exiting.
 
Dense note traffic and thick chords: no obvious problems, no stuck notes.
 
(SysEx tests in Performer are rather pointless because Performer cannot
properly handle MIDI Manager continuation packets, so the readings from
Anodyne and MAX are more realistic.)
 
Dense, 11-byte SysEx from PG-1000: 1% corruption. (Duplicated on SE/30, so
a Performer problem.) I suspect most MIDI Manager overruns would cause the
entire message to be thrown away as it would be a single packet in most
cases, so I probably missed most of the errors.
 
300, 3000-byte SysEx to Performer: large amounts of corruption. Again, I
don't trust Performer.
 
3000-byte SysEx to Anodyne: FAILED on all attempts, with MIDI Manager
reporting SCC overruns. (I consider this a reliable result - it's my code
after all - and I report all errors from MIDI Manager.)
 
MIDI MANAGER, OMS DRIVERS: Controller info, dense: OMS reports overrun
every 1-2 seconds.
 
Dense note info: fine, although OMS reports overruns if modwheel added.
 
11-byte SysEx to Performer: overruns reported, same results as above.
 
300, 3000-byte SysEx to Performer: overruns reported, 100% corruption.
 
3000-byte SysEx to Anodyne: FAILED on all attempts, overruns reported both
by OMS and MIDI Manager.
 
Tests on SE/30 with OMS: corruptions in Performer as noted above. No
overruns reported anywhere. Anodyne SysEx operation flawless.
 
MAX: 11-byte dense SysEx traffic. Fine (and uncorrupted) on SE/30, overruns
(and corruption) on PowerBook. 300-byte SysEx traffic: Fine (and
uncorrupted) on SE/30, overruns (and corruption) on PowerBook. 3000-byte
SysEx traffic: Mostly fine on SE/30, but could overrun MAX's patchers if
too dense (though no OMS overrun reports). Overruns (and corruption) on
PowerBook from what I remember.
 
OUTPUT TESTS: Well, I used the PowerBook onstage and it was fine as a MIDI
source, ditto for several weeks of rehearsals. However, it's my belief that
it will FAIL if driving a MIDI Time Piece in FAST/1X mode since that
requires handshaking which can get lost. I had one hangup when testing
this, and I believe this was the reason.
 
POWERBOOK 100, MIDI MANAGER: I had absolutely no problems with this,
sending or transmitting, regardless of the software (didn't have OMS and
MAX at the time, just Performer, MIDI Manager, Apple MIDI Driver, Anodyne).
 
THE BOTTOM LINE(S):
 
        o PowerBook 100 under MIDI Manager seemed faultless.
 
        o PowerBook 140 doesn't work. Dense traffic causes overruns and
          corruption, regardless of message length (i.e., true of
          non-SysEx MIDI channel messages as well). Sparse, non-SysEx
          traffic seems fine. However, I had problems with MAX even
          here, so I suspect that it's a probabilistic thing.
 
        o Performer 3.64 can't do SysEx at all reliably.
 
        o Performer 3.64 doesn't disable REST mode when using its
          own drivers.
 
        o Performer doesn't report MIDI Manager transmission errors.
 
MY HYPOTHESIS is exactly what it was three months ago, as follows: The
PowerBooks (at least the 140 and 170) get interrupts disabled for 1msec or
so every now and then. Bytes will arrive at the SCC in the meantime (at
.3msec frame time ea) but the SCC has limited buffering capacity (3
bytes?). MIDI will arrive and be dealt with reliably if there are no more
than around 3 bytes at full bandwidth. 4 bytes or more (such as SysEx, or
MIDI channel with realtime) will cause corruption at, what, 0.1% risk per
byte or so, increasing as the messages get longer and risk falling over the
PMS poll period. (That's a bit of a guess and I'll let you apply the
appropriate stochastic analysis.)
 
VERDICT: PowerBook 140 and 170 don't work for MIDI.
 
Nick.
--
$B$9$:$-$7$2$d(B
shigeya@foretune.co.jp