В вашем детстве были приставки с интересными играми, в которые было бы здорово поиграть снова. Но ради нескольких игр и пары часов удовольствия неохота искать старую приставку или покупать современный ремейк.
Что можно сделать: можно взять компьютер, запустить на нём эмулятор приставки, скачать файл с игрой и поиграть. При желании можно даже подключить к компьютеру джойстик, чтобы было всё совсем как по-настоящему.
Вот сразу список эмуляторов на будущее:
- Для мака: OpenEmu, Kega Fusion (Sega), VBA-M (GameBoy)
- Для ПК: NESTOPIA UE (NES), Project 64 (Nintdendo 64), VBA-M (GameBoy), Kega Fusion (Sega), PCSX (Playstation 1 и 2)
А пока вы распаковываете своего «Супер Марио», вот немного матчасти о том, как это работает.
Что такое эмулятор
Можно представить, что эмулятор — это переходник с определённой программы на другую программу или железо. Например:
- Переходник с программ для Windows на программы для Mac OS.
- Переходник с игр для приставки на компьютер.
- Переходник с программ, написанных для процессоров x86, на процессоры на базе ARM.
- Временный переходник с программ, написанных для Android, на компьютер разработчика, чтобы тестировать написанное.
Прочитайте нашу статью о процессорах M1 на базе ARM
Технически эмулятор — это программа, которая создаёт для другой программы или железа иллюзию, будто она работает в привычной среде: получает данные в нужном формате, исполняет команды на правильной архитектуре и т. д. А сам эмулятор обеспечивает совместимость: занимается преобразованием команд и данных, чтобы всё работало.
Пример. Допустим, мы взяли старый картридж от приставки, разобрали его, подключили через переходник к компьютеру и скопировали игру, которая была на этом картридже. Игра в этом случае — это программа, которая состоит из одного или нескольких файлов. Но сейчас они бесполезны без приставки: компьютер не знает, как с ними работать и как запускать.
Затем берём программу-эмулятор, которая создаёт внутри компьютера виртуальную мини-приставку со своими виртуальными драйверами. Эта виртуальная приставка уже знает, как работать с такими файлами, поэтому можно ей отдать файлы с игрой, чтобы она их запустила. В итоге на компьютере можно играть в старые игры точно так же, как на настоящей приставке.
Эмуляторы в играх
Существенная часть современных игр выходит на Windows. Если вы захотите поиграть в них на Mac OS, вам потребуется эмулятор Windows: это будет либо полноценная виртуальная машина Parallels или VMWare, либо частичный эмулятор вроде WINE.
У компании Valve есть площадка для игр Steam, на которой то и дело выходят игры для Mac. Некоторые из них написаны под Mac с нуля, но чаще это игры под Windows, которые обёрнуты в собственный эмулятор.
И есть великое множество эмуляторов ретроприставок, о которых мы писали в начале.
Эмуляторы во всём остальном
Самый известный сейчас пример эмулятора — Rosetta, которая позволяет запускать на новых макбуках с процессором Apple M1 старые программы, которые были написаны для архитектуры x86. С технической точки зрения Rosetta — не совсем эмулятор, скорее транслятор кода, но решает ту же самую задачу — берёт старые команды и на лету преобразует их в новый формат.
Некоторый софт зависит от определённого железа — например, железных ключей шифрования или специальных защитных дискеток. Например, такое ещё можно встретить в бухгалтериях, которые отправляют платёжки через клиент-банк. И если в компьютере нет дисковода или на руках нет флешки, можно использовать эмулятор — программа делает вид, что она дискетка, и клиент-банк забирает с неё все нужные ключи безопасности.
В старом музыкальном оборудовании могут использоваться дискеты, но они недолговечные и их неудобно считывать на современных компьютерах. Тогда используют эмуляторы дискет с использованием USB-флешек. Устройство делает вид, что оно — набор дискет на 1,44 МБ.
Всё ли можно эмулировать
Теоретически — да, если нет ограничений по мощности железа, которое для этого нужно.
На практике всё сложнее: некоторые устройства по вычислительной силе вплотную подбираются к возможностям компьютера, а иногда даже превосходят их. Например, на компьютере есть эмуляторы приставок PS2 и первого Xbox — они вышли 20 лет назад и по современным меркам в них совсем слабое железо. Но PS4 и Xbox One уже не эмулируются.
👉 Общее правило для эмуляции такое: вычислительная мощность эмулятора должна быть на несколько поколений выше, чем у того устройства, которое мы собираемся эмулировать.