"Аюша-Z80" - компьютер на процессоре Z80. Основная плата.

   

 

    Схема основной платы компьютера "Аюша-Z80" приведена выше (кликабельно). Она содержит 12 микросхем, что меньше, чем в РК-86 ;), но больше чем у оригинальной конструкции Гранта Сирла (9 микросхем). Рассмотрим схему по узлам.

    Тактовые импульсы на процессор могут поступать из двух источников. В полном варианте, с подключённым видеоадаптером, с последнего снимается тактовая частота 4 МГц. Если же процессорная плата используется самостоятельно, то дополнительный тактовый генератор собран на транзисторе КТ315 по схеме ёмкостной трёхточки с согласующим транзистором для ТТЛ-уровня, частота 2457,6 кГц. Генератор не выдаёт синусоиду или меандр, однако для Z80 это не имеет значения. Тактовые импульсы подаются далее на вход синхронизации D2, делитель на 4 D12, обеспечивающий тактовую частоту для последовательного порта D2, а также на джампер выбора тактовой частоты процессора D1. В обоих случаях тактовые импульсы проходят через элемент D7.1 с подтягивающим резистором 360 Ом для обеспечения требований к тактовым импульсам для Z80.

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

       Процессор D1 подключен через шинные буферы, D3 шины адреса и D5 шины данных. Выбор в качестве адресных шинных формирователей микросхемы 1533АП4 объясняется потребляемым током - он в два раза меньше, чем у 1533АП6. Однако при повторении конструкции их можно заменить на АП6. Можно заметить, что в адресной шине буферизируются только младшие адреса, которые нагружены больше (особенно А0-А2), чем старшие (всего на два входа), а так как дальнейшего расширения системы не предвидится, то и второй буфер шины адреса было решено не ставить.

    Поскольку входы CF-карты рассчитаны на уровни 5Вольт-КМОП, то осуществлена подтяжка сигналов /CS2, /IORD, /IORW и шины данных к плюсу питания. Резисторы на линиях D0-D1 шины данных расположены на плате видеоадаптера. Элементы D8.1, D7.1 и два транзисторных ключа обеспечивают выдачу на шину данных адреса FAH, необходимых при обработке прерывания типа IM2 (вектор процедуры обработки прерываний для СР/М расположен по адресу FFFAH; прерывания в мониторе работают в режиме IM1, обрабатываясь по вектору, расположенному по адресу 38Н). Диодное "или" на 1 ножке D5 обеспечивает процессору доступ к шине данных как в режиме чтения, так и в режиме считывания вектора прерывания.  Также возможна подача на ножку инвертированного сигнала /WR, тогда сигнал /IM2 подключать к ней не нужно. Если буфер шины данных не будет устанавливаться, то и диодное "или" исключается из схемы.

    На элементах микросхемы D9 собраны формирователи сигналов чтения/записи для ОЗУ и устройств ввода/вывода. Адресация устройств в/в осуществляется микросхемой D6. Используемые устройства и их адреса:

00Н-07Н - дисплей и клавиатура

08Н-0FH - 580ВВ51

10Н-17Н - CF-карта

18Н-1FH - резерв

20Н-27Н - резерв

28Н-2FH - резерв

30Н-37Н - 580ВВ55 - на схеме не показан, но в реале присутствует, подключение стандартное.

38Н-3FH - отключение ПЗУ в режиме СР/М

    На элементах D7.3 и D7.2 собран триггер отключения ПЗУ (при активных сигналах /CS7 и /IOWR). В обычном режиме элемент D8.3 обеспечивает переключение между ОЗУ D11 и ПЗУ D10.

    CF-карта подключена к процессорной плате через переходник IDE-CF, поэтому на схеме показана распиновка IDE-разъёма.

    Последовательный порт D2 подключен по стандартной схеме. Связь с внешним миром осуществлена с помощью микросхемы МАХ232 (получаем упрощённый СОМ-порт).

    Сброс системы обеспечивается триггером D14.1 аналогично узлу, применённому в компьютере "Специалист".

    Джампер/переключатель страниц ПЗУ служит для выбора режима предзагрузки компьютера. При выборе первых 16К ПЗУ загружается простейший Монитор, позволяющий загружать программы в машинных кодах, встроенный Бейсик или ОС СР/М, при этом при включении выбирается активная консоль - видеоадаптер или последовательный порт. Первый режим служит в основном для загрузки нового программного обеспечения с внешнего компьютера. При выборе следующих 16К ПЗУ автоматически загружается ОС СР/М с активным видеоадаптером. Этот режим служит для повседневной работы с системой.

    Дисплейный модуль и адаптер ASCII-клавиатуры расположены на отдельной плате, представляют собой самостоятельную конструкцию и описаны отдельно.

    Общее потребление тока от источника питания 5 Вольт не превышает 800 мА.

    Расположение процессорного модуля (слева) и дисплейного перед монтажом в корпус клавиатуры показано на фото. Между ними - адаптер IDE-CF.

 

Вид загруженной ОС СР/М

 

 

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

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

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

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

FORM128.HEX - программа за авторством Гранта Сирла для форматирования CF-карты 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 нулевое значение.

 

Продолжение следует...

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