User Tag List

Страница 44 из 45 ПерваяПервая ... 404142434445 ПоследняяПоследняя
Показано с 431 по 440 из 443

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

  1. #431

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

    По умолчанию

    VV и v06x точно, emu80v2 думаю тоже. b2m, когда я проверял последний раз, вел себя слегка девиантно, но не так существенно, чтобы повлиять на тестирование разрывов.
    Больше игр нет

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

    parallelno(04.07.2022)

  2. #432

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

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    совсем незначительно ускорил (только в инициализации)
    Фишка варианта с
    MOV C, M ; (8)
    INX H ; (8)
    MOV B, M ; (8)
    INX H
    в инициализации в том, что можно выводить спрайты стеком при разрешенных прерываниях по методу Медноногова. Но если прерывания запрещены, то конечно в этом нет необходимости.

  3. #433

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

    По умолчанию

    ivagor, в моем варианте прерывания тоже разрешены.

  4. #434

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

    По умолчанию

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

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

    Если конкретнее, то проблема возникнет, если прерывание попадет в промежуток от SPHL до DRAW_EVEN_LINE_PARALLELNO2(). Вероятность этого не такая уж большая, чтобы проблема сразу проявилась, но при долгой работе это произойдет.

  5. #435

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

    По умолчанию

    Если мы ещё ничего не считали со стека, то sp указывает на начало спрайта. Если прерывание произойдет, то оно испортит те два байта перед данными спрайта, а это не страшно.

  6. #436

    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    600
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А если прерывание произойдёт чуть позже, то адрес возврата затрёт спрайт. Использование регистров BC позволяет всегда хранить эти два байта на регистрах и восстановить их в обработчике прерывания.
    А перед самым началом спрайта делается двухбайтовая дырка, из которой мы никогда ничего не читаем. Затрёт -- так затрёт.

    Можно уж было дать и развёрнутое объяснение. Вас же и другие люди читают.

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

  8. #437

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

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Если прерывание произойдет, то оно испортит те два байта перед данными спрайта, а это не страшно.
    Да, jerri предложил этот вариант в теме robotz (PPC). Точнее он предложил оставлять между спрайтами (минимум) по 2 байта. Просто переход от варианта с "любым" размещением спрайтов к "разреженному" произошел без комментария.
    Последний раз редактировалось ivagor; 05.07.2022 в 07:08.

  9. #438

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

    По умолчанию

    Sandro, Извини пожалуйста. спасибо что дал развёрнутое объяснение. Но хочу уточнить что притензия не принимается, так как я отвечал не всем, а только
    05ivagor
    Да, jerri предложил этот вариант в теме robotz (PPC). Точнее он предложил оставлять между спрайтами (минимум) по 2 байта. Просто переход от варианта с "любым" размещением спрайтов к "разреженному" произошел без комментария.
    В этой теме кажется кто-то написал о том что нужно держать 2 safety байта до данных. И KTSerg в этой теме выложил свой вариант исходника где так же это было. Поэтому я посчитал что вроде бы все уже этой используют. Сорян.

  10. #439

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

    По умолчанию

    Цитата Сообщение от metamorpho Посмотреть сообщение
    Про артефакт с вертолётом знаю, возможно позже исправлю, но сначала нужно понять откуда он растёт
    Базырь в новом v06x позволил увидеть механизм возникновения артефакта. В игре, как я понимаю, есть ограничение области рисования спрайта по высоте, если на него наезжает шторка. Если при движении главгероя по вертикали шторка наехала на спрайт врага, то под шторкой останется нестертый фрагмент. Пока его не видно, но когда главгерой сместится по вертикали обратно и врага в это время не будет рядом со шторкой, то из под нее проявится нестертый фрагмент. По моему разумению возможный вариант борьбы - разрешить рисование спрайта под шторкой, чтобы он продолжал затирать.

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

    metamorpho(19.07.2022)

  11. #440
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Фишка варианта с
    MOV C, M ; (8)
    INX H ; (8)
    MOV B, M ; (8)
    INX H
    в инициализации в том, что можно выводить спрайты стеком при разрешенных прерываниях по методу Медноногова. Но если прерывания запрещены, то конечно в этом нет необходимости.
    MOV R,M занимает 7 тактов, а INX RP только 5. Почему указано 8? Там есть дополнительные такты ожидания?

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

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

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

Эту тему просматривают: 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

Ваши права

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