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

User Tag List

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

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

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

    По умолчанию

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

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

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

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

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


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


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

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

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

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

    По умолчанию

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

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

  3. #13
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

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

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

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

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

    По умолчанию

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

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

    По умолчанию

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

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

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

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

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

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

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

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

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

  11. #20
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,177
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    455
    Поблагодарили
    182 сообщений
    Mentioned
    7 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

Ваши права

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