ЭМУЛЯТОР БК0010/БК0011M (C) С.Е.Камнев, 1996, Москва v1.21b ============================================================================= ОПИСАНИЕ Эмулятор БК0010 и БК0011M предназначен для программной имитации популяр- ных и широко распространенных некогда компьютеров отечественного производ- ства серии "БК". От своих многочисленных аналогов новый эмулятор отличается значительно более высоким качеством эмуляции (насколько известно автору в эмуляторе рабо- тают не менее 99% бк-шных программ), высоким быстродействием (на машинах ти- па 386SX33 достигается реальное быстродействие БК0010), корректной работой с экраном, как в монохромном, так и в цветном режимах, при этом многие опера- ции работы с экраном, реализованные на БК аппаратно (например, вертикальный скроллинг) на PC также реализуются аппаратно, что еще более увеличивает эф- фективность работы БК-шных программ. Имеются встроенный отладчик-трассиров- щик, который позволяет также оперативно изменять некоторые параметры эмулято- ра: быстродействие, клавиатурную задержку, динамику мыши, экранные палитры и т.д. Поддерживаются некоторые периферийные устройства: принтер, мышь (в дальнейшем планируется поддержка музыкального сопроцессора, джойстика и пос- ледовательного порта). Поддерживается нормальная работа с бк-шными дисками (желательно наличие в системе PU_1700 или аналогичного драйвера). Реализова- на работа с имиждами БК-шных дисков на винчестере и многое, многое другое. При этом эмулятор не выдвигает никаких особых требований к аппаратуре - минимальные требования: Процессор 80286 Видеосистема EGA с 256 Кб видеопамяти (используется модификация стандартного режима 640х350 16 цветов). Память 350 Кб. Для нормальной работы эмулятора необходимо сделать подкаталог, в котором он находится, текущим и запустить файл "bk.exe", при этом в подкаталоге дол- жны находиться также файлы мониторов БК0010/11М "bk0010.bkm" и "bk0011m.bkm", драйвер дисковода БК "326.bkr" (эмулятором не используется, но необходим для нормальной работы некоторых бк-шных программ), файл начальной инициализации "bk.ini" (см. ниже описание опций), а также имиджи бк-шных дисков, с которы- ми предполагается работать "*.bkd". В комплект эмулятора входит утилита "bkdisk.com", которая создает имижди дисков заданного объема и даже инициали- зирует их под ANDOS (находясь в эмуляторе можно, естественно, переинициализи- ровать любой имидж под другую бк-шную операционную систему). После запуска эмулятора происходит инициализация монитора БК, а затем по- пытка загрузки какой-нибудь бк-шной операционной системы с имиджа "C", если не получилось - то с приводов (или имиджей) "A" и "B". Все найденые в рабо- чем подкаталоге имиджи становятся доступны, как дисковые устройства. При вызове эмулятора ему можно задать в качестве параметра имя некоторо- го файла MS DOS. В этом случае после инициализации монитора произойдет заг- рузка этого файла и запуск его, как бк-шного. Время создания файла интерпре- тируется по правилам ANDOS: как адрес загрузки и запуска (если адрес загрузки < 1000, то адрес запуска = 1000). Например для запуска прилагаемой программы ANFOCAL8 следуе набрать команду "bk /0 anfocal8". Можно настроить вашу люби- мую оболочку, что-бы, скажем, при отсутствии у файла расширения он запускался с эмулятором (что-то вроде "bk /0 !"). При любых обращениях к стандартному драйверу магнитофона (для монитора БК0010 - адрес 116076) происходит обращение (по чтению, либо по записи) к файлам MS DOS. Например, для ANDOS команда "@:d:\bkutil\rs" приведет к заг- рузке бк-шного отладчика RS, который находится на разделе "D" в подкаталоге "BKUTIL". Время создания файла интерпретируется по правилам ANDOS: как адрес загрузки и запуска. РАСПОЛОЖЕНИЕ УПРАВЛЯЮЩИХ КЛАВИШ: ┌───────────────────────────┬──────────────────────────┐ │ Клавиша на клавиатуре IBM │ Аналогичная клавиша БК │ ├───────────────────────────┼──────────────────────────┤ │ F1 │ ПОВТ │ │ F2 │ КТ │ │ F3 │ ╪═> │ │ F4 │ K══ │ │ F5 │ ╞═> │ │ F6 │ ИНД СУ │ │ F7 │ БЛОК РЕД │ │ F8 │ ШАГ │ │ F9 │ СБР │ │ Esc │ СТОП │ │ Ctrl │ СУ │ │ Alt │ АР2 │ └───────────────────────────┴──────────────────────────┘ При однократном нажатии: Левый Ctrl - РУС Правый Ctrl - ЛАТ ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ ЭМУЛЯТОРА: F10 - выход из эмулятора в ДОС F11 - перезапуск БК с адреса 140000 (для БК0010 - 100000) Ctrl+F11 - перезапуск БК с адреса 100000 (только для БК0011М) F12 - включение встроенного отладчика Scroll Lock - переключение монохромного/цветного изображения Shift+F2 - включение/выключение звука Shift+F3 - включение/выключение замедления Shift+F6 - включение/выключение поддержки автоповтора клавиатуры PC Shift+F7 - включение/выключение замедления клавиатуры Shift+F8 - переключение латинской раскладки клавиатуры "QWERTY" (принято на PC) / "JCUKEN" (принято на БК) Ctrl+Fn - (Fn - клавиша от F1 до F9) сохранение текущего состояния БК в файле nBK0010.SAV Alt+Ctrl+Fn - восстановление состояния БК из файла nBK0010.SAV ОПЦИИ ЭМУЛЯТОРА: /0 - режим эмуляции БК0010 (по умолчанию - БК0011М) /S - включить звук /Pn - установить замедление на "n" единиц /A - поддержка автоповтора клавиатуры PC /Kn - автоматическое включение на 0.2 сек замедления при нажатии клавиши для обеспечения нормального автоповтора БК /R - раскладка клавиатуры "JCUKEN" (по умолчанию "QWERTY") /Mn - скорость мыши (0 - максимальная), рекомендуется от 0 до 3 /C - включить цветное изображение (по умолчанию - монохромное) /W - режим стандартного "медленного" таймера (в некоторых случаях необходимо под windows-ом, под win95 уже не актуально) /V1 - видеорежим 1: стандартное число точек по вертикали не изменяется, изображение находится в середине экрана. Используется в случае, если ваша видео-карта не поддерживает использованный в эмуляторе режим. /V0 - видеорежим 0: стандартное число точек по вертикали не изменяется, изображение находится в верхней части экрана. Если не помогает V1. Все опции эмулятора могут быть записаны в виде обычной текстовой строки в файл начальной инициализации BK.INI. Если задается имя заргужаемого файла, то оно должно быть написано после всех опций. Эмулятор имеет встроенный отладчик, выход в который происходит по нажа- тию клавиши F12. В правой части экрана появляется таблица состояния "процес- сора" БК, в т.ч.: содержимое регистров 0-5, регистра стека 'S', счетчика ко- манд 'P' (текущий адрес), содержимое ячейки памяти по текущему адресу '*', содержимое следующей ячейки '#' или рассчитанного для текущего адреса относи- тельного адреса '@'; а также состояние флагов процессора. В строке под табли- цей можно вводить восьмеричные числа, завершая их ввод некоторыми командами: КОМАНДЫ ОТЛАДЧИКА:  ^#& - перемещение вперед на одно слово   - перемещение назад на одно слово n[Enter] - ввод кода "n" по текущему адресу и инкремент адреса на 2 n[G] - запуск программы с адреса "n" или, (при n=0) с текущего адреса n[Home] - переход на адрес "n" или, (при n=0) на базовый адрес n[End] - запуск программы с базового адреса в режиме поиска адреса, как только будет достигнут адрес "n", произойдет переход в отладчик n[Esc] - запуск программы с базового адреса (можно использовать, как выход из отладчика), если "n" не равно "0", то будет осуществляться поиск соответствующего кода, как только он будет обнаружен в процессе выполнения программы, произойдет переход в отладчик [Tab] - переключение индикации: непосредственный операнд/относительный адрес n[P] - установка задержки в "n" единиц n[K] - установка задержки клавиатуры в "n" единиц n[M] - установка скорости мыши nAlt+[R] - установка красного цвета в коде "кзсКЗС" nAlt+[G] - установка зеленого цвета nAlt+[B] - установка синего цвета nAlt+[W] - установка белого цвета (для монохромного режима) nAlt+[N] - установка черного цвета (фона) С вопросами и замечаниями обращайтесь по телефону: 387-00-62, Сергей Камнев