PDA

Просмотр полной версии : Эмулятор БК на Java Александра Тишина



nzeemin
13.05.2010, 15:53
С января 2010 Александр Тишин (Sandro) пишет эмулятор БК на Java:
http://bk0010.org/forum/?id=3820&page=

Текущую версию можно скачать тут:
http://depositfiles.com/files/izyp8adm4

esl
13.05.2010, 16:21
сразу вопрос, не смог на маке переключить режим экрана
не нашел кнопку Scroll Lock :)
как быть ?

svofski
13.05.2010, 19:28
Если он на Java, то почему нельзя сделать его апплетом, чтобы мы могли гонять его в браузере?

Вот РК-86 уже давно есть даже не на Java, а на JavaScript-е и в браузере запускается (http://radio86.googlecode.com/hg/online/radio86.html) и даже оснащен интегрированным Прекрасным ассемблером :biggrin:

nzeemin
13.05.2010, 19:39
Если он на Java, то почему нельзя сделать его апплетом, чтобы мы могли гонять его в браузере?
Вот РК-86 уже давно есть даже не на Java, а на JavaScript-е

Апплет имеет смысл на сайте, посвящённом БК. Например, если был бы сайт -- библиотека БК-софта, там бы апплет с эмулятором был бы кстати.
Что касается скриптовых эмуляторов -- на мой взгляд, это скорее прикола ради.

svofski
13.05.2010, 20:03
Прикол приколом, а всё потихоньку уползает с десктопа. Недалеко то время, когда мы будем гонять в браузере эмуляторы десктопов -- поностальгировать.

Raydac
13.05.2010, 20:34
под Ubuntu не пускается, не может найти файлы ПЗУ, так как похоже автор не учел что весч должна быть кроссплатформенной и под linux она файлы по абсолютным путям пытается искать

p.s.
еще очень странно смотрятся запароленные исходники в архиве.. имхо или надо выкладывать исходники и говорить что опенсорс или не выкладывать (типа как в моем эмуле), а то как детский сад выглядит

---------- Post added at 20:34 ---------- Previous post was at 20:29 ----------

в виде аплета кстати теперь делать не стоит, лично я аплеты очень не люблю пускать, а то нафига еще одна дыра в броузерной безопасности (вон только в Java 1.6.20 дырку заткнули как раз аплетную) и сейчас вообще похоже аплетами занимаются только аристократы и те кто не аристократы, нормальные люди делают на флеше

esl
13.05.2010, 21:13
на маке пустился нормально, т.е. оно таки кроссплатформенное ...
флеш это зло :P
реально, уже с год на всех платформах стоит flashblock и ОЧЕНЬ сильно полегчало брожение по инету.

svofski
13.05.2010, 21:24
У апплета значительно больше ограничений на доступ к локальным ресурсам, чем у локально исполняемого кода. Но дискуссия о том, что является большим злом -- апплеты, или флеш, тут неуместна. Речь о том, что код уже написан и неотягощенные параноей люди могли бы запускать его в браузере вместо того, чтобы скачивать с какого-то мутного сайта для шаринга порнухи.

Sandro
07.06.2010, 20:59
С января 2010 Александр Тишин (Sandro) пишет эмулятор БК на Java:
http://bk0010.org/forum/?id=3820&page=
[/url]

nzeemin, спасибо. У меня как-то из головы вылетело продублировать здесь.

Теперь готова версия 0.3 с поддержкой 11М. Скачать можно тут: http://depositfiles.com/files/wbq3z4bmo



сразу вопрос, не смог на маке переключить режим экрана
не нашел кнопку Scroll Lock

Хм. А какой у вас мак, с какой клавиатурой? У меня, к сожалению, нет ни одного под рукой, но посмотрю, что можно сделать.


под Ubuntu не пускается, не может найти файлы ПЗУ, так как похоже автор не учел что весч должна быть кроссплатформенной и под linux она файлы по абсолютным путям пытается искать

Я проверял именно под Убунту, у меня всё работает. Все пути задаются относительно CWD. Никаких абсолютных путей. Проблема была в том, что в архив просочились 2 ПЗУ с заглавными буквами в названии. Исправлено.

svofski
07.06.2010, 21:49
Sandro, вы не хотите разместить ваш эмулятор на Google Code, или любом другом проектном хостинге по вкусу? Если вы не хотите делиться исходниками, этого можно не делать. Можно выкладывать такой же архив с исполняемым кодом, но при этом потенциальные пользователи не будут страдать от окошек, которые клянчат денег. И там же можно держать, например, Вики с документацией.

Sandro
07.06.2010, 23:51
svofski, мне и самому не очень нравится размещать эмулятор на депозите. Но к сервисам гугля у меня идиосинкразия (за исключением поисковика и карт :) ), а sourceforge пока не подходит по terms of use.
С другими проектными хостингами я, честно говоря, дела не имел. Не подскажете что-нибудь проверенное?

