User Tag List

Страница 44 из 81 ПерваяПервая ... 404142434445464748 ... ПоследняяПоследняя
Показано с 431 по 440 из 803

Тема: Реверс-инжиниринг Z80

  1. #431

    Регистрация
    20.06.2014
    Адрес
    г. Чехов
    Сообщений
    56
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    30 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Также хотелось бы понять -- тут реверсится только конкретная модель Z80 (та на которой базируется VisualZ80) или уже началось всё подряд (кмос-шмос)?

  2. #432

    Регистрация
    13.10.2021
    Адрес
    Cádiz, Spain
    Сообщений
    15
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Мне не нужно его тестировать на модели, мне нужно теоретическое описание, чтобы проверить, почему оно так происходит по схеме реверса.

    Кстати, на основе чего создан visualz80remix? На основе Z80 Explorer'а?
    Я думаю, что он использует тот же нетлист, но является более продвинутым и исправляет некоторые ошибки. Это независимая разработка, эволюция Visual Z80 (http://www.visual6502.org/JSSim/expert-z80.html). Visual Z80 Remix - лучший симулятор, и если вы обнаружите ошибку, ее автор быстро ее исправит, если вы ему сообщите.

    С помощью этого симулятора мы открыли новые вещи. Например, что процессор не принимает второй NMI, пока отвечает на NMI, или что MEMPTR модифицируется во время дополнительного цикла, который декрементирует PC в инструкциях блока ввода-вывода, или что RETI и RETN не принимают маскируемое прерывание, если IFF1 и IFF2 не имеют одинакового состояния перед выполнением этих команд.

    Цитата Сообщение от org Посмотреть сообщение
    Также хотелось бы понять -- тут реверсится только конкретная модель Z80 (та на которой базируется VisualZ80) или уже началось всё подряд (кмос-шмос)?
    Он основан на одной модели, на нетлисте Zilog Z80 NMOS, векторизованном много лет назад людьми из Visual 6502, кажется, я помню.

    - - - Updated - - -

    Titus, я обновил комментарий на предыдущей странице о ld a,{i|r}, я включил официальное объяснение Zilog.
    Последний раз редактировалось ZjoyKiLer; 03.10.2024 в 22:19.

    Эти 2 пользователя(ей) поблагодарили ZjoyKiLer за это полезное сообщение:

    Deadly(08.10.2024), Titus(04.10.2024)

  3. #433

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,379
    Спасибо Благодарностей отдано 
    1,698
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

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

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

    Цитата Сообщение от ZjoyKiLer Посмотреть сообщение
    Visual Z80 Remix - лучший симулятор, и если вы обнаружите ошибку, ее автор быстро ее исправит, если вы ему сообщите.
    Этот эмулятор воспроизводит шум команд SCF/CCF в 5 и 3 флагах?

  4. #434

    Регистрация
    13.10.2021
    Адрес
    Cádiz, Spain
    Сообщений
    15
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Этот эмулятор воспроизводит шум команд SCF/CCF в 5 и 3 флагах?
    Нет. Он дает детерминированный и стабильный результат. YF и XF берутся из значения битов 5 и 3 результата (Q ^ F) | A.

    Последний раз редактировалось ZjoyKiLer; 04.10.2024 в 13:06.

  5. #435

    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    735
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Titus
    Есть идеи по реализации плавающих битов SCF/CCF в HDL?
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  6. #436

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,379
    Спасибо Благодарностей отдано 
    1,698
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Есть идеи по реализации плавающих битов SCF/CCF в HDL?
    Легко. Генератор случайных чисел с регулируемой интенсивностью в зависимости от бит окружения, наиболее влияющих на результат. Очень хорошо по моему тесту видно, как надо сделать. И он же может проверить.

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

    Цитата Сообщение от ZjoyKiLer Посмотреть сообщение
    (Q ^ F) | A.
    Зачем делается Q ^ F?

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

  8. #437

    Регистрация
    13.10.2021
    Адрес
    Cádiz, Spain
    Сообщений
    15
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Зачем делается Q ^ F?
    Именно формула, открытая Патриком, используется для вычисления этих флагов. Коэффициент Q - это абстракция, представляющая собой защелки внутри АЛУ, в которых процессор вычисляет новые обновленные значения флагов, которые будут переданы в регистр F во время T3 следующего цикла M1. Инструкции, которые не изменяют флаги, устанавливают Q в 0, а те, которые изменяют флаги, копируют F в Q. Ты также можешь использовать QFF, который будет представлять собой фиктивный флип-флоп, указывающий, модифицировала ли предыдущая инструкция флаги или нет. Это зависит от тебя и от того, как ты хочешь это реализовать.

    Объяснение:
    https://github.com/redcode/Z80_XCF_Flavor
    https://worldofspectrum.org/forums/discussion/41704
    Последний раз редактировалось ZjoyKiLer; 04.10.2024 в 13:30.

  9. #438

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,379
    Спасибо Благодарностей отдано 
    1,698
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от ZjoyKiLer Посмотреть сообщение
    Инструкции, которые не изменяют флаги, устанавливают Q в 0, а те, которые изменяют флаги, копируют F в Q.
    Про буферный регистр флагов я знаю, я его на схеме вижу. Но содержимое из него никогда не xor'ится с содержимым F.

  10. #439

    Регистрация
    13.10.2021
    Адрес
    Cádiz, Spain
    Сообщений
    15
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Про буферный регистр флагов я знаю, я его на схеме вижу. Но содержимое из него никогда не xor'ится с содержимым F.
    Это способ обозначить, модифицировала ли предыдущая инструкция флаги. Если она их изменила, то новые значения будут взяты только из A. В противном случае они будут взяты из F | A. Когда F копируется в Q, результат Q ^ F равен 0, поэтому значение будет взято только из A, так как 0 | A - это A.

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

    Titus(04.10.2024)

  11. #440

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,379
    Спасибо Благодарностей отдано 
    1,698
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Не знаю, что именно имел в виду Патрик под буферным регистром флагов, но мне кажется, что не то, что есть в реальности.
    На самом деле реальный буферный регистр флагов работает несколько иначе.
    Его отдельные биты в зависимости от ситуации могут либо копировать текущее содержимое флага, либо принудительно сбрасывать какой-то флаг, либо принудительно устанавливать, либо устанавливать в зависимости от результата работы АЛУ, либо устанавливать в зависимости от каких-то еще состояний (тригера IFF2 и т.д).
    А вот уже этот буферный регистр потом переписывается в основной регистр флагов. Причем, 5 и 3 биты в буферном регистре отсутствуют.

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

    ZjoyKiLer(04.10.2024)

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

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

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

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

Похожие темы

  1. Ответов: 1739
    Последнее: 09.01.2025, 10:55
  2. Ответов: 32
    Последнее: 18.12.2024, 18:19
  3. Реверс-инжиниринг игры Boovie
    от Oleg N. Cher в разделе Программирование
    Ответов: 41
    Последнее: 09.01.2022, 23:07
  4. Реверс МК-92
    от Случайность в разделе Программируемые калькуляторы
    Ответов: 55
    Последнее: 24.04.2021, 23:47
  5. Реверс инжиниринг печатной платы
    от Filin в разделе Несортированное железо
    Ответов: 36
    Последнее: 11.03.2018, 22:46

Ваши права

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