Руководство Пользователя
версия 3.0
Эмулятор БК 0010(01) для Windows 98/ME/2000/XP версия 3.0
Данный эмулятор работает под управлением любой 32-х битной операционной системы типа Windows и эмулирует компьютер «БК 0010(01)» в различных конфигурациях. В состав эмулятора входят две утилиты «BK Disk Explorer» - утилита для работы с образами дисков БК и «BK Memory Viewer» - утилита для визуального просмотра и получения слепков экрана и памяти БК.
После успешной инсталляции, создаются следующие служебные папки:
Bin\ – программы БК в формате BIN
Img\ – образы дисков БК
Memory\ – записанные состояния памяти
Rom\ – прошивки ПЗУ
Scripts\ – скрипты эмулятора
Tools\ – служебные утилиты
UserSaves\ – файлы сохраненные пользователем
Системные требования:
Самая минимальная тестируемая конфигурация: Pentium 200Mhz/32M Ram/2M SVGA.
Минимальный требования: Pentium II 350Mhz/64M Ram/4M SVGA/1M HDD.
Рекомендуемые требования: Pentium III 800Mhz/64M Ram/8M SVGA/1M HDD.
Обязательно наличие установленной библиотеки DirectX 7.0 или более поздней версии, для эмуляции экрана и динамика БК.
Характеристики:
Данная программа является программным эмулятором отечественного бытового компьютера БК 0010(01). Поддерживаются конфигурации:
БК 0010(01) + стандартный БЕЙСИК «Вильнюс 1986»
БК 0010(01) + блок МСТД (Фокал и подпрограммы тестов)
БК 0010(01) + блок дополнительной памяти 32Кб
БК 0010(01) + блок КНГМД с дополнительной памятью 16Кб
Данный эмулятор корректно эмулирует все команды процессора БК, включая недокументированные команды: NOP, команды останова, установки и сброса битов состояния процессора, команду MARK. При эмуляции команд учитываются реальное время их выполнения и оно в точности соответствует времени выполнения на реальной БК. В секунду выполняется примерно 250 тыс. команд (точное значение зависит он самих команд и методов адресации). Также корректно эмулируются системные регистры:
177660 – регистр состояния клавиатуры полностью
177662 – регистр кода клавиатуры полностью
177664 – регистр рулонного сдвига полностью
177706, 177710, 177712 – регистры таймера полностью
177714 – сам регистр эмулируется, но вывод регистра на внешние порты в/в PC в настоящий момент еще не реализован.
177716 – полностью
177130 – регистр управления НГМД частично
177132 – регистр данных НГМД частично
Эмулируется звук динамика БК через звуковую плату (при отсутствии звуковой платы, реализуется ее эмуляция, т.к. в данный момент с ней синхронизуются все узлы эмулятора. В будущих версиях данная проблема будет устранена).
Реальное поведение клавиатуры БК, имеется возможность подключения джойстика со стандартной распайкой через регистр параллельного порта.
Поддерживается два режима дисплея БК – черно-белый и цветной, причем черно-белый режим существует в двух вариантах нормальном, и адаптированном. Адаптированный вариант дает более реальное изображение (более схожее с черно-белым режимом БК) в полноэкранном режиме. В оконном режиме оба варианта идентичны. Эмулируется рулонный сдвиг и режим расширенной памяти.
Имеется мощный встроенный отладчик с возможностью установки точек останова по условию и пошагового выполнения программы (данный отладчик использовался автором в процессе создания этого эмулятора).
Корректно срабатывает обращение по нечетным адресам, а также обрабатывается запись в ПЗУ.
Эмулятор поддерживает распечатку экрана БК на принтере в двух режимах обычном и инверсном (для экономии тонера), а также распечатку ассемблерного кода их ОЗУ в заданном диапазоне адресов.
Поддерживается возможность сохранения текущего состояния БК, а также сохранения файлов БК на жестком диске в широко распространенном бинарном формате «.bin», или в оригинальных звуковых форматах «.wav» (фактически является копией звуковых данных и по этой причине файл в данном формате занимает много места, примерно 44100байт умноженных на кол-во секунд) и «.tap» (специально изобретенный для данного эмулятора формат, файлы в данном формате примерно в 60 раз меньше чем аналогичные в «.wav»).
Реализована возможность чтения данных с кассет БК. Теперь вывод из звуковых файлов дублируется на бит 40 регистра 177716. Имеется встроенный менеджер кассет БК с возможностью конвертации одного формата в другой, а также захватом с выхода звуковой платы.
Эмулируется работа с НГМД. Поддерживается формат слепка дика БК. Расширения «.img» и «.bkd». В настоящий момент поддерживается до 4х дисков одновременно. Имеется встроенный менеджер дисков БК.
Встроенный отладчик позволяет отлаживать запущенные программы, просматривать текущие значения в памяти и регистрах, а также устанавливать точки останова.
Рис. 1 Общий вид эмулятора.
Основное окно – это окно представляет экран БК. В любой момент клик мышки на этом окне приводит к перемещению ввода клавиатуры с PC на БК. Вывод в данное окно производится с помощью DirectDraw и в большинстве случаев производится аппаратно, но не всегда. Алгоритм интерполяции при уменьшении окна, зависит он конкретной видеокарты. По этой причине качественное изображение не всегда гарантируется.
Главное меню – основное меню программы, состоящее из следующих пунктов:
File – операции загрузки и сохранения данных эмулятора.
CPU – управление режимами процессора и конфигурациями БК.
Options – различные опции эмулятора.
Debug – встроенные отладчик.
View – управление окнами эмулятора.
Tools – вызов вспомогательных утилит.
Help – информация об эмуляторе.
Панель быстрых команд – некоторые часто используемые команды выведены на данную панель. Данные команды дублируют соответствующие пункты меню. Также любой пункт меню можно вызвать горячей клавишей, указанной после его названия или нажатием Alt + П одчеркнутая буква в названии меню.
Панель состояния – на данной панели показываются текущие внутренние параметры эмулятора:
МClock – внутренний таймер. Работает только если в данный момент работает процессор БК.
CPU Speed – множитель скорости БК. Например: 1.0 – нормальная. 2.0 – в два раза быстрей. 0.5 – в два раза медленней.
FPS – текущее количество кадров в секунду. Это плавающий параметр, но среднее его значение должно соответствовать ключу «CPU sets per second» в файле «bk.ini». Если долго отличается он заданного, то существует два объяснения. Первое: если оно больше – то это значит, что ваша звуковая карта плохо совместима с DirectSound или у вас открыто еще одно приложение использующее данную библиотеку. Второе: если оно меньше – это значит, что ваш компьютер не справляется. Для повышения производительности рекомендуется перейти в режим меньшей битности экрана (если вы работаете в экранном режиме), либо перейти в полноэкранный режим (в этом случае будет установлен режим 1024х768 8бит 100Hz).