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

User Tag List

Страница 16 из 20 ПерваяПервая ... 121314151617181920 ПоследняяПоследняя
Показано с 151 по 160 из 200

Тема: Вектор-06Ц: Эмуляция - КР580ВМ80А

  1. #151
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чтобы картина была более полной, сделал вариант теста Вложение 13888, в котором перед тем как пойдет основная группа команд добавлен один nop. Результат с реала:
    Последний раз редактировалось ivagor; 15.12.2009 в 15:23.

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

  3. #152
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Последняя проверка - заменил EI на EI + NOP (генерацию соответственно поправил) - стало как в эмуляторе - 1D38. Т.е. когда EI разбавлены NOPами процессор может после NOPа все же обработать прерывание.
    Надеюсь, уважаемые разработчики эмуляторов учтут эту особенность КР580.
    Последний раз редактировалось ivagor; 24.10.2009 в 17:45.

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

    По умолчанию

    Вот убей не помню, зачем я в mov a,a сделал 4 такта как у NOP, но это оказалось неправильно

  5. #154
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Доделываю тест (добавляю команды и немного повышаю универсальность), попробовал в эмуляторах с z80. Растактовка z80 для вектора вызывает уныние и в b2m (все совсем плохо) и в VV (некоторые команды). Зато в b2m для z80 реализована особенность обработки прерываний при выполнении ei.
    Текущий вариант теста работоспособен до 6 МГц включительно, в связи с этим обнаружилась проблема с последними версиями b2m. Конфиг вектора с z80 на 6 МГц еще работает в версии 06.10.2009 и уже не работает в версии 12.10.2009. Это не связано с тестом, просто конфиг не запускается.
    Последний раз редактировалось ivagor; 25.10.2009 в 10:47.

  6. #155
    Master Аватар для Ramiros
    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    954
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    71
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Надеюсь, никто не думал, что уже все сэмулировано точно?
    Сделал тестик Вложение 13887, который проверяет, сколько команд выполнится между прерываниями. Там не все команды, надоело их вбивать. А для тестирования jmp, call, ret и т.п. надо доделывать. Вот результат с реала:
    Вложение 13884
    Тест прогонял 2 раза, результаты оба раза абсолютно идентичные, поэтому привел только 1 картинку.
    Как оказалось, до сих пор можно программно отличить реал от эмуляторов. Мало того, можно отличить b2m от VV.
    EI - это жесть, похоже во всех эмуляторах при выполнении (или после выполнения) EI проверяется приход прерывания, даже если следующая команда тоже EI. А на реальном КР580 при выполнении EI приход прерывания не проверяется, у меня так и в книжке написано. В итоге, пока область EI в тесте не заканчивается, прерывание не обрабатывается.
    Хм.. интересная особенность, правда я нигде невстречал ни слова об этом

    ---------- Post added at 13:38 ---------- Previous post was at 13:34 ----------

    ivagor, ты хочешь сказать что это относится и к Z80? а к ВМ1 это условие тоже применимо?
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  7. #156
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Хм.. интересная особенность, правда я нигде невстречал ни слова об этом
    Отсканировал фрагмент книжки Вложение 13893, стр. 61-62.

    Цитата Сообщение от Ramiros Посмотреть сообщение
    ivagor, ты хочешь сказать что это относится и к Z80?
    По z80 datasheet. Стр. 14 бумажного документа (стр. 10 pdfa) - табличка. У EI и DI звездочки, снизу примечание
    *indicates interrupts are not sampled at the end of EI or DI

    Цитата Сообщение от Ramiros Посмотреть сообщение
    а к ВМ1 это условие тоже применимо?
    По ВМ1 вряд ли удастся найти источники, только проверять на реале, если он будет. Еще 1821ВМ85 меня интересует.
    Последний раз редактировалось ivagor; 23.11.2009 в 07:39.

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Как оказалось, до сих пор можно программно отличить реал от эмуляторов.
    Исправлено.

  9. #158
    Tim0xA
    Гость

    По умолчанию

    VV 5.94 на сайте!
    Исправлена система прерываний.

    ---------- Post added at 09:55 ---------- Previous post was at 09:52 ----------

    ivagor, респект за тесты!
    Кстати, как подключил Вектор? Через тюнер? Делал ли доработку синхронизации?

  10. #159
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    b2m и Ramiros - спасибо за доработки.
    Однако разница с реалом осталась. Если приглядитесь к картинке с результатами spdtest, для 8 тактных команд наблюдются колебания в одну команду:
    ADD M, MOV M, MVI R - 1D38
    INR R, INX, MOV R, SPHL - 1D39
    Проверял несколько раз - результат аналогичный, т.е. для определения реал/эмулятор это можно использовать. Я не утверждаю, что именно эти команды всегда выполняются "чуть быстрее" или прерывание для них таинственным образом "растягивается", скорее всего это результат стечения каких-то обстоятельств. Если добавить один nop (см. spdtest2) то результаты становится гладкие как в эмуляторе (скриншот с результатом spdtest2). Есть какие-нибудь идеи почему так происходит?

    Цитата Сообщение от Tim0xA Посмотреть сообщение
    Кстати, как подключил Вектор? Через тюнер? Делал ли доработку синхронизации?
    Через тюнер. Синхру не дорабатывал, зажал на векторе яркость, кадры медленно плывут. Записываю короткий фрагмент, выбираю оттуда "правильный" кадр. Такая вот технология. Купил 2 155ЛЕ1, теперь надо искать, кто мне ее впаяет.

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Я не утверждаю, что именно эти команды всегда выполняются "чуть быстрее" или прерывание для них таинственным образом "растягивается", скорее всего это результат стечения каких-то обстоятельств. ... Есть какие-нибудь идеи почему так происходит?
    Закономерность только одна: команды в первой строке выполняются на "нормальном" процессоре за 7 тактов, во второй - за 5. Видимо, это как-то влияет на возникновение прерывания. Точнее, это влияет на то, какая команда будет "ждать" пару тактов - последняя до прерывания, или первая после.

Страница 16 из 20 ПерваяПервая ... 121314151617181920 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вектор-06Ц: Эмуляция
    от ZEman в разделе Вектор
    Ответов: 1450
    Последнее: 16.03.2024, 20:18
  2. Рекомпиляция Z80 -> КР580ВМ80А
    от svofski в разделе Вектор
    Ответов: 59
    Последнее: 28.06.2021, 15:10
  3. Вектор-06Ц
    от Robusta в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 17.03.2009, 23:18
  4. Вектор-06Ц: БП от PC
    от Dmitry Dubrovenko в разделе Вектор
    Ответов: 11
    Последнее: 08.03.2009, 21:53
  5. Ищу ВЕКТОР-06ц
    от BYTEMAN в разделе Барахолка (архив)
    Ответов: 13
    Последнее: 17.11.2008, 20:50

Ваши права

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