Важная информация

User Tag List

Страница 8 из 98 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 980

Тема: Emu80 v.4

  1. #71
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    и пауза по кнопке "pause/break" не включается.
    а при этом не работает какой нибудь плеер или переназначалка клавиатуры?
    у меня периодически возникают подобные траблы изза подобного в некоторых приложениях.

  2. #72
    Guru Аватар для ZEman
    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    2,052
    Спасибо Благодарностей отдано 
    113
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    23 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а при этом не работает какой нибудь плеер или переназначалка клавиатуры?
    у меня периодически возникают подобные траблы изза подобного в некоторых приложениях.
    У меня стоит переназначалка клавиатуры "punto switcher" называется - довольно полезная для быстрого набора слов и корректировки ошибок программа, хотя иногда довольно вредная.
    Жму на клавишу пауза, пауза проскакивает пару раз (очень быстро включается-выключается) а потом клавиша пауза как-будто игнорируется.
    Может назначите паузу на другую клавишу какую-нибудь F ?

  3. #73
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    457
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Это в каком то ру-ководстве описано?))
    Не помню, возможно на форуме проскакивало. В конфиге Микроши, кажется, уже сделано.


    Цитата Сообщение от zebest Посмотреть сообщение
    Включил. Теперь с точностью до наоборот.
    Сейчас проверил на Микроше - и в Emu80, и в emu одинаковые результаты. К тому же свой эмулятор я с реалом сверял, хотя это давненько уже было...


    Цитата Сообщение от zebest Посмотреть сообщение
    Тесты все те же, от Shiru_Otaku. Только склеены все 45 штук в один файл.
    Что за тесты? Не знаю о них, возможно, именно на них проблемы?

    - - - Добавлено - - -

    Цитата Сообщение от ZEman Посмотреть сообщение
    Может назначите паузу на другую клавишу какую-нибудь F ?
    Хорошо, продублирую на сочетание Alt + что-нибудь.
    Я не пользовался punto switcher'ом, он как раз клавишу Pause использует по умолчанию?
    Последний раз редактировалось Pyk; 04.04.2017 в 09:09.

  4. #74
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В эмуляторах, где специально принимаются меры для балансировки времён исполнения команд такая ситуация. Чем быстрее компьютер на котором прогоняется эмулятор, тем точнее балансировка времён исполнения команд. На одноядерном ПЕНТИУМ-II все современные эмуляторы дают 100% погрешность времен прогона некоторых команд (а если одновременно загрузить современный 100-мегабайтный браузер, жрущий все ресурсы CPU, то намного больше). А на CELERON 500 вообще даже не выходят на номинальную скорость (примерно вдвое медленнее). Это из-за использования ЯВУ, на ассемблере более точный эмулятор можно сделать на 286-той с тактом всего 16 МГЦ?
    Последний раз редактировалось barsik; 04.04.2017 в 11:44.

  5. #75
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    457
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Да нуу, ну как можно не знать.
    http://www.nedopc.org/forum/viewtopic.php?f=43&t=8395
    Эти знаю, конечно.
    Только зачем же использовать тест не по назначению?
    Он предназначен для тестирования ВГ75. А поскольку с эмуляцией ВГ75 остались пока проблемы, результат выдается не совсем корректный, и время выполнения получается не вполне корректное.
    Как в emu дела обстоят с этим тестом - точно не знаю.
    Потестируйте на чем-нибудь, что корректно работает в эмуляторе, да хоть просто дамп области памяти в Мониторе.


    Цитата Сообщение от barsik Посмотреть сообщение
    В эмулятораз, где специально принимаются меры для балансировки времён исполнения команд такая ситуация.
    Ну, на современных компьютерах с достаточно мощным процессором все зависит только от самого эмулятора, не думаю, что проблемы могут быть из-за того, что не успевает компьютер, на котором этот эмулятор запущен...
    Последний раз редактировалось Pyk; 04.04.2017 в 11:29. Причина: Опечатка

  6. #76
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk
    на современных компьютерах с достаточно мощным процессором все зависит только от самого эмулятора, не думаю, что проблемы с могут быть из-за того, что не успевает компьютер
    Это легко проверить. Когда я в 2000 году заимел свой первый ПЕНТИУМ (Celeron 500), который эмулировал в 5-6 раз быстрее, чем до того имевшийся 486DX2-80 (170 XT), то решил сбалансировать времена исполнения команд в своём эмуляторе. При 486-той ещё не было ресурса для этого. Для этого я прогонял 500 миллионов раз подряд одну команду Z80 и по системному таймеру (что считает клики в 1/18 секунды) "засекал" время.

    Замечу, что сбалансировать 100% всё-равно не удастся - времена исполнения команд колеблются в разных процессорах из разных фирм. Кроме того, у одного кэш более быстрый, у другого конвейер более эффективный, в третьем компьютере интегрированный видеоадаптер тормозит. Конечно отличия невелики, но всё-же есть.

    Что Вам мешает написать подобный тест и оттестировать корректность времянок по командам.

    Тут некоторые пытаются тестировать программы основанные на времянках на эмуляторах. Я вообще не понимаю как это возможно. Ведь эмулятор на фреймах "рвёт" прогон программы ещё покруче, чем это делает ПДП в РК86. Так как, как минимум 50 раз в секунду, процессор в PC прекращает эмуляцию и начинает делать визуализацию, выкидывая картинку на экран SVGA. Понятно, что за секунду усреднённое торможение от визуализации постоянно. Но за короткий промежуток времени - это как попадёт. Если попадёт между двумя периодами визуалиции - это одна скорость, а если фрагмент придётся на период регенерации, то время прогона этого фрагмента изменится в разы. Или у Вас визуализацию делает другой процессор, не мешая основному?
    Последний раз редактировалось barsik; 04.04.2017 в 11:58.

  7. #76
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #77
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    457
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Что Вам мешает написать подобный тест и оттестировать корректность времянок по командам.
    В этом нет необходимости - я никогда не полагался на подобный способ "балансировки" и с самых первых версий жестко привязывался к таймеру, считая такты выполняемых команд.

  9. #78
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,671
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    321
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ПонИл. Тесты с ВГ75 нерелевантны ни разу. Ок.
    Profi v3.2 -=- Speccy2010,r2

  10. #79
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest
    Тесты с ВГ75 нерелевантны ни разу
    Эмулятор может быть вполне адекватным. Всё зависит от того как сделана визуализация. Если так как выше описано, т.е процессор в каждом каждом кадре надолго прекращает прогон и начинает визуализацию всего экрана это одно. А если визулизация "размазана тонким слоем" по времени кадра, т.е после прогона каждых 10 команд Z80, мы визуализируем маленький кусочек экрана (но не весь) это другое.

    И совсем третье, если визуализация сделана грамотно, когда все команды Z80 пишущие в экран отлавливаются (но не визулизируются сразу, а запоминаются), а затем после прогона очередноё 6000-ной команды все изменения экрана разом визуализируются и время процедуры визуализации подгоняется так, чтобы и при одном изменении экрана и при 150-ти, пауза в прогоне была одна и та же. Тогда скорость прогона неизменна, как для программ не пишущих в экран, так и для программ с быстрой динамикой на экране. При этом способе 50 раз в секунду делается визуализация не всего экрана, а лишь меняются произошедшие изменения на экране. Отчего потери скорости не на 99.9% как у цельно-фреймовой визуализации, а лишь на 0.05%. Так делаются эмуляторы на 286-том, которые работают лучше, чем эмуляторы на ПЕНТИУМЕ, что в 10 тысяч раз скоростнее. К сожалению, в моём эмуляторе не так. Я выравнивание потерь на визуализацию не делал, поэтому на 286-той (15 XT) есть 10%-ные колебания скорости в динамичных играх. Но уже на 386DX40 (43 XT) колебаний скорости нет.

    Цитата Сообщение от Pyk
    я никогда не полагался на подобный способ "балансировки" и с самых первых версий жестко привязывался к таймеру, считая такты выполняемых команд.
    Какой таймер, в режиме прогона прерывания запрещены. Точно также как клавиатура обслуживается собственным драйвером, INT_9 не работает, отчего программы для скрин-шота не работают. Поэтому копию экрана эмулятора я делаю в эмуляторе DOS BOX. Получается четверная эмуляция: DOS BOX, PC XT, ОРИОН, РК86. Кстати DOS BOX неверно эмулирует текстовый адаптер, а именно режим загрузки своих фонтов (это он делает), но не выпоняет функцию использовать фонт 9*16 вместо 8*16, отчего мой красивый фонт слипается, и в мониторе-отладчике отображается слипшийся фонт)

    Не могли бы Вы пояснить идею. Я это не понял.

    Я понимаю, что можно определить сколько маш.тактов прогналось за единицу времени, скорректировать константу тормозилки и снова протестировать. Через несколько итераций получим константу тормозилки, чтобы скорость соответствовала РК86 с реальным тактом в 1.3 МГЦ. Выяснить скорость легко даже по секундомеру. Так что не важно полагаетесь Вы на таймер или ручной секундомер. Как Вы тормозите - добавляя паузу после каждой команды (как делаю я, отчего получается дискретность и разбалансировка), добавляя большую паузу после, например 10.000 команд или добавляя количество кадров визуализируемых за секунду?
    Последний раз редактировалось barsik; 04.04.2017 в 13:10.

  11. #80
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Как Вы тормозите - добавляя паузу после каждой команды (как делаю я, отчего получается дискретность и разбалансировка), добавляя большую паузу после, например 10.000 команд или добавляя количество кадров визуализируемых за секунду?
    Выполняя в одном цикле эмуляции ровно столько тактов процессора, сколько выполнилось бы реальным процессором за время, которое прошло с предыдущего цикла. Сколько раз в секунду запускать цикл эмуляции, в таком случае, неважно. Можно 50 раз, а можно и 100 раз. Главное, что будет проэмулировано ровно столько тактов, сколько надо. Единственная погрешность - это погрешность при пересчёте времени в такты. У меня в эмуляторе время берётся в миллисекундах (количество тиков), соответственно если тактовая частота не кратна 1000, то количество тактов будет плюс-минус один. При 100 циклах в секунду до 100 тактов погрешности. Но при частоте около 2МГц это лишь 0.005%.

Страница 8 из 98 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Emu80, старые версии
    от Pyk в разделе Эмуляторы отечественных компьютеров
    Ответов: 68
    Последнее: 11.03.2017, 00:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •