Важная информация
RSS лента

vinxru

Кристалл-2

Оценить эту запись
Процессор: КР580ВМ80А 2 Мгц
ОЗУ: статическое 1 Кб на основном модуле + динамическое 58 Кб на модуле ОЗУ
ПЗУ: 2 Кб (программа Монитор)
Текст: 64x32 128 символов. Собственное статическое ОЗУ 2 Кб.
Интерфейсы: КР580ВВ51 (последовательный порт) + 2x КР580ВВ55 (два параллельных порта).
Внешнее ОЗУ через порты ВВ: 128 Кб на модуле "Квазидиск"
Внешнее ПЗУ через порты ВВ: 32 Кб на модуле ОЗУ + 32 Кб на модуле "Квазидиск"
Звук: бипер
Разработан: 1987 год

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

Этот компьютер участвовал на радиовыставке 1987 г. Авторы: Сугоняко В.П. (UV3DED), Виноградов А.С., Московская обл., г. Ногинск, 1987 г.

После того, как А. Ф. Волков опубликовал схемы компьютера Специалист в журнале «Моделист-Конструктор» в 1987 году, авторы Кристалла совместили схемы Специалиста и Кристалла получи Орион-128

Основная идея Кристалла и Ориона - это имитация работы с дисководами без дисководов. Программы хранятся в ПЗУ и ОЗУ. Сейчас аналогом этого являются компьютеры с SSD вместо механических накопителей.

В компьютере используется черно белый текстовый видеоадаптер с разрешением 64x32 с размером знакоместа 6x8. Видеоадаптер собран на простых микросхемах. Знакогенератор прошит в ПЗУ. Используется знакогенератор Микро-80 с измененным символом СП (код 1Eh). Вместо этого символа находится изображение курсора. Видеоадаптер имеет собственную статическую память 2 Кб. Она доступна для записи и чтения по адресам E800-EFFF. (Микро-80 не поддерживал чтение из видеопамяти). Когда процессор записывает в память видеоадаптер, на экране появляются черные помехи. Видеоадаптер не поддерживает отображение курсора или инверсию знакоместа (Микро-80 поддерживал). В отличии от компьютеров Радио 86РК при загрузке с магнитофона экран не отключается.

В качестве контроллера клавиатуры используется микросхема КР580ВВ55. Клавиатура электрически и программно совместима с Микро-80, Радио 86РК и аналогичными. Но адрес порта ввода-вывода клавиатуры отличается от Микро-80, поэтому прошивка Микро-80 на этом компьютере не работает.

В конце прошивки этого компьютера много неиспользуемого места.

Ввод звука сделан через разрешение прерываний (как в Радио 86РК).

Загрузка и запись на магнитофон осуществляется через порты КР580ВВ55. Преобразователя аналог-ТТЛ, ТТЛ-аналог на основной плате нет. Компьютер использует собственный формат записи на магнитофон (но так же поддерживает формат РК-86). Собственный формат отличается от формата РК-86 тем, что при загрузке программы выводится её имя. В имени программы могут использоваться символы очистки экрана, перемещения курсора. То есть, возможно сделать красивые заставки при загрузке. Компьютер умеет автоматически определять скорость записи на магнитофон и корректно загружать программу записанную с большей скорость.

Компьютер разделен на 5 модулей:
* Основной модуль. Тактовый генератор, процессор, видеоадаптер с статическим ОЗУ 2 Кб, контроллер клавиатуры, ПЗУ 2 Кб с программой Монитор, статическое ОЗУ 1 Кб.
* Модуль ОЗУ и ПЗУ. 58 Кб ОЗУ в адресном пространстве процессора. Еще 64 Кб ОЗУ + 32 Кб ПЗУ через порты ввода-вывода. Используется 64 микросхемы К565РУ3.
* Модуль квазидиска. Идентичен прошлому. Используется та же печатная плата, но только теперь вся память через порты. Используется 64 микросхемы К565РУ3.
* Модуль интерфейса. КР580ВИ53 (таймер) + КР580ВВ51 (последовательный порт) + 2x КР580ВВ55 (два параллельных порта).
* Отладочный модуль. Упрощенный отладочный модуль Микро-80.

Основной модуль является завершенным и работоспособным узлом. В документации присутствует только схема основного модуля. Возможно, что у самих авторов не было этих модулей, так как они пишут о модуле на 16 Кб ОЗУ с таймером ВИ53.

Большая часть документации повещена операционной системе "Дельта-A". Эта операционная система работает с квазидиском. Дампа этой системы в документации (и у нас) нет.

Сугоняко В.П. - это один из разработчиков компьютера Орион-128. Компьютер Кристалл-2 своей идей квазидиска и собственной операционной системой очень похож на компьютер Орион-128.

[SIZE=4]Команды монитора[/SIZE]

