Info Guide #12
31 декабря 2017

Системки - история операционной системы CP/M для Спектрума (часть 1).

   История 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-0D00H
│   (TPA) - oбласть    │   (примерно)
│ транзитных программ, │
│т.е. задач типа *.com.│
│ Её объём в PROFI-DOS │
│ равен примерно 58KB. │
│На Profi в 4000H-7FFFH│
│      лежит окно      │
│проецирования страниц.│
├──────────────────────┤ 0100H
│                      │ Адрес старта
│                      │ программ типа com
└──────────────────────┘ 0000H
                         Точка рестарта
                         (выход в ОС)

Максагор даёт пример для ATM Turbo CP/M: 

 - #0000-#00FF:SPA (область системных па─
раметров)
 - #0100-#D3FF:TPA (область COM-программ)
 - #D400-#DC05:CCP (интерпретатор команд─
ной строки, независим от железа,на котором
запускается)
 - #DC06-#E9FF: BDOS  (диспетчер  функций
DOS, независим от железа,на котором запус─
кается)
 - #EA00-#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/cisc367/
Family%20Computing%20March%201987%20
Machine%20Specifics.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) выпустил компьютер
KuB64, на  котором можно было использовать 
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 осуществляет вызов драйверов,под─
программ  в  страницах, вызов обработчиков 
прерываний, хранение  некоторых параметров 
системы. Структура модуля СBIOS почти пол─ 
ностью соответствует БСВВ системы МикроДОС 
- т.к.изначально на Профи была установлена 
именно эта система. 

   Камиль  Каримов  (Екатеринбург), он  же
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 (#BA00) байт 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 и включать порты 
ТР-ДОС  на  прямой доступ из ОЗУ. Hа Профи 
работает без переделок, т.к.доработка а-ля 
Профи, т.е. надо сделать порт #dffd и один 
бит  из  него (4-й). Экран стандартный, 64 
символа в строке. Диски 800 кб с килобайт─ 
ными секторами,стартует по тому же принци─ 
пу, что  Исдос. Есть рамдиск E:. Hа ZX-128 
рамдиск  48  кб, на  Профи  880  кб. 51968 
(#CB00) байт 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.
  "Вот доpаботки 1994-1995 года:
   BIOS Ver 2.11
pежим пpеpываний IM1 вместо IM2
   BIOS Ver 2.2
начальная  диагностика, поддеpжка  8255  и
LPrint III
   BIOS Ver 2.3
Дисководы A,B,C - физические,D отобpажает─
ся на A (phantom disk). Hачальная пpовеpка
на пpисyтствие физических дисководов. Рас─
шиpена  начальная  диагностика. В  консоли
добавлены ESC+'j' и ESC+7Fh. Пpи печати на
пpинтеpе осyществляется пеpекодиpовка (та─
кая же,как и для вывода на консоль). Вpемя
вывода  каждого знака на экpан yменьшено в
сpеднем на 470 тактов (стало в полтоpа pа─
за быстpее).(фантомный диск D:использyется
пpи копиpовании на одном дисководе. Hапpи─
меp, если вы хотите скопиpовать файл с од─
ного диска на дpyгой, а дисковод y вас то─
лько один (A:),то можно сказать копиpyющей
пpогpамме,чтобы она копиpовала с A: на D:.
Пpи  этом  система бyдет пеpиодически пpо─
сить сменить  в дисководе A: диск-источник
и диск-пpиемник)."
   Внутри  сохранившейся версии содержатся
тексты:
ESL, Kharkov 1997 
KLUG CPM support v0.1 

                 1995 год

   Около1995 года для словацкого дисково─
го   интерфейса  MB02 (1992)  адаптирован
CPM22QED:
  "CP/M 2.2. compatibile  software for ZX
Spectrum 128K with MB02 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 годы

   FK0  выпустил  свой"CP/M for Scorpion"
(по-видимому, на  основеZDOS - свободного
CP/M ):
  "Работает  на компутерах с Cache16k или
на Скорпионах.Hужна подпрограмма чтения из
порта  по адресу #3FF3 в ПЗУ ТРДОС (или не
нужна,не помню уже).Экран или стандартный,
или  расширенный 512х192 монохром (85 сим─
волов в строке).Рамдиска нет.Диски A: и B:
по умолчанию настроены на стандарт MOA, C:
на ATM, D: на Профи. Своего диска загрузо─
чного  формата  не  имеет, запускается как
программа  из  среды ТРДОС. 55808 байт TPA
(#D900 байт). Исходники имеются."
  "Вот первая, наверное, заглюченная,вер─
сия CP/M для скорпа, с моим биосом :-) Оно
даже  работает! Я турбопаскакал запустил и
протащился :-) По крайней мере,в редакторе
от нажатия кнопки ENTER и до появления ку─
рсора  на новой строке проходит очень мало
времени, почти незаметно. В MOAшной версии
4 секунды :-( ) !
  Hу, и  свободной памяти на ~12 килобайт
больше. CCP и BDOS начинаются c Е200h,BIOS
с F800h - точно так, как в Профи.
  WARNING  ! Система  работает  только  с
дисками от MOAшной CP/M !!!
  ...
  ТОРМОЗА  ПРИ  РАБОТЕ С ДИСКОМ ОГРОМHЫЕ.
БОЛЬШЕ,ЧЕМ У МОА ! Hо это, наверное,попра─
вимо. Всё должно работать на скорпах,каях,
петерсах  и  совместимых, при условии, что
в пзу  TR-DOS  по  адресу #3FF3  находятся
команды IN A,(C):RET."
http://code-zx.zxnet-archive.ru/id/511

          ...Прошло много лет...

   В  2015   году  Savelij13  адаптировал
MSX-DOS2  для  ATM3. Показывал её в работе 
несколько  раз, но не распространяет, пока
не реализуетFAT32 вместо FAT12 :)
   В2016 году Vadim сделал новый CP/M для
Profi - PQDOS, с  некоторыми возможностями 
из MSX-DOS2. 

             To be continued!




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Новый журнал - Выходные данные. Авторы.
Игротека - В мире NETHER World.
Адаптация программ к TR-DOS

В этот день...   19 ноября