Исходные листинги 86-DOS 1.00 и PC-DOS 1.00 (листинги Патерсона)
- title
- Исходные листинги 86-DOS 1.00 и PC-DOS 1.00 (листинги Патерсона)
- type
- summary
- summary
- Апрельский релиз Microsoft (2026): восстановленные и распознанные листинги 86-DOS 1.00 и PC-DOS 1.00 Тима Патерсона под лицензией MIT
- tags
- dos, retro-computing, history, microsoft, software-preservation
- created
- 2026-04-30
- updated
- 2026-04-30
- lang
- ru
- translation_of
- early-dos-paterson-listings
- source_updated
- 2026-04-30
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
В 45-ю годовщину 86-DOS 1.00 (апрель 2026 года) блог Microsoft Open Source сообщил, что репозиторий DOS-History/Paterson-Listings - результат многолетней работы историков Yufeng Gao и Rich Cini по восстановлению материалов - переведён на лицензию MIT через согласованный pull request. Листинги получены напрямую из личного архива Тима Патерсона и теперь открыты для изучения.
Эта публикация дополняет предыдущие релизы исходного кода MS-DOS 1.25/2.0 (2018) и MS-DOS 4.0 (2024) в рамках постепенного раскрытия Microsoft ранней истории DOS.
Что входит в листинги
- Ядро 86-DOS 1.00 - оригинальная ОС Патерсона для 8086, написанная в Seattle Computer Products ещё до того, как IBM выбрала её для PC. Это реальный предок MS-DOS, а не позднейшая реконструкция.
- Несколько промежуточных снимков ядра PC-DOS 1.00 в процессе разработки - рабочие состояния того времени, сохранившиеся на бумаге по мере сборки релиза для IBM PC.
- Известные утилиты, включая CHKDSK.
- Листинги самого ассемблера - инструментарий разработки эпохи DOS, а не только сама ОС.
Листинги представляют собой распечатки на ассемблере, где прямо рядом с кодом сохранились рукописные заметки Патерсона. В публикации Microsoft они охарактеризованы как "распечатанная история коммитов Git-репозитория": каждый листинг фиксирует состояние кода на момент печати - какие возможности когда были реализованы, какие ошибки допущены и как их исправили. Такой срез процесса разработки - большая редкость для системного ПО той эпохи.
Как проходило восстановление
Это была не просто задача "отсканировать несколько документов":
- Поиск источника - Тим Патерсон сохранил архив распечаток. Чтобы восстановить их, потребовалось убедить его поделиться материалами, а затем физически перевезти их.
- Сканирование - тысячи страниц ассемблерных распечаток в их исходном физическом виде.
- Распознавание (OCR) - распечатки плотного ассемблерного текста с матричных принтеров крайне плохо поддаются стандартным OCR-системам. Joshua Carsbrook (jscarsbrook.me/doshistory/) разработал для этого специализированный OCR, заточенный под распечатки с принтера.
- Транскрипция и валидация - превращение результатов OCR в компилируемый ассемблерный код.
- Юридическая проверка - лицензирование под MIT потребовало pull request'а, согласованного с Open Source Program Office компании Microsoft.
С тех пор Тим Патерсон передал физические оригиналы в Interim Computer Museum.
Почему это важно
Это самый ранний исходный код DOS, который удалось восстановить: он появился примерно на год раньше релиза 1.25. Для изучения того, как создавались операционные системы в 1980-1981 годах (практики разработки, ручные правки в коде, экосистема ассемблера), печатные листинги служат таким же первоисточником, каким история Git-коммитов служит для современной кодовой базы. В них видно не только то, что вошло в релиз, но и то, что пробовали и отвергли - с собственными пометками Патерсона.
Лицензия MIT - принципиальная деталь для энтузиастов, ретрокомпьютерных проектов и авторов эмуляторов, которые хотят использовать, портировать или изучать код без ограничений "только для исследований".
Связанные материалы
- sdl3-dos-port - нативная поддержка DOS в современном SDL3 через DJGPP (тоже апрель 2026 года) из той же волны интереса к retro-DOS в 2026 году
- dosbox-detection-callback-opcode - статья Snow от декабря 2025 года об определении DOSBox через нестандартный callback-код операции
FE 38 00 00 - DOS-History/Paterson-Listings: https://github.com/DOS-History/Paterson-Listings
- Статья Yufeng Gao: https://thebrokenpipe.com/dos/paterson_listings
- Блог Rich Cini о восстановлении: http://cini.classiccmp.org/recoveryblog.htm