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

User Tag List

Страница 274 из 278 ПерваяПервая ... 270271272273274275276277278 ПоследняяПоследняя
Показано с 2,731 по 2,740 из 2779

Тема: Xpeccy

  1. #2731

    Регистрация
    24.07.2018
    Адрес
    г. Москва
    Сообщений
    84
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    34 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    Ну как.. Если при ldir/lddr будет затёрто их местоположение, то в следующей итерации прочитается и выполнится уже другая команда. Или оно как-то по-другому должно работать? Каждый шаг блочных инструкций считается отдельным опкодом.
    Ну да, именно так и должно работать. Вот мы поломали опкод, и следом сразу смотрим на флаги. И что мы там получим?! Вы флаги от модификации PC блочными командами подпихиваете только в случае прерывания через костыли с blk и blkio, насколько я понял. Значит мы получим неправильные флаги.
    Последний раз редактировалось cafedead; 23.04.2025 в 09:23.

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

  3. #2732

    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,087
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    230
    Поблагодарили
    98 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cafedead Посмотреть сообщение
    Вы флаги от модификации PC блочными командами подпихиваете только в случае прерывания
    У меня была такая информация только в случае прерывания. Про обрывание блочных команд самозатиранием информации не было... Где почитать?
    Все любят гипножабу

  4. #2733

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    У меня была такая информация только в случае прерывания. Про обрывание блочных команд самозатиранием информации не было... Где почитать?
    можно в симуляторе потестить:
    http://www.visual6502.org/JSSim/expert-z80.html
    https://floooh.github.io/visualz80remix/
    https://github.com/gdevic/Z80Explorer
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  5. #2734

    Регистрация
    24.07.2018
    Адрес
    г. Москва
    Сообщений
    84
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    34 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    У меня была такая информация только в случае прерывания. Про обрывание блочных команд самозатиранием информации не было... Где почитать?
    Понятия не имею, где почитать. Но, по-моему, тут достаточно немного подумать. Причем тут прерывание вообще? Оно ничего не меняет в выполнении блочных команд. Регистр PC уменьшился, если B!=1 для INIR/INDR/OTIR/OTDR, или BC!=1 для LDIR/LDDR/CPIR/CPDR? Уменьшился. Значит флаги на бочку. И тут совершенно не важно, что потом произошло: произошло ли прерывание, разбилась ли инструкция прошлой итерацией этой самой блочной инструкции, или я переключил банк памяти, или любым другим способом подсунул процессору другую команду. На мой взгляд, изначально стоит именно так все понимать, и подразумевать, и тем более, что вы даже не видели таких тестов. А у вас магия какая-то происходит. Регистр PC уменьшили, но флагов от этого уменьшения нет, просто исчезли, но если было прерывание, то флаги внезапно есть. Как вы такое чудо можете объяснить? Ну ваша трактовка выглядит слишком нереалистичной, чтобы без конкретных результатов тестирования ее принять.

    Вот комментарий оттуда, откуда вы это все взяли:

    by TonyB » Tue Aug 14, 2018 4:57 pm

    Something that puzzles me a little bit is how the Russian MEMPTR/WZ investigators know WZ when BC <> 1 during LDxR, as it must be overwritten during IM 1 and 2 interrupts. I doubt they used any hardware, but perhaps they added pull-up/pull-down resistors on the data bus to set the IM 0 opcode to E9H for JP (HL). Or does the NMI preserve WZ? I'm not suggesting their information is wrong.
    Т.е. от ребят в принципе ускользало понимание, что можно прервать блочную инструкцию. Ну и они были скованы своим способом тестирования, тем, что у них рабочая машина, работающая на полной скорости, к процессору которой они прищепкой подцепились. Поэтому они сидели и ждали прерываний, как у моря погоды, тестируя все чужими тестами, которые толком не тестят. Потом изобрели какой-то недоРезет, исследуя состояние недосброшенного процессора, делая из этого далекоидущие выводы, что тоже выглядит как довольно сомнительная затея. Хотя надо будет с этим поиграться, не знаю правда, зачем, но весело же... В общем, пожалуйста, учитывайте все эти обстоятельства.
    Последний раз редактировалось cafedead; 23.04.2025 в 14:12.

  6. #2735

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В нетлист симуляторе состояние WZ можно прямо внутри схемы Z80 смотреть:
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  7. #2736

    Регистрация
    24.07.2018
    Адрес
    г. Москва
    Сообщений
    84
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    34 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    В нетлист симуляторе состояние WZ можно прямо внутри схемы Z80 смотреть:
    А насколько он там правильно считается?! Большая часть эмуляторов вот косячит, например. С чего к симулятору вдруг такая вера?
    Последний раз редактировалось cafedead; 23.04.2025 в 15:15.

  8. #2737

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

    По умолчанию

    Цитата Сообщение от cafedead Посмотреть сообщение
    А насколько он там правильно считается?! Большая часть эмуляторов вот косячит, например. С чего к симулятору вдруг такая вера?
    Симулятор работает на уровне транзисторов, которые сняты с фотографии кристалла. Всегда можно проверить, на сколько тот или иной транзистор соответствует оригиналу, если возникнет сомнение.

    А эмуляторы в большинстве своем - это свободный уровень абстракции конкретного программиста.

  9. #2738

    Регистрация
    24.07.2018
    Адрес
    г. Москва
    Сообщений
    84
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    34 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Симулятор работает на уровне транзисторов, которые сняты с фотографии кристалла. Всегда можно проверить, на сколько тот или иной транзистор соответствует оригиналу, если возникнет сомнение.
    Ну вы пытаетесь тот факт, что кто-то разобрался с какими-то транзисторами или даже какими-то узлами, натянуть на всю симуляцию, аргументируя ее правильность, включая влияние всех инструкций на регистр мемптр. Мне кажется, что это все же некоторый перебор. А чем это протестировано? Ничем. Дырявыми тестами.

  10. #2739

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

    По умолчанию

    Цитата Сообщение от cafedead Посмотреть сообщение
    Ну вы пытаетесь тот факт, что кто-то разобрался с какими-то транзисторами или даже какими-то узлами, натянуть на всю симуляцию, аргументируя ее правильность, включая влияние всех инструкций на регистр мемптр. Мне кажется, что это все же некоторый перебор. А чем это протестировано? Ничем. Дырявыми тестами.
    Симуляция - это очень простая вещь, т.к. симулирует просто работу транзисторов. В ней сложно ошибиться. Любой просто выпавший транзистор скорее всего нарушит работу всей схемы.

    Кроме того, я делал потранзисторный, а затем логический реверс кристалла, и список транзисторов брал как раз тот, который использует симулятор. Никакой самодеятельности и отличия от кристалла я там не обнаружил.

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

    Что может не симулироваться, так это плавающие уровни, которые влияют на флаги CCF/SCF. Но это я все описывал в соответствующей теме.

  11. #2740

    Регистрация
    24.07.2018
    Адрес
    г. Москва
    Сообщений
    84
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    34 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    И еще одним моментом это не подтверждается. Почему мы вот даже сегодня все еще смотрим на текстовый файл про MEMPTR, собранный тестами Boo-Boo много лет назад, который чуть ли не наугад все это натыкал, а не на плоды подобных исследований транзисторов с объяснениями? Это странно, если все вот так, как вы говорите, что у вас там все просто и понятно по симуляции транзисторов, и по фотографиям, и процессор для вас - это теперь открытая книга. У меня вот да, вызывает некоторое недоверие такая ситуация. Как в принципе все, что я где-либо читаю, все это считаю нужным перепроверять. Про SCF/CCF я все перечитал у вас. Да, интересно. Но опять же. Ответ, что у нас после SCF/CCF во флагах получается какая-то неведомая херня - как-то маловато, и не то, чтобы очень полезно, и вообще совершенно не информативно.

    А можете нам ответить, пожалуйста, именно что-то по нашей теме здесь, а именно, есть ли разница, или может ли быть разница между тем, разбили ли мы блочную инструкцию самой этой инструкцией, и приемом прерывания, прерывающим эту блочную инструкцию, в плане влияния на флаги после действия блочной инструкции и передачи управления на ее же начало в очередной раз? Как вам вот такая реализация в эмуляторе, когда вычисления флагов блочных инструкций происходит при приеме прерывания? Насколько это соответствует работе реального процессора на ваш взгляд?
    Последний раз редактировалось cafedead; 23.04.2025 в 17:08.

Страница 274 из 278 ПерваяПервая ... 270271272273274275276277278 ПоследняяПоследняя

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

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

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

Ваши права

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