nzeemin
08.06.2010, 00:05
Sandro, вы не хотите разместить ваш эмулятор на Google Code, или любом другом проектном хостинге по вкусу? Если вы не хотите делиться исходниками, этого можно не делать.
Точно? Насколько я помню, на всех бесплатных площадках выбирается одна из свободных лицензий -- т.е. исходники по идее нужно будет показать. Иначе это хостинг до тех пор пока хостер не проверит что там лежит.

svofski
08.06.2010, 00:17
Проверенное знаю только Google Code. Как правило хостинги хотят денежку за приватный хостинг и дают бесплатно хостить опенсорс. Слышал, что Bitbucket позволяет иметь один приватный репозиторий Mercurial или Git.

http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilit ies

Есть ведь еще разные сервисы, типа Blogspot-a. Это хостинг блогов, а не проектов, но файлы там можно держать. Конечно, без Гугла в Blogspot-е не обошлось, но я уверен, что можно найти альтернативу, раз уж это идейный вопрос.

---------- Post added at 00:17 ---------- Previous post was at 00:07 ----------


Точно? Насколько я помню, на всех бесплатных площадках выбирается одна из свободных лицензий -- т.е. исходники по идее нужно будет показать. Иначе это хостинг до тех пор пока хостер не проверит что там лежит.

Мы условно считаем, что к тому времени, как хостер проверит, Sandro созреет сделать их открытыми ;)

Ну вот, есть же Bitbucket, который позволяет иметь один репозиторий приватный. Можно в приватном держать сорцы, а в публичный выкладывать бинарники.

alex904
08.06.2010, 05:22
С другими проектными хостингами я, честно говоря, дела не имел. Не подскажете что-нибудь проверенное?
Попробуй github. Просто и удобно. Ни к каким agreement'ам не обязывает. Хочешь закрывай проект для избранных, хочешь делай открытым для всех.

Sandro
27.06.2010, 00:13
Посмотрел, в принципе и bitbucket, и github подходят. Так что вопрос сводится к тому, какую незнакомую мне систему контроля версий я буду изучать. И когда на это будет время :v2_conf2:

Ну а пока придётся жить с "мутным сайтом для шаринга порнухи"© ... или, если модераторы не возражают, то я буду выкладывать lite-версию (без софта) прямо в этой теме. Это примерно 150КБ -- не так уж и много.

Ну самое главное: я прямо сейчас вожусь с мультиколором на 11М, и мне нужна помощь кого-нибудь с реалом для проверки времянок. Для этого надо запустить программу из вложения и сфотографировать экран с хорошим разрешением (чтобы был виден каждый пиксель). Ну и сказать, мерцает ли мультиколор, или нет.

Буду очень благодарен.

b2m
27.06.2010, 15:51
Прикольная картинка у меня в эмуляторе :)
Буду тоже благодарен за картинку с реала.

Sandro
27.06.2010, 18:10
Прикольная картинка у меня в эмуляторе

Хм. А в нём таймер точно с нормальной скоростью считает? Должен быть 1 тик на 128 тактов процессора, что равно 1/2 телевизионной строки (ровно) для БК-0011М.
Эта программа переключает палитру кажде 4 тика, т.е. полосы должны быть высотой в 2 строки.

