Что такое эмулятор

Что такое эмулятор

Ваш пропуск в мир винтажных приставок и хакерских игрушек

В вашем детстве были приставки с интересными играми, в которые было бы здорово поиграть снова. Но ради нескольких игр и пары часов удовольствия неохота искать старую приставку или покупать современный ремейк. 

Что можно сделать: можно взять компьютер, запустить на нём эмулятор приставки, скачать файл с игрой и поиграть. При желании можно даже подключить к компьютеру джойстик, чтобы было всё совсем как по-настоящему.

Вот сразу список эмуляторов на будущее: 

А пока вы распаковываете своего «Супер Марио», вот немного матчасти о том, как это работает. 

Что такое эмулятор

Можно представить, что эмулятор — это переходник с определённой программы на другую программу или железо. Например: 

  • Переходник с программ для 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 уже не эмулируются. 

👉 Общее правило для эмуляции такое: вычислительная мощность эмулятора должна быть на несколько поколений выше, чем у того устройства, которое мы собираемся эмулировать.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Олег Вешкурцев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Что такое обратная совместимость
Что такое обратная совместимость

Это когда старая игра запускается на новой приставке

easy
Что такое бэкап, зачем он нужен и как его делать
Что такое бэкап, зачем он нужен и как его делать

Каждый разработчик однажды ЛИШИЛСЯ ВСЕГО, потому что не сделал бэкап.

easy
Зачем программистам сразу два монитора (а то и три)
Зачем программистам сразу два монитора (а то и три)

Чтобы держать всё перед глазами и не отвлекаться на переключения между окнами.

easy
Чем отличается C от C++
Чем отличается C от C++

На 99% — ничем, но в C++ есть родная поддержка ООП.

easy
Чем отличается авторизация от аутентификации
Чем отличается авторизация от аутентификации

Как усложнить жизнь злоумышленникам.

medium
Что такое код-ревью
Что такое код-ревью

Это проверка кода на ошибки, неточности и общий стиль программирования.

easy
Что такое XML
Что такое XML

Логическая разметка данных

easy
Кодирование и шифрование — в чём разница?
Кодирование и шифрование — в чём разница?

Одно делается для удобства, а другое — для защиты.

easy
Какие бывают базы данных
Какие бывают базы данных

Объясняем на картинках.

easy
Что такое mobile first
Что такое mobile first

Это когда сначала всё делают для смартфона, а потом для всего остального.

easy
easy