Орель БК-08


}}

Орель БК-08 — бытовой компьютер производства Днепровского Машиностроительного Завода [1].

Официальное название: компьютер видеоигровой «Орель БК-08» БУ2.940.007[2]. Далее по тексту — БК.

Представляет собой клон компьютера ZX Spectrum британской компании Sinclair Research.

Общие характеристики

Центральный процессор: UA880A (аналог Z80A производства ГДР) либо Z80A, с тактовой частотой 3,5 МГц. Оперативная память 64 КБ реализована на 8 микросхемах типа КР565РУ5В.

Интерфейсы:

  • видеовыход RGB для подключения к телевизорам, соответствующим ГОСТ 24838-47;
  • вход/выход для подключения бытового кассетного магнитофона, применяемого в стандартной комплектации в качестве устройства долговременной памяти;
  • два разъёма для подключения джойстиков типа Sinclair/Kempston;
  • разъём системной шины.

Особенности архитектуры

Теневое ОЗУ

Область адресного пространства процессора 0-3FFFH при помощи программно-доступного регистра может отображаться как на ПЗУ, так и на соответствующие адреса ОЗУ. Конструкция платы предусматривает установку двух наборов микросхем ПЗУ емкостью 16 КБ каждый, но на практике использовался лишь один из них[3]. Возможность выбора источника касается лишь операции считывания данных, в то время как запись всегда производится в ОЗУ. Такая организация позволяет, с одной стороны, организовать загрузку данных в теневое ОЗУ средствами встроенной BASIC-системы, но с другой стороны, содержимое теневого ОЗУ может быть испорчено программами, не учитывающими его наличие. Данные в теневом ОЗУ не теряются после аппаратного сброса клавишей RESET.

Расширенная клавиатура

Клавиатура БК — кнопочная, герконовая, 67-клавишная. Алфавитно-цифровая зона клавиатуры совпадает со стандартной AT-клавиатурой с точностью до наборов клавиш-модификаторов. Раскладки алфавитных клавиш — стандартные (QWERTY и ЙЦУКЕН). Переключение раскладок производится специальными служебными клавишами РУС и Р/А. Опрос дополнительных клавиш осуществляется через неиспользуемые в стандартной модели биты портов клавиатуры. Общее количество программно-доступных клавиш — 56, остальные аппаратно эмулируют нажатие комбинаций Caps-Shift + <цифра> и предназначены для управления курсором и режимом редактирования.

Кнопка NMI

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

Прочие схемотехнические особенности

Циклы ожидания при обращении к ОЗУ отсутствуют, что повышает быстродействие системы по сравнению с оригинальным ZX Spectrum или такими его клонами, как «Ленинград». Схема регенерации ОЗУ не зависит от содержимого регистра I процессора, что устраняет известный дефект оригинальной модели — разрушение изображения при записи в этот регистр значений 40H-7FH.

Точная дешифрация портов ввода-вывода (по 8 линиям адреса) благоприятствует разработке дополнительных устройств.

Запрос по линии INT автоматически снимается по сигналу подтверждения прерывания, предупреждая тем самым проблемы, связанные с длительностью генерации этого запроса.

Количество тактов между прерываниями такое же, как у оригинального ZX Spectrum — 69888.

Адресные сигналы на клавиатуру выведены через буферы К155ЛП9, а не через диоды, как на многих других вариантах ZX Spectrum. Благодаря этому устраняются возможные наводки в системную шину с клавиатуры.

Сигналы видеоконтроллера формируются под управлением ПЗУ (микросхемы К155РЕ3 и К556РТ4). Синхронизация точно соответствует оригинальному ZX Spectrum.

Питание БК осуществляется постоянным током напряжением 24В (сетевой выпрямитель входит в комплект поставки). В корпусе БК размещается импульсный стабилизатор напряжения, вырабатывающий основное питающее напряжение +5В и дополнительное — +12В. БК малочувствителен к помехам, возникающим в электросети, например, при включении холодильника. Нагрузочная способность стабилизатора по цепи +12В очень мала, но достаточна для питания микросхемы КР1818ВГ93, которая устанавливалась в контроллер дисковода.

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

Базовое программное обеспечение

В комплект поставки БК входит комплект базового программного обеспечения: интерпретатор языка BASIC в ПЗУ и магнитофонная кассета с программами tst, MZ80 и RECLAMA.

Бейсик-система

Прошивка ПЗУ содержит вариант оригинального ПЗУ ZX Spectrum, адаптированного к расширенным возможностям БК. При загрузке отображается сообщение «Бейсик-система вер. 2.0».

Характерные особенности:

  • Русификация: используется 7-битная кодировка КОИ-7 с переключением кодовой страницы выводом управляющих кодов. Модифицированы подпрограммы ПЗУ ввода символов с клавиатуры и вывода на экран. Таблицы символов русского знакогенератора размещаются в верхних адресах ПЗУ, не задействованных в оригинале.
  • Реализован традиционный для ZX Spectrum ввод служебных слов языка BASIC нажатием одной клавиши, но расположение слов на клавиатуре отличается от оригинала.
  • Обработчик NMI: вместо стандартного обработчика реализован свой, активирующий теневое ОЗУ, что вызывает неявную передачу управления коду, расположенному в этом ОЗУ.

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

Существовало также несколько вариантов модификаций оригинального Spectrum-бейсика, грузившегося в теневое ОЗУ. К примеру, вариант Бейсика с турбо-загрузкой и сохранением данных на кассету.

Монитор MZ80

Малая операционная система MZ80 предназначена для выполнения и отладки программ в машинных кодах и реализует следующие функции: управление системой ввода-вывода, загрузку программ, запуск программ, формирования и копирования файлов (программ), отладку, сервисные возможности. [4]

Монитор размещается в теневом ОЗУ и активизируется пользователем при помощи кнопки NMI.

Возможности MZ80 как отладчика не отличаются особым разнообразием. Например, в нем отсутствуют такие функции, как дизассемблирование содержимого памяти либо пошаговое исполнение программ.

Некорректная работа с содержимым регистра R процессора и особенности возврата в прерванную программу не гарантируют восстановления после немаскируемого прерывания.

Программа tst

Программа предназначена для проверки функционирования основных узлов БК: клавиатуры, формирователя сигналов управления цветом и яркостью, звукового формирователя, формирователя сигналов управления цветом бордюра, ОЗУ и ПЗУ, устройств ввода-вывода сигналов кассетного магнитофона. [5]

Программа RECLAMA

Демонстрационный ролик, реализованный на Laser BASIC.

Дополнительное программное обеспечение

В данном разделе рассматривается программное обеспечение, специфичное для БК.

ZX-совместимость

БК обеспечивает лишь частичную совместимость с оригиналом. Основным источником проблем служит изменённое содержимое верхних адресов ПЗУ, что вызывает сбои в работе программ (например, игры Bomb Jack), использующих ПЗУ в качестве источника адреса обработчика прерывания режима IM2.

Впрочем, такие проблемы наблюдались только у незначительного количества программ. Некоторые из них удавалось запустить, загрузив в теневое ОЗУ код ПЗУ оригинального ZX-Specturm.

Отличия в тактировке выполнения команд приводили к отличию в выведенном изображении чувствительными к ней процедурами настроенными на оригинальный Spectrum (динамический вывод изображения на бордюр, Multicolor).

Мониторы и отладчики

В 93 году Eric & LSV разработали монитор, отладчик и дизассемблер на основе переделанного GENS3, позволяющий прямо на ходу, нажав клавишу NMI, запускать отладчик и разбираться с кодом загруженных в основное ОЗУ программ, править их, вносить коды, дающие «вечную жизнь» и т. д.

Примечания