В общем, у меня сейчас получается как-то так:

b2m
28.06.2010, 11:13
Хм. А в нём таймер точно с нормальной скоростью считает?
Не уверен :) У меня наверное ещё и палитра неправильная...

Sandro
03.07.2010, 22:55
Как я вижу, из владельцев реала никому мультиколор в эмуляторе не нужен :)

В таком разе выкладываю бету 0.4 как есть.
Новинки: мультиколор, AY, Covox. Ещё имеется антифликер, причём пока неотключаемый :p

Sandro
31.07.2010, 17:41
Итак, с грехом пополам добрался я до bitbucket'а: http://bitbucket.org/alex_tishin/bk2010_releases/downloads
Заодно выложил релизную версию 0.4 -- починен звук, антифликер убран (толку от него...), ну и архитектурные переделки, которых снаружи не видно.

Sandro
03.08.2010, 07:06
Кстати, забыл сказать. Хоть репозиторий с сорцами пока скрытый, но трекер ошибок в публичном bk2010_releases открыт всем пользователям (если я правильно настроил :) )
Так что просьба участвовать :v2_thumb:

Sandro
11.10.2010, 05:20
В честь круглой даты (а что, 10.10.10 не каждый день бывает :) ) выпускается версия 0.5, качать здесь: http://bitbucket.org/alex_tishin/bk2010_releases/downloads

К сожалению, сделано меньше, чем хотелось бы, но выпуск новой версии и так затянулся. Из существенного: выбор разрешения экрана, сохранение настроек, чтение с ленты. Исправлены ошибки, в том числе и одна очень серьёзная, ломавшая часть самарских демок (спасибо Брухису!).

Серые пункты в меню пытаться включать не надо, всё равно не заработает :)

PS: b2m, времянки для видео выложу обязательно, просто сейчас зверский загруз по работе образовался, времени нету :(

alex51
02.10.2013, 02:57
Что то поздно я спохватился. Ссылки в основном битые.
Ищу древние версии этого эмулятора с src.zip внутри :)
Автору тоже напишу. Ни у кого не завалялось случаем?...

---------- Post added at 02:57 ---------- Previous post was at 02:44 ----------

Нашел на R-games версию 0.3 с src.

b2m
02.10.2013, 10:27
У меня есть версии 0.4 и 0.5, но они уже без исходников. Так что у тебя последняя версия с исходниками. Можно декомпильнуть версии и найти изменившиеся файлы. Или использовать декомпилированный вариант.

Adam Bazaroff
25.01.2019, 15:36
Что то поздно я спохватился.

Методом случайно-научного тыка открыл ДЕБАГЕР в этом эмуляторе!
Почему о нём нет информации в документации??? Столько крови себе без него извёл!!!
На Mac он вызывается нажатием CMD+ALT+F11. В config.ini должна быть строчка «general.debugger = yes».
Теперь работать будет проще! И пользуясь случаем, хочу попросить новую версию эмулятора у Александр Тишин (Sandro). Очень надо!
¤
Как выглядит отладчик: https://i84.fastpic.ru/big/2019/0125/ff/8776817ec982f440ff1b992f0c508eff.jpeg

Sandro
24.01.2021, 13:31
Новости. Особенно для тех, кто не читает форум bk0010 ;)

Эмулятор НЕ заброшен, он дорабатывается и будет дорабатываться, когда у меня есть время. На bitbucket можно больше не ходить -- с новой политикой компании Atlassian он теперь лишён смысла для открытых разработок, так как закрыт от индексации поисковиками. Буду переезжать на гитхаб.

Благодаря помощи Макса официальная страничка эмулятора теперь будет тут: http://sandro.pdp-11.ru/ (пока заглушка со ссылкой на скачивание, по необходимости и наличию свободного времени будет пополняться).

Последняя версия эмулятора сейчас -- 0.6-alpha3. Довольно много чего починено, в том числе времянки видеоконтроллера, палитры и звук на AY. AY, по идее, теперь должен быть неотличим от реала, так как сделан на основе реверса микросхемы.
Есть управление с командной строки.

