С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Так Flicker ON или Flicker OFF?
Ранее антифликер не учитывал endianess, теперь учитывает, так что теперь либо всё должно быть желтым (и с ним, и без), либо ничего (по идее).
Можешь для тесту найти в zemu.cpp функцию AntiFlicker и убедиться что там есть #ifdef ZEMU_BIG_ENDIAN ?
И ещё вставить
в начало main(), может неправильно детектится?Код:#ifdef ZEMU_BIG_ENDIAN printf("detected\n"); #endif
Оно точно неправильно детектится. Я детектю вот так:
#if SDL_BYTEORDER == SDL_BIG_ENDIAN, а не так как написано у тебя. И как только я поменял детект - все стало определяться правильно.
Во вторых, как только оно стало правильно детектиться - все стало желтым, причем вне зависимости Antiflicker OFF или ON.
Q-Master, попробуй последнюю версию. Сделал детект через cmake.
поообщался с автором sinclairean, который тоже разбирался с этим тестом. оказывается, результаты отчасти зависят от версии ПЗУ (и всё по идее проходит без ошибок если ПЗУ классическое).
стало быть, для чистоты эксперимента надо прогнать тест на разных эмулях (и реалах) с одинаковыми ромами, и тогда уже сравнивать.
я уже не помню откуда я взял тот детект, всё равно пишу в слепую, ибо всё более-менее мощное у меня little endian.Оно точно неправильно детектится. Я детектю вот так:
#if SDL_BYTEORDER == SDL_BIG_ENDIAN, а не так как написано у тебя. И как только я поменял детект - все стало определяться правильно.
хм. похоже никаких преобразований не нужно, ибо SDL само всё преобразовывает.Во вторых, как только оно стало правильно детектиться - все стало желтым, причем вне зависимости Antiflicker OFF или ON.
вопрос - а почему раньше (когда неправильно детектило), оно разный резалт показывало в зависимости от антифлика?
ответа я не знаю.
Q-Master, пофикси плиз, спасибо скажем (поискать в defines.h и zemu.cpp по ZEMU_BIG_ENDIAN).
(๑•̀ㅂ•́)و✧ Doors UI → https://t.me/doorsui | https://t.me/atari_xl_xe ← Atari XL/XE (●´ω`●)ゞ
Vitamin, breeze,
похоже вы неправильно восприняли результаты моего теста.
естественно, что на кае модифицированное пзу.
суть теста была не в том, чтобы убедиться что и кай и эмуль проваливают одинаковые элементы теста, а в том, чтобы убедиться, что и кай и эмуль дают одинаковый CRC регистра AF в этих тестах.
как работает этот тест: каждый элемент теста (комманда) прогоняется много раз с разными параметрами.
например, для BIT n,(HL) будут испробованы разные значения n, HL и AF (и вроде ещё IX и IY).
в каждом витке цикла, после выполнения комманды, берётся очередное значение AF и делается некое подобие CRC.
затем полученное значение (выводится чёрным цветом в правой колонке) сравнивается с эталонным значением, и, если они не совпадают, то эталонное значение выводится красным.
эталонные значения были получены автором теста путём прогона этого самого теста на zx spectrum 48.
т.е. если бы он их прогонял на кае, то значения бы были совершенно другие (конкретно - такие, какие видны на скриншоте).
итого, так как значения на кае и на эмуле полностью совпадают, то значит что эмуль 99% правильно эмулирует
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)