User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: Аппаратный горизонтальный скролл в Радио 86РК

  1. #11

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    3 экрана - не так много.
    не 3

    мы же не можем перестроить по середине новый кадр моментально

    нам еще нужно рисовать поверх спрайты

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

    а это уже 6 экранов
    а это уже...


    в принципе если дать уехать по глубже чтоб кадры не пересекались


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

    нужно видимо как то совместить несколько методов
    чтоб при движении в одну сторону готовился кадр с учетом движения в эту сторону

    может выделить памяти под кадра 4 или более
    использовать постепенную постройку следующиего кадра при предсказуемом движении
    или не использовать ее вообще
    но в случае выхода за границу перестраивать его с нуля по центру и все по новой...
    Последний раз редактировалось NEO SPECTRUMAN; 04.04.2017 в 16:48.

  2. #12

    Регистрация
    18.03.2017
    Адрес
    г. Москва
    Сообщений
    51
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мне думается, должно быть так:
    1.У нас удвоенное пространство, ПДП смотрит в первый буфер.
    2.Теперь делаем сдвиг на один байт, при этом у нас неверным оказывается один столбец из байтов справа и мы его дорисовываем.
    Также тот байт, который выпал из поля зрения слева, мы его тоже заполняем, но данными из будущего третьего экрана.
    3. Повторяем пункт 2, до тех пор пока ПДП не будет показывать второй буфер целиком.
    4. Переключаем ПДП снова на первый буфер, а там уже побайтно нарисован тоже самое, что во втором, но уже смещенное еще далее на байт.
    5. Переходим на пункт один.

    Таким образом надо обновлять столбец байтов впереди себя и один байт позади.

  3. #13

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    при том при движении в одну сторону мы будем спотыкатся об это через один и тот же интервал времени
    Ну тогда сделай так, чтобы в буфере всегда были два актуальных кадра. Один нормальный, а другой с разрывом на границе буфера. То есть в буфере будет сначала правая часть одной копии, затем полный экран, затем левая часть первой копии.

  4. #14

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEvS Посмотреть сообщение
    Мне думается, должно быть так:
    1.У нас удвоенное пространство, ПДП смотрит в первый буфер.
    2.Теперь делаем сдвиг на один байт, при этом у нас неверным оказывается один столбец из байтов справа и мы его дорисовываем.
    Также тот байт, который выпал из поля зрения слева, мы его тоже заполняем, но данными из будущего третьего экрана.
    3. Повторяем пункт 2, до тех пор пока ПДП не будет показывать второй буфер целиком.
    4. Переключаем ПДП снова на первый буфер, а там уже побайтно нарисован тоже самое, что во втором, но уже смещенное еще далее на байт.
    5. Переходим на пункт один.

    Таким образом надо обновлять столбец байтов впереди себя и один байт позади.
    см первую картинку (надо будет перезалить на яндекс фотке чтоб сразу было видно в хорошем разрешении...)
    на ней именно это и нарисовано

    проблема возникла при попытке совместить вертикальный и горизонтальный скроллинг

  5. #15

    Регистрация
    18.03.2017
    Адрес
    г. Москва
    Сообщений
    51
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По хорошему, нужна пересылка "память-память" через другой канал ПДП, тогда можно что угодно делать...

  6. #16

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  8. #17

    Регистрация
    18.03.2017
    Адрес
    г. Москва
    Сообщений
    51
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, я не спорю.
    Компьютер слаб, но ведь за это мы его так и любим. И вся ретро философия сводится к этому.
    Поэтому, я делаю свою "видеокарту" чтобы вдохнуть новую жизнь в старые игры, над которыми работали
    ЛЮДИ.
    Не ради какого-то заработка, не ради "лайков", а просто ХОЧУ.
    Что выйдет посмотрим. Может все это зря, хотя мое мнение, что ничего не бывает зря.

  9. #18

    Регистрация
    18.09.2008
    Адрес
    Донецкая обл.
    Сообщений
    95
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не нужно никаких дополнительных буферов. Фокус в том, что экран не обязан начинаться с самого младшего адреса. Контроллер ПДП гоняет же данные по кругу и начало экранной области может совсем не совпадать с началом экрана. Более того, для управления процессом синхронизации ВГ и ВТ не нужно перепрограммирование контроллеров вообще. Есть же волшебный код F3h - "конец изображения, стоп ПДП". Там, где он стоит - там и будет конец экрана. Достаточно каждый фрейм сдвигать этот код вперед/назад - и мы получим скроллинг в любом направлении без задействования дополнительной памяти.

  10. #19

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ага.
    Я сразу и не понел

    Я считал что можно сделать только безостановочный скролл подобным образом
    (когда ДМА перекидывает больше чем нужно)

    что то это совсем не подобный образ

    vinxru что то такое описывал вроде..

    интересно ПДП без задержек переходит на следующий круг?
    Последний раз редактировалось NEO SPECTRUMAN; 20.07.2017 в 00:15.

  11. #20

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    403
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    интересно ПДП без задержек переходит на следующий круг?
    Задержек нет.

    А в целом метод интересный, только вот сразу не соображу, можно ли избежать пустых кадров при скроллинге вверх (влево)? Если новый F3 располагается дальше, чем старый, то новый попадет в начало кадра и, как следствие, должен проскочить пустой кадр, и только со следующего появится смещенная картинка...

    Кто-нибудь пытался сделать что-то подобное?

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ассемблер Радио-86РК
    от gdv2002 в разделе Радио-86РК
    Ответов: 337
    Последнее: 13.02.2024, 07:25
  2. Радио-86РК: По страницам журнала "Радио"
    от Viktor2312 в разделе Радио-86РК
    Ответов: 79
    Последнее: 13.02.2014, 08:34
  3. Радио-86РК: Ремонт
    от kokosbot в разделе Радио-86РК
    Ответов: 59
    Последнее: 19.04.2013, 22:48
  4. Радио-86РК: Литература
    от caro в разделе Радио-86РК
    Ответов: 6
    Последнее: 26.04.2011, 10:18
  5. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

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