Про ZXMAK2

emulators

Postby zxmak » 11 Jul 2013, 10:07

deathsoft wrote:Я же написал как можно наглядно сравнить эмуляторы, возьми желтый скролер из демы shock фикшенной под пентагон (ссылку я выше приводил) и посмотри как он двигается в zxmak и как в унриале.


эта неравномерность вызвана биениями возникающими из-за накопления ошибки при ресемплинге из 50 Гц в 75 Гц. Точно такие-же биения я наблюдаю в unreal (синхронизация от звуковухи, т.к. с другой синхронизацией unreal не работает - начинает подвисать каждую секунду).

Я поменял код измерения фпс, обновленный exe в аттачменте. На 75 герцовой развертке значения фпс те-же самые что и в unreal, если раскоментировать код для обновления 1 раз в секунду, а не на каждом фрейме, то даже меняются числа одинаково с unreal :)
Attachments
ZXMAK2757-precise-fps.zip
(409.68 KB) Downloaded 673 times
Эмулятор-виртуальная машина ZX Spectrum - ZXMAK2: https://zxmak2.codeplex.com/
User avatar
zxmak
 
Posts: 83
Joined: 26 Oct 2012, 02:25
Group: Registered users

Postby deathsoft » 11 Jul 2013, 10:45

zxmak wrote:Точно такие-же биения я наблюдаю в unreal (синхронизация от звуковухи, т.к. с другой синхронизацией unreal не работает - начинает подвисать каждую секунду).

Я же написал методику измерений, при синхронизации от звуковухи fps будет скакать как угодно. Более того, чтобы не было ресемплинга в унриале вообще можно установить intfq=60 или 75, и кадры спектрума будут отображаться в кадры pc без пропусков, в унриале при этом 60/75фпс, и скрол идет идеально плавно. Zxmak такой возможности не предоставляет (задать частоту кадров не 50гц а другую), сделай такую возможность и сравним.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 11 Jul 2013, 10:47

zxmak wrote:А фиксил я для работы CHORDOUT

В унриале, как ни странно, и CHORDOUT работает правильно (начиная с последней версии унриала 0.38). fk0 тест работал и в предыдущих версиях унриала.
Last edited by deathsoft on 11 Jul 2013, 10:54, edited 1 time in total.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 11 Jul 2013, 10:53

zxmak wrote:с другой синхронизацией unreal не работает - начинает подвисать каждую секунду

А, что за комп на котором унриал подвисает? Что пишется в строчке детекта проца в консоле?
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 11 Jul 2013, 11:31

Вон, кстати, древняя статья про измерение времени с картинками http://msdn.microsoft.com/en-us/library/windows/hardware/gg463347.aspx (там написано в контексте вывода звука, но с видео, ровно тоже самое).
zxmak2 соответствует figure.1.
unreal соответствует figure.2.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 11 Jul 2013, 17:05

Тест от fk0.
Запускать:
Code: Select all
RUN "et_200" CODE
Attachments
et200.scl
(539 Bytes) Downloaded 1078 times
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 11 Jul 2013, 21:12

Ну и мега бугага, открыл вкладку about в zxmak2, там куча копирастии, а то что код ВГ93 (а по факту еще и куски кода z80) взят из унриала - ни слова (т.е. SMT упоминать не надо).

Даже вон бажный код scf из унриала в коменте.
Code: Select all
        private void SCF(byte cmd)
        {
            //regs.F = (byte)((regs.F & (int)~(ZFLAGS.H | ZFLAGS.N)) | (regs.A & (int)(ZFLAGS.F3 | ZFLAGS.F5)) | (int)ZFLAGS.C);
            regs.F = (byte)((regs.F & ((int)ZFLAGS.PV | (int)ZFLAGS.Z | (int)ZFLAGS.S)) |
                (regs.A & ((int)ZFLAGS.F3 | (int)ZFLAGS.F5)) |
                (int)ZFLAGS.C);
        }


А также вон код расчета флагов:
Code: Select all
   private void make_sbc()   // credits to SMT (Unreal)
   private void make_adc()   // credits to SMT (Unreal)

и т.д.

Мегабугага, код воспроизведения звука тоже взят из унриала, и даже алко-говна заботливо скопированы:
Code: Select all
   if (m_useFilter)
   {
   /*lame noise reduction by Alone Coder*/

Этого кода в унриале от SMT нету, этот недо-интерполятор вкорячил в унриал alco (нужно выкосить нафиг). Параметры КИХ фильтра скопированы тоже из унриала 1 в 1 бездумно.

Вопрос тогда, что же в zxmak2 своего? Только переработанный код процессора и код улы с поддержкой контентед памяти?
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby zxmak » 11 Jul 2013, 22:54

deathsoft wrote:Ну и мега бугага, открыл вкладку about в zxmak2, там куча копирастии, а то что код ВГ93 (а по факту еще и куски кода z80) взят из унриала - ни слова (т.е. SMT упоминать не надо).


это я недавно about обновил :)
Скажи что писать, напишу. Никто и не говорил что в ZXMAK2 весь код с нуля написан :) В unreal тоже были фрагменты от zxmak :)
вг93, hdd и фильтр для звука из unreal взяты. Еще миксер каналов для AY тоже из unreal, но в миксере каша, нужо переделывать. Сам AY свой.
Фильтр для звука не так и давно был прикручен - после жалоб на некачественный бипер. Сейчас на AY в unreal посматриваю... :1tooth:
Значительная часть дотнетного кода Z80 еще в 2005 году писалась, тогда я взял часть таблиц с флагами и алу инструкций тоже в unreal, о чем и говорят коментарии в коде. Тогда хотелось побыстрее запустить софт, в итоге все так и осталось, поверх наложились фиксы и доработки (MW, исправлены флаги и т.п.) лезть переписывать уже не охота - работает правильно, вот и ладно. :D

Своё в ZXMAK2 - архитектура эмулятора, рендеринг, ну и сами девайсы (за исключением упомянутых вг93, hdd и фильтра для звука). Дизассемблер тоже свой.
В первом ZXMAK был еще встроенный ассемблер, но он был на базе кода unreal, к которому я доп. препроцессор прикрутил и таблички фиксил, чтобы инструкции полноценно парсились.
Эмулятор-виртуальная машина ZX Spectrum - ZXMAK2: https://zxmak2.codeplex.com/
User avatar
zxmak
 
Posts: 83
Joined: 26 Oct 2012, 02:25
Group: Registered users

Postby deathsoft » 12 Jul 2013, 08:17

zxmak wrote:Скажи что писать, напишу.

Ну так и напиши, что часть кода взято из unreal speccy by SMT.

Ну и какой же zxmak2 тогда "убийца унриала", когда по сути это половина унриала просто с другим интерфейсом (не было бы унриала, не было бы и zxmak2).
Фикс для работы теста et_200 тоже будет путем копирования кода ВГ93 из свежего унриала?
Подозреваю что когда хомяки захотят gs/ngs код тоже будет из унриала скопирован?
Last edited by deathsoft on 12 Jul 2013, 08:25, edited 1 time in total.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 12 Jul 2013, 08:23

zxmak wrote:В unreal тоже были фрагменты от zxmak

К сожалению это я никак проверить не могу, сорцы zxmak (который был на ц++) ты так и не выложил, хотя я просил много раз.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

PreviousNext

Return to Эмуляторы

Who is online

Users browsing this forum: No registered users and 1 guest

cron