ЮТ-88. Операционная система CP/M. Часть 1/2.

Наконец-то мы добрались до самой интересной части — запуске на компьютере «ЮТ-88» операционной системы CP/M.

Эта система была создана Г. Килдэлом в 1975 г. для микроЭВМ, использующих микропроцессор 8080 фирмы Интел (KP580BM80A – советский аналог). Эта система была адаптирована и для компьютера ЮТ-88. Достаточно подробно ее структура, работа, распределение памяти и пр. было описано в журнале.

Эта система использует электронный квазидиск объемом 256Кб, реализованный на SRAM, установленной на плате DE1.

Существует два способа загрузки CP/M в мой компьютер: загрузка дампа памяти и квазидиска с системой и некоторыми программами к ней или загрузка системы и программ с магнитофонного входа.

Рассмотрим первый способ, как самый удобный. В качестве первого шага необходимо загрузить Монитор-F как было описано в предыдущих постах. Далее необходимо подключить DE1 к Windows компьютеру через USB. Выключатель SW[8] переводится в положение “1” вводя DE1 в режим USB JTAG. На Windows компьютере запускается программа DE1_Control_Panel.exe, содержащаяся на диске прилагаемом к DE1. В меню выбирается: Open -> Open USB Port

DE1 CONTROL PANEL (step 1)

Далее переходим на вкладку SRAM, отмечаем File Length и нажимаем кнопку “Write a File to SRAM”:

DE1 CONTROL PANEL (step 2)

Вы выбираете файл для загрузки. Например это может быть мой файл, который можно скачать отсюда: Memory dump with CP/M и затем распаковать.

После загрузки выключатель SW[8] переводится назад в положение “0” и производится “горячий старт” системы командой GDA00 из Монитора-F. Команда DIR покажет вам какие программы установлены на квазидиске.

Вы можете содавать собственные дампы памяти с нужным набором программ. Для этого в программе «DE1_Control_Panel» надо выбрать “Entire Sram” и нажать кнопку “Load SRAM Contetnt to a File”. Естественно, что предварительно выключатель SW[8] должен быть установлен в положение “1”.

Для запуска этой системы вторым способом необходимо загрузить загрузчик с магнитофона в Мониторе-F, затем отключить ПЗУ Монитора-0 и его программ, а так же прерывания таймера (выключатели SW[2], SW[4] и SW[6] в положение “0”), если это не было сделано ранее, и запустить его командой G3100. Загрузчик произведет все необходимые распределения памяти и запустит систему, после чего на экране появится такое сообщение:

СРМ V―2,2 DISK RAM 256 К 

А> 

Появление на экране дисплея сообщения-подсказки А> говорит о готовности ОС СР/М к работе и приему команды. Если при наборе команды замечена ошибка еще до нажатия клавиши ВК, то можно вернуться назад  клавишей “←”. 

В СР/М имеется ряд полезных управляющих символов: 

УС + X — удаляет последнюю строку символов; 

УС + М — эквивалент нажатия «ВК»; 

УС + J — эквивалент перевода строки; 

УС + S — приостанавливает вывод текста на дисплей. Повторное нажатие возобновляет вывод текста.

Используемые в СР/М команды разбиваются на две категории: встроенные команды («резидентные») и транзитные команды. 

Встроенные команды по сути являются частью операционной системы СР/М. Обращение к ним и их использование осуществляются простым вводом имени соответствующей команды независимо от того, имеется ли в данный момент в системе квазидиск. В СР/М имеются следующие встроенные команды: 

DIR ― просмотр оглавления диска; 

REN ― переименование файлов; 

ERA ― удаление файлов; 

TYPE ― просмотр содержимого файла; 

SAVE ― сохранение на диске области ОЗУ в виде файла. 

Транзитные команды хранятся на квазидиске в отдельных файлах с именами, оканчивающимися расширением «СОМ». Транзитные команды по сути дела являются программами СР/М, но термин «транзитные» подчеркивает, что их программы можно загружать в оперативную память с адреса 100Н, затем занести на квазидиск.

