"Inside Macintosh, Volume II" (Addison Wesley, ISBN #0-201-17737-4) does
NOT state that 38.4K is not supported in hardware. It DOES show that a
predefined constant has not been created for the speed.
In other words, the constant "baud38400 = 1" is not part of the serial
driver's implementation. This is not indicative of the serial driver's
capabilities. By setting a serConfig to the correct value and using the
SerReset function, the serial driver is able to use the 38.4K speed.
Developer Support indicates that the correct value for 38.4K speed is 1.
The values of the various speeds are derived from the way bits are set in
the serConfig variable of the SerReset function (discussed on page II-250
of Inside Macintosh). A table representing these variables looks like
this:
Bits: Actual Baud Constant
64 32 16 8 4 2 1 Value Rate Name
-- -- -- -- -- -- -- ------ ------ ---------
0 0 0 0 0 0 0 = 0 = 57600 baud57600
0 0 0 0 0 0 1 = 1 = 38400
0 0 0 0 1 0 0 = 4 = 19200 baud19200
0 0 0 1 0 1 0 = 10 = 9600 baud9600
0 0 0 1 1 1 0 = 14 = 7200 baud7200
0 0 1 0 1 1 0 = 22 = 4800 baud4800
0 0 1 1 1 1 0 = 30 = 3600 baud3600
0 1 0 1 1 1 0 = 46 = 2400 baud2400
0 1 1 1 1 1 0 = 62 = 1800 baud1800
1 0 1 1 1 1 0 = 94 = 1200 baud1200