Developer(s) | Sebastian Biallas, Stefan Weyergraf, Cassondra Foesch |
---|---|
Initial release | May 10, 2004 |
Preview release | 0.6.0 / July 12, 2015 |
Repository | |
Written in | C++, C, Assembly |
Operating system | FreeBSD, Linux, Microsoft Windows |
Type | Emulator |
License | GNU General Public License |
Website | pearpc |
PearPC is a PowerPC platform emulator capable of running many PowerPC operating systems, including pre-Intel versions of Mac OS X, Darwin, and Linux on x86 hardware. [1] It is released under the GNU General Public License (GPL). It can be used on Windows, Linux, FreeBSD and other systems based on POSIX-X11. The first official release was made on May 10, 2004. [2] The software was often used to run early versions of OS X on Windows XP computers. [3] [4]
PearPC was released in May of 2004 by developers Sebastian Biallas and Stefan Wyergraf. [5] Original releases were noted for being slow and unstable, [6] but were still well received by the community. [7] On July 6, 2004, Wyergraf was killed by a train, but development continued. [8] The last current version of PearPC was 0.5.0, released on July 12, 2015. One of the reasons given for the development slowing down after 2005 was Apple's transition from PowerPC to x86 architecture.
PearPC only runs on x86 systems including Intel and AMD such as Windows, Linux, FreeBSD, and ReactOS. [9] [10] The emulator features a just-in-time (JIT) processor emulation core which dynamically translates PPC code into x86 code, caching the results. The original release emulated a G3 chip. [5] The emulator shipped with the ability to run Mac OS X 10.3, OpenBSD for PowerPC, NetBSD for PowerPC, Darwin for PowerPC and Mandrake Linux 9.1, though it was noted that the emulated operating systems could be up to 40 times slower than the host. [1] This speed was later brought up, running around 10 times slower than the host. [11] It could run all the regular Mac applications such as Finder, Safari, QuickTime, and Terminal. [7] The emulator can run Mac OS X versions 10.1 through 10.4 but cannot run 10.5 Leopard or above. Support for the G4 chip was later added. [12]
The current official version of Pear PC is 0.5.0 (released on July 12, 2015). While its PowerPC emulation handles most applications, the project still lacks several components needed for a complete emulation of the PowerPC experience. Sound emulation, G5 chip emulation, .dmg support, and OS X Leopard support were not included in this release. The installation was sometimes noted as complicated, [13] requiring editing of configuration files and the use of the command line. [4] [14]
A commercial PowerPC emulator called CherryOS was released soon after the launch of PearPC, in March 2005, claiming to offer more features and greater speed. However, within hours of its announcement, questions were raised about the claims, with some people suggesting that Cherry OS was nothing more than a repackaging of PearPC. According to Cassondra Foesch, a principal author of PearPC, it still contained all or part of the code written for the PearPC Project. Cherry OS also created questions regarding the legality of commercial software developed and marketed specifically to run macOS on the x86 architecture, since Apple's license agreement specifically states that the operating system may only be installed on Apple-labeled computers. [15] On April 6, 2005, the distribution of Cherry OS temporarily put on hold due to criticism. [16] It was later released as open source on May 1, 2005. [17]
PowerPC is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple–IBM–Motorola alliance, known as AIM. PowerPC, as an evolving instruction set, has been named Power ISA since 2006, while the old name lives on as a trademark for some implementations of Power Architecture–based processors.
Darwin is the core Unix operating system of macOS, iOS, watchOS, tvOS, iPadOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.
In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler.
Mac OS 9 is the ninth and final major release of Apple's classic Mac OS operating system, which was succeeded by Mac OS X 10.0 in 2001, starting the Mac OS X family of operating systems. Introduced on October 23, 1999, it was promoted by Apple as "The Best Internet Operating System Ever", highlighting Sherlock 2’s Internet search capabilities, integration with Apple's free online services known as iTools and improved Open Transport networking. While Mac OS 9 lacks protected memory and full pre-emptive multitasking, lasting improvements include the introduction of an automated Software Update engine and support for multiple users.
x86-64 is a 64-bit version of the x86 instruction set, first announced in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode.
Bochs is a portable IA-32 and x86-64 IBM PC compatible emulator and debugger mostly written in C++ and distributed as free software under the GNU Lesser General Public License. It supports emulation of the processor(s), memory, disks, display, Ethernet, BIOS and common hardware peripherals of PCs.
In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system. With some libraries for the foreign system, this will often be sufficient to run foreign binaries on the host system. A hardware compatibility layer consists of tools that allow hardware emulation.
Star Trek is the code name that was given to a secret prototype project, running a port of Macintosh System 7 and its applications on Intel-compatible x86 personal computers. The project, starting in February 1992, was conceived in collaboration between Apple Computer, who provided the majority of engineers, and Novell, who at the time was one of the leaders of cross-platform file-servers. The plan was that Novell would market the resulting OS as a challenge to Microsoft Windows, but the project was discontinued in 1993 and never released, although components were reused in other projects. The project was named after the Star Trek science fiction franchise with the slogan "To boldly go where no Mac has gone before".
vMac is a free and open-source Macintosh Plus emulator which is able to run versions of System 1.1 to 7.5.5. It is available for Windows, DOS, OS/2, Mac OS, NeXTSTEP, Linux, Unix, and other platforms. Although vMac has been abandoned, Mini vMac, an improved spinoff of vMac, is still actively developed.
Basilisk II is an emulator which emulates Apple Macintosh computers based on the Motorola 68000 series. The software is cross-platform and can be used on a variety of operating systems.
CherryOS was a PowerPC G4 processor emulator for x86 Microsoft Windows platforms, which allowed various Apple Inc. programs to be operated on Windows XP. Announced and made available for pre-orders on October 12, 2004, it was developed by Maui X-Stream (MXS), a startup company based in Lahaina, Hawaii and a subsidiary of Paradise Television. The program encountered a number of launch difficulties its first year, including a poorly-reviewed soft launch in October 2004, wherein Wired Magazine argued that CherryOS used code grafted directly from PearPC, an older open-source emulator. Lead developer Arben Kryeziu subsequently stated that PearPC had provided the inspiration for CherryOS, but "not the work, not the architecture. With their architecture I'd never get the speed."
QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.
Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware.
Rosetta is a dynamic binary translator developed by Apple Inc. for macOS, an application compatibility layer between different instruction set architectures. It enables a transition to newer hardware, by automatically translating software. The name is a reference to the Rosetta Stone, the artifact which enabled translation of Egyptian hieroglyphs.
In computer security, executable-space protection marks memory regions as non-executable, such that an attempt to execute machine code in these regions will cause an exception. It makes use of hardware features such as the NX bit, or in some cases software emulation of those features. However, technologies that emulate or supply an NX bit will usually impose a measurable overhead while using a hardware-supplied NX bit imposes no measurable overhead.
SheepShaver is an open-source PowerPC Apple Macintosh emulator originally designed for BeOS and Linux. The name is a play on ShapeShifter, a Macintosh II emulator for AmigaOS. The ShapeShifter and SheepShaver projects were originally conceived and programmed by Christian Bauer. However, currently, the main developer is Gwenolé Beauchesne.
Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.
RPCS3 is a free and open-source video game console emulator and debugger for the Sony PlayStation 3 that runs on Windows, Linux, FreeBSD and macOS operating systems, allowing PlayStation 3 games and software to be played and debugged on a personal computer. It is being developed in the C++ programming language targeting x86-64 CPUs and features OpenGL and Vulkan as its backend renderers.
86Box is an IBM PC emulator for Windows, Linux and Mac based on PCem that specializes in running old operating systems and software that are designed for IBM PC compatibles. Originally forked from PCem, it later added support for other IBM PC compatible computers as well.