Для вызова транзитных команд на исполнение достаточно просто ввести имя файла без расширения «СОМ». СР/М определит наличие файла с указанным именем и расширением «СОМ» в каталоге квазидиска и при его обнаружении вызовет данную программу на исполнение.

Одной из основных транзитных программ является CH.COM. Эта программа позволяет считывать и записывать файлы с “магнитофона” на квазидиск. С ее помощью можно наполнить квазидиск нужными программами.

Чтобы записать саму эту программу на квазидиск для использования, необходимо выполнить следующие шаги (если вы использовали метот загрузки дампа, то эта программа уже записана на квазидиске):

1) Загрузить CP/M загрузчик с магнитофона и запустить его командой G3100.

2) Перевести выключатель SW[2] в положение “1” таким образом включив ПЗУ с Монитором-0.

3) Нажать “СБРОС” (ESC или KEY[0])

4) Если плата расширения не подключена к плате DE1, то также необходимо включить отображение 7-ми сегментных индикаторов на дисплее (выключатель SW[1] в положение “1”) и перевести клавиатуру в режим кейпада (выключатель SW[0] в положение “1”).

5) Далее, после появления на крайних правых индикаторах 7-ми сегментных дисплеев числа «11», как приглашения, надо ввести команду запуска Монитора-F (7 F800).

6) После запуска Монитора-F надо перевести клавиатуру PS/2 в полный режим (выключатель SW[0] в положение “0”) и загрузить с магнитофона программу CH.COM (она будет загружена с адреса 0100). Программу можно взять здесь.

7) Далее требуется ввести команду “горячего старта” системы CP/M – GDA00.

8) После загрузки системы и появления приглашения A>, командой SAVE мы можем скопировать предварительно загруженную программу на квазидиск. Т.к. длина программы составляет 3 блока (по 256Кб), то команда будет такова:

SAVE 3 CH.COM

(это означает, что первые 3 блока по 256Кб (начиная с адреса 0100) будут сохранены на квазидиск в файл с именем CH.COM).

Другие программы можно скопировать по аналогии с этой на квазидиск, повторяя шаги 2-8, но удобнее воспользоваться для этого уже загруженной программой CH.COM.

Воспользовавшись командой DIR, на экране получим ответ, подтверждающий наличие в каталоге файла CH.COM.

Чтобы проиллюстрировать работу CH.COM, создадим с помощью встроенной команды SAVE некоторый вспомогательный небольшой по объему файл:

A>SAVE 2 EX.COM  

Проверим его наличие в каталоге с помощью команды DIR

А: СН СОМ : EX СОМ 

А> 

Теперь на диске два файла. Запишем вспомогательный файл EX.COM на магнитную ленту кассетного магнитофона. Для этого наберем текст: 

А>СН ЕХ.СОМ 

В результате на дисплее появится сообщение: 

CHANGER VERS1.1 READY TR FOR OUTPUT, PRESS CR

что означает: если магнитофон к записи готов, нужно нажать на клавишу ВК. После записи файла на магнитофон на экране появляется сообщение: 

READY TR FOR VERIFY, PRESS CR  

Если магнитофон готов к проверке записи, нужно нажать ВК. Если запись сделана с ошибкой, то на дисплее появится сообщение:

VERIFY ERROR

В противном случае никакого сообщения не появляется, а вновь на экране подсказка 

А> 

С помощью встроенной команды ERA уничтожим вспомогательный файл на диске:  

A> ERA EX.COM  

Если теперь вывести оглавление диска, то

А> DIR  

А: СН СОМ

т.е. EX.COM на диске уничтожен. 

Восстановим файл EX.COM на диске, считав его с кассетного магнитофона. Для этого следует набрать: 

А> СН EX.COM   

