Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Эмуляторы отечественных компьютеров (http://zx-pk.ru/forumdisplay.php?f=61)
-   -   Эмулятор УКНЦ - EmuStudio (http://zx-pk.ru/showthread.php?t=18027)

Alex_K 27th February 2012 02:25

Quote:

Originally Posted by Patron (Post 472554)
Тем, что эмулируется в другом месте программы эмулятора :)

Это точно. А ведь достаточно всего-то подпрограмме ReadWord передать адрес, а она уже пусть по адресу решает - резать младший бит, читать из ОЗУ, ПЗУ или с внешнего устройства.

Titus 27th February 2012 02:27

Quote:

Originally Posted by Alex_K (Post 472550)
А чем выборка команд отличается от чтения данных? Используется один и тот же цикл шины.

Нет у меня используются разные обработчики)

---------- Post added at 01:27 ---------- Previous post was at 01:26 ----------

Quote:

Originally Posted by Alex_K (Post 472556)
Это точно. А ведь достаточно всего-то подпрограмме ReadWord передать адрес, а она уже пусть по адресу решает - резать младший бит, читать из ОЗУ, ПЗУ или с внешнего устройства.

Еще бы) Но за универсальность обработчиков платить приходится скоростью эмулятора. Так что у меня разнесено по разным обработчикам для убыстрения.

Alex_K 27th February 2012 02:31

Quote:

Originally Posted by Titus (Post 472557)
Нет у меня используются разные обработчики)

Это плохо. Команды для чтения или записи поступают в операционный блок процессора, а он не различает, что это - команда или данные. Ему сказали - прочитать/записать, он и выполнил.

---------- Post added at 01:29 ---------- Previous post was at 01:28 ----------

Quote:

Originally Posted by Titus (Post 472557)
Еще бы) Но за универсальность обработчиков платить приходится скоростью эмулятора. Так что у меня разнесено по разным обработчикам для убыстрения.

Какое падение скорости? Главное время занимает рендеринг экрана.
Кстати, где алгоритм рендеринга лучше - в UKNCBTL или в EmuStudio?

---------- Post added at 01:31 ---------- Previous post was at 01:29 ----------

И ГЛАВНОЕ!!! ЖДЕМ ВЕРСИЮ 0.05d!!!

Titus 27th February 2012 02:39

1 Attachment(s)
Не знаю, как у вас, а у меня главное время занимает эмуляция трех процессоров) А экран рендерится не более 20% от их времени.
И что значит лучше? Быстре - скорее всего у меня, а правильный ли у вас - не знаю. У меня экран рендерится целиком каждый кадр, а должен в идеале в синхронно с работой всей системы, чтобы каждое изменение памяти в процессе хода луча отражалось на изображении.

Titus 27th February 2012 02:46

VT200 вроде заработал, только зависает при входе в Калькулятор. Впрочем, он зависает и на UKNCBTL.

Alex_K 27th February 2012 02:52

Quote:

Originally Posted by Titus (Post 472563)
Не знаю, как у вас, а у меня главное время занимает эмуляция трех процессоров) А экран рендерится не более 20% от их времени.
И что значит лучше? Быстре - скорее всего у меня, а правильный ли у вас - не знаю. У меня экран рендерится целиком каждый кадр, а должен в идеале в синхронно с работой всей системы, чтобы каждое изменение памяти в процессе хода луча отражалось на изображении.

УРА !!! Заработало !!!
По процессорам счет 1:1. С вашей стороны счетчик сдвига в ASH/ASHC, с нашей - нечетный счетчик команд.
А по рендерингу хотелось бы сравнить алгоритмы. В UKNCBTL почти правильный, даже учитывает графический курсор, нет только учета интенсивности для одиночной видеостроки, которая устанавливается через регистр отображения (но это покоцали уже и в реальных УКНЦ поздних выпусков).
А синхронно с работой системы сложно - выборка данных происходит каждые 640 нс. Надо одновременно с эмуляцией строить и образ экрана. Быстродействия не хватит.

Titus 27th February 2012 02:56

Quote:

Originally Posted by Alex_K (Post 472568)
А по рендерингу хотелось бы сравнить алгоритмы. В UKNCBTL почти правильный, даже учитывает графический курсор, нет только учета интенсивности для одиночной видеостроки, которая устанавливается через регистр отображения (но это покоцали уже и в реальных УКНЦ поздних выпусков).
А синхронно с работой системы сложно - выборка данных происходит каждые 640 нс. Надо одновременно с эмуляцией строить и образ экрана. Быстродействия не хватит.

Что за графический курсор?
У меня тоже нет яркости для конкретной строки, т.к. я не знаю, как она делается.

Можно сделать, и скорости хватит, только много возни.

Кстати, с яркостью UKNCBTL тоже, похоже, не так себя ведет. Замечал на реальной УКНЦ, что при загрузке системы с диска, который я прикладывал к первой версии эмулятора, экран вспыхивал ярким цветом, а на UKNCBTL этого замечено не было.

Alex_K 27th February 2012 03:02

Quote:

Originally Posted by Titus (Post 472564)
VT200 вроде заработал, только зависает при входе в Калькулятор. Впрочем, он зависает и на UKNCBTL.

Нормально он работает и там, и там. Просто калькулятор строковой.

---------- Post added at 02:02 ---------- Previous post was at 01:57 ----------

Quote:

Originally Posted by Titus (Post 472569)
Что за графический курсор?
У меня тоже нет яркости для конкретной строки, т.к. я не знаю, как она делается.

Делается через регистр отображения, в документации все есть.
Quote:

Originally Posted by Titus (Post 472569)
Кстати, с яркостью UKNCBTL тоже, похоже, не так себя ведет. Замечал на реальной УКНЦ, что при загрузке системы с диска, который я прикладывал к первой версии эмулятора, экран вспыхивал ярким цветом, а на UKNCBTL этого замечено не было.

UKNCBTL выводит изображение 25 раз в секунду, а не 50, как надо. Поэтому может вспышка и не подпадает. А с яркость поддерживается как для основного изображения через регистр управления цветом, так и для курсора через регистр управления отображением.

Titus 27th February 2012 03:03

Quote:

Originally Posted by Alex_K (Post 472570)
Делается через регистр отображения, в документации все есть.

UKNCBTL выводит изображение 25 раз в секунду, а не 50, как надо. Поэтому может вспышка и не подпадает. А с яркость поддерживается как для основного изображения через регистр управления цветом, так и для курсора через регистр управления отображением.

А, ну, если в документации все есть, то и у меня должно быть так же.

Вспышка там на секунду, наверное, так что прозевать ее было бы сложно.

А как так получается, что на позндних УКНЦ якрость для конкретной строки не работает, а для всего экрана работает? Что там убрали?

Alex_K 27th February 2012 03:13

Quote:

Originally Posted by Titus (Post 472573)
А, ну, если в документации все есть, то и у меня должно быть так же.

Проверим попозже. Хотя графический курсор вроде нигде не употребляется.
Quote:

Originally Posted by Titus (Post 472573)
Вспышка там на секунду, наверное, так что прозевать ее было бы сложно.

Хотелось бы увидеть.
Quote:

Originally Posted by Titus (Post 472573)
А как так получается, что на позндних УКНЦ якрость для конкретной строки не работает, а для всего экрана работает? Что там убрали?

Яркость всего экрана управляется выводом Y видеоадаптера, а яркость одной строки через регистр управления отображением регулируется выводами P0, P1, P2. Все дело в том, что для отдельной видеостроки можно было регулировать яркость каждого канала (R, G, B), а с помощью Y - либо все каналы яркие, либо нормальной яркости. А так как регулировка яркости для отдельной видеостроки не применялась, то и ее убрали. В поздних модификациях выводы P0, P1, P2 просто висят в воздухе, а в "КВАНТ"-овской схемотехнике просто не запаивали одну микросхему и кучу резисторов (в качестве примера - второй УКНЦ у hobot-а.).


All times are GMT +4. The time now is 02:46.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.