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

User Tag List

Страница 1 из 44 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 433

Тема: EmuStudio-ZX

  1. #1
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    9,935
    Благодарностей: 3429
    Mentioned
    2 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию EmuStudio-ZX

    Решил выложить для тестов звуковой подсистемы свой эмулятор Спектрума 48Кб.

    Если в кратце, то на базе EmuStudio был написан эмулятор УКНЦ, ТИА-МЦ, МС-0515. Сейчас добавил режим простого спектрума-48 с таймингами Пентагона)
    Цель - протестировать звуковую и видеосистему эмулятора.
    Коцепция EmuStudio - эмуляция железа реального времени (каждый кадр эмулируемой системы совпадает с кадром развертки PC). Таким образом (в одном из режимов) если у вас монитор с разверткой 60Hz, то эмулируемый компьютер будет тоже иметь развертку 60Hz, но работать абсолютно плавно.

    Для владельцев Win 7 - новости неутешительные. Разрешение аудиобуфера сделали очень грубое, из-за чего невозможна точная синхронизация со звуком, и звука скорее всего не будет.

    Краткая информация о теории эмуляторостроения:

    Скрытый текст


    Как делают эмуляторы:
    Все эмуляторы, которые я встречал, придерживаются сходной схемы эмуляции (авторы поправьте меня, если это не так): основная временнАя привязка идет к аудиобуферу (в более простом случае - к системному таймеру). Все остальное (видеовывод) подгоняется под эти тайминги. При таком построении эмулятора можно рассчитывать только на 'гладкость' звучания звука, но никак не на полную идентичность эмуляции видео, даже если кадровая развертка видеокарточки сопвадает с кадровой разверткой эмулируемой машины.

    Откуда такая проблема?
    В нашем не всегда горячо любимом PC каждая аппаратная, необходимая для эмуляции часть (видео, звук, клавиатура и т.д.), живут обычно сами по себе, на своих тактовых частотах, со своими форматами данных и т.д. Казалось бы, чего сложного в их обьединении? Выставим частоту монитора 50Гц, частоту аудио 48000Гц, и в каждом кадре будет ровно 960 отчетов звукового буфера, все целенько и ровненько. Все будет выводиться синхронно. Привяжемся к аудиобуферу, и каждые 960 отсчетов звука будем выводит новый видеокадр и все будет шоколадно. Но не тут-то было.
    Во-первых, каждая аппаратная часть (видео, аудио и т.д.) вполне может тактироваться собственным источником, и даже если формально частоты кратные (в нашем примере 50/48000Гц), на деле они кратными не будут никогда (скажем, 50.0001 и 47.9997Гц), ибо разные источники тактирования. Единственный случай, когда этого можно избежать - это интегрированное видео и аудио, тактируемое одним источником. Но на это рассчитывать никак не приходится.
    Во-вторых, когда мы запрашиваем у системы характеристики видеоадаптера (частоту кадров), она отвечает весьма примерненько. 50Гц может подразумевать и 50.1Гц запросто.

    Отсюда единственный логичный вывод. Если ты хочешь, чтобы в эмуляторе все было так же плавно и гладко, как на эмулируемой машине, главная привязка должна быть именно к кадровой развертке, с адаптивной привязкой к ней менее критичных к передискретизации железок.

    Как это делаю я:
    В моем эмуляторе сделано так. При запуске замеряется кадровая частота, и вычисляется примерно (а точно нельзя) сколько отсчетов аудиобуфера у нас укладывается в кадр. Допустим этих отсчетов 100. Начинается эмуляция и каждый видео кадр идет очень точный замер (если позволяет виндовс) сколько же на деле мы проиграли за кадр отсчетов. Основываясь на этих измерениях вычисляется адаптивное, но высокоточное число выводимых аудиоотсчетов за кадр (допустим, 100.001234), и на этом эмулятор синхронизируется.
    Таким образом, каждый кадр эмулируемой системы (в данном случае Спектрума) равняется кадру видеокарточки, а звук с точностью до отсчета подгоняется по реальное число семплов в кадре.
    В случае же, когда аудиосистема не может сообщить о точном положении аудиомаркера в буфере (у Win7 эта точность равна 480 отсчетам, т.е. никакая), синрхонизация звука с видео по этому алгоритму невозможна.

    p.s.: Да, пока что в этом режиме Спектрум работает на 20% (при 60Гц мониторе) и на 50%(при 75Гц мониторе) быстрее, чем обычный Спектрум. Это на текущем этапе так и должно быть.
    [свернуть]


    Краткое управление:
    Код:
    LWin + F	- Включение/выключени полноэкранного режима*
    LWin + S	- Запись остояния в файл "snapshot.sna"
    LWin + L	- Загрузка состояния из файла "snapshot.sna"
    LCtrl + RCtrl	- Сброс
    ~		- Циклическая смена палитры: Цветная, Ч/Б, Инверсная Ч/Б.
    
    * - Максимизация окна - это тоже полноэкранный режим, 
        но с рамкой окна и панелью задач Windows.
    Описание индикатора быстродействия:

    Скрытый текст



    [свернуть]


    Поддерживаются только файлы ".sna".
    Для запуска снапшота достаточно просто кинуть его в окно с эмулятором.

    На этом пока все.

    p.s.: Просьба к владельцем разных версий виндовс - позапускать и сделать скриншот консольного окна с отладочной информацией (самая верхняя страница), а так же скриншот окна эмулятора.

    p.p.s.: Да, бордюр есть, и даже мультиколор на нем. Достаточно максимизировать окно, сделать фулскрин, или просто растянуть размеры окна.
    Вложения Вложения
    Последний раз редактировалось Titus; 02.10.2013 в 21:18.

  2. Этот пользователь поблагодарил Titus за это полезное сообщение:
    [bETA]mEN (28.09.2013)

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

  4. #2
    Guru Аватар для palsw
    Регистрация
    08.05.2011
    Адрес
    Измаил, Украина
    Сообщений
    3,207
    Благодарностей: 793
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию



    Win XP 32 SP3
    звук есть вроде но чуток не такой
    Радио-Губитель Канал на YouTube

  5. #3
    Guru Аватар для goodboy
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    9,415
    Благодарностей: 3160
    Записей в дневнике
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Просьба к владельцем разных версий виндовс - позапускать и сделать скриншот консольного окна с отладочной информацией.
    winXPpro sp3
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	log.jpg 
Просмотров:	243 
Размер:	20.7 Кб 
ID:	43306  

  6. #4
    Banned Аватар для SoftLight
    Регистрация
    28.02.2005
    Адрес
    Москва
    Сообщений
    1,054
    Благодарностей: 789
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Для владельцев Win 7 - новости неутешительные.
    ...
    LWin + L - загрузка snapshot.sna
    Не то что неутешительные, а просто ужасные: у меня на буке только одна кнопка Win и вообще-то Win-L это выход в экран блокировки с выбором пользователя.

  7. #5
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    668
    Благодарностей: 113
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Просьба к владельцем разных версий виндовс - позапускать и сделать скриншот консольного окна с отладочной информацией.
    Windows 7 Pro x64

    IT FOUND A VOICE... NOW IT NEEDS A BODY

  8. Этот пользователь поблагодарил [bETA]mEN за это полезное сообщение:
    Titus (29.09.2013)

  9. #6
    Master Аватар для cherkasy
    Регистрация
    28.08.2005
    Адрес
    Черкассы, Украина
    Сообщений
    728
    Благодарностей: 239
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    у меня тоже.. эмуль запустился но сочетание явно не для win 7.
    8 бит процессор, 64 кб памяти... кому это нужно? чуть больше чем ничего (с) Синклер, Люди- Машины
    http://legendofbytes.blogspot.com

  10. #7
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    668
    Благодарностей: 113
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cherkasy Посмотреть сообщение
    у меня тоже.. эмуль запустился но сочетание явно не для win 7.
    Оно не только в win7 так:

    https://en.wikipedia.org/wiki/Windows_key
    IT FOUND A VOICE... NOW IT NEEDS A BODY

  11. #8
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    9,935
    Благодарностей: 3429
    Mentioned
    2 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Спасибо за скриншоты, но нужен первый экран лога, пока он уже не уехал.

    LWin выбрал потому, что она не встречается в эмулируемых системах типа УКНЦ и Спектрума. Поэтому повесил на нее спецфункции, отключив при этом ее виндосовский функционал.

  12. #9
    Guru Аватар для palsw
    Регистрация
    08.05.2011
    Адрес
    Измаил, Украина
    Сообщений
    3,207
    Благодарностей: 793
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию




    win xp 32 sp3
    Звуковуха встроенная C-media AC97
    Последний раз редактировалось palsw; 29.09.2013 в 10:35.
    Радио-Губитель Канал на YouTube

  13. Этот пользователь поблагодарил palsw за это полезное сообщение:
    Titus (28.09.2013)

  14. #10
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    668
    Благодарностей: 113
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    нужен первый экран лога, пока он уже не уехал.
    IT FOUND A VOICE... NOW IT NEEDS A BODY

  15. Этот пользователь поблагодарил [bETA]mEN за это полезное сообщение:
    Titus (28.09.2013)

Страница 1 из 44 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор МС-0515 - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 95
    Последнее: 16.02.2017, 01:20
  2. Эмулятор УКНЦ - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 1135
    Последнее: 07.01.2016, 17:31

Ваши права

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