Просмотр полной версии : Эмулятор БК на Java Александра Тишина
С января 2010 Александр Тишин (Sandro) пишет эмулятор БК на Java:
http://bk0010.org/forum/?id=3820&page=
Текущую версию можно скачать тут:
http://depositfiles.com/files/izyp8adm4
сразу вопрос, не смог на маке переключить режим экрана
не нашел кнопку Scroll Lock :)
как быть ?
Если он на Java, то почему нельзя сделать его апплетом, чтобы мы могли гонять его в браузере?
Вот РК-86 уже давно есть даже не на Java, а на JavaScript-е и в браузере запускается (http://radio86.googlecode.com/hg/online/radio86.html) и даже оснащен интегрированным Прекрасным ассемблером :biggrin:
Если он на Java, то почему нельзя сделать его апплетом, чтобы мы могли гонять его в браузере?
Вот РК-86 уже давно есть даже не на Java, а на JavaScript-е
Апплет имеет смысл на сайте, посвящённом БК. Например, если был бы сайт -- библиотека БК-софта, там бы апплет с эмулятором был бы кстати.
Что касается скриптовых эмуляторов -- на мой взгляд, это скорее прикола ради.
Прикол приколом, а всё потихоньку уползает с десктопа. Недалеко то время, когда мы будем гонять в браузере эмуляторы десктопов -- поностальгировать.
под Ubuntu не пускается, не может найти файлы ПЗУ, так как похоже автор не учел что весч должна быть кроссплатформенной и под linux она файлы по абсолютным путям пытается искать
p.s.
еще очень странно смотрятся запароленные исходники в архиве.. имхо или надо выкладывать исходники и говорить что опенсорс или не выкладывать (типа как в моем эмуле), а то как детский сад выглядит
---------- Post added at 20:34 ---------- Previous post was at 20:29 ----------
в виде аплета кстати теперь делать не стоит, лично я аплеты очень не люблю пускать, а то нафига еще одна дыра в броузерной безопасности (вон только в Java 1.6.20 дырку заткнули как раз аплетную) и сейчас вообще похоже аплетами занимаются только аристократы и те кто не аристократы, нормальные люди делают на флеше
на маке пустился нормально, т.е. оно таки кроссплатформенное ...
флеш это зло :P
реально, уже с год на всех платформах стоит flashblock и ОЧЕНЬ сильно полегчало брожение по инету.
У апплета значительно больше ограничений на доступ к локальным ресурсам, чем у локально исполняемого кода. Но дискуссия о том, что является большим злом -- апплеты, или флеш, тут неуместна. Речь о том, что код уже написан и неотягощенные параноей люди могли бы запускать его в браузере вместо того, чтобы скачивать с какого-то мутного сайта для шаринга порнухи.
С января 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 ПЗУ с заглавными буквами в названии. Исправлено.
Sandro, вы не хотите разместить ваш эмулятор на Google Code, или любом другом проектном хостинге по вкусу? Если вы не хотите делиться исходниками, этого можно не делать. Можно выкладывать такой же архив с исполняемым кодом, но при этом потенциальные пользователи не будут страдать от окошек, которые клянчат денег. И там же можно держать, например, Вики с документацией.
svofski, мне и самому не очень нравится размещать эмулятор на депозите. Но к сервисам гугля у меня идиосинкразия (за исключением поисковика и карт :) ), а sourceforge пока не подходит по terms of use.
С другими проектными хостингами я, честно говоря, дела не имел. Не подскажете что-нибудь проверенное?
Sandro, вы не хотите разместить ваш эмулятор на Google Code, или любом другом проектном хостинге по вкусу? Если вы не хотите делиться исходниками, этого можно не делать.
Точно? Насколько я помню, на всех бесплатных площадках выбирается одна из свободных лицензий -- т.е. исходники по идее нужно будет показать. Иначе это хостинг до тех пор пока хостер не проверит что там лежит.
Проверенное знаю только 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, который позволяет иметь один репозиторий приватный. Можно в приватном держать сорцы, а в публичный выкладывать бинарники.
С другими проектными хостингами я, честно говоря, дела не имел. Не подскажете что-нибудь проверенное?
Попробуй github. Просто и удобно. Ни к каким agreement'ам не обязывает. Хочешь закрывай проект для избранных, хочешь делай открытым для всех.
Посмотрел, в принципе и bitbucket, и github подходят. Так что вопрос сводится к тому, какую незнакомую мне систему контроля версий я буду изучать. И когда на это будет время :v2_conf2:
Ну а пока придётся жить с "мутным сайтом для шаринга порнухи"© ... или, если модераторы не возражают, то я буду выкладывать lite-версию (без софта) прямо в этой теме. Это примерно 150КБ -- не так уж и много.
Ну самое главное: я прямо сейчас вожусь с мультиколором на 11М, и мне нужна помощь кого-нибудь с реалом для проверки времянок. Для этого надо запустить программу из вложения и сфотографировать экран с хорошим разрешением (чтобы был виден каждый пиксель). Ну и сказать, мерцает ли мультиколор, или нет.
Буду очень благодарен.
Прикольная картинка у меня в эмуляторе :)
Буду тоже благодарен за картинку с реала.
Прикольная картинка у меня в эмуляторе
Хм. А в нём таймер точно с нормальной скоростью считает? Должен быть 1 тик на 128 тактов процессора, что равно 1/2 телевизионной строки (ровно) для БК-0011М.
Эта программа переключает палитру кажде 4 тика, т.е. полосы должны быть высотой в 2 строки.
В общем, у меня сейчас получается как-то так:
Хм. А в нём таймер точно с нормальной скоростью считает?
Не уверен :) У меня наверное ещё и палитра неправильная...
Как я вижу, из владельцев реала никому мультиколор в эмуляторе не нужен :)
В таком разе выкладываю бету 0.4 как есть.
Новинки: мультиколор, AY, Covox. Ещё имеется антифликер, причём пока неотключаемый :p
Итак, с грехом пополам добрался я до bitbucket'а: http://bitbucket.org/alex_tishin/bk2010_releases/downloads
Заодно выложил релизную версию 0.4 -- починен звук, антифликер убран (толку от него...), ну и архитектурные переделки, которых снаружи не видно.
Кстати, забыл сказать. Хоть репозиторий с сорцами пока скрытый, но трекер ошибок в публичном bk2010_releases открыт всем пользователям (если я правильно настроил :) )
Так что просьба участвовать :v2_thumb:
В честь круглой даты (а что, 10.10.10 не каждый день бывает :) ) выпускается версия 0.5, качать здесь: http://bitbucket.org/alex_tishin/bk2010_releases/downloads
К сожалению, сделано меньше, чем хотелось бы, но выпуск новой версии и так затянулся. Из существенного: выбор разрешения экрана, сохранение настроек, чтение с ленты. Исправлены ошибки, в том числе и одна очень серьёзная, ломавшая часть самарских демок (спасибо Брухису!).
Серые пункты в меню пытаться включать не надо, всё равно не заработает :)
PS: b2m, времянки для видео выложу обязательно, просто сейчас зверский загруз по работе образовался, времени нету :(
Что то поздно я спохватился. Ссылки в основном битые.
Ищу древние версии этого эмулятора с src.zip внутри :)
Автору тоже напишу. Ни у кого не завалялось случаем?...
---------- Post added at 02:57 ---------- Previous post was at 02:44 ----------
Нашел на R-games версию 0.3 с src.
У меня есть версии 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
Новости. Особенно для тех, кто не читает форум bk0010 ;)
Эмулятор НЕ заброшен, он дорабатывается и будет дорабатываться, когда у меня есть время. На bitbucket можно больше не ходить -- с новой политикой компании Atlassian он теперь лишён смысла для открытых разработок, так как закрыт от индексации поисковиками. Буду переезжать на гитхаб.
Благодаря помощи Макса официальная страничка эмулятора теперь будет тут: http://sandro.pdp-11.ru/ (пока заглушка со ссылкой на скачивание, по необходимости и наличию свободного времени будет пополняться).
Последняя версия эмулятора сейчас -- 0.6-alpha3. Довольно много чего починено, в том числе времянки видеоконтроллера, палитры и звук на AY. AY, по идее, теперь должен быть неотличим от реала, так как сделан на основе реверса микросхемы.
Есть управление с командной строки.
На подходе очередная версия, там будет более стандартная ;) раскладка джойстика, мышь, кое-какие улучшения для разработчиков софта для БК.
В перспективе -- собираюсь всё же сделать SMK, полноэкранный режим и более корректный вывод 50 (48,2..) Гц кадров. В принципе, тогда уже можно будет ставить метку версии 1.0, так как это будет полнофункциональная машина.
Пожелания принимаются. ;)
Чтобы не тянуть резину, выложил 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/
репозиторий всё еще закрыт?
репозиторий всё еще закрыт?
Какой репозиторий -- на bitbucket? Так я же написал -- он закрыт навсегда. Все благодарности -- компании Atlassian.
Когда будет репозиторий на гитхабе -- не знаю. В сутках только 24 часа.
Выложил версию с мелкими правками:
Добавлены ключи -nohud (не показывать оверлей эмулятора), -trace [address] (выводить трассу исполнения команд после срабатывания ловушки по адресу address, либо сразу), при загрузке с ключом -bin запрещены таймерные прерывания.
Если ничего из этого не нужно, то можно не обновляться.
http://sandro.pdp-11.ru/
-nohud гасит оверлей только после получения первого отрендеренного кадра; это сделано на случай, если эмулятор зависнет при старте.
-trace пишет трассу в файл cputrace.log в текстовом виде, с дизассемблером. Параметр -- ловушка PC, после которой начинается вывод. Чтобы не дампить начальную инициализацию и т.д. Если не указано или ноль, то трасса выводится с самого начала.
Места на диске нужно МНОГО. На 11М загрузка ANDOS до появления вращающейся надписи занимает примерно 40МБ.
Потихонечку допиливаю запись видео в эмуляторе:
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 - к слову, мы из одного города :-)
Привет-привет!
Как бодрость духа?
Будем жить!
Очень рад что кто то занимается сейчас эмуляцией БК, хоть и для Java, но это единственный способ, помоему на современных macos запустить хоть какой то эмуль.
Но почему же "хоть"? Java -- вполне нормальный язык с развитой инфраструктурой. В современных (то есть, выпущенных в последние 15 лет ;) ) версиях скорость исполнения вполне нормальная и сравнима с C++ кодом.
Ну а в области портабельности альтернатив JVM-языкам просто нет.
Теоретически, для мака можно было бы попробовать собрать bkbtl, но вроде никто так и не решился.
Очень уж интересует запустить "Planet of Death"
Возможно оверлеи не не подгружаются?
Именно так. Надо переименовать оверлей в "PLANETA2.BIN".
Вообще, алгоритм преобразования имён файлов из эмулятора в хост -- это заглушка, которая более-менее работает, и поэтому осталась в неизменном виде с ранних дней. Доработать, разумеется, надо бы. Как раз для избегания подобных ситуаций.
Еще из интересующих игр - Moon buggy - заставка и сброс. А Луноход вообще не запускается.
Можно конкретные версии файлов?
А вот с Батискафом например проблем нет - запускается, хоть и в ЧБ режиме.
Цветность же переключается через Scroll Lock или Ctrl+F8. По историческим причинам десятка по умолчанию эмулируется в оттенках серого.
На всякий случай прилагаю zip с игрой.
Спасибо, так и нужно делать!
Sandro - к слову, мы из одного города :-)
Если не ошибаюсь, тут ещё Хобот из Зеленограда, как минимум.
Ну а в области портабельности альтернатив JVM-языкам просто нет.
уже есть, называется Golang
уже есть, называется Golang
Для него есть универсальная виртуальная машина?
(Про безумный синтаксис я уже просто молчу)
Для него есть универсальная виртуальная машина?
для него есть беспроблемная кросс-компиляция в исполняемый код
Прошу прощения за такую большую задержку. Обновление!
http://sandro.pdp-11.ru/bin/bk2010-0.6-alpha6.zip
Улучшен экран, исправлены некоторые баги. SMK пока ещё не работает, хотя часть функций есть.
Теоретически, для мака можно было бы попробовать собрать bkbtl, но вроде никто так и не решился.
https://github.com/nzeemin/bkbtl-qt
Давно не проверял, но должен собираться под мак. другое дело что как эмулятор БК он довольно слабый.
Прошу прощения за такую большую задержку. Обновление!
http://sandro.pdp-11.ru/bin/bk2010-0.6-alpha6.zip
Улучшен экран, исправлены некоторые баги. SMK пока ещё не работает, хотя часть функций есть.
Запустил вариант БК0011М+диск без диска, получил ПЗУ бейсик, в котором на любой PRINT получаю стоп - баг.
Запустил вариант БК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. В текущей версии эмулятора - можно ли запустить - свежий релиз - Принца Персии?
Заранее благодарю за ответ!
Выпущена новая версия, по сути -- исправления ошибок. Мышь, таймер, мелочи всякие. На другое пока сил нет.
Секретным ключом -flc можно пытаться писать видео в этом самом формате. Занимает -- дошиша, резервируйте место на диске.
http://sandro.pdp-11.ru/bin/bk2010-0.6-alpha7.zip
- - - Добавлено - - -
Да, по поводу вопроса от anarchyman:
1. Есть эмуляция джойстика на кейпаде. К сожалению, платформа Java не предусматривает (из коробки) доступа к реальным джойстикам, так что тут сложности.
2. Какие вопросы с запуском? Я знаю, что на новых макосях они есть, но ещё где-то обнаружилось?
3. Принца пока нельзя, так нет эмуляции SMK. Но планируется. Куда ж без Принца-то?
4. Я вот подумал -- а ведь можно весь F-ряд сдублировать на Ctrl+цифры. На БК всё равно эти комбинации лишены смысла. Может, так и сделать?
И всегда спасибо на добром слове!
Небольшое, но (возможно) существенное обновление: 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
Выпустил версию 0.7. Релиз номер 0.6 специально пропустил, чтобы не путать людей. Самое главное -- частичная поддержка SMK-512. То есть, эмуляции жёсткого диска пока нету, а вот 512 КБ дополнительного ОЗУ вполне себе эмулируются. Проверено на принце персидском!
http://sandro.pdp-11.ru/bin/bk2010-0.7.zip
Новости -- теперь есть эмуляция HDD! Надо было ещё на прошлой неделе сообщить, но я забегался, увы. Ну да ладно. Сразу скажу, что эмулируется только CHS режим, LBA -- нет.
Но те времена всё равно писали-то только под CHS. Что успел позапускать -- работает. Демки тоже, включая Good Apple.
Единственное, перекосило эмуляцию мыши. Починю, но несколько позже. Страдает в основном оболочка CSIDOS.
Лежит, где обычно: http://sandro.pdp-11.ru/bin/bk2010-0.8-alpha8.zip
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot