IOS emulators: Difference between revisions
No edit summary |
No edit summary |
||
| (20 intermediate revisions by 8 users not shown) | |||
| Line 15: | Line 15: | ||
Formerly, iOS was used for both Apple's phones and tablets. Then, the iOS brand was split into two parts in 2019, with iOS now being the OS exclusively used in the iPhone and the now-defunct iPod Touch. The second half, named iPadOS, is a fork of iOS for iPads that makes use of their larger screens, hence its name. Most iOS apps and games work on iPadOS. | Formerly, iOS was used for both Apple's phones and tablets. Then, the iOS brand was split into two parts in 2019, with iOS now being the OS exclusively used in the iPhone and the now-defunct iPod Touch. The second half, named iPadOS, is a fork of iOS for iPads that makes use of their larger screens, hence its name. Most iOS apps and games work on iPadOS. | ||
The official iOS SDK (macOS-only) only allows for running your own projects, i.e., they run code generated for an x86 target rather than ARM code as used by iOS. Similarly to most of the [[Android emulators]], some emulators (e.g., [[BlackThunder]]) use two-step approach, making use of the simulator in the iOS SDK to run a few chosen iOS apps that are recompiled for x86. Unlike previous emulation trails, BlackThunder first loads a highly trimmed Hackintosh image via VirtualBox, which loads Xcode and an iOS simulator into it, then runs decompiled iOS apps recompiled for the x86 architecture. Appetize.io and other tools that claim to emulate iOS on a web browser are in reality just the iOS simulator in XCode wrapped around a cloud stream to the web browser, and like the iOS XCode simulator, need the source code to run. More recently, touchHLE managed to get a few older iPhone OS apps running by recreating some of iOS’s standard libraries and emulating just the iPhone’s CPU, and nearly the same time, QEMU-iOS got released and can successfully emulate iPhone OS 1.0 on an iPod Touch 1st generation, albeit with bugs. | |||
==Emulators== | ==Emulators== | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
! | !Name | ||
! | !Platform(s) | ||
! | !Latest version | ||
! | !Compatibility | ||
! | ![[Licensing|License]] | ||
!Active | |||
![[Recommended emulators|Recommended]] | |||
|+Before editing, review the [[Getting involved]] and [[Recommended emulators|Recommended]] pages. See [[Computer_specifications#Recommended_Specifications|system requirements]] page for performance demand of the emulators.<br>See tables for <span style="font-weight: bold; color: #CC0000; border: 1px solid #CC0000; padding: 2px;">[[#Enhancements|enhancements]] and [[#Hardware_features|hardware features]]</span><br>For more details such as [[licensing]], [[Source_code#Language_levels|programming language]], [[High_and_low-level_emulation|emulation method]], visit each emulator’s dedicated page. | |||
|- | |- | ||
!colspan="9"|x86 | !colspan="9"|x86 | ||
|- | |- | ||
|[ | |[[touchHLE]] | ||
|align=left|{{Icon|Windows|macOS|Linux}}<ref name=":0">Linux release requires you to build it yourself from source, however unofficial compiled AppImages can be found [https://github.com/pkgforge-dev/TouchHLE-AppImage here].</ref> | |||
|align=left|{{Icon|Windows|macOS|Linux | |||
|[https://touchhle.org/download/ {{TouchHLEVer}}] | |[https://touchhle.org/download/ {{TouchHLEVer}}] | ||
|{{Emulator compatibility|link=https://appdb.touchhle.org/|398|879}} | |||
|{{Emulator compatibility|link=https://appdb.touchhle.org/| | |||
|{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | |{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | ||
|{{✓}} | |{{✓}} | ||
| Line 53: | Line 41: | ||
|align=left|{{Icon|macOS|Linux}} | |align=left|{{Icon|macOS|Linux}} | ||
|[https://github.com/devos50/qemu-ios#running-the-ipod-touch-1g git] | |[https://github.com/devos50/qemu-ios#running-the-ipod-touch-1g git] | ||
|N/A | |N/A | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
| Line 63: | Line 49: | ||
|align=left|{{Icon|macOS|Linux}} | |align=left|{{Icon|macOS|Linux}} | ||
|[https://github.com/ChefKissInc/Inferno git] | |[https://github.com/ChefKissInc/Inferno git] | ||
|N/A | |N/A | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
| Line 72: | Line 56: | ||
|[[BlackThunder]] | |[[BlackThunder]] | ||
|align=left|{{Icon|Windows|macOS}} | |align=left|{{Icon|Windows|macOS}} | ||
|? | |? | ||
|? | |? | ||
| Line 83: | Line 65: | ||
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} | |align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} | ||
|[http://www.mamedev.org/release.html {{MAMEVer}}] | |[http://www.mamedev.org/release.html {{MAMEVer}}] | ||
|N/A | |N/A | ||
|{{Green}} {{License|GPLv2}}<br>{{License|BSD3}} | |{{Green}} {{License|GPLv2}}<br>{{License|BSD3}} | ||
| Line 93: | Line 73: | ||
|align=left|{{Icon|Windows|macOS|Linux}} | |align=left|{{Icon|Windows|macOS|Linux}} | ||
|[https://github.com/zhkl0228/unidbg/releases/tag/v0.9.8 v0.9.8] | |[https://github.com/zhkl0228/unidbg/releases/tag/v0.9.8 v0.9.8] | ||
|? | |? | ||
|{{Green}} {{License|Apache2}} ({{License|Permissive}}) | |{{Green}} {{License|Apache2}} ({{License|Permissive}}) | ||
| Line 103: | Line 81: | ||
|align=left|{{Icon|macOS}} | |align=left|{{Icon|macOS}} | ||
|Feb 6, 2021 (git) | |Feb 6, 2021 (git) | ||
|Limited (some commercial apps work) | |Limited (some commercial apps work) | ||
|{{Green}} {{License|GPLv2}} & {{License|LGPL-2.1}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} & {{License|LGPL-2.1}} ({{License|Copyleft}}) | ||
| Line 113: | Line 89: | ||
|align=left|{{Icon|macOS}} | |align=left|{{Icon|macOS}} | ||
|[https://github.com/zydeco/aah git] | |[https://github.com/zydeco/aah git] | ||
|? | |? | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
| Line 123: | Line 97: | ||
|align=left|{{Icon|Windows}} | |align=left|{{Icon|Windows}} | ||
|[https://github.com/ipasimulator/ipasim/releases/tag/v1.0.1 Patch v1.0.1] | |[https://github.com/ipasimulator/ipasim/releases/tag/v1.0.1 Patch v1.0.1] | ||
|? | |? | ||
|{{Green}} {{License|MIT}} ({{License|Permissive}}) | |{{Green}} {{License|MIT}} ({{License|Permissive}}) | ||
| Line 133: | Line 105: | ||
|align=left|{{Icon|Windows|macOS|Linux}} | |align=left|{{Icon|Windows|macOS|Linux}} | ||
|0.9.7 | |0.9.7 | ||
|? | |? | ||
|{{Green}} {{License|Apache2}} ({{License|Permissive}}) | |{{Green}} {{License|Apache2}} ({{License|Permissive}}) | ||
| Line 143: | Line 113: | ||
|align=left|{{Icon|Linux|macOS}} | |align=left|{{Icon|Linux|macOS}} | ||
|[https://github.com/TrungNguyen1909/qemu-t8030 git] | |[https://github.com/TrungNguyen1909/qemu-t8030 git] | ||
|? | |? | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✗}} ||{{✗}} | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✗}} ||{{✗}} | ||
| Line 151: | Line 119: | ||
|align=left|{{Icon|Windows|Linux|macOS}} | |align=left|{{Icon|Windows|Linux|macOS}} | ||
|[https://github.com/alephsecurity/xnu-qemu-arm64 git] | |[https://github.com/alephsecurity/xnu-qemu-arm64 git] | ||
|? | |? | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✗}} ||{{✗}} | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✗}} ||{{✗}} | ||
| Line 160: | Line 126: | ||
|[https://github.com/danzatt/QEMU-s5l89xx-port git] | |[https://github.com/danzatt/QEMU-s5l89xx-port git] | ||
|? | |? | ||
|{{?}} ||{{✗}} ||{{✗}} | |||
|- | |||
|[https://github.com/HyperHLE/HyperHLE/ HyperHLE] | |||
|align=left|{{Icon|Windows|macOS|Linux}} | |||
|[https://github.com/HyperHLE/HyperHLE/ git] | |||
|? | |? | ||
| | |{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | ||
|{{ | |{{✓}} | ||
|{{✗}} | |||
|- | |- | ||
!colspan="9"|ARM | !colspan="9"|ARM | ||
|- | |- | ||
|[https://touchhle.org/ touchHLE] | |[https://touchhle.org/ touchHLE] | ||
|align=left|{{Icon|Android}} | |align=left|{{Icon|Android|Mac|LinuxARM}}<ref name=":0" /> | ||
|[https://touchhle.org/download/ 0.2. | |[https://touchhle.org/download/ 0.2.3] | ||
|{{Emulator compatibility|link=https://appdb.touchhle.org/|398|879}} | |||
|{{Emulator compatibility|link=https://appdb.touchhle.org/| | |||
|{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | |{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | ||
|{{✓}} | |{{✓}} | ||
|{{~}} | |{{~}} | ||
|- | |||
|[https://github.com/johnny901901901/Applesauce Applesauce] | |||
| align="left" |{{Icon|iOS|iPadOS}} | |||
|[https://github.com/johnny901901901/Applesauce/releases git] | |||
|? | |||
|MPL 2.0 (Copyleft) | |||
|{{✓}} | |||
| | |||
|- | |||
|[https://github.com/HyperHLE/HyperHLE/ HyperHLE] | |||
| align="left" |{{Icon|Android}} | |||
|[https://github.com/HyperHLE/HyperHLE/ git] | |||
|? | |||
|MPL 2.0 (Copyleft) | |||
|{{✓}} | |||
|{{✗}} | |||
|- | |||
|} | |} | ||
==Hypervisors [[Hypervisors|(...)]]== | ==Hypervisors [[Hypervisors|(...)]]== | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
! | !Name | ||
! | !Platform(s) | ||
! | !Latest version | ||
! | !Compatibility | ||
![[Licensing|License]] | |||
!Active | |||
! | ![[Recommended emulators|Recommended]] | ||
! | |||
! | |||
|- | |- | ||
|[https://www.corellium.com/ Corellium] | |[https://www.corellium.com/ Corellium] | ||
|align=left|{{Icon|Web}} | |align=left|{{Icon|Web}} | ||
|[https://www.corellium.com/ Web-based] ($) | |[https://www.corellium.com/ Web-based] ($) | ||
|? | |? | ||
|{{Red}} {{License|Proprietary}} | |{{Red}} {{License|Proprietary}} | ||
| Line 204: | Line 186: | ||
| - | | - | ||
| ? | | ? | ||
|{{Green}} {{License|MIT}} ({{License|Permissive}})<ref group=N>Formerly licensed under {{License|WTFPLv2}}</ref> | |||
|{{Green}} {{License|MIT}}<ref group=N>Formerly licensed under {{License|WTFPLv2}}</ref> | |||
| {{✓}} | | {{✓}} | ||
| {{~}} | | {{~}} | ||
| Line 212: | Line 192: | ||
==Native== | ==Native== | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
! | !Name | ||
! | !Platform(s) | ||
! | !Latest version | ||
! | !Compatibility | ||
![[Licensing|License]] | |||
!Active | |||
! | ![[Recommended emulators|Recommended]] | ||
! | |||
! | |||
|- | |- | ||
!colspan="9"|ARM | !colspan="9"|ARM | ||
| Line 229: | Line 206: | ||
|align=left|{{Icon|macOS}}<ref group=N>Requires Mac computers with Apple Silicon (M series) processors.</ref> | |align=left|{{Icon|macOS}}<ref group=N>Requires Mac computers with Apple Silicon (M series) processors.</ref> | ||
|11 Big Sur to 26 Tahoe | |11 Big Sur to 26 Tahoe | ||
|? | |? | ||
|{{Red}} {{License|Proprietary}} | |{{Red}} {{License|Proprietary}} | ||
| Line 239: | Line 214: | ||
|align=left|{{Icon|Android}} | |align=left|{{Icon|Android}} | ||
|Unreleased | |Unreleased | ||
|? | |? | ||
|{{Red}} {{License|Proprietary}} | |{{Red}} {{License|Proprietary}} | ||
| Line 256: | Line 229: | ||
::;HyperHLE | ::;HyperHLE | ||
:::A fork of touchHLE that supports higher versions of iOS, up to iOS 10. | :::A fork of touchHLE that supports higher versions of iOS, up to iOS 10. '''This fork uses AI-assisted code, as such, we do <u>NOT</u> recommend it.''' | ||
:: | :: | ||
:: | :: | ||
| Line 336: | Line 309: | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. | |||
|- style="font-weight:bold;" | |- style="font-weight:bold;" | ||
! colspan=2 | Name | ! colspan=2 | Name | ||
| Line 342: | Line 316: | ||
! Corellium | ! Corellium | ||
|- | |- | ||
| colspan=2 | [[Wikipedia:IOS#Home_screen|Home screen]]<br | | colspan=2 | [[Wikipedia:IOS#Home_screen|Home screen]]<br><small>This shouldn't be confused with emulator frontend/GUI.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{~}} | | {{~}} | ||
| Line 378: | Line 352: | ||
|- | |- | ||
| colspan=2 | [[List_of_console_games_that_support_motion_controls#iOS_Emulation|Motion sensors]] | | colspan=2 | [[List_of_console_games_that_support_motion_controls#iOS_Emulation|Motion sensors]] | ||
| {{✓}}[https://github.com/ | | {{✓}}[https://github.com/touchHLE/touchHLE/blob/trunk/OPTIONS_HELP.txt#L35 *] | ||
| {{✗}} | | {{✗}} | ||
| {{?}} | | {{?}} | ||
| Line 388: | Line 362: | ||
|- | |- | ||
| rowspan=2 | Connectivity | | rowspan=2 | Connectivity | ||
| [[Preservation_projects#Private_Platform_Servers|Game Center]]<br | | [[Preservation_projects#Private_Platform_Servers|Game Center]]<br><small>Achievements, Challenges, Leaderboards etc.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
| Line 405: | Line 379: | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iPhone OS 2<br | | colspan=2 | iPhone OS 2<br><small>iPhone OS 2.2.1 was the last version compatible solely with ARMv6 chips. | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iPhone OS 3<br | | colspan=2 | iPhone OS 3<br><small>Supported both ARMv6 and ARMv7-A chips.<br> | ||
| {{ | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iOS 4<br | | colspan=2 | iOS 4<br><small>iOS 4.2.1 was the last version supported ARMv6 chips.</small> | ||
| {{~}} | | {{~}} <br> <small>TouchHLE currently only supports 4.0.x and 4.1.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
| Line 425: | Line 399: | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iOS 6<br | | colspan=2 | iOS 6<br><small>iOS 6.1.6 was the last version compatible solely with 32-bit ARMv7-A chips.</small> | ||
|style="background:skyblue;"|[https://github.com/hikari-no-yume/touchHLE#touchhle-high-level-emulator-for-iphone-os-apps Future goal] | |style="background:skyblue;"|[https://github.com/hikari-no-yume/touchHLE#touchhle-high-level-emulator-for-iphone-os-apps Future goal] | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iOS 7 to 10<br | | colspan=2 | iOS 7 to 10<br><small>Supports both 64-bit ARMv8''x''-A and 32-bit ARMv7-A chips. iOS 10.3.4 was the last version that supported 32-bit chips.</small> | ||
|style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never] | |style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never] | ||
| {{✗}} | | {{✗}} | ||
| Line 452: | Line 426: | ||
! colspan=5 | [https://developer.apple.com/documentation/xcode/application-binary-interfaces Supported ABIs] | ! colspan=5 | [https://developer.apple.com/documentation/xcode/application-binary-interfaces Supported ABIs] | ||
|- | |- | ||
| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv6-code-for-ios ios_armv6] (iPhone OS 1 – iOS 4.2.1)<br | | colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv6-code-for-ios ios_armv6] (iPhone OS 1 – iOS 4.2.1)<br><small>Supporting ios_armv6 ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small> | ||
| {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *] | | {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *] | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv7-code-for-ios ios_armv7a] (iPhone OS 3 – iOS 10.3.4)<br | | colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv7-code-for-ios ios_armv7a] (iPhone OS 3 – iOS 10.3.4)<br><small>Supporting ios_armv7a ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.<br> Older applications and games often rely on the [[Wikipedia:ARM_architecture_family|ARM 32-bit (Cortex)]] architecture, which isn't used in newer hardware.</small> | ||
| {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *] | | {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *] | ||
| {{✗}} | | {{✗}} | ||
| Line 469: | Line 443: | ||
! colspan=5 | [https://developer.apple.com/documentation/technologies Supported APIs] | ! colspan=5 | [https://developer.apple.com/documentation/technologies Supported APIs] | ||
|- | |- | ||
| colspan=2 | [https://developer.apple.com/documentation/opengles OpenGL ES x.x] (iPhone OS 2 – iOS 12.0)<br | | colspan=2 | [https://developer.apple.com/documentation/opengles OpenGL ES x.x] (iPhone OS 2 – iOS 12.0)<br><small>Supporting OpenGL ES x.x APIs is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small> | ||
| {{~}}[https://github.com/hikari-no-yume/touchHLE?tab=readme-ov-file#development-status *]<br | | {{~}}[https://github.com/hikari-no-yume/touchHLE?tab=readme-ov-file#development-status *]<br><small>TouchHLE currently support only OpenGL ES 1.[https://old.reddit.com/r/emulation/comments/1gqdrwm/touchhle_emulator_development_video/lx26wwu/]</small> | ||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
| Line 483: | Line 457: | ||
==Enhancements== | ==Enhancements== | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. | |||
! colspan=2 style="width:50%" | Name | ! colspan=2 style="width:50%" | Name | ||
! TouchHLE | ! TouchHLE | ||
| Line 493: | Line 468: | ||
|- | |- | ||
|rowspan=6 | Post-Processing | |rowspan=6 | Post-Processing | ||
| | | {{Enhancements/Post-processing/Shader chain}} | ||
| {{✗}}[https://github.com/touchHLE/touchHLE/issues/532] | | {{✗}}[https://github.com/touchHLE/touchHLE/issues/532] | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| | | {{Enhancements/Post-processing/Filters}} | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| | |{{Enhancements/Post-processing/AI-powered filter compatible}} | ||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
|- | |- | ||
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br | | [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br><small>(FXAA, TXAA and MLAA/SMAA)</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br | | [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
| Line 539: | Line 514: | ||
|- | |- | ||
| rowspan=4 | Input | | rowspan=4 | Input | ||
| [[Controllers#Mouse Injectors for Emulators|Keyboard input injection]]<br | | [[Controllers#Mouse Injectors for Emulators|Keyboard input injection]]<br><small>Early versions of iOS didn't support keyboard input.<br>One way an iOS emulator can provide keyboard input for these versions is through the injection method, which sends keystrokes input data directy into emulated memory.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| [[Controllers#Mouse Injectors for Emulators|Mouse input injection]]<br | | [[Controllers#Mouse Injectors for Emulators|Mouse input injection]]<br><small>Early versions of iOS didn't support mouse input.<br>One way an iOS emulator can provide mouse input for these versions is through the injection method, which sends cursor input data directy into emulated memory.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| [[Controllers#Mouse Injectors for Emulators|Gamepad input injection]]<br | | [[Controllers#Mouse Injectors for Emulators|Gamepad input injection]]<br><small>Before [[Wikipedia:MFi_Program|MFi]] extended support in iOS 7 (unlocking gamepad compatibility for devices like the [https://blog.logitech.com/2013/11/20/compatible-games-for-logitech-powershell-controller-battery/ Logitech Powershell Controller]).<br> Earlier iOS versions (1-to-6) offered [https://www.gottabemobile.com/ios-6-gaming-ipad-controller-iphone/ no native gamepad support].</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
| Line 572: | Line 547: | ||
| {{?}} | | {{?}} | ||
|- | |- | ||
| On-Screen Display<br | | On-Screen Display<br><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| Built-in On-Screen Control<br | | Built-in On-Screen Control<br><small>Simulating touch input on display via keyboard or gamepad. This QoL enhancement is crucial for lots of touch input exclusive games.<br>Also you can use third-party apps such as [https://apps.apple.com/us/app/shootingplus-v3/id1447087625 ShootingPlus V3] for this.</small> | ||
| {{✓}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L33 *] | | {{✓}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L33 *] | ||
| {{✗}} | | {{✗}} | ||
| Line 588: | Line 563: | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
|[https://www.portablefreeware.com/faq.php#portable Portable] and [https://www.portablefreeware.com/faq.php#stealth Stealth]<br | |[https://www.portablefreeware.com/faq.php#portable Portable] and [https://www.portablefreeware.com/faq.php#stealth Stealth]<br><small>Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, the software may still require the necessary [[Computer_specifications#Operating_System|prerequisites and dependencies]] for your operating system if it is not statically linked.</small> | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
| Line 600: | Line 575: | ||
| colspan=11 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment. So there is no support. | | colspan=11 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment. So there is no support. | ||
|- | |- | ||
|Rich Presence (RPC)<br | |Rich Presence (RPC)<br><small>Allows the emulator to share real-time game session details (e.g., current game title, level, boss, playtime, or custom status) with external applications. This enables features such as displaying what you're playing on your profile, inviting friends to spectate, or triggering join-in-progress functionality where supported.</small> | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
|Screen translator<br | |Screen translator<br><small>Using optical character recognition (OCR) and other techniques, this feature can provide live translation of in-game text, text-to-speech for visually impaired users, and more — either on demand or automatically.</small></small> | ||
|colspan="11" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter]. | |colspan="11" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter]. | ||
|- | |- | ||