Рио-де-Жанейро
- 1 year ago
- 0
- 0
MSX-DOS — дисковая операционная система , которая больше не выпускается, разработанная Microsoft для 8-битных домашних компьютеров MSX , и представляет собой нечто среднее между MS-DOS v1.25 и CP/M-80. v2.2.
MSX-DOS и расширенный BASIC с поддержкой 3½-дюймовых гибких дисков были разработаны Microsoft и ASCII Corporation в качестве стандарта программного и аппаратного обеспечения для стандарта домашних компьютеров MSX, чтобы добавить дисковые возможности к BASIC и дать системе более дешёвый программный носитель, чем карта памяти , и более мощную систему хранения, чем кассетная лента . Стандартный BIOS нерасширенного компьютера MSX не имел встроенной поддержки дисков, но предоставлял перехватчик для расширения диска, поэтому система расширения дополнительных гибких дисков поставлялась с собственным ПЗУ расширения BIOS (встроенным в контроллер диска), называемым BDOS .
Этот BIOS не только добавил в MSX BASIC команды поддержки дискет, но и загрузчик операционной системы , с помощью которого можно было загрузить дисковую операционную систему.
MSX-DOS была бинарно совместима с CP/M-80 , что позволяло компьютеру MSX легко получить доступ к его обширной библиотеке программного обеспечения, доступного по очень низкой цене для того времени.
После загрузки MSX-DOS система ищет COMMAND на диске MSX-DOS. COM-файл и загружает его в память. В этом случае BDOS обходит BASIC ROM, так что все 64 КБ адресного пространства микропроцессора Z80 внутри компьютера MSX можно использовать для DOS или других загрузочных дисков, например, для игр на дисках. В то же время к исходным ПЗУ BIOS по-прежнему можно было получить доступ через механизм « переключателя банка памяти», так что программное обеспечение на основе DOS могло по-прежнему использовать вызовы BIOS для управления аппаратными и другими программными механизмами, поставляемыми основными ПЗУ. Кроме того, благодаря ПЗУ BDOS основные возможности доступа к файлам были доступны даже без интерпретатора команд с использованием расширенных команд BASIC.
При первом запуске COMMAND.COM ищет необязательный пакетный файл с именем AUTOEXEC.BAT и, если он есть, выполняет указанные там команды. Если MSX-DOS не вызывается и Disk BASIC запускается, то вместо неё будет выполнена программа BASIC с именем «AUTOEXEC.BAS», если она присутствует.
Ниже приведен список внутренних команд, поддерживаемых MSX-DOS.
Версия | Дата |
---|---|
1.00 | июнь 1984 г. |
1.01 | март 1985 г. |
1.02 | июль 1985 г. |
1.03 | август 1985 г. |
2.20 | июль 1988 г. |
2.22 | |
2.30 | ноябрь 1990 г. |
2.31 | декабрь 1991 г. |
10 августа 1983 года Пол Аллен позвонил , первоначальному автору 86-DOS и MS-DOS 1.x, и попросил его сделать «версию MS-DOS для Z80 » для стандарта MSX. В то время Патерсон был занят, пытаясь подготовить к работе первый продукт своего стартапа Falcon Systems, поэтому он предложил ещё нескольких разработчиков, но Аллен сказал, что уже просил. Аллен торопился сделать это, и никто другой не мог уложиться в его сроки. Аллен и Патерсон наконец согласились, и 17 августа они подписали соглашение о выпуске «Z80 MS-DOS 1.25» за 100 000 долларов США и права компании Патерсона на распространение MS-DOS 2.0 , 2.5 и 3.0 с аппаратным продуктом без роялти.
Для Патерсона это был в основном процесс перевода. Он уже написал программу перевода Z80 в 8086 на ассемблере ( TRANS.КОМ ). В данном случае он вручную переводил в другую сторону. Поскольку MS-DOS 1.x была смоделирована по образцу API CP/M и могла запускать приложения CP/M, которые были переведены на уровне исходного кода в 8086, это означало бы, что MSX-DOS сможет запускать программы CP/M напрямую.
Для этого проекта Патерсон также написал эмулятор Z80, работающий под MS-DOS, что позволило ему выполнять весь проект разработки под MS-DOS. MSX-DOS, которую он писал, имела уровень системы ввода-вывода , который напрямую взаимодействовал со слоем системы ввода-вывода машины MS-DOS, на которой выполнялась эмуляция. Это дало MSX-DOS прямой доступ и контроль над форматом диска. Большая часть кода ядра была связана с управлением файлами, так что это было необходимо для его проверки.
К 2 октября 1983 года у него были Microsoft BASIC и ассемблер макросов Microsoft M80, работающие под MSX-DOS. Он закончил программировать COMMAND.COM через несколько дней. Он устранил некоторые ошибки и 11 октября продемонстрировал MSX-DOS Полу Аллену. Бета-тестовая версия была официально выпущена 26 октября 1983 года. В нём было пасхальное яйцо , на котором было напечатано имя Патерсона. Имя было закодировано кодом FAT, поэтому его нельзя было найти простым поиском в файле. После доставки бета-версии код был отправлен в ASCII в Японии. Они создали систему ввода-вывода для машины MSX. Этот код был разработан . Он придумал пасхалку и добавил к ней свое имя.
У ASCII были проблемы с запуском MSX-DOS на реальной машине MSX. Они не предоставили Патерсону настоящую машину MSX, а вместо этого 28 января 1984 года отправили его в Токио, чтобы помочь им. Выяснилось, что ASCII модифицировал код, не сообщая об этом Патерсону, поэтому они не работали с одной кодовой базой. Патерсон провел три дня в Токио, выясняя проблемы, и вернулся в Сиэтл.
Крис Ларсон из Microsoft и Джей Сузуки посетили Патерсон в Сиэтле в конце февраля и начале марта 1984 года. Они принесли MSX-машину со встроенным эмулятором (ICE) для отладки. У них все заработало, и 23 апреля 1984 года Microsoft приняла поставку и произвела окончательный платеж за MSX-DOS Патерсону.
Во время написания MSX-DOS существовала только одна популярная дисковая операционная система для 8-разрядных микропроцессоров, совместимых с Intel 8080 , — система CP/M-80 компании Digital Research . Он также часто использовался с системами Z80 , потому что Z80 использовал расширенную архитектуру 8080. Собственная дисковая операционная система Microsoft также была вдохновлена CP/M.
Чтобы иметь возможность запускать (слегка модифицированное) программное обеспечение CP/M, Microsoft решила реализовать функции, аналогичные основным частям BIOS CP/M, подпрограммы, которые системы CP/M использовали для выполнения конкретных задач работы с диском, таких как открытие файлов и т. д. Вместо того, чтобы основывать командный процессор на CCP CP/M, который был известен некоторым недружелюбием к пользователю, интерпретатор командной строки ( COMMAND.COM ), основанный на его аналоге MS-DOS. Microsoft также предпочла собственную файловую систему FAT12 методам регистрации CP/M. Это гарантировало, что дискеты MSX-DOS можно будет использовать на машине с MS-DOS и что будет использоваться только одна единственная система форматирования и хранения. Это было важное решение, потому что диски CP/M часто не были взаимозаменяемыми между машинами, и причиной этого были несовместимые схемы форматирования дисков.
Microsoft также добавила в MSX-DOS стандартный набор дисковых команд, которые были совместимы с MS-DOS, но не с CP/M. Наконец, они преобразовали свою конвейерную систему из MS-DOS в MSX-DOS. В результате DOS была системой, которая была намного удобнее для пользователя, чем CP/M, но была (в принципе) совместима с основными программными пакетами CP/M, такими как WordStar, Turbo Pascal , ассемблером «M80» и компоновщиком «L80».
Следующие команды поддерживаются в MSX-DOS версии 2.
Кроме того, ASCII предоставило следующие инструменты MSX-DOS2.