Blog/content/posts/2023/separate-pcem-86box.md
2023-09-20 19:36:53 +03:00

53 lines
5.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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. Такие дела.