Отсутствие имени файла в каталоге диска приводит к режиму чтения файла с магнитной ленты. На дисплее появится сообщение

READY TR FOR INPUT, PRESS CR

т.е. при готовности магнитофона для воспроизведения записи нужн о нажать ВК. Если файл правильно считался в ОЗУ диска, появляется подсказка А>

Проверить загрузку файла можно, опять применив команду DIR.

Рассмотрим работу с еще одним часто используемым файлом STAT.COM, который применяется для получения списка имен файлов на диске, определения размеров файлов, определения объема неиспользованного дискового пространства и для выполнения других функций. Предположим, что с помощью CH.COM мы уже считали STAT.COM на диск (или загрузили дамп памяти). При последовательном вводе команд STAT на дисплей выдается информация о состоянии квазидиска:

A:R/W, SPACE : 152К 

А>  

Это сообщение означает, что квазидиск установлен в режим ЧТЕНИЕ/ЗАПИСЬ и что объем оставшегося на диске пространства составляет 152 Кбайт. 

Команда STAT позволит изменять статус диска, защитив его от возможной на него записи. Чтобы установить режим «только чтение», необходимо набрать сообщение: 

A>STAT A:R/0 

Исполнение команды проверим 

A>STAT  

A:R/O, SPACE: 152K 

A>  

Команда STAT позволяет выводить на дисплей характеристики файлов.

A>STAT *.*  

В результате обработки этой команды будут выданы характеристики всех файлов, которые хранятся на квазидиске. В нашем случае на диске имеется только один файл: 

RECS BYTES EXT АСС 

41 6К 1 R/O A:STAT.COM 

BYTES REMAINING ON A:152K 

A> 

Представленные характеристики имеют следующий смысл: 

RECS ― определяет количество записей, из которых состоит данный файл. Одна запись содержит 128 байт; 

BYTES ― определяет округленное значение размера файла в килобайтах; 

ЕХТ ― это еще одна единица измерения размера файла эксистент, если файл не превышает 16 Кбайт, то выдается 1; 

АСС ― от английского слова ACCESS ― означает статус доступа к файлу;

R/O ― только чтение. 

Команду STAT можно использовать для спецификации файла, когда известны не полное имя или расширение, а только некоторые символы из этого имени. Неизвестные символы дополняют метасимволами «*» и «?» или их комбинациями. 

Например: 

STAT FILE. * 

STAT *. COM 

STAT FI??. ?0? 

STAT F??. * 

и т.д. 

Для обозначения группы символов используется метасимвол *; для обозначения одного символа ― ?. 

Такие метасимволы допускается применять и со встроенными командами DIR и ERA. В остальных случаях их использование приведет к возникновению ошибки. 

В первом из рассмотренных выше примеров командой STAT будут выведены характеристики всех файлов с именем FILE, имеющие любые расширения. Во втором ― команда STAT выдает характеристики только командных файлов. В третьем примере осуществится вывод всех файлов, у которых имена содержат буквы FI и любые другие две буквы и имеющих расширение со средней буквой О. В четвертом примере команда STAT приведет к выдаче характеристик всех файлов, начинающихся буквой F и имеющих любое расширение. В имени файла может быть указано не более восьми метасимволов ?, а в расширении не более трех. 

С помощью встроенной команды REN можно переименовать файл. Например: 

А> REN FILE.COM = STAT.COM

Однако если файл имеет статус «только чтение», то переименовать его не удастся. 

С помощью команды TYPE можно выводить на дисплей текстовые файлы. 

С командой ERA мы уже знакомы. С помощью нее удаляются с диска файлы. Например:

А> ERA FILE. COM  

А> 

С командой ERA возможно использование метасимволов. Файлы, имеющие статус «только чтение», удалены быть не могут. 

В заключительной части я расскажу о некоторый программах системы CP/M и покажу как загружать любые другие программы на квазидиск. До встречи!

Leave a Reply