Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:dos [2020-12-27 11:19] GreyWolf [Версия 2.x] |
msx:dos [2022-08-05 22:13] GreyWolf |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== MSX-DOS ====== | + | ~~HIDEPAGE:search;sitemap~~ |
- | + | ~~REDIRECT>msx:dos:dos~~ | |
- | {{:msx:msxdos-logo.svg?250|}} | + | |
- | + | ||
- | MSX-DOS — дисковая операционная система, используемая на компьютерах стандарта [[msx:msx|]], разработана в 1984 году. Она совместима по системным вызовам с [[cp_m:cp_m|CP/M-80 2]], но имела расширенные функции. Иными словами, система позволяла запускать большинство программ, написанных под [[cp_m:cp_m|]] и имела файловую систему FAT, что позволяло обмениваться файлами с системой [[ms_dos:ms_dos|]]. | + | |
- | + | ||
- | Сейчас продолжением этой ОС (MSX-DOS 2.31) является [[msx:nextor:nextor|]]. | + | |
- | + | ||
- | {{anchor:history}} | + | |
- | ====== История создания MSX-DOS ====== | + | |
- | + | ||
- | Перевод статьи: [[msxorg>wiki/The_History_of_MSX-DOS|The History of MSX-DOS]]. | + | |
- | + | ||
- | Тим Патерсон (Tim Paterson) — американский программист, более известный как первоначальный автор MS-DOS, наиболее широко используемой операционной системы для персональных компьютеров в 1980–х годах. | + | |
- | + | ||
- | В 1983 году Microsoft заключила контракт с Тимом Патерсоном на перенос MS-DOS 1.25 на платформу MSX. | + | |
- | + | ||
- | Тим Патерсон в настоящее время является владельцем технологии Paterson. | + | |
- | + | ||
- | Недавно связавшись с нами, Тим любезно согласился поделиться историей разработки MSX-DOS с сообществом MSX: | + | |
- | + | ||
- | Вот что я могу восстановить в истории MSX-DOS: | + | |
- | + | ||
- | 10 августа 1983 года мне позвонил Пол Аллен с просьбой сделать версию MS-DOS для Z80. Я не упустил этот шанс, так как пытался подготовить первый продукт для своего "startup" Falcon Systems. Я предложил ему ещё одного или двух человек, которые, как мне казалось, могли бы это сделать, и он сказал, что он их уже спрашивал. Он торопился сделать это, и никто другой не мог уложиться в предлагаемый его срок. Но он был готов заплатить наличными и позволить моей компании распространять MS-DOS, поэтому я решил, что это хорошая сделка. 17 августа я подписал соглашение о выпуске Z80 MS-DOS 1.25 за 100 000 долларов и о праве распространять MS-DOS 2.0, 2.5 и 3.0 с аппаратными продуктами без лицензионных платежей. | + | |
- | + | ||
- | Для меня это был процесс перевода. Я уже написал программу перевода на ассемблер с Z80 на 8086 (TRANS). В данном случае я делал ручной перевод в обратном направление. Поскольку MS-DOS была способна запускать приложения CP/M, которые были переведены на 8086, это должно означать, что MSX-DOS сможет запускать программы CP/M напрямую. Поэтому, хотя я считаю MSX-DOS версией MS-DOS для Z80, её также можно рассматривать как вариант CP/M, которая использует формат диска MS-DOS. | + | |
- | + | ||
- | Я сидел за терминалом Heath/Zenith H19, подключённым к компьютеру Seattle Computer Products 8086, работающему под управлением MS-DOS, с двойным дисководом PerSci 8”. В качестве редактора я использовал MicroPro WordMaster (не самый известный WordStar), который я сам портировал в DOS, разобрав 8–битную версию CP/M и переводя (с помощью TRANS) на 8086 ассемблер. Я сомотрел по несколько строк исходного кода DOS на ассемблере 8086 и набрал ту же операцию на ассемблере Z80. | + | |
- | + | ||
- | Я также написал эмулятор Z80, работавший под MS-DOS, имитирующий машину CP/M, с которой я работал 27 августа 1983 года. Это позволило мне выполнить весь проект разработки под MS-DOS. Я собирал исходный код Z80 с использованием ассемблера Microsoft M80, работающего под эмулятором, и выполнил сборку используя L80. | + | |
- | + | ||
- | У MSX-DOS, которую я писал, был системный уровень ввода–вывода, который взаимодействовал непосредственно с системным уровнем ввода–вывода машины MS-DOS, на которой выполнялась эмуляция. Это давало MSX-DOS прямой доступ и контроль над форматом диска. Большая часть основного кода была связана с управлением файлами, так что было необходимо протестировать это. Я сделал резервную копию своей работы на втором диске PerSci и предоставив MSX-DOS полный контроль над рабочим диском. Конечно, в первые дни появлялись ошибки, которые уничтожали диск. | + | |
- | + | ||
- | Ко 2-му октября у меня были Microsoft BASIC и M80, работающие под управлением MSX-DOS. Я закончил кодирование COMMAND.COM несколько дней спустя. Я разработал некоторые ошибки и продемонстрировал MSX-DOS Полу Аллену 11 октября. Я официально поставил бета-тестовую версию 26 октября. Там было пасхальное яйцо, на котором было написано моё имя, но я не помню, как оно было активировано. Моё имя было закодировано с помощью FAT–кода, поэтому его нельзя было найти простым поиском в файле. | + | |
- | + | ||
- | После этого код был отправлен в ASCII в Японии. Они создали систему ввода-вывода для машины MSX. Они сообщали об ошибках, и я их исправлял. Однажды в начале января 1984 года я сделал ревизию кода, которая затем разбила мой диск, когда я запустил его эмуляцию. К сожалению, я уже привык к тому, что все работает, и не сделал резервную копию. Потребовался целый день, чтобы восстановить потерянные данные. | + | |
- | + | ||
- | В ASCII был очень проницательный японский программист Джэй Сузуки. Он разобрался с пасхальным яйцом и добавил к нему своё имя. | + | |
- | + | ||
- | У ASCII возникли проблемы с работой MSX-DOS на реальной машине MSX. Они не предоставили мне машину, а вместо этого мне пришлось приехать в Токио, чтобы помочь им. 28 января я уехал в Японию с Крисом Ларсоном, где мы встретились с Кей Ниши и его людьми. Оказалось, что они взламывали код, не сказав мне, поэтому мы работали с разной кодовой базой. Я провёл три дня в Токио, чтобы выяснить проблемы (и немного времени я провёл как турист). Я не очень хорошо работаю под давлением, поэтому я не пытался там писать код. Я продолжи дальнейшую работать над MSX-DOS в феврале. | + | |
- | + | ||
- | Крис Ларсон и Джей Сузуки приходили ко мне в офис в конце февраля и начале марта. Они принесли машину MSX с встроенным эмулятором (ICE) для отладки. У нас все заработало, и я больше ничего не слышал до апреля. Было ещё немного работы, и затем 23 апреля 1984 года Microsoft приняла поставку и произвела окончательный расчёт. | + | |
- | + | ||
- | После этого я исправил несколько ошибок, но это было практически завершением контакта с этим проектом. Я больше ничего не слышал о MSX. | + | |
- | + | ||
- | Я надеюсь, что это отвечает на ваши вопросы. | + | |
- | + | ||
- | Тим Патерсон \\ | + | |
- | Патерсон Технолоджи | + | |
- | + | ||
- | + | ||
- | {{anchor:v1x}} | + | |
- | ====== Версия 1.x ====== | + | |
- | + | ||
- | Создана на базе [[ms_dos:ms_dos|]] 1.25 в 1984 году. | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | [[msxorg>wiki/MSX-DOS_1|MSX-DOS 1]] | + | |
- | + | ||
- | + | ||
- | {{anchor:v2x}} | + | |
- | ====== Версия 2.x ====== | + | |
- | + | ||
- | В июле 1988, ASCII выпустила японскую версию MSX-DOS. | + | |
- | + | ||
- | Европейские версии появились в 1989 году на основе версии 2.20 | + | |
- | + | ||
- | Основные новшества: | + | |
- | * Работа с папками (вложенные папки) | + | |
- | * Переменные окружения | + | |
- | * Memory Mapper | + | |
- | * Временные файлы каналов (pipe files) | + | |
- | * Перенаправление периферийных устройств | + | |
- | + | ||
- | На текущий момент [[msx:nextor:nextor|]] является продолжением MSX-DOS 2.31 | + | |
- | + | ||
- | + | ||
- | [[msx:dos:2|Подробная документация]] | + | |
- | + | ||
- | + | ||
- | ---- | + | |
- | + | ||
- | [[msxorg>wiki/MSX-DOS_2|MSX-DOS 2]] | + | |
- | + | ||
- | **[[https://msxhub.com/MSXDOS2T|Several MSX-DOS2 utilities, some of them implementing popular unix commands]]** | + | |
- | + | ||
- | {{anchor:tpa}} | + | |
- | ====== Transient Program Area (TPA) ====== | + | |
- | + | ||
- | TPA — это свободная область для пользователей MSX-DOS. Эта область начинается с адреса 0100h и заканчивается адресом 0006h. Команды MSX-DOS загружаются в TPA. | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | [[msxorg>wiki/TPA|TPA]] | + | |
- | + | ||
- | ====== Ссылки ====== | + | |
- | + | ||
- | * [[https://msxhub.com/static/hub/img/logos/MSXDOS-Logo.svg|Логотип MSX-DOS]] | + | |
- | * [[wp>MSX-DOS]] | + | |
- | * [[msxorg>wiki/Category:MSX-DOS|MSX-DOS]] | + | |
- | * [[msxorg>wiki/MSX-DOS_Internal_Commands|MSX-DOS Internal Commands]] | + | |
- | * [[http://www.msxarchive.nl/pub/msx/utils/MSX-DOS%202.2/|MSX-DOS 2.2]] | + | |
- | * https://archive.org/details/MSXDOS | + | |
- | * [[https://www.faq.msxnet.org/dos2.html|The Ultimate MSX FAQ - MSX-DOS 2 section]] | + | |
- | * [[https://archive.org/details/MSXDOS231|MSX-DOS 2.31]] | + | |
- | * **http://fms.komkon.org/MSX/Docs/EasyGuide.txt** | + | |
- | * [[github>/Konamiman/MSX2-Technical-Handbook/blob/master/md/Chapter3.md#11-features-of-msx-dos|Konamiman/MSX2-Technical-Handbook/Chapter3 — MSX-DOS]] | + | |
- | + | ||
- | + | ||
- | {{tag>OS MSX}} | + | |