"Аюша-Z80" - CP/M-совместимый компьютер

Описание компьютера

Прототип компьютера

8-битный дисплейный модуль

Расширенная ASCII-клавиатура

USB-AT-PS/2 -> ASCII адаптер клавиатуры

Одноплатная версия компьютера

Прошивки ПЗУ, операционной системы и контроллеров

Установка системы

Где обсудить и где купить

На главную...

Short english version

 

 

  CF-версия компьютера

 

Программное обеспечение, необходимое для "оживления" компьютера можно скачать по ссылке. Кратко пройдемся по содержимому архива.

 

 MONITOR.HEX - прошивается в ПЗУ D10 с нулевого адреса. Монитор обеспечивает загрузку .HEX-файлов в память компьютера для использования их без операционной системы, запуск этих файлов, загрузку ОС СР/М, а также NASCOM BASIC. Последний может служить разве что для определения работоспособности собранной машинки.

 BASIC.HEX - прошивается в ПЗУ с адреса 2000Н, тот самый NASCOM BASIC.

 SMLOADER.HEX - прошивается в ПЗУ с адреса 4000Н (начало второй 16К страницы в ПЗУ) и служит для повседневной автоматической загрузки ОС СР/М сразу после включения питания с активным выходом на ТВ-монитор.

 

  По поводу трёх вышеописанных файлов. Если мы будем использовать их все три, то в качестве ПЗУ возможно использование чипов ёмкостью 32К - 64К (рекомендую флеш типа 27С512 из-за простоты использования), а если автоматическая загрузка операционной системы не предусматривается, то достаточен чип ёмкостью 16К.

   Для ленивых в архив добавлены три файла с названиями хх128.hex, xx256.hex и xx512.hex - скомбинированные подборки прошивок под имеющуюся у вас микросхему ПЗУ. Первая не содержит автозагрузки операционной системы.

 

 FORM128.HEX - программа за авторством Гранта Сирла для форматирования подключенного накопителя 16-ю дисками общим объёмом 128 Мегабайт (15 дисков по 8М, один диск - 2М). Увы, но большего объёма операционная система не понимает.

 CPM22.HEX - ядро операционной системы для первоначальной установки машины.

 BIOS128.HEX - базовая система ввода/вывода, обеспечивающая взаимодействие собранного "железа" с ядром системы. Также обеспечивает совместимость по управляющим символам с терминалом VT52 для ТВ-монитора, а также с командой очистки экрана терминала VT100.

 PUTSYS.HEX - программа установки системных файлов на CF-карту / дисковый носитель.

 DOWNLOAD2.HEX - данная программа необходима для загрузки файлов через СОМ-порт под управлением ОС СР/М.

 

   Первоначальная установка программного обеспечения на компьютер практически полностью совпадает с описанной Грантом Сирлом на его страничке. Для этого нам необходим нуль-модемный кабель и второй компьютер с терминальной программой. Для начала прошиваем ПЗУ тремя (или двумя - смотря какое ПЗУ по объёму вы используете) программами с начала вышеуказанного списка. Если всё собрано верно, то при подаче питания на экране подключенного к компьютеру телевизора, а также в окне терминальной программы подключенного внешнего компьютера, должна отобразиться надпись:

 Press SPACE to activate console...

Нажатием на пробел активируем рабочую консоль - терминальную программу или видеовыход. Нам нужна первая. На экране возникает надпись:

 Ayusha-Z80 Boot ROM

 by RW6HRM

 Type ? for options

 >

Нажатие "?" выводит на экран список возможных команд и действий:

R - перезапуск машины;

BC или BW - "холодная" или "тёплая" загрузка NASCOM BASIC из ПЗУ;

Х - загрузка СР/М;

:nnnnn - загрузка через СОМ-порт файлов в память компьютера в Intel-hex формате.

Далее в текстовом или ASCII-режиме (зависит от терминальной программы) загружаем в память компьютера программу FORM128.HEX . Если загрузка прошла удачно, то запускаем программу командой G5000. На экране отобразится:

 CP/M Formatter by G. Searle 2012
 ABCDEFGHIJKLMNOP
 Formatting complete
 >

