История CP/M на Speccy
Alone Coder
Самая распространённая ОС для 8-битных
компьютеров -CP/M.Это очень простая ОС,
предоставляющая процедуры доступа к файлам
и консоли. Зато под неё, по сравнению с
более серьёзными поздними разработками,
очень много софта.
Когда-то делали специализированныеCP/M
компьютеры на шине S-100, а для некоторых
других компьютеров дляCP/Mдаже ставили
платы расширения с процессором Z80. Но нам
интересно, какCP/Mживёт на Спектруме.
* * *
CP/M помещается в адресном пространстве
8080 (и Z80 ) следующим образом:
- с адреса#0000 точка выхода из прог─
раммы, потом основной вызовCP/M по адресу
#0005, далее небольшая область переменных
(подробнее можно почитать тут:
http://koapp.narod.ru/
tehlit/system/dos/cpm/cpm.htm );
- с адреса #0100 загружается текущая
исполняемая программа;
- впритык к концу адресного пространст─
ва располагается сам кодCP/M. Он состоит
из диспетчера функцийDOS (BDOS), драйвера
под конкретный компьютер(BIOS) и буферов;
- ниже могут лежать резидентные прог─
раммы.
Vadim даёт пример для Profi CP/M:
┌──────────────────────┐ FFFFH
│ Область │ вершина памяти
│ Concurrent BIOS │ (64K)
├──────────────────────┤ F800H
│ Буфера DOS при │ Интерфейс CBIOS
│ обмене с дисками │ <<<<<<<<<<
├──────────────────────┤ F400H
│ Область расширения │ дисковые таблицы
│ BIOS │ (DPB)
├──────────────────────┤ F000H
│ Диспетчер функций │ Расширение BIOS
│ DOS │
├──────────────────────┤ DOSTOP - этот
│ COMMAND.COM │ адрес хранится
│ Интерпретатор команд │ по адресу 6
├──────────────────────┤ XXXXH =
│Transient Program Area│ = DOSTOP-ODOOH
│ (TPA) - область │ (примерно)
│ транзитных программ, │
│т.е. задач типа *.com.│
│ Её объём в PROFI-DOS │
│ равен примерно 58KB. │
│На Profi в 4000H-7FFFH│
│ лежит окно │
│проецирования страниц.│
├──────────────────────┤ 0100H
│ │ Адрес старта
│ │ программ типа com
└──────────────────────┘ 0000H
Точка рестарта
(выход в ОС)
Максагор даёт пример для ATM Turbo CP/M:
- #0000-#OOFF:SPA (область системных па─
раметров)
- #0100-#DЗFF:TPA (область COM-программ)
- #D400-#DCO5:CCP (интерпретатор команд─
ной строки, независим от железа,на котором
запускается)
- #DCOб-#E9FF: BDOS (диспетчер функций
DOS, независим от железа,на котором запус─
кается)
- #EAOO-#F7FF:BIOS (стандартная керналь
низкоуровневых "железозависимых" функций в
начале, а в конце - таблицы настроек фай─
ловой системы логических устройств DPB, а
также (с #F000 до #F7FF) зарезервированное
место для карт заполнения устройств
- #F800-#FFFF: System Monitor - монитор
наиболее низкоуровневых системных функций,
куда обращаются "железозависимые функции
BIOS. Представляет собой керналь функций
по прямому доступу к низкоуровневым драй─
верам физических устройств ввода-вывода,
драйверу экранной консоли, а в конце - ве─
ктор назначенных физических устройств на
конкретные буквы дисков, а также описатели
низкоуровневых форматов подключенных уст─
ройств.
Теоретически можно верхнюю часть (BDOS
иBIOS) спрятать в теневой памяти,если по
адресу5будет что-то посложнееJP DOSTOP.
Но так никто не делает - во многом потому,
что некоторые программы смотрят число по
адресу 6,чтобы узнать размер свободной
памяти (и ошибаются, потому что не знают
про резиденты).А некоторые даже начинаются
с криминальногоLD HL,(6): LD SP,HL.Впро─
чем, их можно патчить при загрузке или ис─
пользоватьRST...
В отличие от многих наших клонов, фир─
менный Спектрум позволял без всяких дора─
боток отключать ПЗУ и подменять его внеш─
ней памятью, подключаемой через слот. Про─
блема только в том, что ряд программ под
CP/M требует32KОЗУ, что пересекается с
48K экраном.Эта проблема решается на 128K.
А на +3 можно отключить ПЗУ даже без внеш─
них устройств.
Про наличиеCP/Mдля ZX81 ничего не из─
вестно, да и про Микродрайв история умал─
чивает. ПоэтомуCP/Mу нас начинается сра─
внительно поздно. Зато у нас их МНОГО! :)
Во многом потому, что было огромное коли─
чество разнообразных дисковых интерфейсов
(например, тут перечислено34штуки:
http://problemkaputt.de/zxdocs.htm )
и клонов Спектрума с разными апгрейдами.
1985 год
Опубликована схема расширения памяти
48K на одной микросхеме, в статье описан
"CP/M режим":http://
8bit.yarek.pl/upgrade/zx.eniac/index.html
Неизвестно,под какой дисковый интерфейс
планировался этотCP/M и был ли он реально
написан. Возможно,это были просто фантазии
автора(кто автор? Troller? Чех ли вообще?)
по мотивам схемы расширения памяти фирмен─
ного 48K, продававшейся через журнал ZX
Computing в1984 году.
1986-1987 годы
В Португалии пишетсяCP/M для дискового
интерфейса FDD 3000 . Известна версия со
следующими копирайтами (http://
timex.comboios.info/PT/tmxtechcpm.html ):
CP/M* Versio para o Timex FDD 3000
Versio de distribuicio premilimar:86.01.17
Copyright por:
TMX PORTUGAL
APARTADO 2
MONTE DA CAPARICA
PORTUGAL
* - CP/M e uma marca registada da
Digital Research
По всей видимости, использовался видео─
режим 512x192 на Timex'е, чтобы выводить
80 символов в строке.
В 1986 году в Польше фирма Mera-Elwro
выпускает компьютер Elwro 800 Junior, пре─
дназначенный для использования в школах.
"Комплектовался внешним блоком из двух ди─
сководов, для работы с которыми использо─
валась операционная системаCP/J- модифи─
кацияCP/M.Компьютеры можно было объеди─
нить в локальную сетьJUNET." Есть большая
вероятность, что это был перемаркированный
Timex.
1987 год
v v
В Чехословакии Jiri Lamac выпустил уст─
ройство LEC Memory Extension.
"A plug-in memory system for 48K
machines and clones. Three modifications
were available: 80K, 272K and 528K memory.
Jiri wrote his own ROM called LEC ROM.
It fixes some well-known bugs in the
original ROM, delivers a better de-token─
ized BASIC editor and a few commands for
copying data between RAM banks.This ROM is
optional, asCP/Mand custom format progr─
ams work with the original ROM as well.
This add-on came with a software tape
(CP/M 2.2 for the LEC Memory Extension)."
http://www.worldofspectrum.org/
infoseek.cgi?regexp=^LEC+Memory+Extension$
&pub=^Jiri+Lamac$
Появился также дисковый интерфейс Aerco
FD-68 Floppy Disc Drive с операционной си─
стемойRP/M:
"The FD-68 interface is 4 inches tall
and 6 inches wide with a through edge
connector for adding other peripherals. It
had the capability of having a 256K
RAMdisk (in 64K chunks) onboard, and had
CP/M capability if you purchased an extra
eprom. Adding 256K to the interface
required an additional power supply and
some re-wiring of the board to add a new
circuit for the power supply."
http://cs.wikipedia.org/wiki/Aerco_FD-68
http://www.vintagecomputer.net/ciscЗб7/
Family%2OComputing%2OMarch%201987%20
Machine%2OSpecifics.pdf
В Португалии разработан Timex 3256 со
встроеннымCP/M . Он не был выпущен на ры─
нок или выпущен в малом числе экземпляров
(известен только один экземпляр).
1988 год
Для ZX Spectrum +3 (1987) появился
Spectrum CP/M Plus:
http://www.worldofspectrum.org/
infoseekid.cgi?id=0009420
Машина имела встроенный 3-дюймовый (без
1/2) дисковод и порт отключения ПЗУ.
В Румынии Vasile Prodan разработал ко─
мпьютер Cobra(COmputer BRAsov). Его прои─
зводили ITCI Brasov Romania (город Брашов)
и Elektronenrechnerfabrik.
ОЗУ: 64 КБ или 80 КБ (для версии с CP/M)
Контроллер дисковода
Операционная система:
- Sinclair BASIC
- OPUS
- CP/M 2.2+
http://speccy.info/Cobra_(компьютер)
Известно также о схеме Sinsoft(Pavel
Troller s Cisarem) в конце 80-х:http://
retrocip.cz/uplne-alternativni-spectrum/
Будто бы была схема, позволяющая запус─
тить CP/M (возможно, именно она упомянута
выше под 1985 годом), а Sinsoft написал
SINDOS (из которой произошлаMDOS ).
1989 год
В ГДР около1989 года институт AdW -
ZKI (Academy of Science of the GDR,
Central Institute for Cybernetics and
Information Processing) выпустил компьютер
KuBбЧ, на котором можно было использовать
CP/M (см. статью utz в ACNews #60 ).
1990 год
В журнале "Радио" 1990-07 нас. 79 опу─
бликована реклама программирования ПЗУ, в
том числе компьютеров, совместимых с
"ZX-Spectrum", и ПЗУ их ДОС (КООПЕРАТИВ
"КАПЛЯ" - Рязань), та же фирма продаёт ко─
мплект для сборки контроллера дисковода
дляCP/M на ВГ93 или 8272. Связаться с ни─
ми в Рязани не удалось.
1990-1991 годы
В1990 или 1991 году в Бресте был напи─
сан CP/M для компьютера "Байт-01" (копи─
райт"1990 ЦЕРИКОПИК SOFT" ). Этот компью─
тер позволял выводить80 символов в строке
без каких-либо доработок, потому что была
встроенная схема 512x192, как на Timex'е.
Проблема с датировкой в следующем: первая
версия компьютера "Байт" вышла в1989 (БПО
СВТ, Брест), но у неё дисковода не было.
Компьютер "Байт-01" с дисководом вышел в
1992 (БЭМЗ). В журнале "Радио" 1992-07
на с. 26 в таблице есть компьютер "Байт"
(Брест),с КНГМД,но безCP/M. Видимо,в 1990
году был только прототип, а в1992 запуще─
но серийное производство.
1991-1992 годы
В1992 году в Румынии выпущен CIP-04 -
клон +3 с256K ОЗУ. Там имелся какой-то
CP/M.
Возможно, такой же был в других румынс─
ких клонах - HC2000 и TIM-S+.
НПП "ЭКСПОПРИБОР" (Обнинск) опубликовал
в журнале "Радио" 7-92 нас.64 рекламу ко─
нтроллера диска "ДЕМИУРГ" сCP/M'ом - для
"Синклера-48".
В1992 году в Москве CP/M был адаптиро─
ван под Beta 128 Disk Interface для ATM
Turbo и Profi (оба компьютера появились в
1991 году и сразу явно с прицелом на
CP/M - имеются специальные графические ре─
жимы).CP/M для Profi грузится с дискеты,
аCP/M для ATM Turbo встроен в ПЗУ.
Максагор>
Ядро (CCP+BDOS+BIOS+Monitor) системы
действительно хранится в ПЗУ, но потом оно
копируется в ОЗУ и целиком используется
там (так что возможно уже в процессе рабо─
ты изменять ядро, подгружать пользователь─
ские уровни, перехватывать рестарты и
проч.), а в ПЗУ остаются только низкоуров─
невые драйвера дисков и консоли. При этом
и саму ПЗУ, просто через внесение измене─
ний в настройки диспетчера памяти (ибо в
ПЗУ он настраивается только один раз при
первичном входе в CP/M) можно подменить на
страницу ОЗУ со своей копией драйверов.
Содержимое ПЗУ ATM Turbo могло также
грузиться с дискеты или даже с ленты, если
вместо большого ПЗУ установить только ма─
ленький2KB загрузчик.
Максагор>
Такая же схема подмены была реализована
и в ATM-turbo 2 (v6.xx).В последней версии
TURBO 2+ (v7.xx),уже от фирмы МикроАРТ, от
данной схемы подмены ПЗУ в связи с удешев─
лением микросхем ПЗУ и большей их доступ─
ности отказались и в последних версиях
платы изъяли.
В рекламе1991 года CP/M ещё не упоми─
нается.CP/M для ATM Turbo, как и ПЗУ в
целом и ряд утилит, в том числе нортонооб─
разный X-Commander, реализовал Роман Хва─
тов(XVR - PRODUCT). С помощью утилиты на─
стройки CP/M для ATM Turbo поддерживает
разные форматы дисков, но по умолчанию там
разметка отTR-DOS. В комплекте к настрой─
щику прилагаются текстовые файлы с разными
описателями для настройки флоппика на дис─
киCP/M от Роботрона, Корвета, Профи и др.
Плюс можно самостоятельно создавать описа─
тели под иные форматы.
В архиве исходников от МикроАрта (авто─
ров ATM Turbo ) обнаружена документация от
советского компьютера СМ18001979 года -
видимо,CP/M брали именно оттуда (ср. ниже
про "Кворум" ).
Vadim>
В свое время при выборе операционной
системы для своего творения разработчики
Профи остановились на МикроДОС, т. к. она
выглядит более прилично, чем различные ва─
рианты CP/M V2.2 (Корвет, АТМ и др.) и ус─
тановить её значительно проще.Точно не из─
вестно, с какой платформы была перенесена
система,сейчас,наверное, это уже не важно,
главное то, что к 1992 году МикроДОС на
Профи заработал.Видимо,в честь изначально─
го названия компьютера (Profi ZX-Spectrum)
систему переименовали в SP-DOS.
...
Это операционная система МикроДОС, раз─
работанная в 1984 г. Международным Научно-
Исследовательским Институтом Проблем Упра─
вления.
Различные версии системных дисков,под─
писанные как CBIOS xx.yy,- это её варианты
и доработки с различным окружением.
Основным отличием МикроДОС от CP/M 2.2
является другая структура BIOS и драйверов
устройств.В целях совместимости с CP/M 2.2
BIOS этой системы эмулируется. Кроме того,
МикроДОС может перенаправлять (!) ввод/
вывод с консоли из/в файл. Также расширен
модуль BDOS, в частности, поддерживаются
некоторые функции системы CP/M 3.
...
В 1992 году появилась новая разработка
- Concurrent BIOS - изжившая многие недос─
татки предыдущего BIOS'а. В дальнейшем со─
вершенствование шло именно в этом ключе -
т.е. развитие модуля BIOS и драйверов, мо─
дуль BDOS совершенно не менялся.
...
Слово "Concurrent" в названии видимо
было выбрано по аналогии с названиями сис─
тем фирмы Digital Research: Concurrent DOS
и Concurrent DOS/86. Первая версия CBIOS
была написана Крестьяниковым А.А. (KiiA) в
1992 году. Впоследствии появились и следу─
ющие версии,сейчас же в состав PQ-DOS вхо─
дит версия 4.6.
CBIOS осуществляет вызов драйверов,под─
программ в страницах, вызов обработчиков
прерываний, хранение некоторых параметров
системы. Структура модуля CBIOS почти пол─
ностью соответствует БСВВ системы МикроДОС
- т.к.изначально на Профи была установлена
именно эта система.
Камиль Каримов (Екатеринбург), он же
Caro, сделал версию CP/M-80 для 48K клона
"Кворум БК-04" со специальным контроллером
дисковода.
Caro>
Когда в 1991 году я получил предложе─
ние от фирмы "Кворум" разработать модель
Спектрум-совместимого бытового компьютера,
была поставлена задача заложить в эту мо─
дель возможность работы с дисковым накопи─
телем. И поскольку к тому времени у меня
уже был опыт работы с компьютерами "Робот─
рон 1715" и "Корвет", в которых дисковой
ОС была именно CP/M-80, то она и была выб─
рана в качестве ОС для "Кворума".
Для работы с этой системой необходимо
было обеспечить отключение из нулевой
страницы памяти ПЗУ и переключение видео-
памяти с адреса 4000h как можно выше в ад─
ресном пространстве Z80.
Для этого в системном разьеме два кон─
такта были зарезервированы под сигналы от─
ключения ПЗУ и переключения видео-памяти
на адрес 0C000h. В схеме "Кворум БК-04" и
"Кворум 64" специального порта для управ─
ления этими сигналами не предусмотрено,
поскольку такой порт (с адресом 00h) был
заложен в разработанном в том же 1991 году
контроллере дисковода (который затем был
несколько раз модернизирован).
В прошивке этих и последующих моделей
"Кворума" была встроена процедура началь─
ной загрузки с дискет ОС CP/M-80. Формат
дисков был заложен такой же,как и в "Робо─
трон 1715" и "Корвет" - двухсторонний диск
с 80 дорожками и 5 секторами по 1 KB каж─
дый, всего 800 KB на диске.
Загрузчик вызывается по нажатию клави─
ши <NMI> - это справедливо для всех моде─
лей "Кворум".
К1992 году (по Sinclair User Sep'92 )
CP/M уже был и на питерском компьютере
Hobbit.
1992-1993 годы
MOA CP/M под Scorpion (копирайт 1992,
но компьютер и описание вышли только в
1993 ):
"Работает на Скорпионах, Каях и совмес─
тимых.Экран стандартный,64 символа в стро─
ке.Дискеты по физическому формату совпада─
ют с ТРДОСными,из среды ТРДОС выглядят как
диски с единственным файлом boot.B . Есть
рамдиск C: на 160 кб.
Прилагается утилитка, позволяющая наст─
роить любой драйв на любой диск от другой
CP/M машины. Крайне тормозной вывод на эк─
ран (печаталка из TLW2),поэтому работать в
ней тяжко. 47616 (#BAOO) байт TPA (память
под программу)."
CP/M 2.2 OPERATING SYSTEM.
Short Description.
(c) Dobretskov Valery, Lithuania, 1993.
В1992 году АТМ ("Ассоциация творческой
молодёжи") развалилась на фирмы АТМ
("Ассоциация техники и микроэлектроники")
и МикроАРТ. Об этом можно почитать в хелпе
к Honey Commander.
Поскольку все права на ПЗУ остались у
авторов платы (МикроАРТ), фирма АТМ адап─
тировала для своего АТМ2 операционную сис─
темуMSX-DOS с компьютера MSX.
В отличие от обычногоCP/M, MSX-DOS
разрешает файлы с длиной, не кратной128
байт. А формат диска там -FAT12.
При этом в схеме компьютера ATM2 (и
практически идентичного Turbo 2 от Микро─
АРТа ) уже изначально был заложен контрол─
лер жёсткого диска по стандартуIDE. К
1993 году жёсткий диск уже точно работал.
В 1992 - 1993 гг. Михаил Марковский
(KLUG) из Москвы сделалKlug CP/M для кло─
нов 128K с доработкой.
CP/M 2.2 for ZX Spectrum 128 & Sinclair
PROFI.
CP/M BIOS by Michael Markowsky.
"Требует доработки компутера,чтобы под─
ключать ОЗУ с адреса 0 и включать порты
ТР-ДОС на прямой доступ из ОЗУ. На Профи
работает без переделок, т.к.доработка а-ля
Профи, т.е. надо сделать порт #dffd и один
бит из него (4-й). Экран стандартный, 64
символа в строке. Диски 800 кб с килобайт─
ными секторами,стартует по тому же принци─
пу, что Исдос. Есть рамдиск E:. На ZX-128
рамдиск 48 кб, на Профи 880 кб. 51968
(#CBOO) байт TPA.У меня есть её исходники,
после минимальных переделок на Скорпе за─
работало."
В описании есть схема доработки
Pentagon 128 для подмены ПЗУ по портуDFFD
(по маске%XXX1XXXX ).
1994 год
Andrew Strikes Code и Alexander Shafir
(Днепропетровск) сделали ASC CP/M, по-ви─
димому, для "Львовского варианта" с какой-
то схемой расширения.
Известно о работе этой версии на компь─
ютере "Орель БК-08" со схемой расширения
до256К "LSY-Computer" от Barmaley_m:
"Режим эмуляции ПЗУ (некоторые страницы
расширения >128K используются для хранения
образа бейсика-48, бейсика-128 и тр-дос,
чем достигается полная совместимость прог─
рамм, которые не работают с Bogobasic). В
этой же схеме - две теневые страницы ОЗУ
вместо одной и работа с ASC CP/M.Также для
CP/M - драйвер клавиатуры Орели, с очень
большим набором дополнительных функций."
http://
zx-pk.ru/threads/3173-orel-bk-08.html?
p=88812&viewfull=1#post88812
Михаил Марковский выпустил новые версии
KLUG CP/M.
"Вот доработки 1994-1995 года:
BIOS Ver 2.11
режим прерываний IM1 вместо IM2
BIOS Ver 2.2
начальная диагностика, поддержка 8255 и
LPrint III
BIOS Ver 2.3
Дисководы A,B,C - физические,D отображает─
ся на A (phantom disk). Начальная проверка
на присутствие физических дисководов. Рас─
ширена начальная диагностика. В консоли
добавлены ESC+'j' и ESC+7Fh. При печати на
принтере осуществляется перекодировка (та─
кая же,как и для вывода на консоль). Время
вывода каждого знака на экран уменьшено в
среднем на 470 тактов (стало в полтора ра─
за быстрее).(фантомный диск D:используется
при копировании на одном дисководе. Напри─
мер, если вы хотите скопировать файл с од─
ного диска на другой, а дисковод y вас то─
лько один (A:),то можно сказать копиpyющей
программе,чтобы она копировала с A: на D:.
При этом система будет периодически про─
сить сменить в дисководе A: диск-источник
и диск-приемник)."
Внутри сохранившейся версии содержатся
тексты:
ESL, Kharkov 1997
KLUG CPM support v0.1
1995 год
Около1995 года для словацкого дисково─
го интерфейса MBO2 (1992) адаптирован
CPM22QED:
"CP/M 2.2. compatibile software for ZX
Spectrum 128K with MBO2 interface."
На этом дисковом интерфейсе можно не
только переключать странички в нижних16K
(как на LEC ), но и копировать черезDMA.
В1995 году Камиль Каримов (Caro) раз─
работал ZXCPM с базовым адресом #6000 -
для 128K без доработок.
Caro>
ZXCPM я сделал так, для прикола, чтобы
желающие могли опробовать эту систему на
Спектрумах с TRDOS-контроллером без возмо─
жности отключения ПЗУ из нулевой страницы
памяти.
Кстати, в исходниках некоторых прог─
рамм, разработанных для CP/M-80, я видел в
начальных настройках возможность задавать
не 0-ой базовый адрес ОЗУ. Это меня и на─
толкнуло на мысль скомпилировать систему
под адрес 6000h.
Адреса:
BASE - 6000h
TPA - 6100h
CCP - 0D900h
BDOS - 0E100h
BIOS - 0F000h
Объём области TPA = 8000h
7-я страница ОЗУ - экран + драйверы
В1995 году в CP/M для Profi появилась
поддержка IDE HDD.
Vadim>
МикроДОС 5.30 сентябрь'95 - февраль'96.
АвторПисьменный Д.Г.
Версия BIOS почему-то перенесена на
ДОС,хотя тот как был версии 2.6, так и ос─
тался. Основное отличие - коды BDOS выне─
сены в страничку, но область для загрузки
программ не увеличена. BDOS совершенно не
изменился - не исправлена ни одна из оши─
бок и нет никаких новых функций, все сде─
лано в обход BDOS.
Драйвер HDD с разбивкой на логические
диски, но одновременно могут быть подклю─
чены только два диска. Подключение внешней
командой - очень неудобно, но в обычной
МикроДОС лучше не сделать.
1996 год
Vadim>
Profi CP/M V3.30 сентябрь'96 г. -
по сравнению с МикроДОС увеличено количе─
ство команд.
1997-1998 годы
В 1997 году для компьютера Sam Coupe'
(1989) тоже адаптированCPM22QED.
Vadim>
ProfiDOS V3.40 февраль'97 г.
Модуль CCP убран из системы,вместо него
адаптирован более совершенный command.com
из MSX-DOS (MSX-DOS, кстати, написал Tim
Paterson - автор ОС, положенной в основу
первой версии MS-DOS). BDOS вынесен в от─
дельную страничку.
Новые драйверы флоппи дисков - более
корректные и более быстрые. Система управ─
ления памятью. Обработчик ошибок с более
осмысленными текстами, программы могут ус─
танавливать свой собственный обработчик.
Новый системный загрузчик - команды в
CONFIG.SYS.
Новые функции BDOS - управления расши─
ренной памятью, инсталляция оболочек, под─
держка времени на уровне ДОС. CopyK в этой
системе работать отказался (в силу того,
что он некорректно устанавливался).
ProfiDOS V3.50 октябрь'97.
Новый BIOS V5.0, прогрессивная схема
загрузки и размещения драйверов; поддержка
палитры на уровне BIOS; новый обработчик
ошибок; совершенно изменен алгоритм обра─
щения БДОС к драйверу диска; изъяты ненуж─
ные (никогда не использовавшиеся) процеду─
ры: поддержка КОИ-7,прерывание ^D и прочие
атавизмы.Новые драйверы HDD,FDD и E-диска.
DOS V4.0 сентябрь'98.
Принято решение о переходе на формат
записи, совместимый с PC (FAT). С декабря
по начало марта - методом последователь─
ного улучшения переписаны почти все функ─
ции модуля BDOS V3.50 на новые (с учётом
нового логического формата - FAT); Добав─
лены новые файловые функции, совместимые с
MSX-DOS и MS-DOS (26h, 27h, 29h), значите─
льно упрощающие работу с файлами, часть
этих функций заимствована из MSX-DOS. Мо─
дифицированы почти все операции BDOS (не─
которые пришлось "выправлять", т.к. в Мик─
роДОС они были реализованы неверно!, неко─
торые функции были расширены и пр.). Вход─
ные и выходные параметры операций БДОС бы─
ли сверены по трем документам: руководство
по MS-DOS V3.30, MSX-DOS 1.0 и описание
"настоящей" CP/M V2.2.
От МикроДОС там совершенно ничего не
осталось!
В конце марта реализована поддержка
подкаталогов,но не совсем корректно - мно─
го багов.
С апреля по сентябрь - никаких дальней─
ших разработок (торможение).
Сентябрь-октябрь - нормальная поддержка
подкаталогов,новый алгоритм работы системы
- "процессы". Появилась возможность запус─
кать любую программу из любой с возвратом
в предыдущую копию (с сохранением состоя─
ния)!!! Запускаемые программы теперь выг─
лядят как обычные подпрограммы (аналогия
полная)по отношению к "родительской" прог─
рамме.Кардинально переработан command.com.
Вследствие нового формата диска и спо─
соба обращения опять новые драйверы HDD и
FDD. Эмулятор системы ROM-BIOS, драйвер
MS(PC)-MOUSE, ну, и всё остальное...
1998-1999 годы
FKO выпустил свой"CP/M for Scorpion"
(по-видимому, на основеZDOS - свободного
CP/M ):
"Работает на компутерах с Cache16k или
на Скорпионах.Нужна подпрограмма чтения из
порта по адресу #ЗFFЗ в ПЗУ ТРДОС (или не
нужна,не помню уже).Экран или стандартный,
или расширенный 512х192 монохром (85 сим─
волов в строке).Рамдиска нет.Диски A: и B:
по умолчанию настроены на стандарт MOA, C:
на ATM, D: на Профи. Своего диска загрузо─
чного формата не имеет, запускается как
программа из среды ТРДОС. 55808 байт TPA
(#D900 байт). Исходники имеются."
"Вот первая, наверное, заглюченная,вер─
сия CP/M для скорпа, с моим биосом :-) Оно
даже работает! Я турбопаскакал запустил и
протащился :-) По крайней мере,в редакторе
от нажатия кнопки ENTER и до появления ку─
рсора на новой строке проходит очень мало
времени, почти незаметно. В MOAшной версии
4 секунды :-( ) !
Ну, и свободной памяти на ~12 килобайт
больше. CCP и BDOS начинаются c Е200h,BIOS
с F800h - точно так, как в Профи.
WARNING ! Система работает только с
дисками от MOAшной CP/M !!!
...
ТОРМОЗА ПРИ РАБОТЕ С ДИСКОМ ОГРОМНЫЕ.
БОЛЬШЕ,ЧЕМ У МОА ! Но это, наверное,попра─
вимо. Всё должно работать на скорпах,каях,
петерсах и совместимых, при условии, что
в пзу TR-DOS по адресу #ЗFFЗ находятся
команды IN A,(C):RET."
http://code-zx.zxnet-archive.ru/id/511
...Прошло много лет...
В 2015 году Savelij13 адаптировал
MSX-DOS2 для ATMЗ. Показывал её в работе
несколько раз, но не распространяет, пока
не реализуетFATЗ2 вместо FAT12 :)
В2016 году Vadim сделал новый CP/M для
Profi - PQDOS, с некоторыми возможностями
из MSX-DOS2.
To be continued!
Other articles: