PearPC

PearPC is a free architecture-independent PowerPC emulator written in C. It can be used to run PowerPC operating systems such as for example Darwin or MacOS.

Emulated hardware

 * CPU GENERIC: Sort of G4, including altivec. A more or less portable CPU. Using this CPU, the client will run about 500 times slower than the host. As of version 0.4 the generic CPU emulation runs well even on big-endian and 64 bit platforms.
 * CPU JITC-X86: Sort of G4, including altivec. 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 15 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 or RealTek 8139 via hosts that support an ethernet tunnel.
 * 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.

Resources
Website