ЭМУЛЯТОРЫ БК
Эмуляторы под DOS.
- Эмулятор БК0010 и БК0011M Сергея Камнева. Очень маленький и шустрый эмулятор. Размер кода всего около 8К. Видимо, это самый маленький эмулятор БК. Быстродействие реальной БК достигается на 386SX33. В документации к эмулятору пишут, что работает даже на 286-й с EGA монитором. Правда, сам я его юзал как минимум на 486DX2-80 с SVGA монитором и могу сказать что на таком компьютере он существенно быстрее реальной БК0011М. Поддерживает черно-белый и цветной режимы, палитры БК0011, дисковод, образы дисков, системный таймер, принтер, мышь. К сожалению не эмулируется джойстик. По крайней мере в имеющейся у меня версии 1.21b не эмулируется. Это существенный недостаток так как во многие БК-шные игры на клавиатуре не очень-то поиграеш. А игры это, насколько я понимаю, основное для чего можно использовать эмуляторы БК в настоящее время. Кроме того нет поддержки музыкального сопроцессора, но это не так важно. Возможно, в более свежих версиях эмулятора эти недостатки исправлены (автор планировал это сделать). Скачать этот эмулятор можно, например, здесь.
- Эмулятор БК0010 Дмитрия Тюрева (TD corp. на БК0010, Magic Bytes Software на БК0011М). Почти такой же маленький и шустрый эмулятор как у С.Камнева. Размер исполняемого файла всего на 469 байт больше чем эмулятора Камнева, а по скорости они сравнимы. Хотя, конечно, не совсем корректно сравнивать эти эмуляторы: один эмулирует только БК0010, а другой БК0010 и БК0011М. Эмулятор Тюрева поддерживает черно-белый и цветной режимы экрана, системный таймер, джойстик. Ни дисковводы ни образы дисков не поддерживаются (по крайней мере в имеющейся у меня версии эмулятора). Работа с файлами осуществляется весьма оригинально (ни в одном другом эмуляторе я такого не видел). Файлы БК (*.BK-длина имени 4 символа) хранятся на винчестере или дискете в том же каталоге что и эмулятор. Там же имеется файл bk_files.dat с данными об этих файлах. Каждая строка в файле bk_files.dat содержит информацию о БКшном файле в следующем виде: 4 символа - PC-шное имя файла, пробел, 16 символов - БКшное имя файла, пробел, 6 цифр - восьмеричный адрес загрузки файла. При добавлении в каталог нового БКшного файла необходимо внести информацию о нем в файл bk_files.dat. Таким образом, работа с файлами становится несколько геморной, но зато можно загружать файлы с именами длиной 16 символов. Скачать этот эмулятор можно здесь.
- Эмулятор БК0010 и БК0011M Алексея Савельева. Лучший эмулятор БК под DOS
(это не только мое мнение). Не зря автор работал над его совершенствованием
более 10 лет! Лично мне пока не попадались программы, которые бы не работали в этом эмуляторе. Хотя, я, конечно, не могу утверждать,
что таких программ нет. Эмуляция БК0010 возможна в двух режимах: БК0010.01 + Бейсик (Вильнюс) в ПЗУ
(в данном режиме контроллер дисковода не поддерживается) и БК0010 (.01) + 16Кб ДОЗУ.
В режиме БК0011M эмулятор осуществляет полную эмуляцию БК0011М стандартной
поставки (с Бейсиком в ПЗУ). Работает 50 Mhz таймер, системный таймер,
эмулируются оба экрана и все палитры БК11М, при наличии звуковой платы Sound Blaster эмулируется
музыкальный сопроцессор типа General Instruments AY-3-8910(12)/Yamaha 2149F или приставка Covox.
Достаточно близко к реальной БК эмулируется контроллер дисковода.
Поддерживаются 25 БК-шных устройств, которые могут физически ссылатся на
реальный PC-дисковод или на IMAGE-файл с образом бк-шной дискеты. Эмулируется
параллельный порт (рег. 177714). По чтению возвращается состояние
keypad-джойстика и/или "мыши".
Ресурсов эмулятор Савельева требует, конечно, поболее Камневского эмулятора, но тоже весьма скромно по теперешним временам. Для его нормальной работы достаточно, например такой конфигурации: 80486DX4-100, Cirrus Logic/S3/Tseng VGA, Sound Blaster Pro, 4/8 MB RAM. А в принципе он может работать и на 386 процессоре (где его только найдешь теперь, как, впрочем, и 486-й).
Ещё одним важным достоинством эмулятора Савельева является наличие подробнейшей документации к нему. Ни в одном другом известном мне эмуляторе такой подробной документации нет.
Самый существенный недостаток этого эмулятора - то что он под DOS. Точнее сказать, то что под DOS, это было бы ещё пол беды. Гораздо хуже то, что эмулятор работает с "железом" (с видеокартами, например, что особенно критично) на низком уровне непосредственно через регистры. Причём, могут использоваться различные нестандартные режимы работы. Соответственно, чем новее ваше "железо", тем проблематичнее будет заставить работать этот эмулятор (с некоторым старым "железом", кстати, тоже есть проблемы). Всё это в конце концов может привести к тому, что запустить эмулятор Савельева можно будет разве что из DosBox-а, да и то не факт. Кстати, в вышеупомянутом DosBox-е многие версии данного эмулятора более-менее корректно работают только в монохромном режиме (запускать надо с ключом /M, или переключать на монохром после запуска клавишей "Scroll Lock"). Собственно говоря, в цветном режиме из тех версий, что я запускал в DosBox-е, более-менее сносно работала только версия 5.0 beta, остальные жутко глючили. Некоторые версии, правда, и в монохромном режиме глючили, либо вообще не запускались. Вышеупомянутая версия 5.0 beta, кстати говоря, в монохромном режиме не работает. Она в этом режиме не глючит, просто не переключается на него. Короче говоря, с DosBox-м тоже есть проблемы.
Последнюю версию (6.04) эмулятора Савельева можно скачать здесь. Причём, судя по тому что тут написано, эта версия действительно последняя. Более ранние версии (с 4.0 по 6.02) эмулятора Савельева есть тут. - ELESIM. Эмулятор БК0011М (автор - Алексей Мельников, Caroline Software). А.Савельев о нем хорошо отзывался ("единственный достойный конкурент"). Правда, этому хорошему отзыву предшествовало длинное описание самых разнообразных "багов". Так что не очень понятно что же именно там хорошего. Разве что эмуляция экрана, которую Савельев позаимствовал для своего эмулятора. Демки для БК0011М при этом может и стали лучше смотреться, но вот все остальное... Я про этот ELESIM могу сказать только то, что я его заставить работать так и не смог. После запуска возникает черный экран и всё... Правда при нажати на Ctrl+Esc запускается отладчик (монитор при этом в текстовом режиме). И вообще есть сильное подозрение, что автор этот эмулятор писал исключительно для себя, но кто-то у него его спёр. Об этом говорит, например, полное отсутствие какой-либо документации к этому эмулятору. Скачать ELESIM можно здесь.
Эмуляторы под WINDOWS.
- Эмулятор БК0010 от aleXXoft. Видимо, это первый эмулятор БК под WINDOWS. Эмулирует БК0010 в цветном и монохромном режиме. Работает только в полном экране, разрешение которого может изменяется независимо от установленного в WINDOWS. Джойстик, дисковод и образы дисков не эмулируется. Скачать этот эмулятор можно здесь.
- Эмулятор БК0010 Юрия Калмыкова. Поддерживает следующие конфигурации
БК0010:
БК 0010(01) + стандартный БЕЙСИК «Вильнюс 1986»,
БК 0010(01) + блок МСТД (Фокал и подпрограммы тестов),
БК 0010(01) + блок дополнительной памяти 32Кб,
БК 0010(01) + блок КНГМД с дополнительной памятью 16Кб.
Эмулируется звук динамика БК через звуковую плату, covox, джойстик, образы дисков БК. Поддерживается черно-белый и цветной режимы экрана, возможна работа как в окне так и в полном экране. Кроме того, из всех виденных мной эмуляторов БК под WINDOWS этот эмулятор имеет наилучшую документацию. Вообще (IMHO), на данный момент, это самый приличный эмулятор БК0010 под WINDOWS. Скачать эмулятор можно здесь (ver. 2.6). или тут (ver. 3.0). А здесь лежат исходники эмулятора (ver. 3.0).
Впоследствии эмулятор Калмыкова был доработан и улучшен. Доработал некто, скромно именующий себя, "gid". Относительно оригинала добавлена эмуляция БК-0011М, AY-8910, FDD контроллеров: стандартного, A16M, SMK512. Кроме этого сделана эмуляция HDD. Вообще говоря, в результате этой доработки получился один из лучших эмуляторов БК0010 и БК0011M. На мой взгляд, главным недостатком этого эмулятора на данный момент является то, что в нём работают далеко не все программы. В документации к эмулятору по этому поводу сказано так: "Эмулятор на данный момент не точно совместим с реальной БК. Точность эмуляции составляет по оценкам автора примерно 80%.". Хотелось бы надеяться, что в следующих версиях (если таковые будут) точность эмуляции будет выше. Есть и некоторые другие проблемы о которых можно почитать на сайте эмулятора. Скачать доработанный эмулятор Калмыкова для процессоров типа x86 можно здесь или тут (версия для Windows XP). А для x64 - здесь. Исходники доработанного эмулятора тут. - Эмулятор БК0010 Андрея Грабоветса (Andrew Grabovets). Поддерживается
черно-белый и цветной режимы экрана, эмулируется звук динамика БК через
звуковую плату, джойстик, дисковод и образы дисков не эмулируются. По крайней
мере в версии 0.2 Final это было так. В эмуляторе имеется конвертер
WAV->BIN, что позволяет читать файлы БК с касет. Также интересно сделана
эмуляция экрана БК. Его размер можно сделать любым вплоть до полного экрана,
причем размеры экрана БК по горизонтали и по вертикали могут менятся
независимо друг от друга. В документации к эмулятору написано, что возможна
обработка двух одновременно нажатых клавиш, но во FLASSE у меня это не
получилось. То ли я чего-то не понял, то ли имеется bug. Скачать этот эмулятор
можно здесь.
- Эмулятор 3000. Автор Троицкий Евгений Евгеньевич. Это не совсем эмулятор
БК. Точнее, он эмулирует 36 компов и игровых приставок (!) в числе которых
БК0010 и БК0011M. Как и в эмуляторе Грабоветса, поддерживается черно-белый и цветной режимы экрана, размер
экрана БК так же можно сделать любым. Поддерживает практически все устройства, которые когда либо
подключались к БК. Во-всяком случае разделе меню "Средства" есть много чего.
Даже световой пистолет, якобы, поддерживает. Читать и писать файлы на магнитофон тоже, якобы, умеет.
Точнее не на магнитофон а в WAV-файл, но это практически то же самое. Правда, дисковвода вроде не
эмулирует (или я не разобрался как это сделать?), только образы дисков. Джойстик эмулируется, но каким образом я понял далеко не сразу.
В хелпе к эмулятору сказано, что джойстик эмулируется с помощью
неких "серых клавиш" либо IBM джойстика. Насчёт IBM джойстика ничего сказать не могу - нет его у меня. Серых
клавиш на клавиатуре тоже нет - белые они все. Наверное, неправильная у меня клавиатура.
Кстати, я пытался экспериментально обнаружить эти загадочные "серые клавиши", нажимал по очереди на все клавиши своей
клавиатуры - результата никакого не было. Удалось понять где находятся "серые клавиши" только случайно.
Это оказались "0(Ins)", ".(Del)", "2(↓)" "4(←)", "6(→)", "8(↑)" на keypad-е. Но фишка в том, что работает эмуляция джойстика с помощью
этих клавиш только если включён "NumLock". Ну уж об этом автор в хелпе мог бы и написать (тогда, кстати, сразу было бы ясно, что за серые клавиши такие).
У меня, например, "NumLock" по умолчанию отключён.
Может, конечно, автор считает, что отключать "NumLock" в корне не правильно, но мне, вот, представляется более удобным использовать keypad для
управления курсором.
Не знаю "баг" это или "фича", но эмуляция Covox-а работает только при отключённой эмуляции музыкального сопроцессора (AY-3-8910). Скорее всё же "баг". Правильнее было бы сделать так, чтобы одновременно было возможно включение эмуляции только одного из этих устройств, раз уж совместно они не работают (правда, включённая эмуляция Covox-а не мешает эмуляции AY-3-8910). Музыкальный сопроцессор, кстати, работает отлично, практически как на реальной БК. Что весьма радует.
Есть ещё интересная "фича" (или всё-таки "баг"?). При записи/стирании файлов с загруженных в эмулятор имиджей дисков новое содержимое имиджа на диск не записывается (записывается только в память). Может быть как-то и можно записать имидж, но как я не понял. Возможно, всё дело в каких-нибудь неверных настройках эмулятора. Но разобраться что именно не так сложно, так как документация к эмулятору, к сожалению, весьма и весьма скудная. Это можно понять: если на такое количество эмулируемых компов и игровых приставок написать подробную документацию получится что-то сравнимое по объёму с "Войной и мир" Л.Н. Толстого.
Не смотря на указанные выше проблемы, эмулятор 3000 - программа выдающаяся. Уж не знаю как автор сумел его написать. Мне лично трудно представить себе человека, который хотя бы видел все эти 36 компов и игровых приставок. Правда, есть одно предположение на этот счёт. В документации к эмулятору А.Савельева, в числе прочего, даётся краткий обзор различных эмуляторов БК. Про этот эмулятор там тоже высказано мнение. Савельев считает, что для его создания "скорее всего брались скомпилированные чужие exe-шники, дизассемблировались и адаптировались под MS Windows". Я тоже так думаю. А про эмулятор БК0011М, входящий в состав эмулятора 3000, Савельев пишет, что "для режима БК0011М там взята одна из старых версий моего эмулятора (v4 или 5.xx)". Ну в этом то ему точно можно верить.
Скачать Эмулятор 3000 можно здесь. - Универсальный эмулятор Дмитрия Целикова. Это что-то вроде эмулятора 3000. Эмулирует 26 различных компьютеров. По крайней мере, столько перечислено на сайте этого эмулятора. В число эмулируемых компьютеров входят БК0010 и БК0011М. Эмуляция экрана сделана примерно также как в эмуляторе 3000. Есть поддержка образов дисков (только по чтению), эмулируется ковокс и музыкальный сопроцессор. Больше ничего выяснить не удалось, т.к. документация практически отсутствует, если не считать небольшого FAQ, в котором БК-шки касается всего один вопрос и файла history.txt из которого также мало что можно понять. Скачать этот эмулятор можно здесь.
Эмуляторы под UNIX-like ОС.
- Эмулятор БК0010 и БК0011M Леонида Брухиса. Написан он под библиотеку SDL. Поддерживается черно-белый и цветной режимы экрана, работает в окне, размер которого можно менять (стандартный размер или удвоеный). Поддерживает магнитофон, дисковвод, образы дисков. Автор утверждает что поддерживается и AY-3-8910. Мне, правда, услышать его не удалось, но и во всех играх под SDL звука почему-то нету, так что дело тут, наверное, не в эмуляторе. Зато звук динамика БК через звуковую плату эмулируется весьма неплохо. Джойстик вроде бы пока не поддерживается, а жаль. Или, может, я просто не разобрался как он поддерживается. А разобраться, надо сказать, не так просто так как документация на данный момент (10.05.2012) весьма скудная. Скачать исходники этого эмулятора можно здесь.
- Эмулятор БК0010 под Mac OS (она тоже, вроде как, UNIX-like). Про него могу сказать только то что скачать его можно здесь (для платформы Intel), или тут (для платформы PPC). Я лично его никогда не юзал т.к. Mac OS у меня нет. На сайте этого эмулятора есть (по крайней мере 4.05.12 было) предупреждение: "эмулятор находится в стадии разработки. Пока удалось добиться лишь того, что начали запускаться некоторые игры." Так что, видимо, заводить Mac OS ради него пока не стоит.
Так что, эмуляторов БК, как видите, куча. Причем, здесь я не о всех упомянул. Лучшим эмулятором под DOS, безусловно, является эмулятор А.Савельева. Лучшим эмулятором под Windows, на мой взгляд, является доработанный gid-ом эмулятор Калмыкова. Хотя, эмулятор 3000 тоже весьма не плох. Под UNIX-like ОС лучшим эмулятором, по-видимому, является эмулятор Леонида Брухиса. Но это не потому, что он очень хорош, а потому, что альтернативы ему пока что практически нет.
P.S. На 21.12.2020 все ссылки были работающими, что будет дальше не знаю и следить за их работоспособностью не обещаю. Если вы обнаружите не работающую ссылку, можете поискать необходимый эмулятор здесь.