|
发表于 2005-9-9 18:37:04| 字数 3,369| - 中国–广东–广州–番禺区 电信/南沙区电信
|
显示全部楼层
Maxxuss, Sep 5, 2005
This is the 5th version (v0.5) of my Patch solution.
It's now SSE3->SSE2 and Anti-TPM all-in-one:
1) SSE3->SSE2 solution: Mac OS X SSE3->SSE2 Runtime Patcher & Emulator, directly in the kernel
2) Anti-TPM solution: Rosetta Patch (oah750/oah750d), which circumvents the TPM copy-protection in a clean way.
You can install only 1), only 2) or both patch sets.
Use the included script "install.sh" to install the files (with a backup), and/or to restore the original files. The installer also prints a lot of information.
Description for SSE3->SSE2 Solution
This is a hybrid solution for running Mac OS X/Intel and especially Rosetta under SSE2-enabled CPUs. You don't need SSE3 anymore.
Technical Info:
It is hybrid, since it uses a three-fold approach:
1) Rosetta's SSE3 instructions (MOVDDUP) are patched at runtime to more-or-less equivalent SSE2 instructions (MOVQ).
2) Relevant system files (CoreGraphics, oah750, libSystem.B.dylib) are pre-patched to enable fast execution speed (emulation is always slow!). I replaced SSE3 instructions (FISTT) with their more-or-less equivalent SSE2 analog (FIST).
3) SSE3 instructions, which raise an "Illegal Instruction" exception are specially treated:
3.1) FISTT instructions are 100% emulated by the kernel.
3.2) All other (unknown) SSE3 instructions are skipped.
Please note 3.1): This is rather important, since 2) "Pre-patched files" did not contain all files with SSE3 FISTT instructions in it. So 3.1) ensures that these will be handled, too.
Description for Anti-TPM Solution
This solution contains two patched files, oah750 and oah750d. The patch suppresses the TPM-related checks which are built into Rosetta (file "oah750") and it's background process "oah750d". By installing this patch, there won't be any Rosetta-related crashes anymore, hopefully.
Technical Info:
oah750d is responsible for caching transformed code, so it is really required for executing PPC-native code. Another task of oah750d is TPM related verifications on behalf of a executing Rosetta-powered program, e.g. ATSServer or iTunes. I've put the main part of my patch into the oah750 file, so that it will not call oah750d for TPM-related requests anymore.
What's in the ISO:
- Readme.rtf
- install.sh (Open with your Mac OS X' Terminal.app)
- Mach kernel with SSE3 emulation for CPUs with SSE2
- SSE3 System files: CoreGraphics, libSystem.B.dylib
- SSE2-prepatched System files: CoreGraphics, libSystem.B.dylib
- TPM-patched SSE3 file "oah750"
- TPM-patched SSE2-prepatch file "oah750"
- TPM-patched file "oah750d"
How to Install:
- Burn CD or simply mount it in your Mac OS X system
- Open Terminal.app
- Use "cd" command to get into the CD, e.g. "cd /Volumes/MAXXUSS0.5/"
- Type "sudo ./install.sh"
- Follow the instructions
- Restart Mac OS X
- Enjoy.
How to Uninstall:
- As in "How to Install", but select "r" (Restore) when asked.
- Note: you can also uninstall in single user moder (-s at boot prompt). To do this, you should copy the install.sh script to your harddrive.
What's new in v0.5 (since v0.4)?
- Bug fixes for SSE3->SSE2: No more WindowServer crashes with SSE3-enabled system files.
- Completely new patch for Anti-TPM: no more crashes in oah750d, ATSServer, iTunesHelper, iTunes etc.; also: applications now quit properly without crashes.
- Minor technical hack: you can now debug the oah750 application, and also attach to the running process.
- I have also fine-tuned the installation process. I hope you like it.
Credits:
- Thanks for all members and admins of osx86project for testing, feedback, and file mirrors!
- Thanks to adilson for the first working patch of oah750d.
- Thanks to omni for a refinement of adilson's patch.
Please spread the word, and the files!
Comments/Feedbacks are very welcome!!!!!
What's working and what's not????? |
|