что обозначает, что CF-карта отформатирована.

Затем загружаем в память компьютера программы в следующей последовательности:

CPM22.HEX

BIOS128.HEX

PUTSYS.HEX

и запускаем последнюю командой G5000. На экране отобразится:

 CP/M System Transfer by G. Searle 2012
 System transfer complete
 >

что означает перенос системных файлов на диск. Мы можем проверить правильность работы, нажав "Х", а затем подтвердив выбор "Y". Должна загрузиться операционная система и вывести приглашение

 А>

Можно считать, что конструкция готова к работе, однако никаких рабочих файлов на ней нет. Задав команду

 DIR

получим ответ

 No files

Для дальнейшей работы снова переходим в режим монитора (по "холодному" сбросу, а не выключением машины!) и загружаем в память программу DOWNLOAD2.HEX. Для её активации набираем команду GFFE8. После этого нижняя граница ОЗУ будет передвинута с 4100Н на 0Н и загрузится операционная система. Затем набираем команду SAVE 2 DOWNLOAD.COM. После её выполнения и появления приглашения A> можно снова набрать команду DIR и убедиться, что на диске А присутствует программа DOWNLOAD.COM, которая в дальнейшем потребуется нам для загрузки программного обеспечения непосредственно в ОС.

Дальнейшая загрузка приложений не отличается от описанной Грантом Сирлом на его страничке. Разработанная им программа под Windows поможет подготовить к загрузке иные приложения, которых нет в его списке.

Начальный список приложений можно скачать у Гранта, а также найти на страничке проекта N8VEM или СР/М-архивах. Невозможна работа более современных программ, использующих функциональные клавиши (Корвет, Профи). Русифицированные программы могут отображаться неверно как в терминальных программах (большинство из них работает в семибитной кодировке), так и при использовании видеовыхода (он поддерживает альтернативную кодировку).

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

Esc A

курсор вверх

Esc B

курсор вниз

Esc C

курсор вправо

Esc D

курсор влево

Esc H

курсор в верхний левый угол ("домой")

Esc J

стирание от курсора до конца экрана

Esc K

стирание от курсора до конца строки

EscYrc

установка курсора на строку r, колонку c

 

    Дополнительно перекодируется одна команда терминала VT100 - Esc[2J - полное стирание экрана с установкой курсора в верхний левый угол (понадобилось для использования в BBCBASIC без необходимости патча последнего для корректной работы команды CLS).

    Для отключения блока перекодировки управляющих последовательностей имеется команда Esc- (тире), в этом случае на видеоадаптер все байты выводятся "как есть". Данный режим необходим для корректного вывода информации на экран в графическом режиме, иначе, при выводе символов, в которых встречается Esc (код 1ВH), вся графика на экране "ломается". При необходимости повторного включения блока обработки управляющих последовательностей, запишите в ячейку ОЗУ FFFDH нулевое значение.

 

SD-версия компьютера

 

   Программное обеспечение для это версии скачиваем по ссылке.

 

   Архив содержит несколько образов.

   ROM.IMG - образ ПЗУ, содержащий Монитор и загрузчик ОС. Записывается в ПЗУ объёмом 32-64 килобайта любым программатором.

   Первым делом на свежую карту необходимо записать файл NOTEMPTY.IMG - образ "чистой" SD-карты, отформатированной на 16 логических дисков ( от А: до Р:, 15 дисков по 8 мегабайт и один в 2 мегабайта) с минимальным набором системного программного обеспечения на диске А:. Этот образ записывается на карту с помощью программы Win32DiskImager или подобной.

   Затем, в зависимости от типа применённой карты, на неё необходимо записать первые 16 килобайт загрузочной области, тем же Win32DiskImager. Если у нас простая SD карта, то выбирается файл imageCE00.img, если SDHC - image_SDHC_CE00.img . После этого ставим флешку в компьютер и пробуем загрузиться.

   Эти образы поставляются "как есть", для тестирования работы компьютера. Надеюсь, что они не содержат грубых ошибок, а если что и будет - просьба сообщить мне по электронной почте.

   Образы будут обновляться по мере нахождения ошибок и изменения функциональности.