Меню «File»
Load State – загрузить, ране сохраненное, состояние БК с диска. Файлы состояния БК имеют расширение «.mfs», и по умолчанию хранятся в директории «Memory». Путь к данной директории можно изменить в файле настроек «bk.ini», поменяв строку с именем ключа «Memory directory». Эмулятор считывает конфигурацию, имидж памяти БК и состояние всех регистров. После загрузки выполнение программы тут же начинается с записанного места, причем именно в нужной конфигурации (т.е если состояния было сохранено как БК 0010(01) + Бейсик, а текущая конфигурация БК 0010(01) + МСТД, то будет включена конфигурация с Бейсиком). В диалоге выбора файла состояния имеется окно «Preview», в котором показывается уменьшенная копия экрана БК на момент сохранения.
Save State - сохранить текущее состояние БК на диск. Файлы состояния БК имеют расширение «.mfs», и по умолчанию хранятся в директории «Memory». Путь к данной директории можно изменить в файле настроек «bk.ini», поменяв строку с именем ключа «Memory directory». Эмулятор сохраняет конфигурацию, записывает имидж памяти БК и состояние всех регистров. После записи выполнение программы продолжается дальше.
Load Tape - загрузить содержимое кассеты и запустить на воспроизведение. Файлы кассет БК могут храниться в двух форматах: Microsoft PCM Wave 44100 8бит Моно «.wav» или собственном формате Tape «.tap». При выделении файла показывается имя записи, адрес загрузки и длина записанного файла. По умолчанию. файлы кассет лежат в каталоге «Tapes». Путь к данной директории можно изменить в файле настроек «bk.ini», поменяв строку с именем ключа «Tapes directory». После нажатия кнопки «Открыть» файл загружается и воспроизводится через звуковую плату. Загрузка таких файлов выполняется точно также как на реальной БК.
Print – распечатка экрана БК или Ассемблерного кода из ОЗУ на принтере. Появляется модифицированный диалог настройки принтера, с возможностью выбора принтера и изменения его стандартных настроек. Также предоставляется возможность выбора двух функций:
«Print screen» - распечатка экрана БК в двух режимах. Если в поле «Inverse» не стоит галочка, то распечатка экрана будет производиться в обычном режиме, т.е. черный экран и на бумаге будет распечатан черным, а буквы белым или серым цветами, что приводит к неэкономному расходу тонера. Если же в поле «Inverse» стоит галочка, то экран БК будет распечатан в инвертированном режиме, экран белым (т.е. никаким), а буквы черным цветами. Соответственно тонера израсходуется намного меньше. Рекомендуется ставить эту опцию при распечатке большого количества листов для экономии тонера, и не ставить если необходимо получить более похожую на реальный экран БК картинку.
«Print code» - распечатка ассемблерного текста из ОЗУ БК. В поле «From address» нужно ввести начальный адрес программы в ОЗУ БК, а в поле «то» конечный адрес. При этом в окне «Pages» показывается точное (не примерное) рассчитанное количество листов бумаги необходимое для распечатки всего листинга программы, что очень полезно для оценки расхода бумаги для распечатки большого кода.
Для обеих возможностей распечатки «Print screen» и «Print code», если необходимо, можно указать название программы или любую другую полезную информацию, которая будет распечатана в левом верхнем углу каждого листа. Также на каждом листе будет распечатан его номер и общее количество страниц программы.
Exit – выход из эмулятора. По данной команде осуществляется выход их эмулятора также, как по команде Alt + F4.
Меню «CPU»
Reset CPU – перезагрузка БК. При выборе данного пункта меню перезапускается текущая конфигурация эмулятора, при этом осуществляется так называемый «мягкий» перезапуск, т.е. не происходит полной потери данных в памяти БК и ее регистрах. Выполнение программ начинается с адреса зашитого в старших битах регистра 177716. На реальной БК это значение равно 100000. При необходимости его можно поменять в файле конфигурации «bk.ini», изменив значение ключа «CPU start address». По умолчанию, значение равно 0. После перезагрузки восстанавливаются конфигурация, а также все точки останова.
Run BK 0010(01) – запуск обычной конфигурации БК 0010(01) с БЕЙСИКом «Вильнюс 1986». Данная версия БЕЙСИКа была хорошо документирована и на 80% совпадает по синтаксису с GW Basic на PC. Карта памяти:
Адреса | Описание | Объем Кб. |
000000 – 000377 | прерывания и системные данные | 0.5 |
000400 – 037777 | ОЗУ пользовательской программы | 15.5 |
040000 – 077777 | ОЗУ экрана | 16.0 |
100000 – 177777 | Монитор | 8.0 |
120000 – 137777 | 1-е ПЗУ БЕЙСИКа | 8.0 |
140000 – 157777 | 2-е ПЗУ БЕЙСИКа | 8.0 |
160000 – 177377 | 3-е ПЗУ БЕЙСИКа | 7.5 |
177400 – 177777 | область системных регистров | 0.5 |
Run BK 0010(01) with Focal – запуск конфигурации БК 0010(01) с блоком МСТД – ПЗУ с интерпретатором Фокала и тестами. Карта памяти:
Адреса | Описание | Объем Кб. |
000000 – 000377 | прерывания и системные данные | 0.5 |
000400 – 037777 | ОЗУ пользовательской программы | 15.5 |
040000 – 077777 | ОЗУ экрана | 16.0 |
100000 – 177777 | Монитор | 8.0 |
120000 – 137777 | ПЗУ Фокала | 8.0 |
140000 – 157777 | Не используется | 8.0 |
160000 – 177377 | ПЗУ тестов | 7.5 |
177400 – 177777 | область системных регистров | 0.5 |
Run BK 0010(01) extended 32K – запуск конфигурации БК 0010(01) с дополнительным блоком ОЗУ 32Кб. Данный блок ОЗУ расширял стандартные 16Кб ОЗУ, дополнительными 32Кб., причем общий объем ОЗУ становился равным 48Кб. Блок проецировался на адреса памяти 120000 – 140000. Карта памяти:
Адреса | Описание | Объем Кб. |
000000 – 000377 | прерывания и системные данные | 0.5 |
000400 – 037777 | ОЗУ пользовательской программы | 15.5 |
040000 – 077777 | ОЗУ экрана | 16.0 |
100000 – 177777 | Монитор | 8.0 |
120000 – 137777 | Одна из 8кб страниц блоку ДОЗУ 32К | 8.0 |
140000 – 157777 | Не используется | 8.0 |
160000 – 177377 | Не используется | 7.5 |
177400 – 177777 | область системных регистров | 0.5 |
Run BK 0010(01) with FDD + extended 16K – запуск БК 0010(01) с контроллером НГМД и блоком ДОЗУ 16К. В этой конфигурации эмулируется БК с подключенными к ней дисководами. В настоящее время максимальное число приводов может достигать 4-х. Их имена «A:», «B:», «C:» и «D:». Соответствующие имена образов дисков можно указать в файле «bk.ini». Имена ключей: «Drive A:», «Drive B:», «Drive C:» и «Drive D:». Обычно образ диска имеет расширение «.img» или «.bkd», но может иметь и другое расширение. Естественно, что для загрузки операционной системы диск должен быть загрузочным. Все изменения Правила запуска файлов и работы с ними читайте в руководство к конкретной операционной системе. Карта памяти:
Адреса | Описание | Объем Кб. |
000000 – 000377 | прерывания и системные данные | 0.5 |
000400 – 037777 | ОЗУ пользовательской программы | 15.5 |
040000 – 077777 | ОЗУ экрана | 16.0 |
100000 – 177777 | Монитор | 8.0 |
120000 – 137777 | 1-я страница расширенного ОЗУ НГМД | 8.0 |
140000 – 157777 | 2-я страница расширенного ОЗУ НГМД | 8.0 |
160000 – 177377 | ПЗУ контроллера НГМД | 7.5 |
177000 – 177777 | область системных регистров | 0.5 |
Accelerate – увеличить скорость трансляции команд в два раза. По умолчанию, среднее количество команд обрабатываемых процессором, составляет 250 000 в секунду, что соответствует реальной скорости БК. При необходимости можно поменять ключ «CPU speed» в файле «bk.ini» и поменять множитель.
Примечание: скорость воспроизведения файлов с ленты БК остается строго постоянной. По этой причине сильное изменение скорости процессора может привести к ошибкам чтения.
Slow Down – уменьшить скорость трансляции команд в два раза. По умолчанию, среднее количество команд обрабатываемых процессором, составляет 250 000 в секунду, что соответствует реальной скорости БК. При необходимости можно поменять ключ «CPU speed» в файле «bk.ini» и поменять множитель.
Примечание: скорость воспроизведения файлов с ленты БК остается строго постоянной. По этой причине сильное изменение скорости процессора может привести к ошибкам чтения.
Normal Speed – установить нормальную скорость. По умолчанию, среднее количество команд обрабатываемых процессором, составляет 250 000 в секунду, что соответствует реальной скорости БК. При необходимости можно поменять ключ «CPU speed» в файле «bk.ini» и поменять множитель.
Меню «Options»
Enable Sound – данная опция включает эмуляцию динамика реальной БК через звуковую плату. По умолчанию обновление звуковых буферов осуществляется 50 раз в секунду. При этом звук довольно хорошо синхронизирован с изображением на экране, т.е., например, между каким-то событием в игре и звуком задержка порядка 20мс, что естественно не улавливается на слух. При этом, на медленных компьютерах (зависит не только от компьютера, но и от звуковой платы) могут быть слышны трески и хрипы. Для данных машин рекомендуется уменьшить количество обновлений звуковых буферов путем изменения ключа «CPU sets per second» на меньшее число. Например, с 50 по умолчанию, на 20 или 25, что приведет к более плавному воспроизведению звука. Также стоит иметь ввиду, что в связи с жесткой синхронизацией всех узлов эмулятора со звуковой картой (данная проблема будет устранена в следующих версиях) данный ключ меняет и количество кадров, воспроизводимых эмулятором за секунду. По умолчанию количество кадров в секунду рано 50, как и параметр «CPU sets per second».
Например: что бы изменить количество кадров в секунду на 25 а соответственно и количество воспроизводимых звуковых буферов нудно задать параметр «CPU sets per second» равным 25. Для уменьшения треска необходимо понижать данный параметр пока он полностью прекратится.
Emulate BK Keyboard – опция задает будет ли эмулироваться реальное поведение клавиатуры БК. Если данная опция включена, то клавиатура PC начинает работать также как и реальная клавиатура БК, т.е. при нажатии любой клавиши в мониторе автоповтора не происходит, а обработка кода новой клавиши не производится, пока не отпущена старая. При выключенной опции автоповтор работает стандартным образом, а клавиатура ведет себе также как в Windows.
Enable Joystick – опция включает эмуляцию джойстика. Включение данной опции рекомендуется в играх поддерживающих джойстик. При этом в играх становится возможной обработка нажатия нескольких одновременно, что делает управление более плавным. Клавиши эмулирующие джойстик эмулируется на дополнительной клавиатуре:
NumPad 6 – вправо
NumPad 4 – влево
NumPad 5 – вниз
NumPad 8 – вверх
NumPad 7 – кнопка 1
NumPad 1 – кнопка 2
NumPad 9 – кнопка 3
NumPad 3 – кнопка 4
Use Saves directory as default – использовать директорию UserSaves как директорию для чтения файлов по умолчанию. По умолчанию, если данная опция не установлена, чтение файлов происходит из текущей директории, если программа запущена из командой строки (указана в строке параметров, или просто запущена двойным щелчком) или из директории Bin, если эмулятор запущен без параметров. Сохранение фалов, по умолчанию, производится в каталог UserSaves. Данный путь содержится в файле «bk.ini», ключ «User Saves directory». В том случае, если вы постоянно сохраняете и загружаете файлы, установка данной опции изменит папку по умолчанию на UserSaves.
Emulate Tape Loading – данный пункт включает или выключает загрузку данных с кассет БК. Если данная опция включена, то при обращении к EMT 36 (операции ввода/вывода) выводится диалог, и предлагается загрузка данных из «.bin» файла, а бит 40 регистра 177716 не эмулируется. Если опция отключена, то чтение происходит как на реальной БК. Опцию можно поменять изменив ключ «Emulate load tape operations» в файле «bk.ini».
Emulate Tape Saving – данный пункт включает или выключает запись данных св формате кассет БК. Если данная опция включена, то при обращении к EMT 36 (операции ввода/вывода) выводится диалог, и предлагается запись данных в формате «.bin» файла, а бит 100 регистра 177716 не эмулируется. Если опция отключена, то запись происходит как на реальной БК. Опцию можно поменять изменив ключ «Emulate save tape operations» в файле «bk.ini».
Tape Manager – вызвать менеджер кассет БК. Данный диалог позволяет переносить информацию с лент реальной БК на PC и конвертировать из одного формата в другой. Для начала переноса файлов, требуется только подключить выход магнитофона к вашей звуковой плате и нажать кнопку «Пуск» (возможно понадобиться переключить ваш магнитофон в режим MONO и поставить галочку под ползунком микрофона на панели микширования звука в Windows). Если со звуковой карты есть сигнал, то на мониторе «Monitor» вы увидите черные полоски.
В окне «Information» вы можете видеть информацию о текущем файле, его имя, адрес и длину, а также другую сопутствующую информацию. Имена «захваченных» файлов появляются в списке в порядке их следования на ленте. После захвата файла считается его контрольная сумма и выдается информация в колонке CRC. С помощью кнопки «Browse» вы может выбрать дирекорию, в которую вы запишите «захваченные» фалы.
После выделения файлов в списке, активизируется пункт «Save As…», где вы можете выбрать формат сохранения. Закрытие диалоге приводит к потере информации о всех не сохраненных файлах. См. рис. 2.
Рис. 2 Менеджер кассет БК.
Disk Image Manager – показать диалог настройки образов дисков. С помощью данного диалога можно изменить соответствие образов дисков и логических приводов в БК. Каждый образ представляется в таблице где отображаются соответствующий ему логический диск, его имя, его формат, а также системный он или нет. Возможна сортировка по любому из этих полей. Изменить букву диска можно простым вывозом контекстного меню, по нажатию правой клавиши мыши. В файле «bk.ini» каждому логическому диску соответствуют ключи из секции [Drives]. См. рис 3.
Рис. 3 Окно менеджера дисков.
Show Perfomance on Status Bar – включает информацию о текущем количестве кадров выводимых в секунду, и текущей скорости выполнения команд процессором БК.
Меню «Debug»
Данный пункт меню подробно описан в отдельном руководстве по Отладчику. В Отладчике предоставляются следующие возможности:
- Остановка выполнения программы на текущей команде
- Продолжение выполнения программы с текущего места
- Трассировка программы по шагам
- Трассировка программы до заданного места
- Установка точек останова с условиями (например, когда по заданному адресу изменилось значение, или когда значение в регистре больше чем заданное).
Данные возможности предназначены для специфических задач и не представляют интереса для обычных пользователей. Поэтому описание меню «Debug» не представлено в данном руководстве.
Меню «View»
Toolbar – показывать панель быстрых команд.
Status Bar – показывать строку статуса в нижней части окна. На ней обычно отображается различная служебная информация, например, текущее количество кадров в секунду.
Debug Window – показывать или не показывать окно Debugера. В данном окне можно увидеть то, какая команда выполняется в данный момент и ее операнды, или код программы по заданному адресу. Подробнее см. руководство по Debugеру. По умолчанию, значение данного пункта меню можно установить изменив ключ «Show memory dump» «в файле «bk.ini».
Registers and Memory Dump – показывать или не показывать окно состояния регистров процессора, системных регистров и памяти. В первой строке отображаются значения регистров общего назначения R0, R1, R2, R3, R4, R5, SP (указатель стека), PC (указатель текущей команды) и PS (биты слова состояния процессора). Во второй системные регистры БК 177660 – 177130. Далее идет дамп памяти. В данном окне можно увидеть значение заданной ячейки памяти и соответствующее им коды ASCII, а также изменить данные значения. Подробнее см. руководство по Debugеру. По умолчанию, значение данного пункта меню можно установить, изменив ключ «Show registers and memory dump» в файле «bk.ini».
Color Mode – переключает цветной и черно-белый режим экрана. В полноэкранном режиме, возможно два варианта:
черно-белый – нормальный
черно-белый – адаптированный
Адаптированный режим не полностью соответствует реальному черно-белому режиму БК, но визуально выглядит более похоже. Какой именно режим будет применяться, определяет ключ «Adapt black & white mode» в файле «bk.ini».
Fullscreen mode – перевести эмулятор в полноэкранный режим работы. При этом устанавливается разрешение 1024х768х8bit с частотой вертикальной развертки 100. По умолчанию количество кадров в секунду рано 50. За это отвечает ключ «CPU sets per second» в файле «bk.ini».
Также необходимо иметь ввиду, что данный параметр влияет на плавность звука. Обновление звуковых буферов, на данный момент жестко синхронизировано с выводом кадров. При большом значении FPS возможно, что будут слышны трески или хрипы при эмуляции звука. В таком случае количество кадров в секунду необходимо понизить, увеличив значение ключа «CPU sets per second» в файле «bk.ini».
Adaptive B/W mode – меняет черно-белый режим с адаптивного на точный и обратно. Адаптированный режим не полностью соответствует реальному черно-белому режиму БК, но визуально выглядит более похоже. Какой именно режим будет применяться, определяет ключ «Adapt black & white mode» в файле «bk.ini».
Preserve current mode – используется в полноэкранном режиме. Почти никогда установка данной галочки не требуется. Работает следующим образом: не дает эмулятору устанавливать собственное разрешение 1024х768 8бит, а вписывает экран БК на текущий Desktop в текущем формате экрана. При этом фактически никакого реального перехода в полноэкранный режим не происходит. Используется если видеосистема PC не может перейти в полноэкранный режим 1024х768 8бит по каким-либо причинам (например на некоторых Notebookaх где разрешение не может быть больше 800х600).
Tape Control – показать панель управления кассетными записями БК. С помощью данной панели можно остановить проигрывание или запись ленты, а также включить запись. При этом существуют две дополнительные опции позволяющие автоматически определить начало и конец записана ленту («Tape auto start detection» и «Tape auto end detection» соответственно. Если установлена опция «Tape auto start detection», то после нажатия на кноку записи, запись не начинается до тех пор, пока эмулятор не определит начало синхроимпульса, если установлена опция «Tape auto end detection», то запись автоматически прекратится по достижению конца. В случае, ели данные опции не установлены, то запись начинается сразу после нажатия на кнопку «Запись» а прекратится при нажатии на кнопку «Стоп».
Рис. 4 Панель управления лентой БК.
Меню «Tools»
В данном меню отображаются имена утилит поставляемых вместе с эмулятором. По умолчанию утилиты находятся в папке Tools заданной ключом «Tools directory» в файле «bk.ini». Подробнее утилиты будут описаны в приложении 4.