Разогнанный эмулятор Game Gear
Автор |
Сообщение |
18 авг 2009, 13:25 |
|
Зарегистрирован: 18 авг 2009, 13:13 Сообщения: 19
|
разгоняем виртуальный Zilog Z80A (прям как на Эмулэнде )
Последний раз редактировалось Razor_ua 20 авг 2009, 10:27, всего редактировалось 2 раз(а).
|
|
18 авг 2009, 16:18 |
|
Зарегистрирован: 14 ноя 2007, 11:19 Сообщения: 370
|
Разгони сам
|
|
18 авг 2009, 16:27 |
|
Зарегистрирован: 15 сен 2008, 16:22 Сообщения: 407 Откуда: Neo Arcadia
|
У, брат, тебе тут пока никто не поможет. Вот сказал бы ты характеристики системы, и эмулятор на котором у тебя тормозит, наверняка бы уже помогли. Расскажи подробнее, тебе помогут. Мало ли что там у тебя может быть. Древний, Богом забытый, эмуль или слабая машина, а на эмуле например hq4x фильтр включен. Факты давай, факты Wind, не надо так жестоко. Пусть расскажет всё подробно и посмотрим чем помочь, а нет так тему всегда закрыть можно.
|
|
18 авг 2009, 16:33 |
|
Зарегистрирован: 14 ноя 2007, 11:19 Сообщения: 370
|
Да я не жестоко, всего лишь пытался предложить посмотреть сырцы если таковые есть конечно, если нет то и подебажить можно.
|
|
18 авг 2009, 16:53 |
|
Зарегистрирован: 15 сен 2008, 16:22 Сообщения: 407 Откуда: Neo Arcadia
|
Ты серьёзно думаешь что он мог бы в сырцах ковыряться или дебажить? По-моему по постановке вопроса можно определить что нет. GameGear не такая мощная вещь чтобы тормозить. Тут причина кроется где-то на поверхности и кажется может быть решена сменой эмуля или подбором настроек. Делаем упор на избавление человека от тормозов, а не на разгон т.к. "разгонять" всё равно никто не будет
|
|
18 авг 2009, 16:59 |
|
Зарегистрирован: 14 ноя 2007, 11:19 Сообщения: 370
|
Топик, создан в эмупрофи, значит он себя таковым видать считает, а значит пусть получает соответсвующие ответы
|
|
18 авг 2009, 18:51 |
|
Зарегистрирован: 22 июл 2007, 02:10 Сообщения: 313 Откуда: ниоткуда
|
Zeru-j, он хочет разогнать приставку в эмуляторе, т.к. тормозит сама игра, а не эмулятор. Если есть исходник эмулятора GG, который можно скомпилить без лшних шаманств, то разогнать эмулятор не проблема.
_________________ Мысль - это интеллектуальный эксцесс данного индивидуума.
|
|
18 авг 2009, 19:32 |
|
Зарегистрирован: 23 июл 2007, 12:24 Сообщения: 195 Откуда: Vladivostok, Russia
|
А вот Shiru утверждал, что это не так-то просто. Но он говорил про NES, а не GG. Он разогнал NES, но сделал это не путём увеличения тактовой частоты, а путём установки скорости выполнения каждой операции в один такт. А всё потому, что в исходниках не было тактовой частоты, а только куча параметров, определяющих взаимоотношение скоростей работы различных компонентов.
|
|
18 авг 2009, 19:44 |
|
Зарегистрирован: 14 ноя 2007, 11:19 Сообщения: 370
|
Разогнать эмулятор (любой) как два пальца, только цена высока зачастую.
|
|
18 авг 2009, 19:49 |
|
Зарегистрирован: 23 июл 2007, 12:24 Сообщения: 195 Откуда: Vladivostok, Russia
|
Wind писал(а): Разогнать эмулятор (любой) как два пальца, только цена высока зачастую. Что ты имеешь в виду под ценой?
|
|
18 авг 2009, 20:00 |
|
Зарегистрирован: 22 июл 2007, 02:10 Сообщения: 313 Откуда: ниоткуда
|
Не знаю, что там наворотили в эмуляторе NES. В реальности* частота процессора получается делением частоты кварца на целое число. Но есть ещё другие компонеты со своим делителем, поэтому их такты пересекаются, ну... т.е. их НОК обычно не меньше частоты кварца (=> равен ей). Но эмулировать всё по тактам кварца глупо, их слишком много, поэтому можно применить какие-то хитрости, скажем, сделать приближённую синхронизацию компонентов не в угоду целым делителям. Да ещё и у компьютера свои частоты. Например, частота кадров 50 и 60 Гц, а у приставки немного другие, получающиеся опять же целым делением кварца. Например, в генсе частоты кадров сделаны 50 и 60 Гц, это можно проверить, включая/выключая звуковой сигнал на кадровом прерывании, а потом посмотрев промежутки в звуковой дорожке. Ещё, частота звука в компе обычно 44100 или 48000. А у приставок своя. Поэтому звук эмулируется не по тактам чипов, а по частоте компа. Возвращаясь к процу: в том же генсе частоту проца можно выставить абсолютно любую, она никак не привязана к кварцу. Правда, исходник не очень грамотный и одни и те же строки выставление частот повторяются где-то 8 раз в разных местах (по 4 для двух телесистем).
* В настоящей реальности частота проца сеги (если считать кол. инструкций * (такты одной инструкции) / время) меньше нужной процентов на 5. Проверял на разных инструкциях пачками по много миллионов. Не знаю, в чём прикол, то ли задержка есть какая-то...
_________________ Мысль - это интеллектуальный эксцесс данного индивидуума.
|
|
18 авг 2009, 20:44 |
|
Зарегистрирован: 15 сен 2008, 16:22 Сообщения: 407 Откуда: Neo Arcadia
|
GManiac, вчитайся в первый пост, ему нужен готовый разогнанный эмуль gg. Это Wind уже предложил самостоятельно разогнать его. Максимум чего ты добьёшься своими выкладками будет вопрос "а где достать такой эмулятор?". Ему нужен эмулятор с Throttle и FrameSkip (терминология vba), готовый продукт(если речь действительно о разгоне, а не об избавлении от тормозов). В общем ждём разъяснений автора чтобы не скатиться в холиварство на тему "что же ему было всё-таки нужно?" Я не враждебно настроен, но считаю что вопрос не в этой плоскости. P.S. по чисто субъективным ощущениям тема "ЭмуПрофи" периодически превращается в тему "здесь спрашивать у ЭмуПрофи т.к. они здесь тусуются"
|
|
18 авг 2009, 23:15 |
|
Зарегистрирован: 22 июл 2007, 02:10 Сообщения: 313 Откуда: ниоткуда
|
Zeru-j, вчитывайся в этот пост. ---- добавлено ---- Выкладки были адресованы AntZ'у.
_________________ Мысль - это интеллектуальный эксцесс данного индивидуума.
|
|
18 авг 2009, 23:18 |
|
Зарегистрирован: 15 сен 2008, 16:22 Сообщения: 407 Откуда: Neo Arcadia
|
На форуме эму-лэнда не обитаю.
|
|
20 авг 2009, 10:04 |
|
Зарегистрирован: 18 авг 2009, 13:13 Сообщения: 19
|
Цитата: он хочет разогнать приставку в эмуляторе, т.к. тормозит сама игра, а не эмулятор. Если есть исходник эмулятора GG, который можно скомпилить без лшних шаманств, то разогнать эмулятор не проблема. Вот верная мысль Цитата: P.S. по чисто субъективным ощущениям тема "ЭмуПрофи" периодически превращается в тему "здесь спрашивать у ЭмуПрофи т.к. они здесь тусуются" За это извините Буду искать исходники эмулятора GG и шаманить сам.................... Самый правильный ответ , т.е. не проси кого-то о том, чего не захотят делать Цитата: "а где достать такой эмулятор?" Такого вопроса не будет, если бы его можно было достать, достал бы ---- добавлено ---- Подопытным назначается Dega
|
|
20 авг 2009, 11:46 |
|
Зарегистрирован: 18 авг 2009, 13:13 Сообщения: 19
|
Я так понял в сборке Gmaniac'a разогнан проц. Motorola 68000, а второстепенный Zilog Z80 ???
|
|
20 авг 2009, 13:15 |
|
Зарегистрирован: 18 авг 2009, 13:13 Сообщения: 19
|
Может "тайна" кроется тут ? 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 Помогите скомпилировать, а то я не могу скачать софт *Скорее всего ничего не получится - как-то всё у меня просто....*
|
|
20 авг 2009, 14:48 |
|
Зарегистрирован: 22 июл 2007, 02:10 Сообщения: 313 Откуда: ниоткуда
|
Какой-то кривой исходник. Смотри на функцию Код: static void z80_init(int index, int clock, const void *config, int (*irqcallback)(int)) Парметр clock и есть частота. Но этот параметр нигде не используется, функция z80_init напрямую не вызывается, её адрес присывается полю структуры cpuinfo, но структура нигде не описана. Может, там как-то по-хитрому сделано, через жопу? ---- добавлено ---- Чтобы скомпилировать, читай compile.txt, раздел Windows. Эмуль изначально под гнулинупс, поэтому скомпилить ты сможешь при очень большой удаче или большом профессионализме. Всё зависит от криворукости и красноглазия авторов.
_________________ Мысль - это интеллектуальный эксцесс данного индивидуума.
|
|
20 авг 2009, 15:28 |
|
Зарегистрирован: 23 июл 2007, 12:24 Сообщения: 195 Откуда: Vladivostok, Russia
|
Если вы посмотрите внимательно, то увидете, что весь этот участок кода находится под #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 в нужное количество раз.
|
|
20 авг 2009, 16:43 |
|
Зарегистрирован: 18 авг 2009, 13:13 Сообщения: 19
|
Щас будем пробовать ни подумал тут скать - сразу в Z80 полез...
|
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|