emulation
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| emulation [2026/10/23 11:44] – gecko | emulation [2026/10/23 15:52] (текущий) – gecko | ||
|---|---|---|---|
| Строка 7: | Строка 7: | ||
| Эмулятор состоит из модулей, | Эмулятор состоит из модулей, | ||
| + | ===== Плагины ===== | ||
| + | |||
| + | Система плагинов в эмуляторах PlayStation - это архитектурный подход, | ||
| + | * [[GPU]]-плагин - отвечает за отрисовку картинки. Позволяет выбирать между программным рендерингом и аппаратным ускорением через Direct3D или OpenGL с улучшением разрешения и фильтрацией текстур; | ||
| + | * [[SPU]]-плагин - отвечает за эмуляцию звукового чипа PS1; | ||
| + | * [[cd_rom|CDR]]-плагин - отвечает за чтение дисков или образов в форматах [[ISO]], [[bin_cue|BIN/ | ||
| + | * [[PAD]]-плагин - отвечает за эмуляцию геймпадов при помощи компьютерных устройств ввода (клавиатуры, | ||
| + | |||
| + | Некоторые известные плагины: | ||
| + | * [[http:// | ||
| + | |||
| + | Популярные эмуляторы с системой плагинов: | ||
| + | * [[ePSXe]]: самый известный классический эмулятор, | ||
| + | * [[PCSX|PCSX-Reloaded]]: | ||
| + | * [[PSEmu Pro]]: первый эмулятор, | ||
| + | |||
| + | В современной эмуляции классическая система плагинов во многом считается устаревшей и сложной в настройке. Некоторые проекты (DuckStation, | ||
| + | |||
| + | ==== Интерфейс плагинов PSEmu Pro ==== | ||
| + | |||
| + | Данный интерфейс определен в PSEmu PDK (Plugin Development Kit). | ||
| + | |||
| + | Общие функции (должны присутствовать во всех плагинах): | ||
| + | |||
| + | < | ||
| + | PSEgetLibName - возвращает указатель на строку, | ||
| + | PSEgetLibType - возвращает тип библиотеки. Это может быть GPU, SPU, CDR или PAD. | ||
| + | PSEgetLibVersion - возвращает версию библиотеки. | ||
| + | </ | ||
| + | |||
| + | Функции GPU-плагина: | ||
| + | |||
| + | < | ||
| + | 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 - приостанавливает эмуляцию. | ||
| + | </ | ||
emulation.1792755878.txt.gz · Последнее изменение: — gecko
