Сообщения без ответов | Активные темы Текущее время: 27 апр 2024, 10:47



Ответить на тему  [ Сообщений: 42 ]  На страницу 1, 2, 3  След.
 Разогнанный эмулятор Game Gear 
Автор Сообщение
Сообщение 18 авг 2009, 13:25
Профиль
Аватара пользователя

Зарегистрирован:
18 авг 2009, 13:13
Сообщения: 19
разгоняем виртуальный Zilog Z80A
(прям как на Эмулэнде :yes: )


Последний раз редактировалось 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 фильтр включен. Факты давай, факты 8-)
Wind, не надо так жестоко. Пусть расскажет всё подробно и посмотрим чем помочь, а нет так тему всегда закрыть можно. :rolleyes:


Сообщение 18 авг 2009, 16:33
Профиль

Зарегистрирован:
14 ноя 2007, 11:19
Сообщения: 370
Да я не жестоко, всего лишь пытался предложить посмотреть сырцы если таковые есть конечно, если нет то и подебажить можно.


Сообщение 18 авг 2009, 16:53
Профиль
Аватара пользователя

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


Сообщение 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
Профиль ICQ

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


Сообщение 18 авг 2009, 19:44
Профиль

Зарегистрирован:
14 ноя 2007, 11:19
Сообщения: 370
Разогнать эмулятор (любой) как два пальца, только цена высока зачастую.


Сообщение 18 авг 2009, 19:49
Профиль ICQ

Зарегистрирован:
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 и шаманить сам....................

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

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

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

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

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

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


Сообщение 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

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


Сообщение 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
Профиль ICQ

Зарегистрирован:
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
Щас будем пробовать
Цитата:
frame.cpp

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


Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 42 ]  На страницу 1, 2, 3  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF (mod by Zeru-j).
Русская поддержка phpBB