Инструменты пользователя

Инструменты сайта


emulation

Это старая версия документа!


Эмуляция

В широком смысле эмуляция - это имитация функций аппаратного обеспечения программными средствами. Зачастую под эмуляцией подразумевается выполнение машинного кода на системе, для которой этот код не предназначен (хотя имеет место эмуляция самых разных видов оборудования, не только CPU - классическим примером являются эмуляторы терминала, которые на практике полностью вытеснили аппаратные терминалы). В ретрогейминге эмуляция существует для того, чтобы запускать старые приставочные игры на персональных компьютерах и других современных устройствах. По состоянию на 2026 год полноценно эмулируются на ПК практически все игровые системы 1-6 поколений; консоли 7 поколения эмулируются условно (эмуляторы развиваются); эмуляторы консолей 8 поколения находятся в разработке; консоли 9 поколения не эмулируются.

Эмуляцию следует отличать от виртуализации. Виртуализация - это способ сосуществования на одном оборудовании нескольких одновременно работающих операционных систем. При виртуализации гостевая ОС работает на той же аппаратной архитектуре, тогда как эмуляция воссоздает иную архитектуру.

Эмулятор состоит из модулей, которые воспроизводят поведение оригинального устройства. В первую очередь это процессор: машинный код целевого процессора переводятся на лету в понятные для хост-системы инструкции (путем интерпретации или динамической рекомпиляции). Особенностью эмулятора является точное воспроизведение аппаратного окружения (оперативной памяти, видеопроцессора, контроллеров, портов ввода/вывода, носителей данных, подключаемых периферийных устройств и т.д.) программными средствами хост-системы.

Плагины

Система плагинов в эмуляторах PlayStation - это архитектурный подход, зародившийся в PSEmu Pro, который разделяет функциональность эмулятора на независимые компоненты. Эмулятор выступает в роли оркестратора, а реализация аппаратных частей консоли вынесена во внешние динамические библиотеки:

  • GPU-плагин - отвечает за отрисовку картинки. Позволяет выбирать между программным рендерингом и аппаратным ускорением через Direct3D или OpenGL с улучшением разрешения и фильтрацией текстур;
  • SPU-плагин - отвечает за эмуляцию звукового чипа PS1;
  • CDR-плагин - отвечает за чтение дисков или образов в форматах ISO, BIN/CUE;
  • PAD-плагин - отвечает за эмуляцию геймпадов при помощи компьютерных устройств ввода (клавиатуры, джойстика).

Некоторые известные плагины:

  • P.E.Op.S. (Psx Emulation Open Source) - проект с открытым исходным кодом, запущенный в 2001 году. В рамках P.E.Op.S. были выпущены модули для всех ключевых компонентов эмуляции: программный GPU-плагин P.E.Op.S. Soft GPU, GPU-плагин с аппаратным ускорением P.E.Op.S. OpenGL GPU, звуковой плагин P.E.Op.S. DSound Audio SPU, CDR-плагин P.E.Op.S. CDR. Плагины доступны для операционных систем Windows и Linux.

Популярные эмуляторы с системой плагинов:

  • ePSXe: самый известный классический эмулятор, использующий плагины для GPU, SPU и CDR;
  • PCSX-Reloaded: лучший свободный эмулятор;
  • PSEmu Pro: первый эмулятор, который ввел эту концепцию.

В современной эмуляции классическая система плагинов во многом считается устаревшей и сложной в настройке. Некоторые проекты (DuckStation, PCSX-Redux) отказались от плагинов в пользу монолитной кодовой базы, что избавляет пользователей от проблем совместимости, когда игра работает с одним плагином, но зависает с другим.

emulation.1792770347.txt.gz · Последнее изменение: — gecko

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki