Тестирование soft-processor Z80 в различных эмуляторах

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Responder
azesmbog
Mensajes: 319
Registrado: 17 Feb 2016, 23:07

Тестирование soft-processor Z80 в различных эмуляторах

Mensaje por azesmbog » 20 Jul 2018, 20:20

Начну с картинки , потом описание
Imagen
полноразмерная картинка, ссылка - http://s2.micp.ru/2BpaX.jpg
Итак, продолжая свою серию тестов(картинок) на бордюре, ULA48, ULA128, Scroll17, FPGA128 в процессе тестирования soft процессора T80 я нарисовал несколько расширенный тест, с незамысловатым названием "Сферический конь в вакууме", сокращенно - "FPGA48", который будет прикреплен внизу.
Предыдущие версии этой поделки здесь, 128 версия:
viewtopic.php?f=52&t=684&start=60#p14505
и здесь, 48 версия
viewtopic.php?f=52&t=684&start=70#p14522
там же некое описание и проблемы :))
Тест не простой, а ОЧЕНЬ простой, very simple. Если нормально работает эмулятор - то мы должны увидеть 4 зеленых квадрата на бордюре, два вверху и да внизу. Все.
На картинке некоторое количество (не все!) протестированных эмуляторов. По порядку.
В левом верхнем углу фотография с экрана монитора, запущен MiSTeR на DE10nano. Все ровно.
Следующий эмулятор - ZXMAK2, тоже се ровно.
Далее Fuse 1.3.4, все правильно.
Далее вверху справа - ZEsarUX 7.0 - все верно.
Нижний ряд. Где не все так хорошо, как видно по картинкам.
Первый Spectaculator 8.0.0.3092, который откровенно разочаровал, хотя я постоянно пользуюсь версией 6.25, в которой еще хуже показывает :((( И это, заметьте, ПЛАТНЫЙ эмулятор, 16$ ( 16! Карл !!! :shock: )
Далее EmuZwin, вполне хороший эмулятор, но автор его больше не обновляет, а жаль (
Последние два - Zero и Spud, может не самые свежие версии, ну какие были.
Как видно, у последних трех эмуляторов ошибки с изображением в самом конце, средняя часть (middle part) отображается ровно и правильно.
Эмуляторов у меня еще немало, протестировал еще Spectramine 1.0b, он работает хорошо, но у него нет режима экрана 1:1 100%, а только 2:1 200%, поэтому на картинку он не попал. Некоторые хорошие эмуляторы , например Unreal или Z80Stealth не вполне точно эмулируют Spectrum 48, а точно эмулируют Pentagon, но там нет режима contended memory.
Кстати да, смысл теста в том, что при access to contended memory тайминги команд меняются, увеличиваются, поэтому крайне НЕ РЕКОМЕНДУЕТСЯ использовать медленную память при работе с бордюром :)))) И весь тест устроен так, что он работает в медленной памяти, за исключением нижней части бордюра, которая уже попадает на быструю память. В быстрой памяти этот тест наверное прошли бы все эмуляторы. В Linux-e и MacOS не проверял, кому интересно - сами, все сами.
Если кто то захочет проверить на реальном компьютере сию подделку - буду только рад. При желании можно сделать и 128-ю версию, ну или использовать по ссылке выше, немного попроще версию))
Фотографию с ZXUno не стал делать, поверьте, там все плохо с этим тестом, Kyp не даст соврать)
Ну и чтобы два раза не вставать, хочу обратить внимание еще на один тест для эмуляторов, с которым все не менее плохо :))))))))))
http://www.zxspectrum4.net/op_timing.php
Страница с самими тестами, под 48к можете попробовать TAP
http://www.zxspectrum4.net/downloads/timing_tests/
и результаты
http://www.zxspectrum4.net/downloads/sp ... esults.htm
есть известные имена :))
Тест довольно занятный, тестирует модель компьютера на предмет Early/Late, после чего если просто нажать ENTER - тестирует процессор на предмет 37-ми тестов. Сколько ошибок в вашем любимом эмуляторе , это можете проверить сами, скажу лишь за два лучших - ZXMAK2 и SpecEmu с таймингами EARLY проходят этот тест 100%, а с таймингами LATE - ровно 4 ошибки в обоих эмулях и ошибки СОВЕРШЕННО ОДИНАКОВЫ! Что очень подозрительно. Хотелось бы , чтобы владельцы реалов особенно с таймингами LATE перепроверили этот тест.
И да, в ZXUno этот тест даже не запустится, автор постарался чтобы на реалах работал только. Кстати не во всех эмулях запускается, в ранней версии того же эмуля ZXSpectrum4(тоже платного) - висит на загрузке. Ну и сам код теста автором зашифрован :)) Зачем-то :) Во первых свой собственный загрузчик, а во вторых код грузится задом наперед - со старших адресов FFFFh вниз, а потом распаковывается по нужным адресам. Я думал такие чудаки 25 лет назад перевелись, ан нет :)
ну тест хорош хотя бы тем, что показывает, что не все можно загрузить через esxDOS, хотя возможно последняя версия может это делать. Но тем не менее, если кого заинтересовало - у меня есть этот тест в нормальном виде - пишите :)
Кстати, некоторые эмули, которые могут переключать early\late - на самом деле этого не делают :) В меню переключаю на LATE - а тест все равно считает, что это EARLY, ну и естественно много ошибок. Истины ради могу сказать, что на MiSTeR этот тест запускается нормально, early, но ошибок много, оооочень много :(
Кстати да, интересно было бы увидеть результаты теста FPGA48 запущенном на NEXT/ Такое может кто нибудь сделать или попросить запустить на ихнем хваленом 100% совместимом компьютере.
ps - кстати версия теста early\late - одинаково работает ровно в нормальных эмуляторах, где это можно переключать.
FPGA48new.ZIP
(182.93 KiB) Descargado 250 veces

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: Тестирование soft-processor Z80 в различных эмуляторах

Mensaje por Kyp » 20 Jul 2018, 23:58

En cuanto tenga un rato lo pruebo en Spectrums reales y lo comento por aquí. Tengo uno con ULA early y varios con ULA late ;) Incluso tengo otro que en frío es early y al cabo de un rato se calienta y se vuelve late :lol:

