ПЛАГИНЫ PSEmuPro
наследие PSEmuPro - четыре типа плагинов, используемые для эмулирования
основного железа консоли. это GPU-плагин, отвечающий за видеосистему (причем
именно только за вывод, все геометрические вычисления GTE выполняет сам эмулятор).
SPU-плагин, отвечающий за звук. в CDR-плагине содержатся методы для чтения
отдельных секторов с CD-ROM. и наконец PAD - эмуляция различных устройств
ввода, начиная от клавиатуры с джойпадом и заканчивая мышью (у PS есть мыша, правда
лично я её никогда не видел...)
В настоящее время плагины стали своеобразным стандартом у всех эмуляторов, кроме
**** Bleem'а. И действительно, за счет повторного использования кода, программисту
эмулятора не нужно заботиться об эмуляции железа. Ему остается слепить
интерфейс (кстати сейчас намечается тенденция к созданию и GUI-плагина) и поддержку
всей процессорной системы - CPU, COP0 и GTE.
ИНТЕРФЕЙСЫ
все плагины представляют собой динамические библиотеки (dll), находящиеся в
одной директории (обычно .\plugins). они экспортируют эмулятору
набор предопределенных функций, различных у каждого плагина.
также есть 3 общих функции, которые описывают плагин:
char *PSEgetLibName(void);
unsigned long PSEgetLibType(void);
unsigned long PSEgetLibVersion(void);
PSEgetLibName возвращает строку описания плагина, например "It's my pretty plugin!".
PSEgetLibType выдает тип плагина, которых всего 4:
1 - CDROM
2 - GPU
4 - SPU
8 - PAD
PSEgetLibVersion возвращает версию в формате:
version<<16|revision<<8|build
эти методы позволяют найти плагин, для дальнейшего использования. все действия по
поиску и подключению плагина выполняет GUI.
остальные методы индивидуальны у каждого плагина. я не знаю как лучше про них написать
- получится весьма громоздко и туманно... лучше скачайте их отсюда и разберитесь сами :)
интерфейс GPU плагина
интерфейс SPU плагина
интерфейс CDR плагина
интерфейс PAD плагина
назад...