БК-0010

Материал из ZX-PK.ru
Перейти к: навигация, поиск
Bk0010 photo1.jpg

Группа: БК-0010-совместимый
Процессор: К1801ВМ1 16 бит 3 МГц
ОЗУ: 32 Кб
ПЗУ: ПЗУ 24 Кб (программа Монитор, плюс в БК0010 Фокал и тесты, а в БК0010.01 Бейсик)
Разъемы: Системная шина, параллельный порт (16+16 бит), магнитофон, НЧ видео 256x256, НЧ видео 512x256, блок питания
Видео: Контроллер К1801ВП1-037. 256x256 4 цвета (красный, синий, зеленый, черный). 512x256 2 цвета.
Звук: бипер
Внешние устройства в комплекте: МСТД с компьютером БК0010.01
Разработан: 1983 год

О компьютере

Компьютер был разработан в 1983 году в Зеленограде (НИИ Точной технологии, сейчас ОАО «Ангстрем»). Прототип этого компьютера (Электроника НЦ-8010) был разработан в 1979 году по собственной инициативе работников предприятия. Но руководство отказывалось запускать его в серию.

С 1983-1992 годы было выпущено более 162000 компьютеров, из которых 44000 поступило в школы.

В этом компьютере использован 16-битный процессор К1801ВМ1. Этот процессор совместим по системе команд и системной шине с процессором LSI-11/03 (PDP11). Но это единственные общие черты БК0010 и PDP11. В компьютере установлено 32 Кб ОЗУ из которых 16 Кб отводится под видеопамять. В качестве накопителя используется магнитофон или внешний дисковод.

Компьютер может работать в локальной сети. Стандартный класс, включал в себя до 12 компьютеров БК0010 учеников объединенных в локальную сеть. И один компьютер ДВК-2МШ (с дисководами и 2-мя 6-канальными контроллерами локальной сети) в качестве сервера и компьютера преподавателя. В этом случае БК0010 мог загружать программы с сервера, а преподаватель мог удаленно контролировать работу ученика.

Модификации

Выпускалось несколько моделей этого компьютера: БК0010, БК0010Ш, БК0010-01, УИВ. При этом, под одним именем могли продаваться значительно отличающиеся компьютеры.

  • Мог различаться цвет корпуса и клавиш.
  • Могла быть установлена клавиатура: пленочная (плоские кнопки закрытые пленкой), мембранная или клавишная.
  • ПЗУ могло содержать язык программирования Фокал, Бэйсик или оба одновременно (язык выбирался перемычкой).
  • В комплекте с компьютером мог идти контроллер локальной сети.
  • В компьютере мог быть отсек со сменными ПЗУ.
  • В БК0010 (без -01) не было разъема разъема ЦТВ.
  • В БК0010 (без -01) блокировка встроенного ПЗУ не была предусмотрена (поэтому дополнительное ОЗУ вместо ПЗУ) было не подключить.

Клавишная клавиатура удобна и надежна. "Удобна и надежна" за исключением дребезга контактов. Если медленно нажать клавишу до упора, то на экране вы увидите примерно 8 букв. Печатать на этом компьютере можно только резкими и легкими ударами пальцев по кнопкам.

Компьютер имел очень приятный и быстрый интерпретатор Бэйсика, похожий на MSX Basic. Бэйсик занимал 24 КБ ПЗУ, что было больше, чем в аналогичных компьютерах. Программы, написанные на Бэйсике не интерпретировались, а компилировались в "шитый код". То есть в программу на ассемблере, состоящую из команд "поместить в стек" и "вызвать подпрограмму".

Видеорежимы

Компьютер поддерживает четыре видео режима:

  • 512x256 2 цвета.
  • 512x64 2 цвета.
  • 256x256 4 цвета.
  • 256x64 4 цвета.

В режимах 64 пикселя по вертикали, графика/текст отображается в верхней четверти экрана. Нижние 75% экрана всегда черные. Этот видеорежим использует всего 4 Кбайт памяти, то есть для пользователя остается 28 Кб ОЗУ. (Видео режим высотой 256 пикселей использует 16 Кб памяти и пользователю остается только 16 Кб)

В 4-х цветных режимах используются цвета: черный, красный, синий, зеленый. Программной возможности изменить эти цвета нет.

Видео контроллер формировал сразу два видео сигнала 512x256/64 и 256x256/64. И каждый видео сигнал был подключен к собственному разъему на задней стенке компьютера. Пользователь должен был перетыкать вручную провод от монитора при использовании различных программ.

Пример изображения, если монитор подключен к выходу ЦТВ, когда требуется ТВ:

Bk bug 1.gif

Если же подключить монитор к выходу ТВ, когда требуется ЦТВ, то синий и зеленый цвета будут отображаться в виде штриховки, одинаково для пользователя.

Bk bug 2.png

Переключить видеорежим (512x256/64 и 256x256/64) в Бейсике можно комбинацией клавиш АР2 ; (в эмуляторе CTRL ;)

Что бы подключить компьютер к телевизору через разъем SCART, на 16 вывод SCART требуется подать напряжение 5 Вольт (это включит режим RGB). Это напряжение можно взять с разъема ТВ.

Недоработка генератора случайных чисел

Если вы запустите эту программу, то увидите ровные полосы.

   10 CLS
   20 FOR I%=0% TO 32766%
   30 PSET (RND(1)*256%, RND(1)*240%), RND(1)*3%+1%
   40 NEXT

Bk0010 rnd bug.gif

Системная шина

Схема дополнительного ОЗУ

