User Tag List

Страница 11 из 14 ПерваяПервая ... 7891011121314 ПоследняяПоследняя
Показано с 101 по 110 из 131

Тема: Баг формата SZX

  1. #101

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,292
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    203
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    есть нарушение ТБ и простреленная нога
    и побличная демонстрация геморроя (который при правильном образе жизни не возникает)

  2. #102

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    для эмулятора, где остановка не предусмотрена может и так. Я-же смотрю на это со стороны железа, которое при нажатии кнопки "цикл" запускает серию клоков до появления комбинации сигналов M1 & RD & MREQ. Другого варианта задетектить в железе начало цикла выборки инструкции вроде как нет. А для такой комбинации что префикс #DD, что #00 - одна инструкция.
    Исходя из твоей логики любая команда с префиксом - это несколько команд.
    Например, $FD $CB xx. Тут аж три команды, и надо шагать это в три шага и уметь сохраняться после каждого префикса.

  3. #103

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

    По умолчанию

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

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

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а теперь, внимание, вопрос: а ЗАЧЕМ твой "эмулятор сохраняет снэпшот для такого "invalid" префикса"?
    выдумал сам себе проблему на ровном месте, кто ТЕБЕ в таком случае мешает НЕ сохранять?
    из практического использования - при отладке до тактов часто требуется сохранить программу в каком-то определенном состоянии. Например после выполнения первого 10-ка префиксов #DD из серии в 100 префиксов. И потом загружать этот снэпшот и отлаживать разные варианты кода, начиная выполнение с определенного состояния процессора и схемы в которой он используется. Другой вариант, я например хочу посмотреть счетчик тактов ULA когда процессор будет выполнять длинный префикс, но мне нужно видеть счетчик когда процессор будет выполнять префикс по определенному адресу, а не когда он закончит выполнять всю цепочку префиксов, которая может занять тысячи тактов...

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

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а в дебагере, допустим, пометить символом или цветом выделить ЗНАЧИМЫЙ префикс в такие моменты
    сразу видно - сохранение заблокировано, для разблокировки нужно сделать шаг (одного достаточно)
    проблема в том, что "invalid" префикс который по документации SZX помечается флагом ZXSTZF_EILAST, после загрузки снэпшота и выполнения следующего шага очень даже может оказаться валидным и тогда снэпшот окажется битым, т.к. информация о префиксе сохранена не была.

    Чтобы проверить тот ли это случай - нужно выполнить следующую инструкцию и если там еще один префикс, то следующую и так до бесконечности. Хотя пользователь не просил выполнять циклы, он просил сохранить снэпшот в том состоянии как процессор находится в отладчике в остановленном состоянии.

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

  4. #104

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,964
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    313
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Например после выполнения первого 10-ка префиксов #DD из серии в 100 префиксов.
    Цитата Сообщение от ZXMAK Посмотреть сообщение
    проблема в том, что "invalid" префикс который по документации SZX помечается флагом ZXSTZF_EILAST,
    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Чтобы проверить тот ли это случай - нужно выполнить
    ляяяяяяяя... походу этой ветке суждено стать рекордсменом по кол-ву постов с ""

    я вот даже комментировать не буду всю эту ересь, пока ты чётко не ответишь мне (а главное - себе) на три довольно простых вопроса:

    1) что такое, по-твоему "ЗНАЧИМЫЙ префикс"?
    2) что такое, по-твоему, "НЕзначимый префикс"?
    3) насколько безопасно сохранять снап после команды NOP?
    Прихожу без разрешения, сею смерть и разрушение...

  5. #105

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

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    1) что такое, по-твоему "ЗНАЧИМЫЙ префикс"?
    в контексте SZX - это последний префикс в серии префиксов.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    2) что такое, по-твоему, "НЕзначимый префикс"?
    в контексте SZX - это НЕ последний префикс в серии префиксов.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    3) насколько безопасно сохранять снап после команды NOP?
    вполне безопасно даже в контексте рассматриваемого вопроса, т.к. NOP не переводит процессор в префиксный режим. Т.е. нет риска потерять информацию о префиксном режиме.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #106

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,964
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    313
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    в контексте SZX - это последний префикс в серии префиксов.
    Цитата Сообщение от ZXMAK Посмотреть сообщение
    в контексте SZX - это НЕ последний префикс в серии префиксов.
    оба ответа неверные
    во-первых "контекст szx" приплетать не надо, он ни при чём
    во-вторых, незначимым может оказаться и последний префикс в серии
    например: DD FD FD FD DD FD DD DD DD FD 53
    и оказаться ровно по той же причине, что и предпоследний, и остальные
    а теперь попытайся верно сформулировать - по какой именно?

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

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

  8. #107

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,964
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    313
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    для предваряемой команды (и всей программы) вообще ничем от нопа не отличается
    точней, для программы - может отличаться (во время INTR); но на то как раз и существует ZXSTZF_EILAST

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

    Цитата Сообщение от Titus Посмотреть сообщение
    Например, $FD $CB xx. Тут аж три команды, и надо шагать это в три шага
    "FD CB +d xx" - и тут только два M1 (вот бы, кстати, разобрался, почему так)
    Прихожу без разрешения, сею смерть и разрушение...

  9. #108

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

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    (вот бы, кстати, разобрался, почему так)
    В каком смысле почему?

  10. #109

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,964
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    313
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #110

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

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    почему фактический опкод вместо M1 читается в обычном MR-цикле (хотя, может, и не совсем обычном)
    Опкоды читаются в цикле M1. Он только для этого и предназначен.
    А байт смещения читается всегда в цикле M2, и опкодом не является, разумеется.
    Причем, механизм его работы одинаков, что при индексной адресации (IX+nn), что при коротком переходе типа JR nn.

Страница 11 из 14 ПерваяПервая ... 7891011121314 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Баг в W1793 (1818ВГ93).
    от xolod в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 18
    Последнее: 19.03.2019, 14:18
  2. Баг в depacker от hrust1.3?
    от moroz1999 в разделе Программирование
    Ответов: 65
    Последнее: 17.04.2014, 10:39
  3. [Atari]баг игры NINJA?
    от denpopov в разделе Atari
    Ответов: 13
    Последнее: 16.03.2014, 07:20
  4. BUG in SZX snapshots ???
    от VELESOFT в разделе Эмуляторы
    Ответов: 1
    Последнее: 12.09.2009, 13:28

Ваши права

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