Сборка MS-DOS 4.0

Но я был бы не я, если бы не попробовал бы его собрать.

Мелкомягкие ДОС выложили на свой репозиторий https://github.com/microsoft/MS-DOS . Но, как обычно, есть НЮАНС! MS-DOS разрабатывался в кодировке CP866 и, сточки зрения ПО - это бинарные(!) файлы, а их выложили как текстовые файлы в кодировке UTF-8, превратив код в фарш. Читайте - было вредительство.
Но всё же мы попытаемся продвинутся в сборке и расскажу инструкцию, как начать. Фарш и косяки после неудачного (вредительского) выкладывания исходников начали исправлять достаточно большое количество ребят. Один из проектов, которые я нашёл интересным обитает тут: https://github.com/neozeed/dos400 , там исправлено достаточно большое количество косяков, особенности в части инициализации переменных сред окружения.
Что ж, попробуем собрать.
Создадим папки для сборки:
mkdir build_dos && cd build_dos
Склонируем репозиторий в папку src (это важно, так как к названию src привязаны сборочные скрипты).
git clone https://github.com/neozeed/dos400 src
Запускаем в текущей папке dosbox и монтируем в нём текущую директорию:
dosbox

После этого определяем переменные среды окружения и запускаем сборку:

И, да, успех! Сборка вполне себе бодро идёт, большинство файлов успешно собирается. Казалось бы, мы на пути к безоговорочному успеху!

Но в конце концов мы утыкаемся в кривые проблемы с кодировкой. Типичная боль и проблема переноса кода в git:

Проблема столь типичная, что я уже её когда-то решал и описывал на хабре.
Иностранцы тоже негодуют, как же можно было так плохо выложить исходный код, представляющий такую ценность: How Not To Release Historic Source Code. Обидно конечно, но в целом было бы время и желание всё это разрешить.
Надеюсь постик будет полезным стартом в попытке собрать ДОС из исходников.
|
</> |