Шина данных и адреса была совмещена и обращение к любому устройству происходило в два этапа, сначала отправлялся адрес, а затем записывались/читались данные. Например, что бы подключить к этому компьютеру дополнительное ОЗУ / ПЗУ имеющее раздельные шины данных и адреса (обычную 27С256 например), требовалось установить 16-битный регистр для временного хранения адреса.







Команды монитора

M[адрес]Загрузка программы с магнитофона. Адрес можно не указывать. После загрузки в ячейке 264 содержится адрес загрузки, а ячейке 266 длина.
L[адрес]Загрузка программы с линии. Адрес можно не указывать. После загрузки в ячейке 264 содержится адрес загрузки, а ячейке 266 длина.
S[адрес]Запуск программы. Адрес можно не указывать, тогда используется адрес из ячейки 264
PЗапуск пользовательского ПЗУ (аналогично команде S140000)
FЗапуск ПЗУ с Фокалом / Бейсиком (аналогично команде S120000)
TЗапуск ПЗУ с тестами (аналогично команде S160000).

Выход из Бейсика в монитор по команде MO. Выход из Фокала в монитор по команде PASS MONITOR.

Карта памяти

АдресМодель БК0010Модель БК0010.01
000000o-000777o0000h-01FFhОЗУ. Вектора прерываний, системные переменые и стек.
001000o-037777o0200h-3FFFhОЗУ пользователя
040000o-077777o4000h-7FFFhОЗУ экрана
010000o-117777o8000h-9FFFhПЗУ. Монитор и драйверы
120000o-137777oA000h-BFFFhПЗУ ФокалПЗУ Бейсик
140000o-157777oC000h-DFFFh-ПЗУ Бейсик
160000o-177577oE000h-FEFFhПЗУ Тесты-
177600o-177777oFF00h-FFFFhСистемные регистры

Карта УВВ

АдресОписание
177660oFFB0hРегистр состояния клавиатуры.
  • бит 7=1 - С прошлого чтения этого бита была нажата клавиша. Только чтение. При чтении сбрасывается в 0.
  • бит 6=0 - Прерывание от клавиатуры разрешено.
177662oFFB2hРегистр данных клавиатуры.
  • биты 15-7 - всегда раны нулю 0. Только чтение.
  • быты 6-0 - код последней нажатой клавиши.
177664oFFB4hРегистр смещения
  • бит 9 - отключение отображения нижних 3/4 экрана.
  • биты 7-0 - смещение видеопамяти в строках (или 64 байтах).
177714oFFCChРегистр программируемого порта ввода-вывода.
  • биты 15-0 - Чтение из порта ввода, запись в порт вывода.
177716oFFCEhРегистр системного порта.

Чтение

  • биты 15-8 - Старший бит адреса пуска процессора, младший бит всегда равен 0.
  • бит 7=0 - Готовность ТЛГ-линии.
  • бит 6=0 - Нажата клавиша клавиатуры.
  • бит 5 - Чтение бита данных с магнитофона.
  • бит 4 - Чтение бита данных с ТЛГ-линии.
  • биты 3-0 - Режим работы процессора.

Запись

  • бит 7=0 - включить двигатель магнитофона.
  • бит 6 - запись на магнитофон и вывода звука.
  • бит 5 - запись на магнитофон или сигнал готовности ТЛГ-линии.
  • бит 4 - передача данных на ТЛГ-линию.

Стандартный набор программ ввода-вывода

адрес ЕМТ описание вход выход
Драйвер клавиатуры
100742o ЕМТ 4 инициализация драйвера клавиатуры
101010o ЕМТ 6 чтение кода символа с клавиатуры R0 - символ
101724o ЕМТ 10 чтение строки с клавиатуры R1 - адрес буфера строки
R2l - длина строки
R2h - символ-ограничитель
102004o ЕМТ 12 установка ключей клавиатуры R0 - номер ключа (1-10)
R1 - адрес текста ключа
Драйвер ТВ-монитора
100140o ЕМТ 14 инициализация драйвера ТВ-монитора
102234o ЕМТ 16 вывод символа и переключение режимов</tdr> R0l - код
107050o ЕМТ 20 вывод строки символов R1 - адрес строки символов
R2l - длина строки
R2h - символ-ограничитель
107106o ЕМТ 22 запись символа в служебную строку R0 - код символа (0-сброс строки)
R1 - номер позиции в служебной строке
107272o ЕМТ 24 установка положения курсора R1 - координата х
R2 - координата y
107502o ЕМТ 26 не используется
107612o ЕМТ 30 рисование точки R0 - цвет
R1 - координата х
R2 - координата y
107776o ЕМТ 32 рисование линии R0 - цвет
R1 - координата х
R2 - координата y
110310o ЕМТ 34 чтение слова состояния дисплея R0 - слово состояния дисплея
Драйвер магнитофона
116076o ЕМТ 36 передача управления драйверу магнитофона R1 - адрес блока параметров
Драйвер ТЛГ-канала
117462o ЕМТ 40 инициализация драйвера R0 - номер скорости обмена
117474o ЕМТ 42 передача байта на линию R0l - байт
117566o ЕМТ 44 прием байта с линии R0l - байт
117704o ЕМТ 46 передача блока данных на линию R1 - адрес
R2 - длина в байтах
117722o ЕМТ 50 приём блока данных с линии R1 - адрес
R2 - длина в байтах

Фото

Bk0010 photo1.jpg Bk0010 photo2.jpg Bk0010 photo3.jpg Bk0010 photo4.jpg Bk0010 photo5.jpg Bk0010 photo6.png

Ссылки

http://zx.pk.ru/forumdisplay.php?f=59 - Форум

http://archive.pdp-11.org.ru/ - Архив программ и документации для УК-НЦ / ДВК и БК0010(11)(11М)