Spectrum-совместимые компьютеры «Байт»,«Байт-01» и прочие раритеты

7 / 8 199

Радиолюбительский компьютер Микро-80

Разработчики компьютера Микро-80 - Геннадий Зеленко, Виктор Панов и Сергей Попов

Это, пожалуй, самый первый компьютер, который можно было собрать самому благодаря циклу статей в журнале "Радио" в 1982 и 1983 годах. В конце 70-х годов советская промышленность освоила производство микропроцессора КР580ВМ80 (аналог буржуинского i8080), на котором вполне можно было собрать настоящий компьютер. В 1982 году в журнале "Радио" был проведён ликбез по процессору КР580ВМ80 с описанием его команд, и в 1983 году начались публикации схем компьютера Микро-80.

Более подробно о истории создания "Микро-80", "Радио-86РК" и "Микроши" можно прочитать в отдельной статье, материал которой подготовлен специально для этого сайта одним из авторов вышеперечисленных компьютеров - Сергеем Николаевичем Поповым.

Кстати, это он сам за первым экземпляром "Микро-80":

Микро-80 и один из его создателей - Сергей Попов

Компьютер спроектирован по модульной системе. Т.е. его можно было собирать поэтапно модуль за модулем, отлаживая их работу в процессе сборки. Компьютер спроектирован на широко распространённой в то время элементной базе (мелкая логика 155-й серии). Основной проблемой при сборке компьютера было большое количество микросхем порядка 150-200 штук (в зависимости от объёма памяти), но их количество можно было уменьшить, если не паять, к примеру, отладочный модуль (39 микросхем) или модуль динамической памяти.

Основные характеристики компьютера "Микро-80"

Процессор - КР580ВМ80
ОЗУ - 2КБ (в минимальной конфигурации), 16К-64К в случае установки модуля динамического ОЗУ
ПЗУ - 2КБ
Видео - текстовый режим 32 строки по 64 символа в строке, наличие инверсного курсора.
Клавиатура - 59 клавиш

Состав компьютера "Микро-80"

Компьютер состоит из следующих модулей:

Процессорный модуль.
Содержит в себе процессор КР580ВМ80 со схемами тактового генератора, шины управления и буферов шин данных и адреса.

Модуль памяти.
Содержит в себе 4КБ статического ОЗУ, собранного на 32-х микросхемах КР565РУ2. Возможен вариант 2КБ ОЗУ и 2КБ ПЗУ. Впрочем по выбору пользователя возможны любые варианты исполнения этого модуля.

Отладочный модуль.
Служит для облегчения отладки компьютера. Содержит в себе кроме платы с микросхемами целый пульт с тумблерами и светодиодами для отображения состояния шин компьютера. Отладочный модуль имеет широкие возможности для отладки работы железа и программ, кроме того с него можно самому вводить программы в память (благодаря режиму ПДП) и запускать их на выполнение. Т.е. можно проверять работу компьютера даже без установленного ПЗУ с "монитором".

Дисплейный модуль.
Служит для вывода алфавитно-цифровой информации на экран телевизора или монитора. Содержит собственное ОЗУ - 2КБ видео-ОЗУ и курсорное ОЗУ ёмкостью 2КБит. Модуль отображает текстовую информацию в 32 строки по 64 символа в строке. Графического режима нет - отображаемые на экране символы жёстко заданы в ПЗУ знакогенератора, но благодаря псевдографическим символам в знакогенераторе можно худо-бедно что-то нарисовать на экране. Модуль является самостоятельным устройством и может работать не только в составе Микро-80, но и с любым другим компьютером, который сможет обеспечить запись нужной информации в видео-ОЗУ. Интересно, но в видео-ОЗУ и ОЗУ курсора можно только записывать информацию, но не считывать. Это сделано для упрощения схемы дисплейного модуля. Впрочем при установке модуля динамической памяти с 64К ОЗУ области видео-ОЗУ и ОЗУ курсора становятся доступными для чтения.

Модуль клавиатуры.
Представляет собой порт на КР580ВВ55, к которому подключается клавиатура в виде матрицы кнопок.

Модуль сопряжения.
Представляет собой два порта, через которые идёт ввод/вывод на магнитофон.

Модуль динамического ОЗУ.
Служит для расширения объёма ОЗУ. Может содержать до 4-х банков ОЗУ на КР565РУ3 объёмом 16К (1 банк), 32К (2 банка), 48К (3 банка) и 64К (4 банка).

