Ant <a...@zimage.comANT> wrote:
> On 9/18/2012 5:55 AM PT, David Stone typed:
>
> >> > There are no 64-bit compatible drivers for it, so it's useless. Unless
> >>> you can write the drivers. Toss it.
> >>
> >> Oh well. Not even old 32-bit Mac OSes? I guess it is only good for
> >> non-Mac computers. Thanks anyways. :(
> >
> > In your (Ant's) original post, you did say "Mac OS X 10.7.4"...
> >
> > You could try hooking it up to something running 10.5.x or 10.6.x
> > (as long as Rosetta is installed), but you didn't ask about those
> > versions!
>
> Aren't those only 64-bit too?
The short version:
10.6 sometimes (depending on the Mac model and settings). 10.5, no as
far as drivers are concerned. Rosetta is not relevant as far as drivers
are concerned, but might be if there are support applications.
The long version:
A 32-bit Intel processor (Core Solo/Duo) can only run 32-bit code.
A 64-bit Intel processor (Xeon, Core 2 Duo, Core i3/i5/i7) can run both
32-bit and 64-bit code.
Hardware drivers for things like modems run as extensions in the kernel,
and must support the mode in which the kernel is running (32-bit or
64-bit). If you have a 32-bit-only driver and your kernel is running in
64-bit mode, the driver is not able to be loaded. Most current drivers
have both 32-bit and 64-bit code, but older ones are 32-bit-only.
(Drivers supplied with/for Mountain Lion and later OS X versions might
be 64-bit-only.)
Applications can be 32-bit or 64-bit independently of the kernel mode,
as long as the OS supports 64-bit applications.
Here is a detailed breakdown of the OS X version capabilities:
10.4.x is mostly 32-bit, but if you have a 64-bit processor, it can run
some limited 64-bit application code at the underlying Unix level (e.g.
command line tools in Terminal, but not 64-bit GUI applications).
10.5.x adds the ability to run 64-bit GUI applications, but the kernel
is still 32-bit.
10.6.x adds support for 64-bit kernel on some 2008 and later 64-bit
Macs, but most models default to 32-bit kernel. Most servers and some
2011 models default to 64-bit kernel. On models which are able to run
the 64-bit kernel, you can choose to run that instead of the 32-bit
kernel via a keyboard command at startup, or persistent settings in
NVRAM. The same methods can be used to force running the 32-bit kernel
on models which default to the 64-bit kernel.
10.7.x requires a 64-bit processor, extends 64-bit kernel support to
more Macs, but some older models still only support the 32-bit kernel
(due to having integrated graphics which only has 32-bit drivers, or
having 32-bit firmware which is unable to support the 64-bit kernel).
10.7 defaults to 64-bit kernel for all models which support it. You can
choose to run the 32-bit kernel via a keyboard command at startup, or
persistent settings in NVRAM.
10.8.x excludes models with older graphics hardware or 32-bit firmware,
which means all supported models can use the 64-bit kernel. The 32-bit
kernel has been removed.
If your modem has a 32-bit driver, and assuming it has no other version
dependency issues, it could work on 10.4 and 10.5, could work on a fair
number of Macs running 10.6 (all of them by forcing 32-bit kernel mode),
could work on a few Macs running 10.7 (all of them by forcing 32-bit
kernel mode), and it won't work at all on 10.8 or later.
> What's Rosetta?
Rosetta is a code translation engine written by Transitive (now owned by
IBM), which Apple licensed and included in Mac OS X on Intel Macs. It
allows Mac OS X applications written for the PowerPC processor family
(used in Macs until 2006) to run on a Mac with an Intel processor (2006
and later).
Rosetta works by translating all PowerPC code into equivalent Intel
code, which is then able to be executed by the CPU. It operates on an
"entire process" basis: all code invoked by a PowerPC applications
within the same process must also be PowerPC code, so libraries and
frameworks included with the operating system must have PowerPC code to
be used by PowerPC applications. Similarly, all plugins and printer
drivers must include PowerPC code to work with PowerPC applications.
Rosetta does not extend to the kernel itself, so PowerPC-only drivers
cannot be used on an Intel Mac.
Rosetta was included in Mac OS X 10.4, 10.5 and 10.6. It is not in OS X
10.7 or later, so recent and future OS X versions are unable to run
PowerPC code.
Apple haven't said why they removed Rosetta starting in 10.7, but my
speculation is that it was mainly due to licensing: when IBM bought
Transitive, they stopped supplying the code translation engine to other
companies and reserved it for their own use (converting other
architectures to run on IBM's POWER architecture). Apple's licence to
use Rosetta probably lasted until 10.6, and would have needed to be
renewed for later OS X versions. IBM may have been unwilling to renew
the licence at all, or at least not for what Apple regarded as a
reasonable price.
Another factor is that the elimination of Rosetta meant Apple could
eliminate all PowerPC code they were having to maintain in the libraries
and frameworks that make up a large portion of OS X. This saved a fair
amount of space and development effort, so Apple might have not wanted
to continue supplying Rosetta anyway.
It is not possible for anyone other than Apple to reinstate Rosetta in
10.7 or later, because only Apple has the source code to the libraries
and frameworks that would need to have PowerPC code in order to run
PowerPC applications.
By the way: please don't post the same message to so many Mac
newsgroups. Your message is likely to be ignored as spam if it is
excessively cross-posted, and it is even more irritating if you post it
separately to several groups, as that results in a fragmented
discussion. Pick one, maybe two, or at most three relevant groups and do
a single cross-post to those groups.
In this case, comp.sys.mac.apps was never an appropriate group for this
topic, and you should not use comp.sys.mac.misc if also posting to other
comp.sys.mac.* groups. The most appropriate groups would be
comp.sys.mac.comm and comp.sys.mac.system, so I've pointed followups
there. (comp.sys.mac.hardware.misc is arguably relevant, but not
necessary as there is a specific group for communications.)
Please also note that the "comp.sys.mac.systems" group you have been
posting to does not exist in the list of official newsgropus. If it
appears on your news server, that is an error and you should avoid using
it, because it will not be distributed to news servers which are
following the official list. The correct name is "comp.sys.mac.system".
--
David Empson
dem...@actrix.gen.nz