User Tag List

Страница 16 из 32 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 317

Тема: GameNoname

  1. #151

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, я имел ввиду что переносить спрайт из бэкбуфера на квазидиске в основной экран сделан по столбцам так как pop читает данные вдоль столбцов.

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

  3. #152

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Формат бэкбуфера не обязательно должен совпадать с форматом экрана.

  4. #153

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Формат бэкбуфера не обязательно должен совпадать с форматом экрана.
    Ага. Кажется я указывал это несколькими сообщениями выше.

    - - - Updated - - -

    ivagor, если у тебя получится найти быстрый способ переноса спрайта из бэкбуфера построчно, то будет супер.

  5. #154

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если выводить в три плоскости подряд (по 3 байта) и змейкой, то нет разницы в скорости, хоть по столбцам, хоть по строкам
    Это я про вывод отдельных тайлов, которые можно расположить в памяти блоками. Для копирования из графического бэкбуфера такого результата, к сожалению, вряд ли получится достичь, по столбцам будет быстрее в связи с меньшим количеством прерываний линейности копирования. Вопрос в соотношении таких критериев как скорость вывода и заметность тиринга.

  6. #155

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не знаю насколько точно emu80 и v06x соответствуют реальному вектору. Думаю что очень близко. Но теаринга я не наблюдаю.

  7. #156

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,307
    Спасибо Благодарностей отдано 
    1,033
    Спасибо Благодарностей получено 
    818
    Поблагодарили
    489 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Не знаю насколько точно emu80 и v06x соответствуют реальному вектору. Думаю что очень близко. Но теаринга я не наблюдаю.
    С точки зрения теринга соответствуют очень хорошо.

    Есть еще особенность вывода на писишный монитор, у него свой рефреш как правило некратный 50, поэтому какое-то артифаченье и неплавность возможны даже когда источник сигнала 50Гц. Самый лучший результат, который у меня получалось достичь с не-реалом, был с v06x на raspberry pi 3 с композитным выходом, подключенным к ЭЛТ. Композитный выход raspi 3 можно настроить в "псевдо-прогрессивную" развертку и 50Гц. Некоторые вещи, которые кажутся не идеально плавными в эмуляторах, могут быть на самом деле плавными на реале и ЭЛТ. Или даже они могут дергаться на реале с LCD, просто потому что LCD внутри делает конвертацию. Но по-моему это не те эффекты, которые можно заметить в такой игре. Это больше когда что-нибудь быстро летает, или скроллится.
    Больше игр нет

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

    parallelno(21.10.2022)

  8. #157

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Было бы здорово если кто-нибудь потестил ром игры на реальном векторе. Заранее спасибо!
    Ром можно скачать пройдя по ссылке https://github.com/parallelno/Vector...GameNoname.rom
    и кликнув скачать

    Еще небольшой апдейт. Закончил preshifting фичу. Пришлось немного повозится чтобы перенести ее код на квазидиск. У меня данные которые перенесятся на квазидиск объединяются в сегменты по 32K, затем сжимаются. чтобы сделать прешифтинг нужно положить 32K сегмент в квазидиск в адреса $8000 и выше, чтобы он был доступен для испольняемого кода, но так как сегмент занимает почти все 32к, то для кода в адресах $8000 и выше уже не остается места. Пришлось переписать сборку проекта так чтобы можно было автоматически сплитить 32K сегменты на произвольные чанки и упаковывать отдельно. Затем в игре я распаковываю каждый чанк, прешифтю данные спрайтов, переношу на нужное место в квазидиске. Код на квазидиске лежит в адресах $8000-9FFF. Адреса с $A000-FFFF используются для backbuffer. Поэтому пока игра инициализирует свои данные, эти 24K очень пригодились для прешифтинга.

    Прикладываю видео для того чтобы оценить задержку перед старторм уровня. Примерно 4 сек. но это только для скелета и героя. Интересно будет подумать потом как размазать этот процес по времени чтобы это небыло скучным ожиданием для игрока.

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

    ivagor(21.10.2022), KTSerg(21.10.2022), Vatr(21.10.2022)

  9. #158

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прешифт можно сильно ускорить, например так:
    Код:
    	;один раз читаем
    	mov e,m
    	inx h или dcx h
    	mov d,m
    	inx h или dcx h
    	mov a,m
    	;сдвигаем
    	xchg
    	dad h\ ral
    	xchg
    	lxi b,...
    	dad b				;перешли к месту хранения сдвинутого варианта
    	mov m,a
    	dcx h или inx h
    	mov m,d
    	dcx h или inx h
    	mov m,e
    	;потом еще сдвигаем и записываем и т.д.
    Одно чтение на 7 записей.

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

    parallelno(21.10.2022)

  10. #159

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, о, класс. Про dad отличная идея!

    - - - Updated - - -

    Если сдвигать сразу на несколько пикселей, то получается выгоднее чем просто rar или ral

    - - - Updated - - -

    Код конечно разбухнет, но попробовать стоит.

    - - - Updated - - -

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

    - - - Updated - - -

    Хотя в некоторых случаях понадобится смещение в право. Но для этого можно оставить старый код.
    Последний раз редактировалось parallelno; 21.10.2022 в 11:03.

  11. #160

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    По поводу одно чтение, 7 записей к сожалению не подходит в моем случае так как ширина прешифтленных спрайтов у меня может быть разная.
    Это я не понимаю. Есть спрайт, у него некоторая ширина, нужно сгенерировать 7 сдвинутых версий. Если проблема в ширине>3 байт, то по крайней мере до 5 байт можно использовать подобный подход, но придется переделать и эффективность уменьшится.

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

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

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    по крайней мере до 5 байт можно использовать подобный подход, но придется переделать и эффективность уменьшится.
    А лучше до 4

Страница 16 из 32 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя

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

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

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

Ваши права

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