Это похоже на правду. Я попробовал у себя ширину бордюра в 64 пикселя, и наблюдал то же самое дрожание справа.
Да, должны читаться значения с шины. Но: по нечетным портам в диапазоне [0x4000;0x8000) они читаются с задержками, и значения дают другие. Посмотрите на скриншот и не нажимайте T (в этом режиме всегда читается порт 0xff). Еще одно замечание: я говорю о модели 48K и выбираю эту модель на вашем эмуляторе на всех тестах.
Смотрите чуть выше в этой же теме, я давал ссылки. Очень полезный тест.
Скриншот был приложен в прошлом сообщении. На верхнем бордюре генерируется цветной значок.
Но здесь есть тонкость: когда прерывания ловятся в течение 32-х тактов считая с последнего такта предыдущей инструкции (INT sampling), как это и должно быть, он у меня тоже сползает, если сравнивать с тем, что дает Fuse. Но Fuse сам не безгрешен (и тому у меня набралось уже достаточно примеров), и лучше всего было бы посмотреть на реальной машине, как это должно быть.
Здесь ситуация такая. Ступенька по середине экрана -- это проблема самого снапшота. На самом деле ее не видно, но по-другому снять скриншот не получается. А полоса справа -- это тоже из-за ширикого бордюра, и у меня на широком бордюре она тоже видна. Поэтому здесь проблемы нет никакой.
Тут два пункта: синяя полоса наверху и дрожание бордюра справа внизу. Полоса, очевидно, -- это от размера бордюра (у себя не пробовал). А вот дрожание есть, и его видно на стандартном бордюре (эта линия действительно заканчивается в видимой области), и его быть не должно.
Теперь дополнения.
1) Человечек в SideWize мерцает. Мерцать не должен.
2) Тест на тайминги (см. приложение) показывает, что IR contentions не реализованы вообще.
3) Тест на Z80 (тоже приложен) находит проблемы и на флагах, и на MEMPTR. Хотя на моей реализации, сделанной по вашему же описанию, проходит оба без ошибок.





Ответить с цитированием