|
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
CaH4e3
Зарегистрирован: 21.01.2004 Сообщения: 195
|
Добавлено: Пн Мар 29, 2004 11:43 pm Заголовок сообщения: |
|
|
MaXXik писал(а): | Нюню :)
Ээ насчёт таймингов ненадо понимать так буквально и выдавать вердикт - "бред". Уважаемый, насколько корректна эмуляция звука в EPSX и в VGS ;) |
Бред или не бред, буквально или не буквально, а вот причем тут "некорректность" самой игры с точки зрения физики - хех, не пойму.. Не пойму, к чему тут корректность звука в ЗЫЧ? ЕПСХЕ его вовсе не эмулирует ;) Это делают чисто плагины... ;)
На счет запуска игр, как цель теперяшних авторов эмуляторов - это с моей точки зрения вынужденный ход... Может бы они и хотели заэмулировать все, как надо, но как говорил автор того же PCSX2, вся инфа по работе приставки большей частью почерпнута из исследования дизассемблерных листингов програм... На то дельфин и выскочил так далко вперед, что по нему инфы несколько больше, чем просто результаты иссделования дизасма... Таким способом мы будем иметь действительно эмулятор не приставки, а каждой игры в частности... И повезет эмуписателям, если на написанном однажды "драйвере" запустится еще несколько игрушек. Будем иметь некий эмуль, MCME, весящий кучу метров и несущий на борту драйвера, фиксы и прочие патчи для большей части зарелизенных игрушек. Для каждой новой игры нужно делать новый фикс или даже драйвер... Может, пока еще такой проблемы особо не наблюдается... Но уже по первой ЗЫЧ видно, сколько в ней специфических фиксов под какие-то конкретные игры, позволяющие исправлять порой большие неточности "generic" эмуляции...
Кстати, надеюсь, никто не забыл про эмуль ХБОкса? Казалось бы... Это же идеальная машина именно для такой, ХЛЕ симуляци! Чего делать: бери, да перенаправляй вызовы на ДиректХ и делов, процесор вообще не надо эмулировать - прямой запуск кода..! А что сейчас может этот эмулятор? Запускать мувики у двух игр! Вот судя по всему, это сейчас как раз и есть эмулятор двух или трех игр, Турок Эволюшн одна из них... ж) |
|
Вернуться к началу |
|
|
MaXXik
Зарегистрирован: 17.11.2003 Сообщения: 124 Откуда: р.Беларусь, г.Солигорск
|
Добавлено: Пн Мар 29, 2004 11:45 pm Заголовок сообщения: |
|
|
Вообще уважаемый, санчез и прочие любители корректности.
Рассмотрим небольшой пример, с хардварной частью кропьютера Амига, если не ошибаюсь чип
назывался PAULA и служил для аппаратного проигрывания сэмпла ( цифровой выборки аналогового звука ).
4 аппаратных цифровых канала. 8 битная знаковая выборка для сэмпла.
но информация по этому "custom" чипу закрыта, он разрабатывался и выпускался специально для
компьютера Амига. Я не про центральный процессор моторола, а именно про кастом чипы. Да общий принцип его работы понятен -
это "частотная выборка".
"Корректная" эмуляция должна полностью повторять процесс частотной выборки этого чипа, возможно
с какими нибудь алгоритмами сглаживания звуковой волны, если они есть в этом чипе. Да и ещё, должна идти корректная
эмуляция уровней звука.
В эмуляторе на PC всё делается примерно по такой схеме. Например, частота звучания сэмпла 23450 HZ, частота буфера из
которого идёт выборка сэмпла для воспроизведения directx 44100HZ, получается что на каждый байт нашего директ саунд буфера
мы имеем, примерно 0,53174603174603174603174603174603 байта оригинального сэмпла. Окей, если в эмуляторе я чуть чуть
округлю это значение и использую фиксированное представление числа , разве это будет "СИЛЬНО ЗАМЕТНО???", а если я полезу
в дебри с числами с плавающей точкой ??? Надеюсь, Санчо, ты программист на этом месте не надо обьяснять с какими
проблемами мы столькнёмся в этом случае.
С другой стороны, если я использую округление, где гарантия что в чипе ПАУЛА, на самом деле выборка идёт именно с таким
округлением, а если я всё же использую флоат ( притормаживая всю процедуру на процентов 80) где гарантия что я использую
инкремент сэмпла с таким количеством знаков после запятой и т.п. ( нужное подставить ).
да сразу видно что эмуляция не будет на 100% корректной.
А может , Санчо, ты подскажешь как правильно реализовать Амижный аппаратный фильтр ?
Неужели кто сможет реализовать это в программном коде с одной стороны который бы быстро работал на машине чуть выше средней,
а с другой стороны полностью !!! повторял её аппаратную структуру, с эффектами и таймингами, которые для
"среднестатистического" пользователся не так важны.
На практике, при решении таких задач применяется апроксимация, для улучшения звучания применяется сглаживание по кубическому
сплайну. Но никогда, никогда софт полностью не повторяет работу железа на все 100%.
И не надо брать в пример корявые эмуляторы, в которых все недостатки видны невооружённым взглядом, по моему посту
видно, что суть любого эмулятора в том чтобы на экране и в колонках мы видели и слышали примерно тоже, что видим и
слышим от оригинала приставки, пусть не со 100% таймингами, но результат должен быть похож на оригинал, а оригиналом
он НИКОГДА и не станет.
Зачем мне, простите, 100% корректности эмуляции при нулевом фреймрейте.
ЗЫ. Ааа в эмуле спектруме можно бордюрные эффекты посмотреть ))) Хотя я помню, что в моём хардварном байте на реальном
железе, но из за таймингов отличных от пентагона я нихера на бордюре не наблюдал. ТАк что, эмулятор байт с некорректными
в сравнении с пентагоном таймигами - липа ?
Последний раз редактировалось: MaXXik (Ср Мар 31, 2004 9:52 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
MaXXik
Зарегистрирован: 17.11.2003 Сообщения: 124 Откуда: р.Беларусь, г.Солигорск
|
Добавлено: Пн Мар 29, 2004 11:52 pm Заголовок сообщения: |
|
|
На счет запуска игр, как цель теперяшних авторов эмуляторов - это с моей точки зрения вынужденный ход... Может бы они и хотели заэмулировать все, как надо, но как говорил автор того же PCSX2, вся инфа по работе приставки большей частью почерпнута из исследования дизассемблерных листингов програм...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
А вот начсчёт информации о дизассемблировании программ - это уже полный бред, даже чушь. Ребята , которые работают над эмулятором имеет доступ к официально сдк от второй psx. |
|
Вернуться к началу |
|
|
MaXXik
Зарегистрирован: 17.11.2003 Сообщения: 124 Откуда: р.Беларусь, г.Солигорск
|
Добавлено: Пн Мар 29, 2004 11:54 pm Заголовок сообщения: |
|
|
Да ты и сам подумай, насколько реально отрассировать код на приставке со множеством чипов.
IDA + flirt с поддержкой ps2libs хотя бы |
|
Вернуться к началу |
|
|
Celcion
Зарегистрирован: 03.01.2004 Сообщения: 87 Откуда: Moscow, Russia
|
Добавлено: Вт Мар 30, 2004 3:15 am Заголовок сообщения: |
|
|
Не стоит ударяться в крайности. Эмуляторы того же PSX - изначально задумывались "корректными", т.е. - HLE там только вставками идет, там где "корректная" реализация будет неэффективна, например, потому, что HLE не нарушит совместимости, но даст нехилый прирост в скорости. Но там есть эмуляция, скажем CPU и основных частей приставки.
Тем более - давай отойдем от виндов. Зачем сразу DirectX? А как насчет OSS, например? Как насчет других операционок? Как насчет железа, не совместимого с x86?
Тот же XMAME, например, можно собрать даже на компах Silicon Graphics. Да что там - даже на хэндхэлдах есть версия MAME. Т.е. - код портируемый и платформонезависимый и может быть легко перенесен на другие платформы напрямую, или с небольшими модификациями.
Тоже самое можно сказать и про FCEultra.
А, скажем, тот же UltraHLE - тока в винде пойдет. И только на PC. Просто потому что он больше нигде работать и не сможет - он полностью зависим от винды и железа PC. На IBM PC-несовместимом компе - он работать не будет.
Впрочем, платформонезависимость - это необязательно. Если писать на ассемблере - то код полюбому будет платформозависимым. Но так или иначе - это будет именно эмулятор приставки, а не игр для нее.
А HLE, в той или иной степени, есть в любом эмуляторе. Я просто считаю неправильным на HLE _базировать_ эмуляцию. _________________ Yare, Yare Daze... |
|
Вернуться к началу |
|
|
Celcion
Зарегистрирован: 03.01.2004 Сообщения: 87 Откуда: Moscow, Russia
|
Добавлено: Вт Мар 30, 2004 10:40 am Заголовок сообщения: |
|
|
Anton писал(а): | Celcion писал(а): | в нормальной серьезной дискуссии я вполне могу их привести и разложить все по полочкам. |
а зачем дискуссия?
не надоело еще спорить? |
Посмотри перевод слова "discussion" на том же translate.ru. Так, общего развития ради. ^_~ _________________ Yare, Yare Daze... |
|
Вернуться к началу |
|
|
Fish
Зарегистрирован: 15.11.2003 Сообщения: 425 Откуда: издалека...
|
Добавлено: Вт Мар 30, 2004 11:51 am Заголовок сообщения: |
|
|
Celcion писал(а): | Anton писал(а): | а зачем дискуссия? не надоело еще спорить? | Посмотри перевод слова "discussion" на том же translate.ru. Так, общего развития ради. ^_~ | Это грубая ошибка. Ты путаешь русские слова с похожими по звучанию английскими/латинскими (от которых они и произошли), однако, несущими иной смысл. Примеры нужны? _________________ Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...> |
|
Вернуться к началу |
|
|
CaH4e3
Зарегистрирован: 21.01.2004 Сообщения: 195
|
Добавлено: Вт Мар 30, 2004 4:53 pm Заголовок сообщения: |
|
|
To MaXXik: Твоя точка зрения в целом понятна. Но пример ты подобрал совершенно неподходящий... "Аппаратное проигрывание семпла" по другому всегда называлось DSP aka Цифровой Сигнальный Процессор... Устройство для преобразовывания аналогового сигнала в цифровой и наоборот. Но это не главное. Если частота семпла 23450Гц, то и процессор выбирает этот семпл именно с такой частотой. "Внутри" ПАУЛА ничего не округляет. Как семпл есть, так она его и кладет. И эмуляторы в большей своей массе делают тоже самое. Никакой плавающей точки не надо. Звук записывается в промежуточный буффер точно в таком виде, который генерируется звуковым процессором дело программиста уже после по какому-либо стандартному алгоритму Upsample'ить буффер до нужной герцности... Все эти алгоритмы давно разработаны, оптимизированы и адаптированы... Ошибки АпСемплинга при удвоении часоты дискретизации практически несущественны, но и их можно уменьшить при использованиии чисел с фиксированной точкой, арифметика над которыми осуществляется целочисленными операциями... Так или иначе, эмуляция будет почти 100% корректной, за исключением того факта, что звуковой сигнал при преобразовании в аналоговый уже некоторым образом сгажывается и проходит через несколько каскадов на выходе - предусилитель, например, или тот же смеситель композитного видео со звуком в высокочастотный сигнал, как на денди, например... Все это и придает звуку на реальной машине тот неповторимый оттенок, которого чистым цифровым звуком не сэмулировать, хотя он формально и будет абсолютно точным...
На счет аппаратного фильтра, я не знаю, что ты имеешь под ним ввиду... Что именно от чего фильтруется? Если ты про аппроксимацию, то преобразовние цифрового сигнала в аналоговый - это и есть аппроксимация... А в нашем случае, она применима только тогда, когда наш выходной семплрейт звука больше, чем исходный эмлуторный семплрейт. Вот тут и применяют аппроксимацию для того, чтобы в выодном сигнале не было длинных ступенек с одними тем же уровнем звука... Алгоритмы же аппроксимации теми же кубическими сплайнами с достаточным приближением являются точно повторяющими исходный сигнал... От приближений никуда не денешься... Такова природа всего этого вообще... Мы дифуры-то сейчас большей частью решать умеем приближенными численными методами... Точных решений мало и все они рассчинтаны на частные случаи, так что говорить об описании в программе точных процессов. протекающих в железе ельзя в принципе... А все приближенные методы решения поставленной задачи являются точными в допустимых пределах...
А на счет спектрума, я не пойму, в чем вопрос... Да, так и есть: разные модели спектрумов отличаются некоторыми характеристиками, что не позволяет запускать на 48к эффекты Пентагона и наоборот, да чего там, моделей гораздо больше и программы рассчитанные на один не всегда корректно работают на другом. Хорошие эмуляторы этот факт отражают. Для определенных демок нужно подбирать режимы эмуляции определенных машин на основе спектрума...
По поводу СДК от ПСХ, может ты чего-то путаешь? СДК достался как раз разработчика м Кубика... Про СДК ЗЫЧ я не слышал еще... Даже если оно и так, СДК - это набор прототипов функций и типов данных... Большее, на что можно рассчитывать - знать вобще что должно происходить при использовании той или иной функции... Но сколько времени выполняется функция, на какие системы влияет, как вообще работает мы не знаем. В каких-то случаях, это не скажется на работе, но вот найдется такая программа, которая будет пользоваться специфическим параметром, например будет привязана к количеству тактов, необходимых на выполнение операции - и все пойдет на смарку...
Множество чипов еще не означает, что для каждого из них есть свой код, а вообще код программы пишется на языке ГЛАВНОГо процессора. Что и подлежит исследованию. Все остальное можно отнести к микроинструкциям, которыми на начальном этапе можно пренебречь. Например, звуковой чип СНЕСа работает на собственных инструкциях и в своей области памяти, но отдельной от основной, так что для начального этапа эмуляции можно вообще о немо позабыть, и работать без звука, отлаживая эмуляцию основного процессора...
Никогда нигде при наличи двух или более разных процессоров, их код не может смешиваться или мешать другому. Максимум, что могут иметь разные процессоры - общие области памяти. Работают же они и программируются совершенно отдельно. |
|
Вернуться к началу |
|
|
MaXXik
Зарегистрирован: 17.11.2003 Сообщения: 124 Откуда: р.Беларусь, г.Солигорск
|
Добавлено: Вт Мар 30, 2004 10:03 pm Заголовок сообщения: |
|
|
Ну, сам хорошо пояснил, что эмуляция не может быть 100 % корректной. Хотя бы на уровне ЦАП ;)
Откуда такая информация, что сглаживание по сплайну используется только, когда частота оригинального сэмпла меньше частоты микшируемого(воспроизвоимого) буффера ? Или мы пропускаем байты оригинального сэмпла, когда частота его дискретизации больше частоты микс буффера, либо мы повторяем байты по нескольку раз, всё равно для улучшения качества звука используется сплайновая апроксимация.
Хахахахаха , код программы пишется на языке ГЛАВНОГО ПРОЦЕССОРА, вы такое слыхали ?????????????
Обращение с к спец. процессорам происходит при помощи записей, чтения регистров этих чипов, которые обычно имеет определённый адресс в карте памяти приставки. Так что сэмулировав комманды записи/чтения основого процессора в порты, либо регистры спец. чипсетов, без адекватной эмуляции этих регистров ты ничегошеньки не добьёшся.
СДК это не только библиотеки. Посмоти хотя бы на GBA. В первую очередь это описание карты памяти приставки. Описание аппаратных регистров, режимов доступа к памяти, регистрам и т.п.
Библиотека, которая входит в стандартный сдк, так же содержит код который работает с этими же регистрами. Так нахрена мне эмулировать функции библиотеки, если я могу корректно сэмулировать CPU и чипсеты приставки. В этом члучае у меня заработают не только библиотеки из СДК, но и любые другие библиотеки, написанные сторонними разработчиками и не вошедшими в состав СДК. !
Всё времени спорить нет. |
|
Вернуться к началу |
|
|
Fish
Зарегистрирован: 15.11.2003 Сообщения: 425 Откуда: издалека...
|
Добавлено: Ср Мар 31, 2004 1:19 am Заголовок сообщения: |
|
|
MaXXik писал(а): | СДК это не только библиотеки. Посмоти хотя бы на GBA. В первую очередь это описание карты
памяти приставки. Описание аппаратных регистров, режимов доступа к памяти, регистрам и т.п. | О! А где такое дають? Я имею в виду, для GBA? _________________ Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...> |
|
Вернуться к началу |
|
|
Celcion
Зарегистрирован: 03.01.2004 Сообщения: 87 Откуда: Moscow, Russia
|
Добавлено: Ср Мар 31, 2004 3:12 am Заголовок сообщения: |
|
|
Fish писал(а): | Celcion писал(а): | Anton писал(а): | а зачем дискуссия? не надоело еще спорить? | Посмотри перевод слова "discussion" на том же translate.ru. Так, общего развития ради. ^_~ | Это грубая ошибка. Ты путаешь русские слова с похожими по звучанию английскими/латинскими (от которых они и произошли), однако, несущими иной смысл. Примеры нужны? |
Аха, действительно, что ж это я не позаботился о примерах. Вот тебе раз, вот тебе два, грамотей ты наш. _________________ Yare, Yare Daze... |
|
Вернуться к началу |
|
|
Fish
Зарегистрирован: 15.11.2003 Сообщения: 425 Откуда: издалека...
|
Добавлено: Ср Мар 31, 2004 1:29 pm Заголовок сообщения: |
|
|
Celcion писал(а): | Fish> Примеры нужны?
Аха, действительно, что ж это я не позаботился о примерах. Вот тебе раз, вот тебе два, грамотей ты наш. | О, гранд мерси, уважаемый! Узнал много нового для себя. Оказывается, "дискуссия" - это "обсуждение". Надо же! Много думал об этом. Пришел к выводу, что Ваш метод ведения спора и аргументация как нельзя лучше вписывается в определение из Вашего же второго примерчика, того самого, что под заголовком "Софистическая дискуссия". _________________ Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...> |
|
Вернуться к началу |
|
|
Anton
Зарегистрирован: 10.11.2003 Сообщения: 727 Откуда: Киев
|
Добавлено: Ср Мар 31, 2004 6:40 pm Заголовок сообщения: |
|
|
не надоело? |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Мар 31, 2004 6:50 pm Заголовок сообщения: |
|
|
Да, Макс, ты чего это разошёлся? В одном посте наматерил больше, чем мы все за всё время существования форума. |
|
Вернуться к началу |
|
|
Chaos Смотрящий в ночи
Зарегистрирован: 08.11.2003 Сообщения: 587 Откуда: Первозданный Хаос
|
Добавлено: Ср Мар 31, 2004 7:00 pm Заголовок сообщения: |
|
|
Дурдом. _________________ Homo sum; humani nibil a me alienum puto. |
|
Вернуться к началу |
|
|
gottax
Зарегистрирован: 16.11.2003 Сообщения: 588 Откуда: Курск
|
Добавлено: Ср Мар 31, 2004 8:55 pm Заголовок сообщения: |
|
|
АнС писал(а): | Да, Макс, ты чего это разошёлся? В одном посте наматерил больше, чем мы все за всё время существования форума. |
Это можно поправить
Вот, %$*, &$%! *%^$&* просто! *$^#&%^& своим литературным языком!! Хватит *$^&$&*, даёшь свободу русскому разговорному!!! ^#&%(#&*(* этих %^#&$( модераторов, мещающих свободному общению на *%(%^*(#*? исконно руском языке, ^*($%^& их в ^$*&!!!!!
А-Н-А-Р-Х-И-Я!!! |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Мар 31, 2004 9:47 pm Заголовок сообщения: |
|
|
Хах, кто бы говорил об анархии! Только матюки здесть совсем ни при чём. Так что:
|
|
Вернуться к началу |
|
|
MaXXik
Зарегистрирован: 17.11.2003 Сообщения: 124 Откуда: р.Беларусь, г.Солигорск
|
Добавлено: Ср Мар 31, 2004 9:53 pm Заголовок сообщения: |
|
|
Всё скорректировано.
Прошу прощения, бурный темперамент вырвался наружу |
|
Вернуться к началу |
|
|
Fish
Зарегистрирован: 15.11.2003 Сообщения: 425 Откуда: издалека...
|
Добавлено: Чт Апр 01, 2004 1:00 am Заголовок сообщения: |
|
|
АнС писал(а): | | АнС, это круто! _________________ Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...> |
|
Вернуться к началу |
|
|
gottax
Зарегистрирован: 16.11.2003 Сообщения: 588 Откуда: Курск
|
Добавлено: Чт Апр 01, 2004 7:19 am Заголовок сообщения: |
|
|
ААНААРХИИЯЯЯЯЯЯ!!!!!!! |
|
Вернуться к началу |
|
|
CaH4e3
Зарегистрирован: 21.01.2004 Сообщения: 195
|
Добавлено: Чт Апр 01, 2004 11:48 am Заголовок сообщения: |
|
|
Министерству культуры требуются грузчики. Знание русского языка НЕЖЕЛАТЕЛЬНО. |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|