Зовсім нещодавно в App Store з'явилося кілька нових емуляторів, зокрема якісний Delta Emulator, який охоплює NES, Game Boy, SNES і N64. Але от з "кубиком" все виявилось не так просто, адже розробник DolphiniOS (відгалуження Dolphin) повідомив, що наразі неможливо перенести емуляцію на iPhone. Причиною є відсутність підтримки компілятора «Just in Time». OatmealDome, розробник DolphiniOS: GameCube та Wii мають процесор на базі PowerPC, всі сучасні пристрої Apple використовують процесор на базі ARM. Неможливо безпосередньо запустити код PowerPC на ARM-процесорі, і навпаки. Тому, якщо ми хочемо запустити гру для GameCube або Wii на iPhone, необхідно перекласти PowerPC-код гри на ARM, щоб процесор зміг його зрозуміти. Для цього Dolphin використовує так званий рекомпілятор Just-in-Time (JIT). Щоразу, коли емульована консоль хоче запустити ігровий код, Dolphin використовує свій JIT для перекладу коду PowerPC на ARM, а потім виконує результати. На жаль, Apple не дозволяє додаткам використовувати JIT-рекомпілятори на iOS. Ми подали в Apple запит на підтримку JIT, але кілька тижнів тому Apple відхилила його. Важко точно сказати, чому Apple не поспішає відкривати підтримку JIT. Можливо, вони вважають це ризиком для безпеки. Хоча технічно можливо запустити Dolphin без JIT-компілятора, інтерпретатор працює в рази повільніше, ніж JIT-компілятор, як ви можете бачити з прикладів відео нижче. 📹 Результат роботи без JIT 📹 Результат роботи з JIT
Читати →