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

User Tag List

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

Тема: EmuStudio-ZX

  1. #1
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 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 в 23:18.

  2. Этот пользователь поблагодарил Titus за это полезное сообщение:

    NEO SPECTRUMAN (26.10.2019)

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

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

    По умолчанию



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

  5. #3
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #4
    Guru Аватар для SoftLight
    Регистрация
    28.02.2005
    Адрес
    Москва
    Сообщений
    2,081
    Спасибо Благодарностей отдано 
    732
    Спасибо Благодарностей получено 
    450
    Поблагодарили
    249 сообщений
    Mentioned
    2 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
    Сообщений
    791
    Спасибо Благодарностей отдано 
    351
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    21 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  8. #6
    Master
    Регистрация
    28.08.2005
    Адрес
    Черкассы, Украина
    Сообщений
    829
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #7
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    791
    Спасибо Благодарностей отдано 
    351
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    21 сообщений
    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

  10. #8
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,550
    Спасибо Благодарностей отдано 
    1,213
    Спасибо Благодарностей получено 
    1,748
    Поблагодарили
    680 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

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

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

  11. #9
    Guru Аватар для palsw
    Регистрация
    08.05.2011
    Адрес
    г. Измаил, Украина
    Сообщений
    3,216
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию




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

  12. #10
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    791
    Спасибо Благодарностей отдано 
    351
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    21 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

Похожие темы

  1. Эмулятор УКНЦ - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 1191
    Последнее: 15.02.2024, 13:32
  2. Эмулятор МС-0515 - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 143
    Последнее: 09.02.2023, 10:44

Ваши права

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