Сборка Микро-80
Я пол года занимался ремонтом квартиры, каждый день, каждую минуту, поэтому хобби временно забросил. Так же я временно забросил разработку программы для работы с дисками +3DOS. Теперь я медленно возвращаюсь к жизни. Программа будет! Но сейчас я начал сборку компьютера Микро-80.
Напомню, что это самый первый советский домашний компьютер. Он промышленно не выпускался и поэтому это самый интересный и раритетный компьютер.
Так же очень интересен аппаратный отладчик этого компьютера. Он позволяет устанавливать брякпоинты на любой адрес (в т.ч. ПЗУ). Позволяет пошагово отлаживать программу. При выполнении команды OUT 0, данные отображаются на светодиодах передней панели. А при выполнении команды IN 0, программа останавливается, пока пользователь на тумблерах не наберет число и не нажмет на кнопку "ГОТОВО". Само собой можно изменять и читать память, обращаться к устройствам ВВ с помощью тумблеров.
Половина микросхем
Компьютер будет состоять из нескольких плат:
* Плата процессора
* Плата ПЗУ 2 Кб
* Плата ОЗУ 32 Кб и схема регенерации ОЗУ
* Расширение ОЗУ 32 Кб
* Отладчик 1
* Отладчик 2
* Отладчик 3 (плата передней панели с индикаторами и кнопками)
* Видеоадаптер без видеопамяти
* Видеопамять
* Клавиатура+Магнитофон
* Программатор
* Статическая память 2 Кб (временный модуль, пока не соберу ОЗУ)
* Адаптер PS/2 клавиатуры к Микро-80 (на AVR)
* Контроллер SD-карты на AVR
* Кросс-плата
* Блок питания
Я начал сборку с видеоадаптера (который у меня состоит из 2-х плат), потому что он работает без процессора, только питание подай и его легко отлаживать. Для отладки буду использовать Arduino.
Первую плату видеоадаптера я уже сделал, но мне она не нравится. Во первых, я намучился соединять слои платы в местах крепления панелек. Во вторых, контактные площадки получились очень маленькими и они легко отваливаются. Поэтому вторую плату я сделал так, что все детали запаиваться только снизу в жирные контактные площадки.
Видеоадаптер
Проводом соединен сигнал "начало символа" (это каждый 6-ой столбец экрана) с видеовыходом, что нам дает тонкие вертикальные полосы на экране. Горизонтальные полосы - это отступы между символьными строками.
Видеоадаптер вроде работает!
Видеопамять
Оригинальная схема
http://tmaplatform.ru/vinx_home_page/micro80_svob.png
Моя схема видеоадаптера (без видеопамяти)
http://tmaplatform.ru/vinx_home_page/micro80_sv1b.jpg
Моя схема видеопамяти
http://tmaplatform.ru/vinx_home_page/micro80_sv2b.jpg
Видеоадаптер отображает черно-белый текстовый режим 64x25 символов. Размер символа 6x8 пикселей. Знакогенератор содержит 128 символов. Символ можно инвертировать.
Видеоадаптер не поддерживает чтение из видеопамяти. Но компьютер устроен так, что данные записываются одновременно в видеопамять и ОЗУ, здесь они занимают одни и те же адреса. И получается, что можно читать данные, которые вы записывали в видеопамять. (Конечно, только если в компьютер установлено 64 Кб ОЗУ.)
Видеоадаптер можно расширить добавив несколько микросхем памяти. Причем основная плата видеоадаптера остается без изменений и эта доработка идеально впишется в структуру компьютера. В оригинальной схеме каждый символ занимает 2 байта адресного пространства: 1 байт код символа (из которых используется 7 бит) и 1 байт атрибутов (из которых используется 1 бит). Добавляем память для недостающих битов и более емкую ПЗУ (которая уже добавлена) и мы имеем 256 символов и несколько цветов.
Следующим этапом я буду делать кросс-плату. Это просто 10 параллельно соединенных слотов. С помощью кроссплаты можно будет объединить видеоадаптер с видеопамятью и что нибудь написать на экране монитора. Далее будет плата ПЗУ, плата ОЗУ и плата процессора. Вот тут уже можно будет запускать тесты. Потом надо будет сделать плату магнитофона, клавиатуры, PS/2 переходника и одну плату динамической памяти. Вот тут можно будет запустить Бейсик и прочие программы, но это будет только половина пути.
Кросс плата
А в итоге компьютер будет выглядеть почти так. На фото ниже компьютер Альтаир. Я тоже сделаю прозрачный корпус.
Толстые и геометрически правильные дорожки питания и конденсаторы по питанию не помещаются! Конденсаторы я напаяю с тыльной стороны платы прямо к питательным ножкам микросхемы. А вот дорожки, я надеюсь, сойдут и такие. Возможно не достаточно толстые и не достаточно короткие.