Changes

Jump to navigation Jump to search

Macintosh line

2,617 bytes added, 08:57, 30 June 2022
x86 and ARM hurdles
{{Infobox console
|title = Apple Macintosh
|logo = Macintosh.jpeg|developer = [[Apple Inc.|Apple Computer, Inc.]]|type = [[:Category:Computers|Home computerComputers]]
|release = 1984
|discontinued =
|predecessor = [[Apple Lisa emulators|Lisa]], [[Apple II Line|Apple ][]], [[Lisa]]
|successor =
|emulated = {{✓}}
Throughout its history the Macintosh has spanned four CPU instruction set architectures that represent the four commonly known generations. From its launch in 1984 up until 1996, Apple sold Macintoshes with the Motorola 68k family of CPUs. In the early 90s, Apple partnered with Motorola and IBM to combine IBM's POWER with Motorola's 88k to produce the PowerPC (PPC) architecture they used in Macs from 1994-2007, naming some of them accordingly as Power Macintosh. They switched to x86 in 2007, justifying it with the explanation that PPC failed to be competitive with Intel's Pentium M series. And in 2020 have started a transition from x86 to ARM, further integrating with its more popular iOS mobile spinoff.
Macintosh computers have always included a platform-exclusive operating system that never had a consistent name.<ref group=N> It used to be called System or System Software until version 7.6, when it was renamed Mac OS in 1997. Version 10 was named Mac OS X in 2000, and when version 10.8 was released in 2012, it was shortened to OS X and then macOS when version 10.12 was released in 2016. Don't try to make sense of this.</ref> An important divide relevant for Mac emulation is "Old World" vs. "New World" motherboard ROMs, with Old World used for System 1-7 on 68k/PPC targets, and New World generally used for Mac OS 8-10 PPC targets, since New World ROMs were stored with the OS, they are available legally from Apple for free online in OS updates. A quick way to distinguish an Old World from a New World Mac is that all New World Macs have onboard USB ports, while no Old World Macs do. New World ROMs are required for Mac OS 8.5, thus also dropping dropped support for 68kCPUs. Mac OS X, which has UNIX underpinnings different from its predecessor, was introduced in 1999 requiring a PowerPC G3 at minimum,<ref group=N>With the exception of one orphaned early G3 laptop. Though that didn't stop some users from programming OS X bootloaders for most PCI-based Macs, especially those with G3/G4 upgrades.</ref> and ported to x86 in 2006. With version 11 in 2020, macOS is now being ported to ARM (like its mobile cousin [[iOS emulators|iOS]]).
A ton of Macintosh emulators have appeared over the years, some early in the system's release (mostly for competing m68k microcomputers) and others as late as a few years ago. As a PC platform in its own right with its own userbase and varying degrees of unique software and hardware features, most major emulators of other platforms maintain a macOS port, or are ported to macOS by external collaborators, in addition to a number of emulators originating on the Mac over the years. It should be noted that we do not aim to be the last word on Mac emulation; there's a community called E-Maculation that covers this more thoroughly, as they offer builds for many of the emulators shown here on their forums. We'll either be further ahead or severely behind.
! scope="col"|Platform(s)
! scope="col"|Latest Version
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
!colspan="56"|PC / x86|-|Basilisk II|align=left|{{Icon|Windows|Linux|macOS}}|[https://github.com/kanjitalk755/macemu/ 1.0 R5]|{{✓}} ||{{✓}} ||{{✓}}
|-
|Mini vMac
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://www.gryphel.com/c/minivmac/download.html 36.04]
|{{✓}} ||{{✓}}|-|Basilisk II|align=left|{{Icon|Windows|Linux|macOS}}|[https://github.com/cebix/macemu 1.0 R5]|{{✓}} ||{{✓}}|-|vMac|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[http://www.vmac.org/ 0.19]|{{✗}} ||{{✗}}
|-
|[[MAME]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://www.mamedev.org/release.html {{MAMEVer}}]
|{{✓}} ||{{✓}} ||{{TBD}}|-|[[Clock Signal]]|align=left|{{Icon|Linux|macOS|FreeBSD}}|[https://github.com/TomHarte/CLK/releases {{clkVer}}]|{{✓}} ||{{✓}} ||{{TBD}}
|-
|<abbr title="PC Emulator">PCE</abbr>
|align=left|{{Icon|Windows|Linux|macOS}}
|[http://www.hampa.ch/pce/download.html 0.2.2]
|{{~}} ||{{TBD}}|-|[[Clock Signal]]|align=left|{{Icon|Linux|macOS|FreeBSD}}|[https://github.com/TomHarte/CLK/releases {{clkver}}]|{{✓}} ||{{TBD}}
|-
|[[Ardi Executor]]
|align=left|{{Icon|DOS|Linux|NextStep|Windows}}
|[https://www.emaculation.com/doku.php/executor 2.1.17]
|{{✓}} ||{{✗}} ||{{✗}}|-|vMac|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}|[http://www.vmac.org/ 0.19]|{{✓}} ||{{✗}} ||{{✗}}|-!colspan="6"|Consoles|-|Mini vMac|align=left|{{Icon|Pyra}}|[https://pyra-handheld.com/repo/apps/33 36.04]|{{✓}} ||{{✓}} ||{{✓}}|-!colspan="6"|Consoles|-|Basilisk II|align=left|{{Icon|PSP}}|[https://github.com/PSP-Archive/Basilisk-II-PSP/releases git]|{{✓}} ||{{✗}} ||{{~}}
|}
;[[MAME]]
:To say it's a multi-system emulator would be an understatement. It covers a wide range of electronic history, with its namesake being arcade machines. Just typing in "Macintosh" will list basically everything Mac-related like the original Macintosh 128K (unfortunately labelled as Not Working) and the Macintosh II (which is OK). [https://github.com/mamedev/mame/blob/0f028a8bd2afcb32ccdab0291eb3a798a98a1afc/src/mame/machine/mac.cpp#L14 See the full list here.] ;Clock Signal:A multi-system emulator with full-hardware [[Emulation Accuracy#Cycle accuracy|cycle-accurate]] emulation of the Macintosh Plus.
;PCE <small>(PC Emulator)</small>
:A multi-system emulator. Computers it targets include the Macintosh Plus, SE and Classic. Stables used to release every two years but stopped in 2013. A snapshot exists for December 2018 however, which suggests that the project isn't completely dead.
 
;Clock Signal
:A multi-system emulator with full-hardware [[Emulation Accuracy#Cycle accuracy|cycle-accurate]] emulation of the Macintosh Plus.
;[[Ardi Executor]]
! scope="col"|Platform(s)
! scope="col"|Latest Version
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
!colspan="56"|PC / x86
|-
|SheepShaver
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/cebixkanjitalk755/macemu / 2.4]|{{✓}} ||{{✓}}|-|PearPC|align=left|{{Icon|Windows|Linux|macOS}}|[https://github.com/sebastianbiallas/pearpc 0.6.0]|{{✗}} ||{{✗}}
|-
|Classic Environment
|align=left|{{Icon|macOS}} (PPC)
|Mac OS X v10.4 "Tiger"
|{{✗}} ||{{✗}} ||{{✓}}|-|Rosetta|align=left|{{Icon|macOS}}|Mac OS X 10.6 "Snow Leopard" (Intel)|{{✗}} ||{{✗}} ||{{✓}}
|-
|[[QEMU]]
|align=left|{{Icon|Windows|Linux|macOS}}
|4.0.0{{QEMUVer}} |{{✓}} ||{{✓}} ||{{TBD}}
|-
|RosettaPearPC|align=left|{{Icon|Windows|Linux|macOS}}|Mac OS X 10[https://github.com/sebastianbiallas/pearpc 0.6 "Snow Leopard" (Intel).0]|{{✓}} ||{{✗}} ||{{✗}}|-|[[DingusPPC]]|align=left|{{Icon|Windows|Linux|macOS}}|[https://github.com/dingusdev/dingusppc git]|{{✓}} ||{{✓}} ||{{✗}}
|-
|}
;Rosetta
:Apple's official PowerPC emulator for x86-based Macs included in Tiger (10.4.4). Though it wasn't included in Snow Leopard, it was still possible to transfer it from a previous Leopard install. It was removed entirely in OS X Lion. Rosetta uses QuickTransit technology licensed from Transitive Corporation, and works transparently from the end-user, leading Apple to market it as "the most amazing software you'll never see." as it, unlike most emulators, does not have a user interface. Rosetta works best on software that isn't system-intensive, such as office applications; games and other software applications which rely on kexts, libraries or certain instructions may not work properly if at all. A compatibility list is available [https://web.archive.org/web/20060208152806/http://guides.macrumors.com/Rosetta_incompatibilities here].
 
;DingusPPC
:Experimental emulator early in development.
===x86===
:''Note: installing macOS on non-Apple x86 hardware, the practice known as [[wikipedia:Hackintosh|Hackintosh]], is a more common and feasible way of running macOS programs on a regular PC rather than trying to emulate or virtualize actual Mac hardware.''
{| class="wikitable" style="text-align:center;"
! scope="col"|Platform(s)
! scope="col"|Latest Version
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
!colspan="56"|PC / x86
|-
|Rosetta 2
|align=left|{{Icon|macOS}}
|macOS 11 “Big Sur” (Apple Silicon) (Upcoming)|{{✗}} ||{{✓}} ||{{✓}}
|-
|}
 
===ARM===
{{no current emulators|SYSTEM VARIANT}}
==Emulation issues==
===PowerPC===Currently, no 3rd-party Macintosh emulators support hardware graphics acceleration, due to [https://www.emaculation.com/forum/viewtopic.php?t=8396 certain CPU instructions left unimplemented in their upstream PPC softcores]. This means no GLIDE, RAVE, nor or OpenGL. Fortunately, though as was generally the case in every platform of the period significant visual and feature differences exist between the two, the majority of Mac-exclusive software using these APIs also included software fallback renderers. ===x86===Despite an x86-based Mac is very similar to a general non-Apple PC in hardware architecture (which makes [https://en.wikipedia.org/wiki/Boot_Camp_(software) Boot Camp] and [https://en.wikipedia.org/wiki/Hackintosh Hackintosh] possible), it still contains Apple proprietary hardware such as closed-source EFI BootROM, System Management Controller (SMC) and later T1/T2 security chip that either requires bypassing or emulation in order to run macOS. macOS also contains countermeasures that prevent it from being run on a non-Apple PC such as the infamous [https://www.tonymacx86.com/threads/dont-steal-mac-os-x-kext.51175/ Don't Steal Mac OS X.kext]. Another big hurdle is that macOS only contains drivers for hardware components used in actual Mac computers, which means a large portion of PC users who use different hardware combinations than actual Mac computers need to bypass, patch, or port drivers for their hardware in order to boot macOS and promote it to a usable state, and might still with crippled functionalities due to no or imperfect solutions to drive some of the hardware. ===ARM===Hurdles in emulating ARM-based Mac are basically the same as emulating iOS devices: Apple's proprietary M1/M2 SoC which has little to no documentation, and hardened security measures inherited from iOS devices.
==Resources==
434
edits

Navigation menu