May 22nd, 2004, 06:56 AM
Mac OSX Emulator
* License: GPL
* Programming language: C++, C and (on x86 platforms) assembler
* Supported host platforms: POSIX-X11 (Linux, ...), Win32
The following operating systems were tested and run (to some extent) in PearPC (ie. as clients):
* Mandrake Linux 9.1 for PPC installer: Runs well
* Mandrake Linux 9.1 for PPC after installation: Hard to boot. Runs very well afterwards.
* Darwin for PPC: Runs well
* Mac OS X 10.3: Runs well with some caveats
* OpenBSD for PPC: Crashes while booting (accesses PCI in an unsupported way)
* NetBSD for PPC: Crashes while booting
PearPC emulates the following hardware:
* CPU GENERIC: Sort of G3, no altivec yet. A portable (but unported :-) CPU. Using this CPU, the client will run about 500 times slower than the host. It features a modest command-line debugger.
* CPU JITC-X86: Sort of G3, no altivec yet. A very fast CPU for x86 systems that translates PowerPC instructions into x86 instructions on-demand. By caching these translations, a lot of speed is gained. Using this CPU, the client will run about 40 times slower than the host. Only works on x86 hosts.
* PCI-Brige: A barebone PCI-Bridge, enough to work with.
* IDE-Controller: Sort of CMD646 with bus-mastering support. You can attach IDE-harddisk(s) and/or IDE-CDROM(s) by specifying files (or devices for UN*X) from your host machine.
* PIC: A programmable interrupt controller (kind of Heathrow).
* VIA-Cuda: With attached Mouse and Keyboard.
* Network Controller: Emulates a 3COM 3C90x, currently only works on POSIX systems with /dev/tun support.
* NVRAM: Capable of storing 8KiB non-volatile memory.
* USB: A placebo USB-hub. Sufficient to make the client think that it has USB support.
* PROM: Sort of OpenFirmware. It's ugly and contains a lot of hacks but it allows to boot Yaboot and BootX from HFS/HFS+ partitions.
While the CPU emulation may be slow (1/500th or 1/40th, see above), the speed of emulated hardware is hardly impacted by the emulation; the emulated hard-drive and CDROM e.g. are very fast, especially with OS that support bus-mastering (Linux, Darwin, Mac OS X do).
Because the author has only access to a little-endian machine, PearPC will most likely only run on little-endian architectures. This shouldn't be hard to fix and the author would fix this himself if he such hardware. (You can donate some big-endian hardware to get this fixed!)
Equally, PearPC will probably only run on 32-bit architectures. This shouldn't be hard to fix either. (You can donate...)
A lot of unimplementated features are fatal (i.e. will abort PearPC).
Timings are very inaccurate and the clock is broken. Don't rely on benchmarks made in the client.
No idle/sleep (PearPC will always consume host CPU time no matter if the client "does something" or not).
PearPC lacks a save/restore machine-state feature.
No Altivec support yet.
No LBA48 (but LBA). Currently no support for hard disks greater than 128 GiB. Disks > 4GiB are not tested very well.
I am currently working on setting this up just to see what it is like. Be aware, there is no networking in windows with pearpc.. I think it is in the works but will take time.
May 22nd, 2004, 07:23 AM
There's a step by step guide on how to set this up. I did it in less than 5 minutes.
Note: You will need a copy of the OSX installation CDs. I used 10.3 in my emulator. You will also need up to 10GB of free space on your HDD, depending on which disk image you used the 3 or the 6.
I have screenshots coming along as I install this and will post them shortly. Very interesting to be able to do this in my opinion.
Last edited by Big Booger; May 22nd, 2004 at 07:39 AM.
May 22nd, 2004, 08:02 AM
This will be great if they could optimize it, and increase emulating performance. WIll look into it more. Keep us informed BB, thx.
--- 0wN3D by 3gG ---
May 22nd, 2004, 08:32 AM
Tons of screenies there. As for the speed, you can add more ram, someone said that by adjusting the refresh value in the config and the readjusting it later, seems to speed things up.
Also in your host OS, try to disable as much as you can, any non-essential programs.. I wouldn't recommend running Photoshop, or any intensive programs.. but all in all it is swell.
I have heard also that if you compile it yourself (as if I dare try), it will improve the speed as well.
May 22nd, 2004, 16:15 PM
A few tweaks.
In your config file, set the redraw_interval_msec = 200
CHANGE THE 200 to >100 depending on your machine. Mine is set at 50 and it works fast without much lag when clicking menus... this is all processor dependent so play around with that number until you get it where you like it. During the install I heard that setting it to 500 or so would make it go very fast, but when you had to click buttons there would be a lot of lag.
MEMORY CONFIG TWEAK:
Add this line to your config file:
That's for 256MB.
That's for 512MB.
You basically take 1024 X 1024 X (RAM AMOUNT) to get a huge number. Then you put that number in Hexidecimal format..
1024X1024 X 128 (mb) = 0x8000000
If I find a network driver in the coming weeks, I'll post it. That would make this a really sweet deal. And then if they can add CDROM support, and virtual drive support,.... oh nelly.
Last edited by Big Booger; May 22nd, 2004 at 16:18 PM.
May 22nd, 2004, 18:09 PM
Pear PC config tool: http://lamorine.free.fr/MacOSX/ConfigPPC.zip