История 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!