Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:dos:dos [2022-08-05 21:45] GreyWolf |
msx:dos:dos [2023-10-11 19:55] (текущий) GreyWolf [Версия 1.x] |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
{{:msx:msxdos-logo.svg?250|}} | {{:msx:msxdos-logo.svg?250|}} | ||
- | FIXME | + | 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 году. | ||
+ | |||
+ | Различные версии: | ||
+ | * <WRAP>{{:msx:dos:msxdos13.zip|MSX-DOS 1.03 - COMMAND 1.11 (Tim Paterson)}}, [[http://www.msxpro.com/download/msxdos/disk/MSXDOS13.zip|оригинал]] | ||
+ | ^Файл^SHA1^ | ||
+ | |COMMAND.COM|af5f2ef3eac4062638f5d8069515e6bcee788e7d| | ||
+ | |MSXDOS.SYS|61cd9b4a8c06d750be90b85ed09d4b21871490c4| | ||
+ | </WRAP> | ||
+ | * [[msx:dos103x:|]] | ||
+ | |||
+ | {{anchor:dos1src}} | ||
+ | Исходные тексты: | ||
+ | * {{:msx:dos:msxdoskit.zip|}} | ||
+ | * {{:msx:dos:msxdos1src.zip|}}, [[https://hansotten.file-hunter.com/uploads/files/msxdos1src.zip|оригинал]] | ||
+ | * [[msx:msxsyssrc:msxsyssrc|]], [[https://sourceforge.net/p/msxsyssrc/git/ci/master/tree/msxdos100/|Ссылка на репозитарий]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | [[msxorg>wiki/MSX-DOS_1|MSX-DOS 1]] | ||
+ | |||
+ | |||
+ | {{anchor:v2x}} | ||
+ | ====== Версия 2.x ====== | ||
+ | |||
+ | Подробная информация: [[msx:dos2:|]] | ||
+ | |||
+ | |||
+ | {{anchor:tpa}} | ||
+ | ====== Transient Program Area (TPA) ====== | ||
+ | |||
+ | TPA — это свободная область для пользователей MSX-DOS и называются "транзитной областью". Эта область начинается с адреса 0x0100 и заканчивается адресом, хранящимся в ячейке 0x0006. Команды MSX-DOS загружаются в TPA. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | [[msxorg>wiki/TPA|TPA]] | ||
====== Ссылки ====== | ====== Ссылки ====== | ||
+ | * [[https://msxhub.com/static/hub/img/logos/MSXDOS-Logo.svg|Логотип]] | ||
+ | * [[wp>MSX-DOS]] | ||
+ | * [[msxorg>wiki/Category:MSX-DOS|MSX-DOS]] | ||
+ | * [[msxorg>wiki/MSX-DOS_Internal_Commands|MSX-DOS Internal Commands]] | ||
+ | * https://archive.org/details/MSXDOS | ||
+ | * **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]] | ||
+ | * [[http://www.msxpro.com/msx-dos.html|The MSX Hardware Page — MSX DOS]] | ||
- | {{tag>OS MSX Doc}} | + | {{tag>OS MSX}} |