БК-0010 — различия между версиями
Vinxru (обсуждение | вклад) |
Vinxru (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | |||
'''Группа:''' [[БК-0010]]-совместимый<br> | '''Группа:''' [[БК-0010]]-совместимый<br> | ||
'''Процессор:''' [[К1801ВМ1]] 16 бит 3 МГц<br> | '''Процессор:''' [[К1801ВМ1]] 16 бит 3 МГц<br> | ||
| Строка 96: | Строка 95: | ||
==Стандартный набор программ ввода-вывода== | ==Стандартный набор программ ввода-вывода== | ||
| + | |||
| + | <table border="1" style="border-collapse: collapse" cellpadding=2> | ||
| + | <tr> | ||
| + | <td><b>адрес</b></td> | ||
| + | <td><b>ЕМТ</b></td> | ||
| + | <td><b>описание</b></td> | ||
| + | <td><b>вход</b></td> | ||
| + | <td><b>выход</b></td> | ||
| + | </tr> | ||
| + | <tr><td colspan=5><b>Драйвер клавиатуры</b></td></tr> | ||
| + | <tr> | ||
| + | <td>100742o</td> | ||
| + | <td>ЕМТ 4</td> | ||
| + | <td>инициализация драйвера клавиатуры</td> | ||
| + | <td></td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>101010o</td> | ||
| + | <td>ЕМТ 6</td> | ||
| + | <td>чтение кода символа с клавиатуры</td> | ||
| + | <td></td> | ||
| + | <td>R0 - символ</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>101724o</td> | ||
| + | <td>ЕМТ 10</td> | ||
| + | <td>чтение строки с клавиатуры</td> | ||
| + | <td>R1 — адрес буфера строки<br>R2l — длина строки<br>R2h - символ-ограничитель</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>102004o</td> | ||
| + | <td>ЕМТ 12</td> | ||
| + | <td>установка ключей клавиатуры</td> | ||
| + | <td>R0 — номер ключа (1-10)<br>R1 — адрес текста ключа</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr><td colspan=5><b>Драйвер ТВ-монитора</b></td></tr> | ||
| + | <tr> | ||
| + | <td>100140o</td> | ||
| + | <td>ЕМТ 14</td> | ||
| + | <td>инициализация драйвера ТВ-монитора</td> | ||
| + | <td></td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>102234o</td> | ||
| + | <td>ЕМТ 16</td> | ||
| + | <td>вывод символа и переключение режимов</tdr> | ||
| + | <td>R0l — код</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>107050o</td> | ||
| + | <td>ЕМТ 20</td> | ||
| + | <td>вывод строки символов</td> | ||
| + | <td>R1 — адрес строки символов<br>R2l — длина строки<br>R2h - символ-ограничитель</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>107106o</td> | ||
| + | <td>ЕМТ 22</td> | ||
| + | <td>запись символа в служебную строку</td> | ||
| + | <td>R0 — код символа (0-сброс строки)<br>R1 — номер позиции в служебной строке </td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>107272o</td> | ||
| + | <td>ЕМТ 24</td> | ||
| + | <td>установка положения курсора</td> | ||
| + | <td>R1 — координата х<br>R2 — координата y</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>107502o</td> | ||
| + | <td>ЕМТ 26</td> | ||
| + | <td>не используется</td> | ||
| + | <td></td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>107612o</td> | ||
| + | <td>ЕМТ 30</td> | ||
| + | <td>рисование точки</td> | ||
| + | <td>R0 - цвет<br>R1 — координата х<br>R2 — координата y</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>107776o</td> | ||
| + | <td>ЕМТ 32</td> | ||
| + | <td>рисование линии</td> | ||
| + | <td>R0 - цвет<br>R1 — координата х<br>R2 — координата y</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>110310o</td> | ||
| + | <td>ЕМТ 34</td> | ||
| + | <td>чтение слова состояния дисплея</td> | ||
| + | <td></td> | ||
| + | <td>R0 — слово состояния дисплея</td> | ||
| + | </tr> | ||
| + | <tr><td colspan=5><b>Драйвер магнитофона</b></td></tr> | ||
| + | <tr> | ||
| + | <td>116076o</td> | ||
| + | <td>ЕМТ 36</td> | ||
| + | <td>передача управления драйверу магнитофона</td> | ||
| + | <td>R1 — адрес блока параметров</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr><td colspan=5><b>Драйвер ТЛГ-канала</b></td></tr> | ||
| + | <tr> | ||
| + | <td>117462o</td> | ||
| + | <td>ЕМТ 40</td> | ||
| + | <td>инициализация драйвера</td> | ||
| + | <td>R0 — номер скорости обмена</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>117474o</td> | ||
| + | <td>ЕМТ 42</td> | ||
| + | <td>передача байта на линию</td> | ||
| + | <td>R0l — байт</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>117566o</td> | ||
| + | <td>ЕМТ 44</td> | ||
| + | <td>прием байта с линии</td> | ||
| + | <td></td> | ||
| + | <td>R0l — байт</td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>117704o</td> | ||
| + | <td>ЕМТ 46</td> | ||
| + | <td>передача блока данных на линию</td> | ||
| + | <td>R1 — адрес<br>R2 — длина в байтах</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td>117722o</td> | ||
| + | <td>ЕМТ 50</td> | ||
| + | <td>приём блока данных с линии</td> | ||
| + | <td>R1 — адрес<br>R2 — длина в байтах</td> | ||
| + | <td></td> | ||
| + | </tr> | ||
| + | </table> | ||
==Ссылки== | ==Ссылки== | ||
Версия 10:16, 24 апреля 2012
Группа: БК-0010-совместимый
Процессор: К1801ВМ1 16 бит 3 МГц
ОЗУ: 32 Кб
ПЗУ: ПЗУ 24 Кб (программа Монитор, плюс в БК0010 Фокал и тесты, а в БК0010.01 Бейсик)
Разъемы: Системная шина, параллельный порт (16+16 бит), магнитофон, НЧ видео 256x256, НЧ видео 512x256, блок питания
Видео: Контроллер К1801ВП1-037. 256x256 4 цвета (красный, синий, зеленый, черный). 512x256 2 цвета.
Звук: бипер
Внешние устройства в комплекте: МСТД с компьютером БК0010.01
Разработан: 1983 год
Содержание
О компьютере
Видеорежимы
Компьютер поддерживает четыре видео режима:
- 512x256 2 цвета.
- 512x64 2 цвета.
- 256x256 4 цвета.
- 256x64 4 цвета.
В режимах 64 пикселя по вертикали, графика/текст отображается в верхней четверти экрана. Нижние 75% экрана всегда черные. Этот видеорежим использует всего 4 Кбайт памяти, то есть для пользователя остается 28 Кб ОЗУ. (Видео режим высотой 256 пикселей использует 16 Кб памяти и пользователю остается только 16 Кб)
В 4-х цветных режимах используются цвета: черный, красный, синий, зеленый. Программной возможности изменить эти цвета нет.
Видео контроллер формировал сразу два видео сигнала 512x256/64 и 256x256/64. И каждый видео сигнал был подключен к собственному разъему на задней стенке компьютера. Пользователь должен был перетыкать вручную провод от монитора при использовании различных программ.
Пример изображения, если монитор подключен к выходу ЦТВ, когда требуется ТВ:
Если же подключить монитор к выходу ТВ, когда требуется ЦТВ, то синий и зеленый цвета будут отображаться в виде штриховки, одинаково для пользователя.
Переключить видеорежим (512x256/64 и 256x256/64) в Бейсике можно комбинацией клавиш АР2 ; (в эмуляторе CTRL ;)
Что бы подключить компьютер к телевизору через разъем SCART, на 16 вывод SCART требуется подать напряжение 5 Вольт (это включит режим RGB). Это напряжение можно взять с разъема ТВ.
Команды монитора
| M[адрес] | Загрузка программы с магнитофона. Адрес можно не указывать. После загрузки в ячейке 264 содержится адрес загрузки, а ячейке 266 длина. |
| L[адрес] | Загрузка программы с линии. Адрес можно не указывать. После загрузки в ячейке 264 содержится адрес загрузки, а ячейке 266 длина. |
| S[адрес] | Запуск программы. Адрес можно не указывать, тогда используется адрес из ячейки 264 |
| P | Запуск пользовательского ПЗУ (аналогично команде S140000) |
| F | Запуск ПЗУ с Фокалом / Бейсиком (аналогично команде S120000) |
| T | Запуск ПЗУ с тестами (аналогично команде S160000). |
Выход из Бейсика в монитор по команде MO. Выход из Фокала в монитор по команде PASS MONITOR.
Карта памяти
| Адрес | Модель БК0010 | Модель БК0010.01 | |
| 000000o-000777o | 0000h-01FFh | ОЗУ. Вектора прерываний, системные переменые и стек. | |
| 001000o-037777o | 0200h-3FFFh | ОЗУ пользователя | |
| 040000o-077777o | 4000h-7FFFh | ОЗУ экрана | |
| 010000o-117777o | 8000h-9FFFh | ПЗУ. Монитор и драйверы | |
| 120000o-137777o | A000h-BFFFh | ПЗУ Фокал | ПЗУ Бейсик |
| 140000o-157777o | C000h-DFFFh | - | ПЗУ Бейсик |
| 160000o-177577o | E000h-FEFFh | ПЗУ Тесты | - |
| 177600o-177777o | FF00h-FFFFh | Системные регистры | |
Карта УВВ
| Адрес | Описание | |
| 177660o | FFB0h | Регистр состояния клавиатуры.
|
| 177662o | FFB2h | Регистр данных клавиатуры.
|
| 177664o | FFB4h | Регистр смещения
|
| 177714o | FFCCh | Регистр программируемого порта ввода-вывода.
|
| 177716o | FFCEh | Регистр системного порта.
Чтение
Запись
|
Стандартный набор программ ввода-вывода
| адрес | ЕМТ | описание | вход | выход |
| Драйвер клавиатуры | ||||
| 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 — длина в байтах |
|
