Важная информация

User Tag List

Страница 5 из 8 ПерваяПервая 12345678 ПоследняяПоследняя
Показано с 41 по 50 из 73

Тема: Эмулятор БК-0010-01, БК-0011 и БК-0011М

  1. #41
    Guru Аватар для hobot
    Регистрация
    29.08.2011
    Адрес
    Зеленоград
    Сообщений
    4,956
    Благодарностей: 1151
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Повторюсь, мне пофиг на сентенции "Эмулятор плохой, в нём ничего не работает"
    но нельзя же игнорировать самые очевидные моменты,
    вот в папке BIN - в ней файл с игрой bolder.bin, что надо сделать,
    что бы в неё сыграть?
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  2. #42
    Member
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    155
    Благодарностей: 110
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пошаговая инструкция:
    1. Запускаем эмулятор.
    2. Выбираем конфигурацию БК-0010-01
    3. Выходим из Бейсика в Монитор командой MO<Ввод> признак монитора - знак '?'
    Дальше возможны варианты.
    А. Если включена опция "Эмулировать загрузку ленты".
    4.а. Набираем M<Ввод>
    На запрос 'Имя ?' жмём <Ввод>
    Появится диалоговое окно для выбора файла. Выбираем там нужный нам файл (BOLDER.BIN), и он загружается. Поскольку он снабжён автозапуском, то и сам запускается.

    Б. Если вЫключена опция "Эмулировать загрузку ленты".
    4.б. Набираем M<Ввод>
    На запрос 'Имя ?' набираем "BOLDER"<Ввод>
    Выбираем пункт меню "Файл\Загрузить ленту...", появится диалоговое окно выбора wav файлов. Переходим в директорию bin и выбираем файл BOLDER.BIN (Это стало возможно в последней версии сборки). Ждём загрузки и наслаждаемся ностальгическими звуками. По окончании загрузки файл сам запускается.

    5. Кликаем мышкой на экране, чтобы передать фокус ввода с клавиатуры эмулятору.
    (Этот косяк будет исправлен в следующем обновлении. А если бы хоть кто-нибудь хоть раз указал на конкретное место, что вот тут вот фокус теряется, то исправлено было бы уже давным-давно.)

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

    6. Играем.
    Играть с клавиатуры крайне не удобно, ровно так, как и на оригинальной БК, поэтому лучше играть с эмуляцией джойстика.
    Выключаем NumLock, в игре задаём управление от джойстика и играем с бОльшим комфортом.
    --------------
    В процессе обнаружился наверное неустранимый косяк. Поскольку инструкции, укладывающиеся во фрейм выполняются авансом, за как можно меньшее время, а нажатия на клавиши клавиатуры обрабатываются в реальном времени, то появляется рассинхрон.
    И в играх, вот как конкретно в BOLDER, в которых опрос клавиатуры делается не по прерыванию, а через бит 6 порта 177716 клавиатура просто не синхронизирована по времени выполнения с игрой.
    В общем игра думает, что клавиша не нажата, в то время как она нажата, т.к. инструкции опроса клавиатуры давно выполнились, опросили бит 6 убедились, что ничего не нажато, а клавишу только нажали.

    Как это исправить я не знаю. Возможно придётся обратно уменьшить время фрейма до 20 мс, чтобы немного увеличить отзывчивость. Но это скажется на производительности.

  3. #43
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,380
    Благодарностей: 244
    Записей в дневнике
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    В процессе обнаружился наверное неустранимый косяк. Поскольку инструкции, укладывающиеся во фрейм выполняются авансом, за как можно меньшее время, а нажатия на клавиши клавиатуры обрабатываются в реальном времени, то появляется рассинхрон.
    И в играх, вот как конкретно в BOLDER, в которых опрос клавиатуры делается не по прерыванию, а через бит 6 порта 177716 клавиатура просто не синхронизирована по времени выполнения с игрой.
    В общем игра думает, что клавиша не нажата, в то время как она нажата, т.к. инструкции опроса клавиатуры давно выполнились, опросили бит 6 убедились, что ничего не нажато, а клавишу только нажали.
    а в чём проблема, это ж эмуль с ненастоящей клавой, опроса клавиш хватит в начале фрейма, вот весь фрейм нажатие и засчитывать
    Прихожу без разрешения, сею смерть и разрушение...

  4. #44
    Member
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    155
    Благодарностей: 110
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нажатие реальной клавиши фиксируется по событию OnKeyDown, отжатие - по событию OnKeyUp ведь надо же обрабатывать бит 6 в регистре 177716 чтобы зафиксировать нажатие и отжатие. А эти события приходят когда им вздумается, а не когда начинается фрейм.
    наверное можно как-то привязывать результаты событий клавиатуры к границам фрейма, но нужно городить уже диспетчер привязки событий, чтобы они привязывались каждое к своему фрейму в порядке прихода. Делать очередь фреймов и событий, синхронизировать их.
    Причём OnKeyDown приходит циклично, пока клавиша нажата. а OnKeyUp - однократно при отжатии клавиши.
    Я вот не вижу простого решения.

  5. #45
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,380
    Благодарностей: 244
    Записей в дневнике
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    что там городить, дребезг, что ли, эмулировать собираешься? был за фрейм хоть один keydown? ну и нажата, значит, на время следующего
    Прихожу без разрешения, сею смерть и разрушение...

  6. #46
    Veteran Аватар для ZEman
    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    1,906
    Благодарностей: 311
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    сейчас видео выложу.
    это просто...
    у меня нет слов как назвать ЭТО !
    по сравнению с прошлыми эмуляторами мрак.

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

    https://youtu.be/yt8-dwoo2t8

    запускал одинаковые игры в новом и 3.1 версии эмулятора.
    менюшки и окошки отклеиваются и живут самостоятельной жизнью.
    большая часть игр так и не запускается, хотя в остальных эмуляторах всё нормально работает.
    эмулятор зависает так, что его приходится прибивать из диспетчера задач.
    баг на баге и багом погоняет.

  7. Этот пользователь поблагодарил ZEman за это полезное сообщение:
    hobot (22.03.2018)

  8. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  9. #47
    Guru Аватар для hobot
    Регистрация
    29.08.2011
    Адрес
    Зеленоград
    Сообщений
    4,956
    Благодарностей: 1151
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня было (проскочило)
    предложение к тов. Patron'у
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  10. #48
    Member
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    155
    Благодарностей: 110
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    был за фрейм хоть один keydown? ну и нажата, значит, на время следующего
    Сделал очередь событий клавиатуры, откуда события берутся в начале фрейма. Статус нажатия/отжатия держится весь фрейм целиком. Ничего не изменилось. Никаких улучшений.

    Цитата Сообщение от ZEman Посмотреть сообщение
    у меня нет слов как назвать ЭТО !
    Повезло. Словил дедлок. А я думал, что уже все места костылями подпёр. Значит ещё одно было незамеченное.

    Цитата Сообщение от hobot Посмотреть сообщение
    У меня было (проскочило)
    предложение к тов. Patron
    Я - за. Ибо на меня надежды мало.

  11. #49
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,380
    Благодарностей: 244
    Записей в дневнике
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Сделал очередь событий клавиатуры, откуда события берутся в начале фрейма. Статус нажатия/отжатия держится весь фрейм целиком. Ничего не изменилось. Никаких улучшений.
    зачем очередь?? зачем в принципе события? написал же, хватит даже одного опроса в начале фрейма, что нажато было в этот момент
    Прихожу без разрешения, сею смерть и разрушение...

  12. #50
    Activist
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    441
    Благодарностей: 285
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Как это исправить я не знаю. Возможно придётся обратно уменьшить время фрейма до 20 мс, чтобы немного увеличить отзывчивость. Но это скажется на производительности.
    А какова сейчас продолжительность фрейма? IMHO для игр 20 мс - это практически максимум...

Страница 5 из 8 ПерваяПервая 12345678 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Отличия БК-0011М от БК-0010(01)?
    от nzeemin в разделе БК-0010/0011
    Ответов: 20
    Последнее: 13.01.2018, 23:44
  2. БК-0010/0011: Разное
    от CD-Inc в разделе БК-0010/0011
    Ответов: 73
    Последнее: 30.07.2012, 14:58
  3. Начало выпуска БК-0011 и БК-0011М
    от dk_spb в разделе БК-0010/0011
    Ответов: 6
    Последнее: 14.10.2010, 13:22
  4. Отличие 0011 и 0011М
    от Kronshou в разделе БК-0010/0011
    Ответов: 11
    Последнее: 17.01.2010, 22:24
  5. Москва - куплю все связанное с БК-0010/0011
    от kt315b в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 04.10.2008, 03:09

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •