pcem&86box

This commit is contained in:
Alexander Popov 2023-09-20 19:36:53 +03:00
parent 2c260208b1
commit eca98beb9d
Signed by: iiiypuk
GPG Key ID: E47FE0AB36CD5ED6

View File

@ -0,0 +1,52 @@
---
title: "🖥️ О различиях в политике разработки PCem и 86Box"
date: 2023-09-20T19:31:13+03:00
draft: false
tags: [tools, hardware]
---
> Это копия [сообщения](https://www.old-games.ru/forum/threads/pcem-ehmuljator-pc.68711/page-19#post-1407429)
с форума 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. Такие дела.