Программное обеспечение для "Микро-80"

В 2К ПЗУ прошивается монитор. Есть бейсик "Микро-80" (цикл статей в журнале "Радио" в 1985 году). К сожалению, больше ничего написано не было.
В 1989 году в журнале "Радио" был опубликован монитор для Микро-80, который совместим с монитором для "Радио-86РК", благодаря чему на Микро-80 можно было запускать часть программного обеспечения для Радио-86РК. Но к сожалению пока что мне не удалось добиться нормальной работы этого монитора на Микро-80.

Микро-80 не получил большого распространения - промышленностью он не выпускался, а собрать его могли только немногие любители, которым было не страшно паять компьютер из такого большого количества микросхем. К тому же не все имели опыт сборки и наладки подобных микропроцессорных устройств.

Самодельный "Микро-80"

...Прошло время, и я решил повторить этот уникальный компьютер. Так как с 1983 года появилось много микросхем, применение которых облегчает сборку компьютера, пришлось переработать схемы всех модулей Микро-80 под более новую элементную базу. По количеству микросхем компьютер вышел немного скромнее оригинала - всего лишь 127 корпусов. Однако я старался по-максимуму оставить оригинальность исполнения (к примеру, можно было модуль динамической памяти сделать на буржуйских 4464 или вообще полностью на статическом ОЗУ, но на 565-й серии собранная плата выглядит приятнее). Даже микросхемы где только можно ставились 155-й серии с самыми старыми годами выпуска, чтобы компьютер был более-менее похож на старую разработку :)

После двух месяцев пайки макеток и МГТФа вышло вот что:

Соединительная плата (корзина) на ISA-слотах
Соединительная плата (корзина) на ISA-слотах
Соединительная плата (корзина) на ISA-слотах
Соединительная плата (корзина) на ISA-слотах
Соединительная плата (корзина) на ISA-слотах

Процессорный модуль. Для экономии места на нём же расположен модуль клавиатуры и модуль сопряжения для работы с магнитофоном)
Процессорный модуль. Для экономии места на нём же расположен модуль клавиатуры и модуль сопряжения для работы с магнитофоном)
Процессорный модуль. Для экономии места на нём же расположен модуль клавиатуры и модуль сопряжения для работы с магнитофоном)
Процессорный модуль. Для экономии места на нём же расположен модуль клавиатуры и модуль сопряжения для работы с магнитофоном)
Процессорный модуль. Для экономии места на нём же расположен модуль клавиатуры и модуль сопряжения для работы с магнитофоном)

Модуль ОЗУ и ПЗУ
Модуль ОЗУ и ПЗУ
Модуль ОЗУ и ПЗУ
Модуль ОЗУ и ПЗУ
Модуль ОЗУ и ПЗУ

Плата отладочного модуля
Плата отладочного модуля
Плата отладочного модуля
Плата отладочного модуля
Плата отладочного модуля

Пульт отладочного модуля. От описанного в журнале ″Радио″ отладочного модуля отличается наличием 16-ричной индикации шины адреса и данных
Пульт отладочного модуля. От описанного в журнале ″Радио″ отладочного модуля отличается наличием 16-ричной индикации шины адреса и данных
Пульт отладочного модуля. От описанного в журнале ″Радио″ отладочного модуля отличается наличием 16-ричной индикации шины адреса и данных
Пульт отладочного модуля. От описанного в журнале ″Радио″ отладочного модуля отличается наличием 16-ричной индикации шины адреса и данных
Пульт отладочного модуля. От описанного в журнале ″Радио″ отладочного модуля отличается наличием 16-ричной индикации шины адреса и данных

Дисплейный модуль. Видеопамять выполнена на 2К ОЗУ КР537РУ10. ОЗУ курсора выполнено на одной КР537РУ14
Дисплейный модуль. Видеопамять выполнена на 2К ОЗУ КР537РУ10. ОЗУ курсора выполнено на одной КР537РУ14
Дисплейный модуль. Видеопамять выполнена на 2К ОЗУ КР537РУ10. ОЗУ курсора выполнено на одной КР537РУ14
Дисплейный модуль. Видеопамять выполнена на 2К ОЗУ КР537РУ10. ОЗУ курсора выполнено на одной КР537РУ14
Дисплейный модуль. Видеопамять выполнена на 2К ОЗУ КР537РУ10. ОЗУ курсора выполнено на одной КР537РУ14

