User Tag List

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 48

Тема: CPD-Test для проверки изменения регистра MEMPTR инструкциями. Проверьте на реале плз

  1. #21

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Смущает правда то, что он показывает ок, даже если специально подпортить флаги X и Y у блоковых инструкций.

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

    Ну и заодно вот из результатов от JeRrSа пытаюсь понять, как определять отечественные аналоги, чтобы как-то адаптировать тесты под них. И что там в 8-м бите MEMPTR после LD (BC|DE),A... Пока-что не понятно. Это надо будет специальную версию собрать.
    Последний раз редактировалось cafedead; 30.04.2025 в 22:32.

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

    ZjoyKiLer(06.05.2025)

  2. #22

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

    По умолчанию

    А, тогда понятно. А то я был несколько озадачен - попробовал испортить флаги чтобы посмотреть как тест отреагирует, а он всеравно показывает ок

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

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

    Titus(30.04.2025)

  3. #23

    Регистрация
    07.10.2006
    Сообщений
    1,731
    Спасибо Благодарностей отдано 
    257
    Спасибо Благодарностей получено 
    275
    Поблагодарили
    167 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию



    с фирменных реалов

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

    cafedead(01.05.2025), ZjoyKiLer(06.05.2025)

  4. #24

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

    По умолчанию

    cafedead, а что делают шаги "OTIR>NONI* 128k" и "OTDR>NONI* 128k" в тесте? И почему для этого нужен именно 128K?

    - - - Updated - - -

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    А, тогда понятно. А то я был несколько озадачен - попробовал испортить флаги чтобы посмотреть как тест отреагирует, а он всеравно показывает ок

    Мне кажется правильнее было бы всеже регистр WZ, а не MEMPTR называть, т.к. он именно WZ в официальной документации называется.
    О какой официальной документации ты говоришь? Насколько я знаю, не существует ни одного официального документа Zilog, где упоминается регистр WZ — тем более под названием "WZ".
    Последний раз редактировалось ZjoyKiLer; 06.05.2025 в 10:13.

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

    zebest(06.05.2025)

  5. #25

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

    По умолчанию

    Цитата Сообщение от ZjoyKiLer Посмотреть сообщение
    а что делают шаги "OTIR>NONI* 128k" и "OTDR>NONI* 128k" в тесте? И почему для этого нужен именно 128K?
    Разбивают блочные инструкции OTIR и OTDR до их завершения, и затем проверяют MEMPTR. Достигается это переключением страницы памяти самими этими инструкциями, для чего, естественно, необходим компьютер с многостраничной организацией памяти, где путем записи значений в порт ввода/вывода можно проецировать разные страницы памяти в общее адресное пространство. На 48К-машине невозможно переключить страницу памяти, и такие инструкции, только читающие из памяти, не могут быть разрушены, как вы знаете.
    Последний раз редактировалось cafedead; 06.05.2025 в 11:43.

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

    ZjoyKiLer(06.05.2025)

  6. #26

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

    По умолчанию

    Цитата Сообщение от ZjoyKiLer Посмотреть сообщение
    О какой официальной документации ты говоришь? Насколько я знаю, не существует ни одного официального документа Zilog, где упоминается регистр WZ — тем более под названием "WZ".
    сразу так не скажу, нужно посмотреть, просто еще из института помню классические картинки из учебников с внутренним устройством Z80, где был указан регистр WZ. И еще тогда я задавался вопросом можно ли к этому регистру обратиться и тогда казалось это невозможным.

    Интернета тогда еще не было и никто про такие особенности Z80 не знал.

    Чтото типа такого:


    Вопрос конечно интересный - где впервые появилась информация о нем и его название. Вот сходу нагуглил книгу 1981 года, где упоминается регистр WZ, первая редакция книги вышла в 1979 году, т.е. через 3 года после появления Z80 в 1976 году: http://www.vz200.org/bushy/manual_pr...rd_edition.pdf



    Когда эта книга вышла в 1979 году, еще и спектрума не было, а описание регистра WZ с подробными деталями как он внутри используется в операциях оказывается уже было

    Не знаю, была ли эта информация в официальной документации опубликованой Zilog, но очевидно что такие детальные подробности о внутренностях Z80 в то время были взяты из внутренней документации разработчиков самого процессора, т.к. в то время еще и реверс кристалла врядли ктото успел сделать.

    Т.е. даже если информация о WZ в официальных документах Zilog и не публиковалась, тем не менее именно так разработчики процессора назвали этот регистр. И в книгах именно имя WZ использовалось для названия этого регистра еще с 1979 года.


    Название MEMPTR и прочие (у себя в эмуляторе я назвал его MW для краткости) появилось когда еще не было известно о связи флаговых битов с регистром WZ, просто был выявлен какой-то внутренний регистр, содержимое которого влияло на флаги. То, что это именно тот самый легендарный WZ, стало очевидным уже позже.
    Последний раз редактировалось ZXMAK; 06.05.2025 в 20:24.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

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

    Titus(06.05.2025), ZjoyKiLer(06.05.2025)

  7. #27

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Чтото типа такого:
    Кстати, эта схема вообще не имеет никакого отношения к внутреннему устройству Z80.
    Равно как и все другие блок-схемы из официальной документации к Z80.

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

    ZjoyKiLer(06.05.2025)

  8. #28

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Вопрос конечно интересный - где впервые появилась информация о нем и его название. Вот сходу нагуглил книгу 1981 года, где упоминается регистр WZ, первая редакция книги вышла в 1979 году, т.е. через 3 года после появления Z80 в 1976 году: http://www.vz200.org/bushy/manual_pr...rd_edition.pdf
    В книге Роднея Закса 1979 года действительно используется название WZ. Но причина в том, что автор знал схемы процессора i8080 от Intel, где есть похожий по функциям регистр с таким обозначением. То есть информация об этом регистре пришла именно от Intel, а не от Zilog.


    я, из уважения, предпочитаю называть его так, как его назвали те, кто реально раскрыл, как он работает — boo_boo и Владимир Кладов. Они использовали имя, которое ещё в 2002 году дал этому регистру Мартин Корт, когда выяснил, что он влияет на флаги YF и XF в инструкции bit n,(hl).

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

    cafedead(06.05.2025), ZXMAK(06.05.2025)

  9. #29

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

    По умолчанию

    Цитата Сообщение от ZjoyKiLer Посмотреть сообщение
    я, из уважения, предпочитаю называть его так, как его назвали те, кто реально раскрыл, как он работает — boo_boo и Владимир Кладов. Они использовали имя, которое ещё в 2002 году дал этому регистру Мартин Корт, когда выяснил, что он влияет на флаги YF и XF в инструкции bit n,(hl).
    Но дело в том, что он не является MEMPTR по своей сути (т.е. указателем на память).
    В Z80 есть внутренние регистры, которые действительно являются исключительно указателями на память. Это PCR и PCR2 (если смотреть по моему реверсу).
    А WZ является многофункциональным регистром, и только из-за ошибки декодирования (или просто в следствие упрощения схемы процессора), он засасывает в себя ненужную информацию из PCR2.

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

    Кладов и boo_boo не знали о том, что регистров учавствующих в глюках bit n,(hl) по сути два. Это WZ и PCR2. И назвали это одним общим обозначением MEMPTR.

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

    cafedead(06.05.2025), ZjoyKiLer(07.05.2025), ZXMAK(06.05.2025)

  10. #30

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

    По умолчанию

    Цитата Сообщение от ZjoyKiLer Посмотреть сообщение
    В книге Роднея Закса 1979 года действительно используется название WZ. Но причина в том, что автор знал схемы процессора i8080 от Intel, где есть похожий по функциям регистр с таким обозначением. То есть информация об этом регистре пришла именно от Intel, а не от Zilog.
    да, похоже регистр WZ унаследован ещё от i8080, где он прямо так и назван в официальной документации: https://deramp.com/downloads/intel/8...ta%20Sheet.pdf

    Код:
    The temporary register pair, W , Z , is not program addressable and is only used for the internal execution of instructions.
    тоесть получается у него еще более древняя история
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

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

    ZjoyKiLer(07.05.2025)

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Посоветуйте софт для проверки HDD
    от ZXMAK в разделе Внешние накопители
    Ответов: 0
    Последнее: 03.06.2012, 18:42
  2. Ответов: 33
    Последнее: 22.07.2008, 10:46

Ваши права

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