User Tag List

Страница 53 из 67 ПерваяПервая ... 495051525354555657 ... ПоследняяПоследняя
Показано с 521 по 530 из 666

Тема: Портирование игры "Last Mission" на УКНЦ

  1. #521

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Основной цикл чего?
    Основной игровой цикл.
    Цитата Сообщение от Titus Посмотреть сообщение
    синхронизация привязывается к кадровой развертке, т.е. в данном случае к таймеру 50Гц.
    У меня получается наоборот.. таймер на 100м векторе живет своей жизнью.. обрабатывая список вывода (заранее просчитанных) активных объектов.
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  2. #522

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    У меня получается наоборот.. таймер на 100м векторе живет своей жизнью.. обрабатывая список вывода (заранее просчитанных) активных объектов.
    Заодно привяжи к нему и синхронизацию игрового цикла.
    Привяжи - это не значит, помести обработку игрового цикла внутрь обработчика кадровых пререываний.

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

    Этот пользователь поблагодарил Titus за это полезное сообщение:

    S_V_B(05.04.2020)

  3. #523

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Цитата Сообщение от Titus Посмотреть сообщение
    Привяжи - это не значит, помести обработку игрового цикла внутрь обработчика кадровых пререываний.
    я догадываюсь
    т.е. там же сделать некий счетчик и мы будем знать сколько кадров прошло с прошлого раза.
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  4. #524

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Я твоего обьяснения не понял, и никаких возражений не имею)

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

    Цитата Сообщение от S_V_B Посмотреть сообщение
    т.е. там же сделать некий счетчик и мы будем знать сколько кадров прошло с прошлого раза.
    Да, например, так.

  5. #525

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я твоего обьяснения не понял,
    Я сам не ожидал, что получится такая прибавка к скорости (я еще даже не оптимизировал.. так набросал чтобы работало).
    Даже как-то настроение повысилось..

    Карантин идет в пользу
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  6. #526

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Включить\Выключить сетевой таймер из ЦП можно только так?
    Код:
    .ASCIZ    <33><267>	        ;влючить сетевой таймер ЦП
    .ASCIZ    <33><277><267>	;вылючить сетевой таймер ЦП
    Или есть еще варианты?
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

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

  8. #527

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновление:
    https://yadi.sk/d/XLyQ-qbc_17P5w

    Можно уже стрелять и геноцидить
    Возможны глюки, все в процессе отладки.
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

    Эти 3 пользователя(ей) поблагодарили S_V_B за это полезное сообщение:

    hobot(16.04.2020), Rus(16.04.2020), Titus(16.04.2020)

  9. #528

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Возможны глюки, все в процессе отладки.
    на первом же экране при попадании в самого нижнего кого то там вылет,


    повторный запуск, вылет этажом выше

    Архив программ для УК-НЦ, ДВК и БК.

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

  10. #529

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не молоти пробел как угорелый.. разбираюсь с этой проблемой, также в упор врагов не расстреливай (негуманно )

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

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

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

    Еще неприятность - пробел пересекается с кнопкой вправо, так что при движении вправо стрелять не получится.
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

    Этот пользователь поблагодарил S_V_B за это полезное сообщение:

    hobot(16.04.2020)

  11. #530

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Включить\Выключить сетевой таймер из ЦП можно только так?
    Код:
    .ASCIZ <33><267> ;влючить сетевой таймер ЦП
    .ASCIZ <33><277><267> ;вылючить сетевой таймер ЦП
    Или есть еще варианты?
    Цитата Сообщение от S_V_B Посмотреть сообщение
    Такова цена асинхронности отрисовки.. глюки вылазят где не ждали, поэтому выше спрашивал про таймер.. все дружно промолчали
    Бит 9 регистра 0177054 в магистрали ПП, установлен в 1 - не работает, сброшен в ноль - работает.
    BIC #400,@#177054 - разрешить сетевой таймер в магистрали ЦП.
    BIS #400,@#177054 - запретить сетевой таймер в магистрали ЦП.
    Но есть одно НО. События сетевого таймера поступают на вход EVNT процессора, там по данному случаю устанавливается триггер, по установленному состоянию которого и производится прерывание по вектору 100. При удовлетворении прерывания триггер очищается. Теперь представим такую ситуацию: у нас в ЦП запретили прерывания командой MTPS #200. Установлен 7-й бит в PSW, прерывания не возникают, но импульсы на вход EVNT поступают, поэтому триггер сетевого таймера установлен. В магистрали ПП командой BIS #400,@#177054 запрещаем подавать импульсы на вход EVNT ЦП. Но триггер сетевого таймера остался в установленном состоянии. Поэтому при разрешении прерываний командой MTPS #0 всё равно проскочит одно прерывание по сетевому таймеру.

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    hobot(16.04.2020)

Страница 53 из 67 ПерваяПервая ... 495051525354555657 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Портирование Lode Runner БК->УКНЦ
    от nzeemin в разделе ДВК, УКНЦ
    Ответов: 103
    Последнее: 12.12.2020, 04:04
  2. "Ресурсы УКНЦ" Влада Жигалова
    от nzeemin в разделе ДВК, УКНЦ
    Ответов: 45
    Последнее: 08.07.2018, 11:57
  3. Ответов: 17
    Последнее: 26.12.2015, 23:22
  4. Ответов: 0
    Последнее: 15.08.2010, 14:38
  5. Ответов: 4
    Последнее: 06.01.2009, 00:08

Ваши права

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