Орель БК-08

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Орель БК-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, запускать отладчик и разбираться с кодом загруженных в основное ОЗУ программ, править их, вносить коды, дающие «вечную жизнь» и т. д.

Примечания[править | править код]

  1. Добро пожаловать на официальный сайт Днепровского Машиностроительного Завода. web.archive.org (27 сентября 2013). Дата обращения: 17 сентября 2021. Архивировано из оригинала 27 сентября 2013 года.
  2. Компьютер видеоигровой «Орель БК-08» Руководство по эксплуатации БУ2.940.007 РЭ
  3. Точнее говоря дешифратор позволял переключаться между одним из четырёх банков памяти. Один из них был занят микросхемой ПЗУ, ещё один соответствовал ОЗУ, под третий было разведено место на плате, под последний не было и места.
  4. Программа MZ80. Руководство пользователя. БУ.00001-01 90 01
  5. Программа tst. Руководство пользователя. БУ.00001-01 90 02