🖥️ О различиях в политике разработки PCem и 86Box
ℹ️ Это копия сообщения с форума old-games.ru.
Основное концептуальное различие в том как развиваются и преподносятся общественности эти проекты. Ведущий разработчик PCem установила (на самом деле корректнее говорить «установил», но это для нее больная тема и не хотелось бы переходить на личности и обсуждать моральные качества и психическое здоровье конкретных людей) не просто диктатуру, а настоящий деспотизм: любые патчи и правки предложенные сообществом должны соответствовать строгим нормам стиля и качества, а также личным приоритетам ведущего разработчика, чтобы получить шанс на внесение в код эмулятора. Билды PCem для публики собираются примерно раз в полгода, поэтому если видите какой-то баг, который вас не устраивает и вам известно, что его уже исправили в основной ветке, то заходите через полгода, когда обновится публичный билд или компильте из исходников сами.
Ведущий разработчик 86Box проявляет гораздо большую гибкость и разгильдяйство из-за чего в его сборке постоянно появляются различные доработки, которых по тем или иным причинам пока нету в PCem. Из тех, на которые я обратил внимание: поддержка .cue/.bin образов с воспроизведением аудио, устранены щелчки аудиомикшера в некоторых ситуациях использованием новой версии звуковой библиотеки (вроде OpenAL), поддержка NukedOPL эмуляции SoundBlaster, различные режимы эмуляции композитного выхода CGA, поддержка эмулятора Roland MT-32/CM-32L Munt. Вообще изменений, по сравнению с последним публичным билдом PCem v12, огромное количество – достаточно открыть соответствующий журнал коммитов 86Box на гитхабе OBattler и посмотреть, что там добавилось с февраля 2017 (время выхода актуальной сборки PCem). Так уж повелось, что все фиксы добавляемые в PCem очень быстро переносят в 86Box, но, к сожалению, не наоборот. Таким образом, мы всегда имеем под рукой свежий билд в котором присутствуют все актуальные исправления PCem (даже те, которых пока еще нету в публичном билде) и еще куча дополнительных фич (те же SCSI и сеть, например).
Более того, билды 86Box собираются на последних версиях GCC с оптимизацией под конкретные архитектуры процессоров. Если у вас старый корч, то это не имеет особого значения (прирост невелик), а владельцы Skylake или чего-то более нового могут поиметь дополнительные 20-40% проивзодительности. Даже для Haswell уже будет чувствоваться разница. PCem в этом плане наоборот, крайне консервативен: собирается старыми версиями GCC и имеет всего один вариант оптимизации под Pentium 4/Athlon 64. Зато есть версия под линукс (разумеется, урезанная и криво работающая).
Отмечу еще, что ввиду перечисленного выше, PCem имеет как бы техническую поддержку через их форум – проблемы легче обсуждать и выявлять, когда у всех длительное время используется только один билд. А 86Box может легко войти в полосу неудачных билдов, когда внедряя что-то одно, ломают что-то другое. Но, со временем косяки устраняются и появляется полоса удачных билдов. Кроме как пообщаться с разработчиками в чате технической поддержки 86Box нет никакой. Но если вы разбираетесь, то всегда можно предложить коммит на гитхабе. И его рассмотрят в соответствии со здравым смыслом, а не как у PCem. Такие дела.