На подходе очередная версия, там будет более стандартная ;) раскладка джойстика, мышь, кое-какие улучшения для разработчиков софта для БК.

В перспективе -- собираюсь всё же сделать SMK, полноэкранный режим и более корректный вывод 50 (48,2..) Гц кадров. В принципе, тогда уже можно будет ставить метку версии 1.0, так как это будет полнофункциональная машина.

Пожелания принимаются. ;)

Sandro
26.01.2021, 00:59
Чтобы не тянуть резину, выложил 0.6-alpha4

Основное:
1) Джойстик теперь, как в JoyVox, но только один. Заодно переназначил гашетки на более анатомические позиции, теперь первая -- это 0/., вторая - +/Enter. Select, Start -> /, *.
2) Мышь. Пока отключить никак нельзя. В младшем байте, то есть поверх джойстика. Захват -- щелчок в окно эмулятора, отпустить -- Ctrl+щелчок. Поддерживаются две кнопки.
3) При использовании ключа -bin в режиме 11М размещение ОЗУ соответствует MOV #5000, @#177716
4) Теперь есть скриншот в Clipboard (Ctrl+F12).

Ну и всякие мелочи.

На очереди теперь полноэкранный режим, исправление синхронизации кадров, SMK, и запись видео. Уж не знаю, в каком порядке получится.

http://sandro.pdp-11.ru/

Raydac
26.01.2021, 02:25
репозиторий всё еще закрыт?

Sandro
26.01.2021, 07:48
репозиторий всё еще закрыт?

Какой репозиторий -- на bitbucket? Так я же написал -- он закрыт навсегда. Все благодарности -- компании Atlassian.

Когда будет репозиторий на гитхабе -- не знаю. В сутках только 24 часа.

Sandro
31.01.2021, 15:48
Выложил версию с мелкими правками:

Добавлены ключи -nohud (не показывать оверлей эмулятора), -trace [address] (выводить трассу исполнения команд после срабатывания ловушки по адресу address, либо сразу), при загрузке с ключом -bin запрещены таймерные прерывания.
Если ничего из этого не нужно, то можно не обновляться.
http://sandro.pdp-11.ru/

-nohud гасит оверлей только после получения первого отрендеренного кадра; это сделано на случай, если эмулятор зависнет при старте.
-trace пишет трассу в файл cputrace.log в текстовом виде, с дизассемблером. Параметр -- ловушка PC, после которой начинается вывод. Чтобы не дампить начальную инициализацию и т.д. Если не указано или ноль, то трасса выводится с самого начала.
Места на диске нужно МНОГО. На 11М загрузка ANDOS до появления вращающейся надписи занимает примерно 40МБ.

Sandro
19.05.2021, 23:29
Потихонечку допиливаю запись видео в эмуляторе:

https://youtu.be/GVCgC0mMQYo

Допилю -- выложу новую версию. Там не только про видео будет.

anarchyman
21.05.2021, 05:17
Потихонечку допиливаю запись видео в эмуляторе:

https://youtu.be/GVCgC0mMQYo

Допилю -- выложу новую версию. Там не только про видео будет.

Привет-привет!
Как бодрость духа?

Очень рад что кто то занимается сейчас эмуляцией БК, хоть и для Java, но это единственный способ, помоему на современных macos запустить хоть какой то эмуль.

Вопрос сейчас вот в чем:

