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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 26

Тема: Не понимаю, как работает мультиколор в игре

  1. #1
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Не понимаю, как работает мультиколор в игре

    Решил дисассемблировать одну игру (Buzzaw+), глянуть как реализован мультиколор.
    Там огромный состав вот такого кода:

    LD sp,nnnn 10
    POP 10
    POP 10
    POP 10
    EXX 4
    POP 10
    POP 10
    POP 10
    POP 10
    LD sp,nnnn 10 94

    PUSH 11
    PUSH 11
    PUSH 11
    PUSH 11
    EXX 4
    PUSH 11
    PUSH 11
    LD sp,nnnn 10
    PUSH 11
    LD A,(IX+-n) 19
    OUT (0xFE),A 11 121

    Цифирки - такты выполнения.
    Получается, что на вывод тратится 121 такт.

    Но время, которое тратится на бордюр и горизонтальную синхру - 96 тактов.
    http://www.zxdesign.info/horiztiming.shtml
    На остальное время проц блокирован ULA, при выводе в медленную память или порты.
    Что я неправильно понимаю??? Или возможна запись в порт во время вывода изображения, в фирменном спеке?
    Последний раз редактировалось predatoralpha; 26.05.2012 в 03:41.

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

  3. #2
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,751
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    266
    Поблагодарили
    200 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    тебе это не в графике писать надо а в программировании

    в строке у тебя 216 или 224 такта
    у тебя получается 94+121=215 тактов

    возможно в конце знакоместной строки всплывет еще пара nop
    С уважением,
    Jerri / Red Triangle.

  4. #3
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это не мой код, а отлично работающая игра.
    То, что тактов меньше - не проблема. Ula придержит немного проц.
    Вопрос в другом - почему это вообще работает, и не сбивается. Слишком много тактов тратится на вывод.
    Кстати, 216 тактов - это где, в каких клонах?

  5. #4
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,767
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    1,173
    Поблагодарили
    770 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а что мешает пообщаться с автором игры на форуме wos ???
    это ведь проще чем мыслить догадками. хорошо хоть он (автор) сделал поддержку времянок Пентагона.

  6. #5
    Master
    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Это не мой код, а отлично работающая игра.
    То, что тактов меньше - не проблема. Ula придержит немного проц.
    Вопрос в другом - почему это вообще работает, и не сбивается. Слишком много тактов тратится на вывод.
    А я бы сказал слишком мало)))
    Команды работы с медленной памятью занимают 88 тактов (8команд)
    торможение в пределах идет только когда отображается экран (128т), и торможения нет на бордюре (96т для zx48 и 100т для zx128)
    Большинство приведенного кода выполняется на бордюре, и только 1 команда попадает на торможение (+8т максимум тормозиться)

    вот тебе и ответ)

    94+121=215 -> 9/13т свободно для торможения +- остальные выравниваются
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

  7. #6
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,751
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    266
    Поблагодарили
    200 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от predatoralpha Посмотреть сообщение
    Это не мой код, а отлично работающая игра.
    То, что тактов меньше - не проблема. Ula придержит немного проц.
    Вопрос в другом - почему это вообще работает, и не сбивается. Слишком много тактов тратится на вывод.
    Кстати, 216 тактов - это где, в каких клонах?
    Это на фирменной машине при отсутствии конфликта с УЛА

    на скорпионах 216/224 такта
    на пентагонах 224 такта стабильно
    С уважением,
    Jerri / Red Triangle.

  8. #7
    Master
    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    Это на фирменной машине при отсутствии конфликта с УЛА
    Дык как раз я и объяснил как и когда происходит конфликт с УЛА

    Цитата Сообщение от jerri Посмотреть сообщение
    на скорпионах 216/224 такта
    на пентагонах 224 такта стабильно
    на пентагонах да, на скорпионах нет... что за число такое 216?
    На скорпионах всегда 224!

    Единственное НО - команды до четного такта продлеваются, т.е. на пентагоне LD A,1 7тактов, на скорпионе 8 (в каких то ревизиях это должны были исправить)
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

  9. #8
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,751
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    266
    Поблагодарили
    200 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    TmK, возьми желтый скорп и возьми зеленый
    у меня на желтом было 224 такта
    на зеленом 216
    так я фиксил мультиколоры
    С уважением,
    Jerri / Red Triangle.

  10. #9
    Master
    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    страшный какой то комп))) Что на самом деле на зеленом 216 тактов оО?
    я думал там 224 и как раз округление до четнотактового убрано...

    живого скорпа никогда не трогал...
    Последний раз редактировалось TmK; 26.05.2012 в 14:59. Причина: живого скорпа никогда не трогал...
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

  11. #10
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ребята, не знаю как на скорпионах и пентагонах, а на фирменных спеках как за медленную память, так и за порты отвечает ULA.
    http://lvd.nm.ru/ZX/2_sch.png
    И порт не может работать совсем уж прозрачно в режиме видеоотображения. Поскольку на шине данных есть данные, а на адресной шине ULA идёт RAS/CAS для медленной памяти.
    И вот между первым PUSH и последним OUT есть 121 такт. Что в никакие времянки не влазит.
    Отсюда вопрос - как фирменная ULA обрабатывает запись в порт? Блокирует проц? Задерживает на пару тактов? Как то ещё? Потому что если ULA блокирует проц, этот код не может исполняться на фирменном Спеке.
    Последний раз редактировалось predatoralpha; 26.05.2012 в 17:06.

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

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

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

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

Похожие темы

  1. Ответов: 29
    Последнее: 07.04.2020, 08:56
  2. Мультиколор. И с чем его едят.
    от Demige в разделе Изображение
    Ответов: 2
    Последнее: 31.01.2012, 17:11
  3. Отличия NES мультиколор
    от Juge (GodFather) в разделе Nintendo
    Ответов: 0
    Последнее: 09.09.2010, 17:50

Ваши права

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