ЮТ-88. Введение. Запуск в минимальной конфигурации

Для проекта «ЮТ-88» на FPGA я сделал плату расширения.  Схему и разводку платы в формате DipTrace можно скачать здесь: Schematic and layout. Эта плата содержит шесть 7-ми сегментных индикаторов и клавиатуру 4х4. Клавиатура была приобретена на ebay за $9. Подключается плата расширения через разъем GPIO_1 платы DE1.

My ext. board for DE1 Кроме этого плата содержит аудио вход и выход, “пищалку” и TV-выход. Сделано это было для моих экспериментов и не требуется для работы компьютера. Я даже не тестировал работоспособность этих элементов, так что при изготовлении можно опустить все элементы кроме индикаторов и клавиатуры. Более того, сейчас для запуска компьютера не требуется даже эта плата, т.к. 7-ми сегментные индикаторы дублируются на экране VGA монитора (отключается выключателем SW[0] на плате DE1), а подключенная PS/2 клавиатура может работать в режиме кейпада. Режим работы клавиатуры выбирается выключателем SW[1] на плате DE1. UT-88 screenshot with 7-segment indicators on top Два правых 7-ми сегментных индикатора на самой плате DE1 используются для отображения скан-кода нажатой клавиши на клавиатуре.

Дисплей подключается к VGA выходу и отображает информацию в режиме 800х600 60Гц. Разрешение компьютера — 384х224. Таким образом выполняется дублирование каждой точки по горизонтали и вертикали, т.е. одна точка компьютера занимает 4 точки  дисплея. Но даже удвоения недостаточно чтобы покрыть весь дисплей (получается 768х448), поэтому остались неиспользуемые поля. Верхнее поле я использовал для вывода 7-ми сегментных индикаторов.

Сам проект можете скачать здесь: SOF файл (для временной прошивки), POF файл (для прошивки во флеш память DE1 если вы не хотите загружать прошивку после каждого выключения) и исходники.

В качестве магнитофонного входа/выхода используются разъемы LINE IN и LINE OUT на плате DE1. В качестве магнитофона может выступать CD или MP3 плейер, компьютер или любое другое устройство способное проигрывать wav или mp3 файлы на выход наушников. Громкость сигнала с этих устройств подбирается экспериментально. Некоторые программы для минимальной конфигурации в wav формате вы можете скачать здесь: Программы для мин. конфигурации.

Кроме того, используется JTAG интерфейс для записи и чтения SRAM памяти. Т.к. микросхема SRAM памяти используется как ОЗУ (младшие 8 бит шины данных), так и квазидиск (старшие 8 бит шины данных), то этот интерфейс позволяет записать и восстановить состояние компьютера при помощи утилиты DE1 CONTROL PANEL, входящий в комплект платы DE1. Здесь вы можете скачать пример образа сделанного при помощи этой утилиты, который позволяет быстро загрузить в компьютер ОС CP/M вместе с комплектом программ на квазидиске.

ЗАПУСК В МИНИМАЛЬНОЙ КОНФИГУРАЦИИ

Пространство памяти  в минимальной конфигурации распределяется следующим образом:

0000 — 0FFF – ПЗУ с программой “Монитор-0” и библиотекой математических подпрограмм. Это ПЗУ может быть отключено и заменено областью ОЗУ выключателем SW[2] (положение “0”).

2000 — 23FF – ПЗУ с разными программами для миниконфигурации. Эти программы не могут быть запущены из ПЗУ, а должны быть скопированы в ОЗУ начиная с адреса С000 и запущены оттуда. Это ПЗУ также может быть отключено и заменено областью ОЗУ выключателем SW[4] (положение “0”). Перечень программ этого ПЗУ и инструкции по их запуску см. в разделе “МОНИТОР-0”.

С000 — С3FF – ОЗУ минимальной конфигурации. На самом деле в минимальной конфигурации данной реализации доступна вся область памяти с 1000 по FFFF (если ПЗУ “Монитора-F” отлючено выключателем SW[3]). 

Таким образом, если отключить еще и ПЗУ программ (выключатель SW[4] в положении “0”), то доступный объем ОЗУ составит 60Кб. Неплохо, не правда ли?

Кроме того, содержимое ячеек 9000, 9001 и 9002 выводится на 7-ми сегментные индикаторы платы расширения.

Выключатель SW[0] отвечает за включение индикации 6-ти семисегментных индикаторов на VGA дисплее, подключенном к плате DE1. Выключатель SW[1] переключает клавиатуру в режим кейпада. Это означает, что если этот выключатель находится в положении “1”, то клавиатура PS/2, подключенная к плате DE1, работает как кейпад минимальной конфигурации. Иначе задействована клавиатура платы расширения. В режиме работы с платой расширения, клавише “ШН” соответствует кнопка KEY[3] на плате DE1, а клавише “СБРОС” — кнопка KEY[0]. В режиме работы с клавиатурой PS/2, на клавиатуре задействованы все цифровые клавиши и клавиши A, B, C, D, E и F. В качестве клавиши “ШН” используется клавиша TAB, а клавиши “СБРОС” — ESC.

Таким образом, суммируя вышесказанное, для работы компьютера в минимальной конфигурации выключатели SW должны находиться в следующих положениях:

SW[0] — “0” для отображения 7-ми сегментных индикаторов только на плате расширения, “1” — дублирование их на VGA дисплее.

SW[1] — “0” для ввода информации с помощью кейпада на плате расширения, “1” — использование клавиатуры PS/2 для ввода в режиме кейпада.

SW[2] — “1” SW[3] — “0”, если планируется использовать область оперативной памяти F400-FFFF.

SW[4] — “1” для включения ПЗУ с программами. После копирования программы в ОЗУ это ПЗУ можно отключить и использовать его адресное пространство как ОЗУ. Если записанные в это ПЗУ программы не нужны совсем, то  этот выключатель можно оставить в положении “0”.

SW[6] — “1” включено прерывание от 1Гц таймера SW[8] — “0”. Положение “1” переводит процессор в режим HOLD. Используется для работы с DE1 CONTROL PANEL.

SW[5], SW[7], SW[9] – положение этих выключателей не имеет значения в минимальной конфигурации.

В следующем посте мы разберем работу компьютера в минимальной конфигурации.

Leave a Reply