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

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


emulation

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
emulation [2026/10/23 15:40] – geckoemulation [2026/10/23 15:52] (текущий) – gecko
Строка 15: Строка 15:
   * [[PAD]]-плагин - отвечает за эмуляцию геймпадов при помощи компьютерных устройств ввода (клавиатуры, джойстика).   * [[PAD]]-плагин - отвечает за эмуляцию геймпадов при помощи компьютерных устройств ввода (клавиатуры, джойстика).
  
-В современной эмуляции классическая система плагинов во многом считается устаревшей и сложной в настройке. Некоторые проекты (DuckStation, PCSX-Redux) отказались от плагинов в пользу монолитной кодовой базы, что избавляет пользователей от проблем совместимости, когда игра работает с одним плагином, но зависает с другим.+Некоторые известные плагины: 
 +  * [[http://www.pbernert.com/html/dev.htm|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.
  
 Популярные эмуляторы с системой плагинов: Популярные эмуляторы с системой плагинов:
Строка 22: Строка 23:
   * [[PSEmu Pro]]: первый эмулятор, который ввел эту концепцию.   * [[PSEmu Pro]]: первый эмулятор, который ввел эту концепцию.
  
 +В современной эмуляции классическая система плагинов во многом считается устаревшей и сложной в настройке. Некоторые проекты (DuckStation, PCSX-Redux) отказались от плагинов в пользу монолитной кодовой базы, что избавляет пользователей от проблем совместимости, когда игра работает с одним плагином, но зависает с другим.
 +
 +==== Интерфейс плагинов PSEmu Pro ====
 +
 +Данный интерфейс определен в PSEmu PDK (Plugin Development Kit).
 +
 +Общие функции (должны присутствовать во всех плагинах):
 +
 +<code>
 +PSEgetLibName - возвращает указатель на строку, содержащую имя библиотеки.
 +PSEgetLibType - возвращает тип библиотеки. Это может быть GPU, SPU, CDR или PAD.
 +PSEgetLibVersion - возвращает версию библиотеки.
 +</code>
 +
 +Функции GPU-плагина:
 +
 +<code>
 +GPUinit - инициализирует плагин графического процессора (GPU).
 +GPUshutdown - завершает работу библиотеки.
 +GPUmakeSnapshot - создает снимок экрана.
 +GPUopen - вызывается при запуске игры. В качестве параметра получает дескриптор окна.
 +GPUclose - вызывается при завершении игры.
 +GPUupdateLace - вызывается во время вертикальной синхронизации (V-sync).
 +Может использоваться для предотвращения разрывов изображения (tearing).
 +GPUreadStatus - запросы на чтение.
 +GPUwriteStatus - запросы на запись.
 +GPUreadData - чтение из видеопамяти (VRAM).
 +GPUreadDataMem - чтение блоков данных из видеопамяти (VRAM).
 +GPUwriteData - запись в видеопамять (VRAM).
 +GPUwriteDataMem - запись блоков данных в видеопамять (VRAM).
 +GPUsetMode - устанавливает режим передачи. (устарело)
 +GPUgetMode - возвращает режим передачи. (устарело)
 +GPUdmaChain - прямой доступ к памяти (DMA).
 +GPUconfigure - отображает диалоговое окно настройки.
 +GPUabout - отображает диалоговое окно «О программе».
 +GPUtest - проверяет корректность работы плагина и выводит соответствующее диалоговое окно.
 +GPUdisplayText - отладка (вывод текста).
 +GPUdisplayFlags - флаги.
 +GPUfreeze - приостанавливает эмуляцию.
 +</code>
  
emulation.1792770024.txt.gz · Последнее изменение: — gecko

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