Форум Эму-Россия
http://forum.emu-russia.net/

Разогнанный эмулятор Game Gear
http://forum.emu-russia.net/viewtopic.php?f=13&t=1456
Страница 1 из 3

Автор:  Razor_ua [ 18 авг 2009, 13:25 ]
Заголовок сообщения:  Разогнанный эмулятор Game Gear

разгоняем виртуальный Zilog Z80A
(прям как на Эмулэнде :yes: )

Автор:  Wind [ 18 авг 2009, 16:18 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Разгони сам

Автор:  Zeru-j [ 18 авг 2009, 16:27 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

У, брат, тебе тут пока никто не поможет. Вот сказал бы ты характеристики системы, и эмулятор на котором у тебя тормозит, наверняка бы уже помогли. Расскажи подробнее, тебе помогут. Мало ли что там у тебя может быть. Древний, Богом забытый, эмуль или слабая машина, а на эмуле например hq4x фильтр включен. Факты давай, факты 8-)
Wind, не надо так жестоко. Пусть расскажет всё подробно и посмотрим чем помочь, а нет так тему всегда закрыть можно. :rolleyes:

Автор:  Wind [ 18 авг 2009, 16:33 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Да я не жестоко, всего лишь пытался предложить посмотреть сырцы если таковые есть конечно, если нет то и подебажить можно.

Автор:  Zeru-j [ 18 авг 2009, 16:53 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Ты серьёзно думаешь что он мог бы в сырцах ковыряться или дебажить? По-моему по постановке вопроса можно определить что нет. GameGear не такая мощная вещь чтобы тормозить. Тут причина кроется где-то на поверхности и кажется может быть решена сменой эмуля или подбором настроек. :ninja: Делаем упор на избавление человека от тормозов, а не на разгон т.к. "разгонять" всё равно никто не будет :yes:

Автор:  Wind [ 18 авг 2009, 16:59 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Топик, создан в эмупрофи, значит он себя таковым видать считает, а значит пусть получает соответсвующие ответы ;)

Автор:  GManiac [ 18 авг 2009, 18:51 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

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

Автор:  AntZ [ 18 авг 2009, 19:32 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

А вот Shiru утверждал, что это не так-то просто. Но он говорил про NES, а не GG. Он разогнал NES, но сделал это не путём увеличения тактовой частоты, а путём установки скорости выполнения каждой операции в один такт. А всё потому, что в исходниках не было тактовой частоты, а только куча параметров, определяющих взаимоотношение скоростей работы различных компонентов.

Автор:  Wind [ 18 авг 2009, 19:44 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Разогнать эмулятор (любой) как два пальца, только цена высока зачастую.

Автор:  AntZ [ 18 авг 2009, 19:49 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Wind писал(а):
Разогнать эмулятор (любой) как два пальца, только цена высока зачастую.
Что ты имеешь в виду под ценой?

Автор:  GManiac [ 18 авг 2009, 20:00 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Не знаю, что там наворотили в эмуляторе NES. В реальности* частота процессора получается делением частоты кварца на целое число. Но есть ещё другие компонеты со своим делителем, поэтому их такты пересекаются, ну... т.е. их НОК обычно не меньше частоты кварца (=> равен ей). Но эмулировать всё по тактам кварца глупо, их слишком много, поэтому можно применить какие-то хитрости, скажем, сделать приближённую синхронизацию компонентов не в угоду целым делителям. Да ещё и у компьютера свои частоты.
Например, частота кадров 50 и 60 Гц, а у приставки немного другие, получающиеся опять же целым делением кварца. Например, в генсе частоты кадров сделаны 50 и 60 Гц, это можно проверить, включая/выключая звуковой сигнал на кадровом прерывании, а потом посмотрев промежутки в звуковой дорожке.
Ещё, частота звука в компе обычно 44100 или 48000. А у приставок своя. Поэтому звук эмулируется не по тактам чипов, а по частоте компа.
Возвращаясь к процу: в том же генсе частоту проца можно выставить абсолютно любую, она никак не привязана к кварцу. Правда, исходник не очень грамотный и одни и те же строки выставление частот повторяются где-то 8 раз в разных местах (по 4 для двух телесистем).

* В настоящей реальности частота проца сеги (если считать кол. инструкций * (такты одной инструкции) / время) меньше нужной процентов на 5. Проверял на разных инструкциях пачками по много миллионов. Не знаю, в чём прикол, то ли задержка есть какая-то...

Автор:  Zeru-j [ 18 авг 2009, 20:44 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

GManiac, вчитайся в первый пост, ему нужен готовый разогнанный эмуль gg. Это Wind уже предложил самостоятельно разогнать его. Максимум чего ты добьёшься своими выкладками будет вопрос "а где достать такой эмулятор?". Ему нужен эмулятор с Throttle и FrameSkip (терминология vba), готовый продукт(если речь действительно о разгоне, а не об избавлении от тормозов). В общем ждём разъяснений автора чтобы не скатиться в холиварство на тему "что же ему было всё-таки нужно?" :) Я не враждебно настроен, но считаю что вопрос не в этой плоскости.

P.S. по чисто субъективным ощущениям тема "ЭмуПрофи" периодически превращается в тему "здесь спрашивать у ЭмуПрофи т.к. они здесь тусуются"

Автор:  GManiac [ 18 авг 2009, 23:15 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Zeru-j, вчитывайся в этот пост.

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

Выкладки были адресованы AntZ'у.

Автор:  Zeru-j [ 18 авг 2009, 23:18 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

На форуме эму-лэнда не обитаю.

Автор:  Razor_ua [ 20 авг 2009, 10:04 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

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

Вот верная мысль

Цитата:
P.S. по чисто субъективным ощущениям тема "ЭмуПрофи" периодически превращается в тему "здесь спрашивать у ЭмуПрофи т.к. они здесь тусуются"

За это извините

Буду искать исходники эмулятора GG и шаманить сам....................

Цитата:
Разгони сам

Самый правильный ответ :good: , т.е. не проси кого-то о том, чего не захотят делать

Цитата:
"а где достать такой эмулятор?"

Такого вопроса не будет, если бы его можно было достать, достал бы

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

Подопытным назначается Dega :spriteful:

Автор:  Razor_ua [ 20 авг 2009, 11:46 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Я так понял в сборке Gmaniac'a разогнан проц. Motorola 68000, а второстепенный Zilog Z80 ???

Автор:  Razor_ua [ 20 авг 2009, 13:15 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Может "тайна" кроется тут ?





case CPUINFO_INT_CONTEXT_SIZE: info->i = sizeof(Z80); break;
case CPUINFO_INT_INPUT_LINES: info->i = 1; break;
case CPUINFO_INT_DEFAULT_IRQ_VECTOR: info->i = 0xff; break;
case CPUINFO_INT_ENDIANNESS: info->i = CPU_IS_LE; break;
case CPUINFO_INT_CLOCK_MULTIPLIER: info->i = 1; break;
case CPUINFO_INT_CLOCK_DIVIDER: info->i = 1; break;
case CPUINFO_INT_MIN_INSTRUCTION_BYTES: info->i = 1; break;
case CPUINFO_INT_MAX_INSTRUCTION_BYTES: info->i = 4; break;
case CPUINFO_INT_MIN_CYCLES: info->i = 1; break;
case CPUINFO_INT_MAX_CYCLES: info->i = 16; break;

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

http://www.pcc.me.uk/~peter/dega/downloads/dega-1.16pre1.tar.gz - оригинал исходника
http://narod.ru/disk/12213027000/dega-1.16pre1.7z.html - переделанный исходник
Вот исходник с измененным файлом Z8.c
Цитата:
case CPUINFO_INT_CLOCK_MULTIPLIER: info->i = 1; break;

я прописал множитель 2

Помогите скомпилировать, а то я не могу скачать софт :ranting:
*Скорее всего ничего не получится - как-то всё у меня просто....*

Автор:  GManiac [ 20 авг 2009, 14:48 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Какой-то кривой исходник. Смотри на функцию
Код:
static void z80_init(int index, int clock, const void *config, int (*irqcallback)(int))

Парметр clock и есть частота. Но этот параметр нигде не используется, функция z80_init напрямую не вызывается, её адрес присывается полю структуры cpuinfo, но структура нигде не описана. Может, там как-то по-хитрому сделано, через жопу?

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

Чтобы скомпилировать, читай compile.txt, раздел Windows. Эмуль изначально под гнулинупс, поэтому скомпилить ты сможешь при очень большой удаче или большом профессионализме. Всё зависит от криворукости и красноглазия авторов.

Автор:  AntZ [ 20 авг 2009, 15:28 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Если вы посмотрите внимательно, то увидете, что весь этот участок кода находится под #if 0
Там есть массив cc (cycles count). Наверное, это и есть растактовка опкодов. Можно установить всё в единицы.

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

frame.cpp функция MastFrame
Код:
  if (MastEx&MX_PAL) LineCyc=273; // PAL timings (but not really: not enough lines)
  else               LineCyc=228; // NTSC timings

Видимо, количество тактов на строку. Дальше, через вызов RunLine эта переменная используется при вызове эмуляции Z80 (CpuRun(LineCyc); а дальше Z80Execute(CpuBase);)
В общем, можно попробовать увеличить LineCyc в нужное количество раз.

Автор:  Razor_ua [ 20 авг 2009, 16:43 ]
Заголовок сообщения:  Re: Разогнанный эмулятор Game Gear

Щас будем пробовать
Цитата:
frame.cpp

ни подумал тут скать - сразу в Z80 полез...

Страница 1 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/