CTRL+S - Включение формата записи на магнитофонную ленту РК-86 (по умолчанию включен собственный формат).
CTRL+T - При очистке экрана устанавливать курсор в верхнюю строку (по умолчанию в курсор устанавливается в нижнюю строку).
R - Загружает область памяти с магнитофона с автоматическим определением плотности записи.
I[начало] - Загружает область памяти с магнитофона. Первый параметр можно не указывать.
I, - Загружает область памяти с магнитофона и запускает.
O[начало],[конец],[скорость] - Сохраняет область памяти на магнитофон. Третий параметр можно не указывать.
J[адрес] - Запустить программу.
E - Переход по адресу 0000.
K - Выводит на экран все введенные с клавиатуры символы (выход из режима символом с кодом 0).
С[начало],[конец],[начало 2] - Сравнивает области памяти.
F[начало],[конец],[байт] - Заполняет область памяти байтом.
S[начало],[конец],[байт] - Ищет байт в области памяти.

[SIZE=4]Карта памяти[/SIZE]

0000h - E7FFh Используется дополнительными модулями. Обычно ОЗУ.
E800h - EFFFh ОЗУ. Видео.
F000h - F3FFh Используется дополнительными модулями.
F400h - F7FFh ОЗУ. Стек и системные переменные
F800h - FFFFh ПЗУ. Монитор.

В документации указано, что по адресам D000h - E7FFh находится операционная система Дельта-А.
S[начало],[конец],[2 байта] Ищет 2 смежных байта в области памяти.
P[из_начало],[из_конец],[куда начало] Копирует область памяти.
M[начало] Последовательно просматривает память позволяя изменять значения.
H[символ] Отображение 16-ричного кода символа.
L[начало],[конец]
D[начало],[конец] Выводит 16-ричный и текстовый дамп памяти. Директивы D и L идентичны.
Z[число] Передача управления в "зону". Число выбирает слот-ПЗУ. Управление передается по адресу F000h. (Эта директива отсутствует в прошивке приведенной в официальной документации)
пустая строка Очистка экрана и вывод приветствия.

[SIZE=4]Карта УВВ[/SIZE]

На основной плате присутствет только микросхема КР580ВВ55А, которая обслуживает клавиатуру и магнитофон. Микросхема занимает все порты у которых A2=0, то есть адреса 0-3,8-Bh,10h-13h,18-1Bh.

0 - Вывод на матрицу клавиатуры
1 - Ввод с матрицы клавиатуры
2 - чтение бита 0. Чтение с магнитофона.
2- чтение бита 1. Клавиша СС.
2- чтение бита 2. Клавиша УС.
2- запись бита 7. Запись на магнитофон.
3 - Управление КР580ВВ55A. Инициализируется значением 8Bh.

[SIZE=4]Точки входа BIOS[/SIZE]

Адрес / Описание / Входные данные / Выходные данные
F800h - Перезагрузка
F803h - Ввод символа с клавиатуры с ожиданием / A - код символа
F806h - Чтение байта с магнитофона / А=FF - с поиском синхробайта A=08 - без поиска синхробайта / A - считанный байт
F809h - Вывод символа на экран / С - символ
F80Сh - Запись байта на магнитофон / C - байт
F80Fh - Вывод символа на экран / A - символ
F812h - Опрос состояния клавиатуры 1 / / A=FF - ни одна клавиша не нажата A<>FF - нажата
F815h - Вывод на экран 16-ричного числа / A - число
F818h - Вывод на экран текстовой строки / HL - адрес строки (код 0 конец строки)
F81Eh - Инициализация КР580ВВ55

Первые 9 точек входа совместимы с Микро-80, ЮТ-88 и Радио 86РК. Но у указанных компьютеров больше точек входа (18).

[SIZE=4]Прошивка[/SIZE]

Я дизасемблировал прошивку компьютера Кристалл-2. И сделал две небольшие доработки, благодаря которым заработали несколько игр от Радио 86РК. Это esc-последовательность перемещающая курсор. И отключение отображения курсора с помощью новой директивы X. А так же исправил ошибку, из за которой визуально-некорректно работало удаление в консоли. Вместо перемещения курсора влево (код 8), в консоль выводилась псевдографика (код 3)

Игра Бармен запущенная на новой прошивке компьютера
[IMG]http://cs314930.vk.me/v314930349/95af/RaXiwO1yLlc.jpg[/IMG]

Для загрузки этой игры надо ввести сразу несколько команд

УС+T <- Включает режим записи на магнитофон РК-86
УС+R <- Включает режим очистки экрана РК-86
X <- Отключает курсор
R <- Загружает с автоопределением скорости.

[SIZE=4]Ссылки[/SIZE]

Книга: [url]http://vk.com/doc-41468278_286189163[/url]
Все файлы: [url]https://github.com/vinxru/Crystal_2[/url]
На форуме: [url]http://zx.pk.ru/showpost.php?p=499892&postcount=72[/url]
Метки: Нет Добавить / редактировать метки
Категории
Без категории

Комментарии

  1. Аватар для * Felix *
    1987 год, на западе уже бытовые компьютеры медленно двигались в с торону 16ти бит и серьезной многоцветной графики, не за горами были 3d игры и программы качественного рендеринга на персоналках, а наши инженеры все разрабатывали и разрабатывали компы с процессором 70х и текстовым экраном.