azesmbog
Mensajes: 319
Registrado: 17 Feb 2016, 23:07

Re: Тестирование soft-processor Z80 в различных эмуляторах

Mensaje por azesmbog » 21 Jul 2018, 08:24

Kyp escribió:En cuanto tenga un rato lo pruebo en Spectrums reales y lo comento por aquí. Tengo uno con ULA early y varios con ULA late ;) Incluso tengo otro que en frío es early y al cabo de un rato se calienta y se vuelve late :lol:
Я буду ждать результатов.
И конечно этот тест
http://www.zxspectrum4.net/downloads/ti ... k_v1.0.tap
И на холодном и на прогревшемся экземпляре, с EARLY и потом с LATE.
Мой тест не должен теперь дрожать, а предыдущий ровно показывал с EARLY и дрожала картинка с LATE, я это исправил.
Спасибо :gracias!:

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: Тестирование soft-processor Z80 в различных эмуляторах

Mensaje por Kyp » 21 Jul 2018, 13:56

He probado con tres Spectrums. En los tres casos se ve lo mismo. La imagen es estable excepto la banda de la izquierda que se mueve lentamente.

Imagen

En la versión anterior, dependiendo del tipo de ULA, un Spectrum tenía la imagen estable desde el primer momento, con otro se ve doble imagen al principio pero con el tiempo se estabilizaba la imagen, y con otro sale con doble imagen siempre.
Imagen

Esto es lo que se ve con el Harlequin. La banda derecha se mueve igualmente. Borde blanco por llevar un Z80 CMOS. Los cuadros de colores de la izquierda van apareciendo poco a poco.
Imagen

No he podido probar el "Timing_Tests-48k_v1.0" porque no funciona al cargarlo con el DivIDE.

No acabo de entender como diferenciar si es early o late timing. Google translate no funciona muy bien que digamos traduciendo del ruso :(
Última edición por Kyp el 21 Jul 2018, 18:14, editado 1 vez en total.

azesmbog
Mensajes: 319
Registrado: 17 Feb 2016, 23:07

Re: Тестирование soft-processor Z80 в различных эмуляторах

Mensaje por azesmbog » 21 Jul 2018, 17:17

Спасибо за тестирование и потраченное (надеюсь не впустую:) время
По поводу "двойного" дрожащего изображения В принципе это не особо важно, главное тест показывает как задумано, но я могу
попробовать изменить тайминги на +-1, сделать несколько версий, например четыре, которые будут работать в эмуляторах, и выбрать из этих четырех одну(несколько), которые будут работать на реале.
По поводу Арлекин-а. Изображение стабильное, что уже хорошо. Но мой тест не пишет ничего в экранную область, это уже баг самого Арлекина видимо.
Кстати, есть ли в Арлекин-е музыкальный со-процессор AY ? Тогда можно было бы попробовать сделать тестирование типа процессора и соответственно какой будет бордюр, белый или черный.
Вобщем в аттаче все тот же самый тест, со сдвинутыми таймингами. Проверял в SpecEmu и в ZXMAK2
(-1) и (-2) - картинка еще на месте, а при (-3) и (+1) уже сдвинута. Надо попробовать на оригинальном Spectrum48 и на Harlequin, если не сложно. Возможно что верхняя и средняя части будут нормально показывать, а нижняя дрожать-двоится, но это тоже можно подстроить с нескольких попыток.
Ну и по тесту таймингов. я совершил подвиг, теперь мне положена медаль из картошки. Medal of Honor-2 :roll:
Дизассемблировал тест и пересоздал заново без заморочек с загрузкой и защитой. В SpecEmu и в ZXMAK2 работает ровно, без ошибок в early, и 4 ошибки в late
Можешь попробовать через Div. Все в аттаче
p.s. - Border сделал черный без заморочек, теперь и в Арлекине :)
Kyp, заодно можешь попробовать тест таймингов в ZX-Uno с разными ядрами Т80 и Z-80. На Т80 вылетает и зависает на 30? тесте вроде :cry:
Adjuntos
FPGA_new2.ZIP
(9.07 KiB) Descargado 226 veces

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: Тестирование soft-processor Z80 в различных эмуляторах

Mensaje por Kyp » 21 Jul 2018, 18:42

Probando con una ULA-late (o eso creo). El borde del lado derecho se mueve lentamente, el borde del lado izquierdo está quieto.

+1
Imagen

-1
Imagen

-2
Imagen

-3
Imagen

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: Тестирование soft-processor Z80 в различных эмуляторах

Mensaje por Kyp » 21 Jul 2018, 18:44

Los test son todos correctos (lógico al ser el hardware real). Se cuelga al final y deja loco al DivIDE.
Seguiré haciendo pruebas...

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: Тестирование soft-processor Z80 в различных эмуляторах

Mensaje por Kyp » 21 Jul 2018, 19:29

ZX-Uno...

Core oficial con T80:
Imagen

Mi core con A-Z80:
Imagen

Responder