Discover great deals on apple desktops, notebooks, and parts.

68K, Mac

The Mac 68K emulator was a software emulator built into all versions of the Mac OS for PowerPC. This emulator permitted the running of applications and system code that were originally written for the 680x0 based Macintosh models. more...

Home
Apple Components
Apple Desktops
68K, Mac
Apple eMac
Apple iMac
Apple Mac Mini
Apple Power Mac
Apple Servers, Xserve
Apple Drives, Media
Apple Input Devices
Apple Laptops, Notebooks
Apple Monitors/Displays
Apple Networking
Apple Parts & Accessories
Other Apple Products
Printers, Scanners & Ink
Vintage Apple/Macintosh
Wholesale Lots

The emulator was completely seamless for users, and reasonably seamless for programmers. It is thought that this aspect of the Mac OS is the first time that such a dual hardware architecture operating system had ever been successfully implemented. It was primarily developed by Eric Traut, who later worked on successful emulation projects such as Connectix Virtual Game Station and Microsoft Virtual PC.

All versions of this emulator emulated the 68LC040 chip instruction set. Early versions emulated it in a simple fashion where each instruction was carried out by a series of equivalent PowerPC instructions. Later, a dynamic recompilation emulator was used, to boost performance. This worked by "recompiling" common sections of 680x0 code into faster sequences that were locally cached. The emulator could recognise the same sequence of 680x0 code, and run the previously cached code to avoid doing the translation again. This emulator was capable of emulating the 68LC040 faster than any real 68LC040 was capable of running.

One reason that this emulation was so successful is that many of the APIs for the Mac OS were originally implemented as traps on the 680x0 processor - calling an API actually was recognised by the 680x0 as an error condition, which would cause it to handle that error through one of its hardware vectors, which in turn would look up and run the operating system routine from ROM or RAM. In the emulator, such traps could be replaced by native PowerPC code, so the only code being emulated was the application itself - any system API it called could be accelerated with native PowerPC code. It also allowed Apple time to port the OS to the PowerPC - at first only time critical aspects were rewritten in native code, leaving much of the OS emulated. Gradually most of the OS was rewritten to be native, so the OS got faster over time.

For the programmer, the transition to the PowerPC was made fairly painless, as the emulator was started and stopped automatically. This was achieved using a new type of pointer called a Universal Procedure Pointer (UPP). For 68k code, this pointer was just an ordinary pointer - such code would already be running on the emulator so a call to another piece of 68k code via a pointer just continued as normal. This backwards compatibility with existing object code was vital to the success of the scheme. For PowerPC code, or 68k code calling PowerPC code, the pointer actually led to a special data structure, which contained a special trap instruction and flags indicating the instruction set architecture (ISA) of both the caller and called code, and could be passed to the CallUniversalProc() function to trigger actual execution. CallUniversalProc() then dealt with details such as presenting passed parameters in the right order for the ISA in question, as well as starting and stopping the emulator as required. The compilers for Mac OS created such UPPs automatically when the proper macros were used, and the PowerPC system libraries contained native stubs to transparently call through to native or still-68k functions as needed, so dealing with the dual architecture required very little work for the programmer. And just like the OS, applications themselves could mix and match 680x0 and PowerPC code fairly easily.

Read more at Wikipedia.org


Apple PowerMac G5-1.8ghz Dual 2Gb 160 Combo Warranty!! $549.00 Apple iMac G4 17 Lcd Display replacement Lm171W02 A4 $149.99
Apple eMac G4 700Mhz Cd-Rw/512Mb/ 40Gb/ Mac Os X 10.1.5 $89.99 Apple Power Mac G4 800 Quicksilver 512 40 Os10.4+Extras $139.99
Apple Powermac Mac G4 400 128mb Ram Cd Gr8 Cond $22.50 Apple eMac G4 - 1Ghz 512Mb 60Gb Dvd $49.99
Apple Graphite iMac 700 mHz, 1 Gb Ram, 60 Gb Hd, Cd-Rw $19.95 Apple Power Mac G5, Dual 1.8 Ghz, 8 Gb Ram, 150 Gb Hd $500.00
Apple Powermac G5 Dual 2.0ghz-1 Gb Ram-160 Gigs-Dvdrw $675.00 Apple Mac Mini with Ram Bonus! $1.00
Apple Computer iMac G3 333/32/6 Used Complete Blueberry $35.00 G4 Mirror Door Mdd Dual 867 Ghz 2 Gb Ram 200 Hd Super $49.00
Apple Mac Mini 1.66Ghz Intel Core Duo, a full 2Gig Ram $199.99 Apple iMac 20"Widescreen 2.66Ghz 320Gb Brand New Sealed $1,199.00
Apple Imac M6498 $19.99 Blu-ray 8-core Mac Pro $5,000.00
Imac G4 1.0 Ghz 512 80 Super Drive 17 Inch Disply Wrnty $279.99 Apple iMac G3 500Mhz Cd-Rw/256Mb/ 40Gb/Mac Os X 10.1.5 $69.99
Apple G4 eMac 800Mhz 512Mb Cd-Rom 40Gb Leopard $89.99 Apple G4 eMac 1.42Ghz 512Mb Combo Drive 80Gb Leopard $174.99
Apple iMac Snow G3 600Mhz Slot Load 256Mb Ram 40Gb Hd $54.99 iMac 3.06 Ghz Intel Core2Duo 4Sdram 500Gb 24in, Extras $999.00
New Apple Mac Mini 2.0Ghz Core2Duo,1gb,120gb,SuperD rive $1.00 New, Sealed 24" iMac 3.06Ghz, Nvidia, 500Gb Not $2199 $1.00
New Apple iMac 2.66 Desktop 20" Display Mb324Ll/A $1,345.95 Apple iMac G5 Desktop with 17" Ma063Ll/A & A Freebie $549.00
Apple Mac Mini 1.8 Core 2 Duo 3Gb Ram, Current Model! $300.00 Apple Mac Mini Core Duo $99.95
G4 QuickSilver Dual 1Ghz /512 / 60/ Dvd-R / 10.4 $259.99 Mac G4 Cube $10.00
Apple G5 Dual 2Ghz 10gbRam 250gb_Cinema Display_Cs2 Mac $1,189.00 Apple Mac Pro 2.8 Ghz 8 4*300Gb Sas Mac Pro Raid -Save! $6,999.00
imac G5 PowerPc, 1.6 Ghz, 80 Gb, Cdrw/Dvdr Superdrive $400.00 PowerMac G5 1.8 Ghz $399.00
Apple G4 Quicksilver Computer with Apple 15"Dvi Lcd $205.00 Apple Mac Mini. 2.0Ghz. 160G.Great condition. $100.00
Apple Iigs | Computer Very Nice Condition $34.95 Apple Iigs | Keyboard and Cable Mint $19.95
Apple Iigs | Monitor Mint Condition $24.95 Apple Iigs | ImageWriter Ii Printer Nice Working $24.95
iMac computer system 1.2 Ghz - Loaded $295.00
Click to see more 68K, Mac items
Prices current as of last update, 11/21/08 10:26pm.


Home Contact Resources Exchange Links eBay