Модуль динамического ОЗУ объёмом 64КБ собран на 8-ми микросхемах КР565РУ5
Модуль динамического ОЗУ объёмом 64КБ собран на 8-ми микросхемах КР565РУ5
Модуль динамического ОЗУ объёмом 64КБ собран на 8-ми микросхемах КР565РУ5
Модуль динамического ОЗУ объёмом 64КБ собран на 8-ми микросхемах КР565РУ5
Модуль динамического ОЗУ объёмом 64КБ собран на 8-ми микросхемах КР565РУ5

Самодельная клавиатура для «Микро-80»
Самодельная клавиатура для «Микро-80»
Самодельная клавиатура для «Микро-80»

Клавиатура выполнена на герконовых клавишах от какого-то терминала. Вид клавиш довольно старинный. В отличие от журнального варианта моя клавиатура вся полностью выполнена на обычных клавишах без переключающих контактов. В оригинальном варианте кнопки УС и СС должны быть с переключающими контактами для защиты от дребезга. А кнопка РУС вообще должна была быть с фиксацией. В моей клавиатуре дребезг контактов подавляется на микросхеме К561ТЛ1 (схема её включения не требует наличия кнопок с переключающими контактами). А чтобы избавиться от кнопки РУС с фиксацией используется D-триггер. Т.о. при нажатии на РУС включается режим ввода русских символов, а при следующем нажатии - режим выключается. Для индикации режима "РУС" используется светодиод.

Микро-80 с модулем пошаговой отладки программ
Микро-80 с модулем пошаговой отладки программ
Микро-80 с модулем пошаговой отладки программ

В процессе сборки компьютера был сделан упрощённый модуль пошаговой отладки с 16-ричной индикацией состояния шин адреса и данных, но его возможностей оказалось недостаточно, поэтому пришлось спаять полноценный отладочный модуль:

Компьютер в процессе наладки с подключенным отладочным модулем
Компьютер в процессе наладки с подключенным отладочным модулем
Компьютер в полном комплекте (пока что без корпуса). На экране - заставка монитора
Компьютер в полном комплекте (пока что без корпуса). На экране - заставка монитора
Компьютер в процессе наладки с подключенным отладочным модулем
Компьютер в полном комплекте (пока что без корпуса). На экране - заставка монитора

Микро-80 с отладочным модулем. Включен пошаговый режим отладки
Микро-80 с отладочным модулем. Включен пошаговый режим отладки
Микро-80 с работающим Бейсиком
Микро-80 с работающим Бейсиком
Микро-80 с отладочным модулем. Включен пошаговый режим отладки
Микро-80 с работающим Бейсиком

Работа с магнитофоном в "Микро-80"

Монитор Микро-80 сделан так, что он сам не формирует значения констант задержек для подпрограмм работы с лентой. Поэтому каждый раз при включении компьютера приходится заново заносить эти константы в соответствующие ячейки памяти (#F75D - для константы записи, #F75C - для константы чтения). Т.к. в процессорном модуле может использоваться кварцевый резонатор частотой от 4 до 16 МГЦ, эти константы будут разные для кварцев разной частоты. У меня используется кварц на 16МГЦ, и для него я посчитал константы, для которых можно использовать на PC программы работы с лентой wrkwin32.exe и rrkwin32.exe с установками по умолчанию. Константа записи (заносится в #F75D) равна #32, константа чтения (заносится в #F75C) равна #4B.

Видео

31 октября 2019 года в Музее Яндекса проводилась лекция-интервью с Геннадием Вадимовичем Зеленко и Сергеем Николаевичем Поповым, кандидатами технических наук и изобретателями, одними из основных инженеров компьютеров «Микро-80» и «Радио-86РК».

Скачать документацию по Микро-80

Скачать информацию по Микро-80:
Цикл публикаций по Микро-80 из журнала "Радио" за 1983 год (схемы). В сканах уже исправлены все замеченные ошибки и неточности в схемах
Цикл публикаций по Микро-80 из журнала "Радио" за 1985, 1986 и 1989 годы (статьи по Бейсику, монитор, совместимый с Радио-86РК)
Прошивки ПЗУ (монитор, знакогенератор, К155РЕ3 из отладочного модуля) и исходник монитора в формате ассемблера Z80
Кодовый блок с бейсиком для Микро-80 и программой для подсчёта контрольных сумм (из журнала "Радио" №1 за 1985 год)
Схема моего переработанного варианта Микро-80
Ссылки на сайты по Микро-80:
http://micro80.narod.ru/ Ещё один вариант Микро-80