Запускаю интересующую меня игру, и дальше стартового экрана - никакой активности :-(

Давайте попробуем вместе найти причину. У меня очень маленький опыт работы с БК был в 90ых, собственно кроме нескольких игр - его можно сказать и небыло вовсе. Но это конечно не означает что все это как то не важно. Важно и очень.

Чего мы имеем:

OS:

macOS Big Sur 11.3.1
Java:

java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

Эмулятор запускается отлично.
В каталог files заботливо заранее положил файлы игр нужных

Очень уж интересует запустить "Planet of Death"

Запускаю эмулятор:


java -jar bk2010-0.6-alpha5.jar

Далее через monitor пробую запустить, но к сожалению - фиаско :-(


? monitor
ИМЯ? PLANET

Далее - заставка в ЧБ варианте и тишина :-((

Еще из интересующих игр - Moon buggy - заставка и сброс. А Луноход вообще не запускается.
А вот с Батискафом например проблем нет - запускается, хоть и в ЧБ режиме.

Возможно оверлеи не не подгружаются?
На всякий случай прилагаю zip с игрой.

Хочется запустить в цвете и с музыкой. При необходимости могу Lunohod и Moon Buggy - так же приложить.

Господа, если кому не сложно: у себя эту связку протестируйте.
p.s.
Sandro - к слову, мы из одного города :-)

Sandro
21.05.2021, 07:18
Привет-привет!
Как бодрость духа?


Будем жить!



Очень рад что кто то занимается сейчас эмуляцией БК, хоть и для Java, но это единственный способ, помоему на современных macos запустить хоть какой то эмуль.


Но почему же "хоть"? Java -- вполне нормальный язык с развитой инфраструктурой. В современных (то есть, выпущенных в последние 15 лет ;) ) версиях скорость исполнения вполне нормальная и сравнима с C++ кодом.
Ну а в области портабельности альтернатив JVM-языкам просто нет.

Теоретически, для мака можно было бы попробовать собрать bkbtl, но вроде никто так и не решился.



Очень уж интересует запустить "Planet of Death"
Возможно оверлеи не не подгружаются?


Именно так. Надо переименовать оверлей в "PLANETA2.BIN".

Вообще, алгоритм преобразования имён файлов из эмулятора в хост -- это заглушка, которая более-менее работает, и поэтому осталась в неизменном виде с ранних дней. Доработать, разумеется, надо бы. Как раз для избегания подобных ситуаций.



Еще из интересующих игр - Moon buggy - заставка и сброс. А Луноход вообще не запускается.


Можно конкретные версии файлов?



А вот с Батискафом например проблем нет - запускается, хоть и в ЧБ режиме.


Цветность же переключается через Scroll Lock или Ctrl+F8. По историческим причинам десятка по умолчанию эмулируется в оттенках серого.



На всякий случай прилагаю zip с игрой.


Спасибо, так и нужно делать!


Sandro - к слову, мы из одного города :-)

Если не ошибаюсь, тут ещё Хобот из Зеленограда, как минимум.

Raydac
21.05.2021, 09:26
Ну а в области портабельности альтернатив JVM-языкам просто нет.
уже есть, называется Golang

Sandro
10.06.2021, 02:02
уже есть, называется Golang

Для него есть универсальная виртуальная машина?

(Про безумный синтаксис я уже просто молчу)

Raydac
10.06.2021, 08:46
Для него есть универсальная виртуальная машина?
для него есть беспроблемная кросс-компиляция в исполняемый код

Sandro
10.08.2021, 15:15
Прошу прощения за такую большую задержку. Обновление!

http://sandro.pdp-11.ru/bin/bk2010-0.6-alpha6.zip

Улучшен экран, исправлены некоторые баги. SMK пока ещё не работает, хотя часть функций есть.

nzeemin
14.08.2021, 23:37
Теоретически, для мака можно было бы попробовать собрать bkbtl, но вроде никто так и не решился.


https://github.com/nzeemin/bkbtl-qt
Давно не проверял, но должен собираться под мак. другое дело что как эмулятор БК он довольно слабый.

litwr
11.09.2021, 15:34
Прошу прощения за такую большую задержку. Обновление!

http://sandro.pdp-11.ru/bin/bk2010-0.6-alpha6.zip

Улучшен экран, исправлены некоторые баги. SMK пока ещё не работает, хотя часть функций есть.

Запустил вариант БК0011М+диск без диска, получил ПЗУ бейсик, в котором на любой PRINT получаю стоп - баг.

Sandro
29.11.2021, 16:59
Запустил вариант БК0011М+диск без диска, получил ПЗУ бейсик, в котором на любой PRINT получаю стоп - баг.

Есть такое, просто пока никто не жаловался. Чинить приоритетно?

anarchyman
23.01.2022, 03:07
Sandro, Привет!
Оживим тему в этом году :-)
Сейчас появилось некоторое количество времени, и по мимо всего, конечно хотел бы провести его с доведением до ума эмуляции БК на MacOs.
Сейчас у меня:

