imacintel said:
Man, am I getting shelled. I just don't find a point for it. I understand the fact about different source code for chipsets, but in Windows you dont need different software for AMD, Intel or VIA chips.😕 Maybe its because they've used PPC for sooolong.
Not different source code. Different object code. Object code is what source code is converted into so that the CPU can execute the program. A broad overview is that a developer writes source code, the source code is passed through a "compiler" which converts the source code into object code. The object code is packaged up and shipped to customers. Object code is expressed using a particular set of machine instructions.
The instruction set for one family of CPUs is not compatible with the instruction set from another family of CPUs. That is, there is a PPC instruction set that is only understood by a PPC CPU. There is an Intel x86 instruction set that is only understood by Intel CPUs and intel compatible CPUs. The SPARC instruction set is only understood by SPARC processors. The same goes for all other processors, ie that a processor implements a specific instruction set.
The reason why Intel, AMD, ViA and other compatible chips are compatible is that they are all designed to implement the same instruction set. (This is not completely true, since AMD regularly add extensions to their instruction set that Intel do not implement, but it is close enough for this discussion.)
Source code gets compiled to object code. It is this object code that is sold as an application like Photoshop. Since Photoshop has not been released for OS X using the Intel instruction set there would be no way to run Photoshop on the Intel Macs yet.
Rosetta is an application that does real-time translation of PPC instructions into Intel instructions. This means that an Intel CPU + Rosetta is able to run a PPC compiled version of Photoshop on the Intel Macs. So, if all the applications you use are compiled for an Intel instruction set then there is no need for Rosetta. For most people, they need to run a combination of PPC and Intel compiled applications for the time being.
A "Universal" application is an Apple term for an application that has been compiled to the Intel instruction set and compiled to the PPC instruction set. Traditionally, compiling an application for two instruction sets would result in two applications, one for PPC machines and one for Intel machines. This would potentially cause confusion since consumers wouldn't know which version of the application to buy for their machine. To avoid this, Apple devised a way to package both the PPC object code and the Intel object code into a single application file. This combined package is a "Universal" binary. When a universal binary is executed on an Intel machine the PPC object code is ignored and when it is executed on a PPC machine the Intel object code is ignored.
I hope this goes some way to resolving your confusion.