User Tag List

Страница 46 из 66 ПерваяПервая ... 424344454647484950 ... ПоследняяПоследняя
Показано с 451 по 460 из 803

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Ну ведь они же выявятся, когда схема не заработает? И исправятся)

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

    Да, через 'деморганизацию' у меня прошла вся схема вдоль и поперек.
    Нет деморгана - нет дополнительных ошибок. Исправятся, да, но зачем вносить лишние ошибки

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от org Посмотреть сообщение
    Нет деморгана - нет дополнительных ошибок. Исправятся, да, но зачем вносить лишние ошибки
    У меня нет другого варианта преобразовать схему в самый дружественный и понятный вид, кроме как таким образом.

  4. #3

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

    По умолчанию Особенности работы команд LDI(R)/LDD(R)

    Упрощенное описание команд LDI(R)/LDD(R):


    В такте M1.T4 сбрасываются флаги N и H.

    В такте M2.T1 содержимое HL записывается в PCR и на шину адреса для чтения содержимого памяти по адресу (HL).
    В такте M2.T3 инкрементированное (для LDI(R)) или декрементированное (для LDD(R)) содержимое PCR обратно записывается в регистр HL.

    В такте М3.T1 содержимое DE записывается в PCR и на шину адреса для записи байта в память по адресу (DE).
    В такте M3.T3 инкрементированное (для LDI(R)) или декрементированное (для LDD(R)) содержимое PCR обратно записывается в регистр DE.
    В такте M3.T4 содержимое BC записывается в PCR. Если BC = 1, то флаг P=0, иначе флаг P=1. Если BC = 1 или команда LDI/D, то этот цикл является последним циклом команды.
    В такте M3.T5 декрементированное содержимое PCR записывается обратно в регистр BC. Также в этом такте + 1 на шину HBUS выдается результат работы АЛУ. В нашем случае (точно пока не изучал) АЛУ должно было сложить содержимое регистра A и байта, который копировался из (HL) в (DE). Таким образом, 5 и 3 биты регистра флагов берутся из A + (HL).

    В такте M4.T1 содержимое PC записывается в PCR.
    В такте M4.T3 декрементированное содержимое PCR записывается обратно в PC и снова читается в PCR
    В такте M4.T5 декрементированное содержимое PCR записывается обратно в PC.

  5. #4

    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    982
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    164 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мои пять копеек. Нарисовать "транзисторную схему" - значит понять ВСЕ нюансы поведения схемы. Особенно если применить аналоговое моделирование (что то типа Verilog-AMS). Если рисовать сходу "логическую схему" - то потеряется ВСЯ информация об UB (неопределённое поведение). Посему можно добиться "правильного поведения" при "правильных входных воздействиях", но если создать "не штатную ситуацию" - "логическая схема" даст сбой в поведение (она не будет на все 100% совпадать с оригиналом.).
    Задача сего топика - это полноценное вскрытие "чОрного ящика" для полноценного раскрытия оного UB.
    ПС: а для целей создания сеги/несов итд это излишнее знание...

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

    SoftLight(11.10.2024), Titus(10.10.2024)

  6. #5

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    Мои пять копеек. Нарисовать "транзисторную схему" - значит понять ВСЕ нюансы поведения схемы. Особенно если применить аналоговое моделирование (что то типа Verilog-AMS). Если рисовать сходу "логическую схему" - то потеряется ВСЯ информация об UB (неопределённое поведение). Посему можно добиться "правильного поведения" при "правильных входных воздействиях", но если создать "не штатную ситуацию" - "логическая схема" даст сбой в поведение (она не будет на все 100% совпадать с оригиналом.).
    Задача сего топика - это полноценное вскрытие "чОрного ящика" для полноценного раскрытия оного UB.
    ПС: а для целей создания сеги/несов итд это излишнее знание...
    Никто не запрещает модули где есть UB разметить специальным образом, в том числе тупо трансами.

  7. #6

    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    982
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    164 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Оба правы. Давайте жить дружно. У каждого свои цели и способы (адекватные к задачам). Лично мне нравится способ ТС.

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

    Titus(12.10.2024)

  8. #7

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

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    Лично мне нравится способ ТС.
    Товарищ @Vslav, который и заварил всю эту кашу с реверсами на форуме, делал вообще только транзисторную схему, а уже с нее Verilog-модель. И если что, сверялся только с транзисторной. Я так не могу, мне нужна транзисторная, как базис, и логическая, как удобная для быстрого анализа и оптимизации.

  9. #8

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

    По умолчанию

    Заполнены разделы по клоковому гене и по интерфейсу с внешней шд.

    https://github.com/emu-russia/SEGACh...T84C/clkgen.md
    https://github.com/emu-russia/SEGACh...ain/T84C/db.md

    (включая анализ падов)

    Также подглядывая в NMOS Z80, сформировалось 2 подозрения (пока нет 100% уверенности):
    - чип в Visual Z80 лежит вверх ногами
    - сигнал clk в Visual Z80 на самом деле _clk (active-low), т.к. из того что я вижу у себя в регблоке - на время clk=0 производится подзарядка бит лайнов ячеек SRAM и регистры в этом время использовать нельзя ("команды" reg_load_xxx).



    Такие картинки у нас показывал ув. М.Гамаев, где явно видно что reg_load_af активируется на clk=0, что мне очень подозрительно.

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

    Titus(12.10.2024)

  10. #9

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

    По умолчанию

    Цитата Сообщение от org Посмотреть сообщение
    - сигнал clk в Visual Z80 на самом деле _clk (active-low), т.к. из того что я вижу у себя в регблоке - на время clk=0 производится подзарядка бит лайнов ячеек SRAM и регистры в этом время использовать нельзя ("команды" reg_load_xxx).
    А в чем несостыковка? Внешний вход /CLK инверсный, затем внутри он инвертируется. Т.е. при внешнем CLK = 0 заряжаются лайны.

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

    Цитата Сообщение от org Посмотреть сообщение
    - чип в Visual Z80 лежит вверх ногами
    В смысле вверх ногами? Чип крутят так, как удобно, у него нет ни верха, ни низа) А то, что надписи на кристалле ориентированны в какую-то сторону, это еще ничего не значит.

  11. #10

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А в чем несостыковка? Внешний вход /CLK инверсный, затем внутри он инвертируется. Т.е. при внешнем CLK = 0 заряжаются лайны.
    Несостыковка в том, что по даташитам - он Active High. И как раз с учётом всех инверсий в CMOS Z80 - внутренний clk такой же полярности, что и внешний.


Страница 46 из 66 ПерваяПервая ... 424344454647484950 ... ПоследняяПоследняя

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

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

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

Похожие темы

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

Ваши права

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