% java -version
java version "17" 2021-09-14 LTS
Java(TM) SE Runtime Environment (build 17+35-LTS-2724)
Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)
Версия эмулятора:

java -jar bk2010-0.6-alpha6.jar

Можете у себя посмотреть, запускаются ли след игры:
(прикладываю zip'ы):
Часть у меня запускается - часть нет.

Но это пол беды. В предидущем сообщении вы написали что в цвет можно переключить по:

Цветность же переключается через Scroll Lock или Ctrl+F8
В macos - это не работает. Как это сделать там?

Еще вопросы:

1. В самом эмуляторе планируется поддержка джойстиков - хоть каких нить? Куда как удобнее играть чем с клавиатуры.
2. В теме про "новая игра для БК" (диззи) - вы нашли баг в эмуляторе. Сейчас можно где нить вытянуть пофикшенную версию, и напишите - как вы ее запускаете.
3. В текущей версии эмулятора - можно ли запустить - свежий релиз - Принца Персии?

Заранее благодарю за ответ!

Sandro
05.02.2022, 18:21
Выпущена новая версия, по сути -- исправления ошибок. Мышь, таймер, мелочи всякие. На другое пока сил нет.
Секретным ключом -flc можно пытаться писать видео в этом самом формате. Занимает -- дошиша, резервируйте место на диске.
http://sandro.pdp-11.ru/bin/bk2010-0.6-alpha7.zip

- - - Добавлено - - -

Да, по поводу вопроса от anarchyman:
1. Есть эмуляция джойстика на кейпаде. К сожалению, платформа Java не предусматривает (из коробки) доступа к реальным джойстикам, так что тут сложности.
2. Какие вопросы с запуском? Я знаю, что на новых макосях они есть, но ещё где-то обнаружилось?
3. Принца пока нельзя, так нет эмуляции SMK. Но планируется. Куда ж без Принца-то?
4. Я вот подумал -- а ведь можно весь F-ряд сдублировать на Ctrl+цифры. На БК всё равно эти комбинации лишены смысла. Может, так и сделать?

И всегда спасибо на добром слове!

Sandro
01.06.2022, 18:07
Небольшое, но (возможно) существенное обновление: http://sandro.pdp-11.ru/bin/bk2010-0.6-alpha8.zip

Из заметного для пользователя: добавлен антифликер. То есть, фильтр подавления мерцания 50Гц. Для демок, которые пользуются этом эффектом.

https://pic.maxiol.com/images2/1654095850.1406988155.liong22.png

Тест цветов от Дамира Насырова (он же Adam Bazaroff):

https://pic.maxiol.com/images2/1654095991.1406988155.photo2022060118073.jpg

Sandro
01.07.2022, 19:50
Выпустил версию 0.7. Релиз номер 0.6 специально пропустил, чтобы не путать людей. Самое главное -- частичная поддержка SMK-512. То есть, эмуляции жёсткого диска пока нету, а вот 512 КБ дополнительного ОЗУ вполне себе эмулируются. Проверено на принце персидском!

http://sandro.pdp-11.ru/bin/bk2010-0.7.zip

Sandro
22.03.2023, 19:56
Новости -- теперь есть эмуляция HDD! Надо было ещё на прошлой неделе сообщить, но я забегался, увы. Ну да ладно. Сразу скажу, что эмулируется только CHS режим, LBA -- нет.
Но те времена всё равно писали-то только под CHS. Что успел позапускать -- работает. Демки тоже, включая Good Apple.

Единственное, перекосило эмуляцию мыши. Починю, но несколько позже. Страдает в основном оболочка CSIDOS.

Лежит, где обычно: http://sandro.pdp-11.ru/bin/bk2010-0.8-alpha8.zip