User Tag List

Страница 18 из 45 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя
Показано с 171 по 180 из 443

Тема: Пишу шедевр для «Вектора 06Ц»

  1. #171

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

    По умолчанию

    В итоге вся разница в том, что в моем варианте будут видны только 9 полных строк, а в твоем еще и "частичные" строки.

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

    metamorpho(31.07.2020)

  2. #172

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Или уменьшить размер ячейки лабиринта по вертикали до 22-ух или 20-ти строк.
    Даже при высоте 22 строки, это на экране 10 строк лабиринта в высоту, и 36 строк ширмы. Достаточно, чтобы полностью спрятать уходящие за предел экрана элементы, без необходимости резать вывод спрайтов.

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

    А сколько строк спрайта лабиринта прячется под ширмой, при подготовке для скроллинга, 8 строк ?
    Получается, 22 строки - уходящий за ширму элемент, плюс 8 строк - с другой стороны для подготовки лабиринта... между ними зазор 6 строк...
    Если не будет ситуации, когда два элемента уходят за пределы экрана одновременно в одной колонке лабиринта, то артефактов быть не должно. А с другой стороны, даже если они за ширмой что-то друг с другом сделают... этого-же ни кто не увидит
    Последний раз редактировалось KTSerg; 30.07.2020 в 07:49.

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

    metamorpho(31.07.2020)

  3. #173

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    В итоге вся разница в том, что в моем варианте будут видны только 9 полных строк, а в твоем еще и "частичные" строки.
    Ну да. Я о чем и говорю. главное это ширма и возможность скрываться за ней врагов. то что некоторые строки будет видно частично - только плюс
    на экране технически может отображаться до 11 разных строк - просто верхняя и нижняя всего по 8 линий.
    Последний раз редактировалось jerri; 30.07.2020 в 11:02.
    С уважением,
    Jerri / Red Triangle.

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

    metamorpho(31.07.2020)

  4. #174

    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    458
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    103 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #175

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Обошёлся пока без дополнительного удлинения ширмы.
    Написал две специальные дополнительные подпрограммы вывода спрайта (построчно) при его достижении верхней и нижней границы экрана.
    Иногда бывает появляется артефакт, пока не понял почему.
    В тестовом уровне обрабатывается 4-е летающих объекта (не считая главного героя, огонька и монет).
    При этом скорость снизилась, но не критично (на мой взгляд).
    Возможно можно будет что-то ускорить засчёт оптимизации.
    Ниже (rom) для тестов

    ага красиво

    рисовать шторку через стек - дорого по тактам
    надо по другому

    у тебя спрайты какого размера?

    переход от битплана к битплану очень дорого

    надо змейкой - слева направо битплан 1, справа налево битплан 2, слева направо битплан 3, потом вниз
    потом наоборот

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

    почему враги визуально подвисают при движении героя?

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

    ivagor, можешь вот это на векторский перевести?
    interrupt.zip

    и например обьяснить как этим правильно пользоваться
    С уважением,
    Jerri / Red Triangle.

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

    metamorpho(01.08.2020)

  6. #176

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

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    ivagor, можешь вот это на векторский перевести?
    Как понимаю, речь опять про способ/метод Медноногова. PPC уже переводил на векторовский, надо вспомнить выкладывал ли он исходник, но обсуждение точно можно найти в ветке Robotz, она не такая уж большая.

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

    metamorpho(01.08.2020)

  7. #177

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    ivagor, можешь вот это на векторский перевести?
    interrupt.zip
    и например обьяснить как этим правильно пользоваться
    Сколько смотрю на этот алгоритм, не могу понять, как можно восстановить испорченные стеком данные.
    С моей точки зрения, сделать это на 100% - это не возможно.

    Пример.
    Есть на экране картинка. Я с помощью стека вношу в неё изменения.
    Только-что полностью закончил вывод спрайта, и собираюсь восстановить указатель стека, который в данный момент указывает на фоновую картинку под выведенным спрайтом... И тут пришло оно... прерывание... Адрес возврата из прерывания пишется в стек, т.е. прямо на мою фоновую картинку, о содержимом затёртого стеком ни кто, ни как знать вообще не может...
    Подпрограмма "восстановления" в прерывании загоняет за место двух затёртых байт фоновой картинки содержимое пары ВС (если я правильно понял), и вот на фоновой картинке под спрайтом появляется артефакт...
    А если я только занёс в ВС данные для спрайта, но не выполнил PUSH BC... и произошло прерывание, то оно сделает это за меня, испортив два предыдущих байта в спрайте?
    Выход только один, в своих подпрограммах вывода спрайта, постоянно запрещать и разрешать прерывания... а будет ли при этом выигрыш от использования стека, вот в чём вопрос ?
    Последний раз редактировалось KTSerg; 01.08.2020 в 07:43.

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

    metamorpho(01.08.2020)

  8. #178

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Сколько смотрю на этот алгоритм, не могу понять, как можно восстановить испорченные стеком данные.
    С моей точки зрения, сделать это на 100% - это не возможно.

    Пример.
    Есть на экране картинка. Я с помощью стека вношу в неё изменения.
    Только-что полностью закончил вывод спрайта, и собираюсь восстановить указатель стека, который в данный момент указывает на фоновую картинку под выведенным спрайтом... И тут пришло оно... прерывание... Адрес возврата из прерывания пишется в стек, т.е. прямо на мою фоновую картинку, о содержимом затёртого стеком ни кто, ни как знать вообще не может...
    Подпрограмма "восстановления" в прерывании загоняет за место двух затёртых байт фоновой картинки содержимое пары ВС (если я правильно понял), и вот на фоновой картинке под спрайтом появляется артефакт...
    А если я только занёс в ВС данные для спрайта, но не выполнил PUSH BC... и произошло прерывание, то оно сделает это за меня, испортив два предыдущих байта в спрайте?
    Выход только в своих программах постоянно запрещать и разрешать прерывания... а вудет ли при этом выигрыш от использования стека, вот в чём вопрос ?
    Ну над этим алгоритмом работал один из гениев программирования спектрума.

    Задача этого набора процедур не дать сдохнуть данным спрайтов выводимых через стек при включенных прерывания.

    Для этого нужна другая процедура рисования спрайтов. Более быстрая. С прокачкой данных через стек.

    Стек не на экране. Стек на спрайтах.
    С уважением,
    Jerri / Red Triangle.

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

    metamorpho(01.08.2020)

  9. #179

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Стек не на экране. Стек на спрайтах.
    Вот с этим согласен.
    Если стек на спрайте, а не на экране. Есть вероятность корректной работы алгоритма.
    Для этого как минимум нужно разрешить прерывание только после установки стека на спрайт и чтения первых байт спрайта. А перед переходом на другой спрайт запрещать.
    Иначе спрайтам - кирдык.
    Можно конечно выкрутиться, и подогнать, что-бы все спрайты начинались и заканчивались одинаково... тады...
    Последний раз редактировалось KTSerg; 01.08.2020 в 07:59.

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

    metamorpho(01.08.2020)

  10. #180

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Вот с этим согласен.
    Если стек на спрайте, а не на экране. Есть вероятность корректной работы алгоритма.
    Для этого как минимум нужно разрешить прерывание только после установки стека на спрайт и чтения первых байт спрайта.
    Прерывания разрешены всегда.
    Просто сначала заряжаешь основной регистр под графику, потом уже стек.
    С уважением,
    Jerri / Red Triangle.

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

    metamorpho(01.08.2020)

Страница 18 из 45 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 696
    Последнее: 25.10.2025, 02:34
  2. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  3. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  4. Ответов: 198
    Последнее: 26.04.2020, 13:05
  5. Ответов: 58
    Последнее: 06.07.2019, 23:56

Ваши права

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