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



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

Зарегистрирован:
22 июл 2007, 02:10
Сообщения: 313
Откуда: ниоткуда
Обычно главный модуль программы инициализирует компоненты с нужными параметрами.
Z80.c - это чисто эмулятор процессора, в нём частота (число) не должна быть прописана, но должна быть функция типа z80_init, где будут прописаны основные параметры, и частота тоже. А число будет где-то в главном модуле, он передаст его z80, т.е. "запустит" z80 с нужной частотой.
Но эта функция z80_init в исходниках вообще не используется (слово z80_init нигде больше не встречается), я не знаю, чё они там намутили и зачем писать ненужный код.
В ридми написано, что там 3 разных эмулятор z80, по умолчанию используется Doze. От него и пляши.

Ты сначала оригинал скомпиль, а то толку от твоих изысканий не будет.

_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.


Сообщение 20 авг 2009, 17:30
Профиль ICQ

Зарегистрирован:
23 июл 2007, 12:24
Сообщения: 195
Откуда: Vladivostok, Russia
GManiac писал(а):
но должна быть функция типа z80_init, где будут прописаны основные параметры, и частота тоже.
Не имеет смысла передавать в эмулятор Z80 частоту проца в отрыве от других компонентов. Там нет каких-либо функций контролирующих скорость эмуляции. Ему передаётся только количество тактов, которые необходимо выполнить, а уж с какой частотой ты будешь вызывать этот модуль, решаешь сам.


Сообщение 20 авг 2009, 17:33
Профиль
Аватара пользователя

Зарегистрирован:
22 июл 2007, 02:10
Сообщения: 313
Откуда: ниоткуда
Вообще, почему именно Dega? Эмулей геймгира полно, вот здесь хотя бы.
http://www.zophar.net/sms-gg.html
В описании не всегда написано, что есть исходник эмуля. Смотришь каждый эмуль, например, Cogwheel и ищешь в гугле "Cogwheel source". И получаешь
http://code.google.com/p/cogwheel/
И так далее.
Можно не только на зофаре смотреть.
Глядишь, что-нибудь и скомпилится без проблем, тогда можно думать о разгоне.

Мне лично лень этим заниматься, GG для меня не представляет никакой ценности. А тебе я наводку дал.

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

AntZ писал(а):
Не имеет смысла передавать в эмулятор Z80 частоту проца в отрыве от других компонентов. Там нет каких-либо функций контролирующих скорость эмуляции. Ему передаётся только количество тактов, которые необходимо выполнить, а уж с какой частотой ты будешь вызывать этот модуль, решаешь сам.

Да, так тоже можно. Скажем, выполнить пачку команд на время одной строки растра. НО. Количество тактов в пачке считает главный модуль, а логичней всего считать его, исходя из частоты процессора. Так делается в генсе. А в деге, возможно, тупо прописана константа.

_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.


Сообщение 20 авг 2009, 17:57
Профиль
Аватара пользователя

Зарегистрирован:
18 авг 2009, 13:13
Сообщения: 19
Цитата:
Вообще, почему именно Dega

Первым нашел


Сообщение 20 авг 2009, 17:58
Профиль ICQ

Зарегистрирован:
23 июл 2007, 12:24
Сообщения: 195
Откуда: Vladivostok, Russia
GManiac писал(а):
А в деге, возможно, тупо прописана константа.
Да, так и есть, насколько я понял viewtopic.php?p=8464#p8464
GManiac писал(а):
В ридми написано, что там 3 разных эмулятор z80, по умолчанию используется Doze.

Заглянул в этот Doze, что-то непонятное. Похоже на рекомпилятор в ассемблерный (не машинный) код x86. Как это потом вызывается, непонятно. Легче уж Z80=z80jb


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

Зарегистрирован:
18 авг 2009, 13:13
Сообщения: 19
Цитата:
Мне лично лень этим заниматься, GG для меня не представляет никакой ценности

Для меня ценность на данной платформе представляет лиш серия Соников, самому тоже всё делать лень, но потихоньку буду пытаться чёт сделать


Сообщение 21 авг 2009, 16:45
Профиль WWW
Основатель сайта
Аватара пользователя

Зарегистрирован:
21 июл 2007, 15:40
Сообщения: 2234
Откуда: Москва
А разве на эмуляторах Game Gear вообще может что-нибудь тормозить? К чему весь сыр-бор?


Сообщение 21 авг 2009, 17:00
Профиль
Аватара пользователя

Зарегистрирован:
18 авг 2009, 13:13
Сообщения: 19
Цитата:
А разве на эмуляторах Game Gear вообще может что-нибудь тормозить? К чему весь сыр-бор?

Эмулятор не тормозит - тормозят сами игры (как в случае с Contra Force)


Сообщение 21 авг 2009, 18:06
Профиль WWW
Основатель сайта
Аватара пользователя

Зарегистрирован:
21 июл 2007, 15:40
Сообщения: 2234
Откуда: Москва
То есть они и на оригинальной приставке тормозят?


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

Зарегистрирован:
15 сен 2008, 16:22
Сообщения: 407
Откуда: Neo Arcadia
Да, но там это частично компенсируется ограничением спрайтов. (на nes 8, на gg не знаю, многие эмуляторы позволяют убирать это ограничение)
Здесь же используют подход увеличения скорости процессора, как результат - там где тормозило работает нормально, в иных частях игры всё быстрее чем нужно.


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

Зарегистрирован:
23 июл 2007, 12:24
Сообщения: 195
Откуда: Vladivostok, Russia
Zeru-j писал(а):
Да, но там это частично компенсируется ограничением спрайтов.
Что-то непонятно, как ограничение спрайтов может пывысить скорость?
Zeru-j писал(а):
там где тормозило работает нормально, в иных частях игры всё быстрее чем нужно.
Вряд ли. Всё равно все игры завязаны на покадровой отрисовке.


Сообщение 21 авг 2009, 19:37
Профиль
Аватара пользователя

Зарегистрирован:
15 сен 2008, 16:22
Сообщения: 407
Откуда: Neo Arcadia
AntZ писал(а):
Что-то непонятно, как ограничение спрайтов может пывысить скорость?

Легко, ведь тормоза если брать как пример игру Contra Force вызваны обилием взрывов/выстрелов/врагов одновременно на экране. Если ограничить количество отрисовываемых спрайтов одновременно нагрузка снижается. В общем-то зачем говорить если можно попробовать :) Ради любопытства запусти Contra Force на FCEUX с ограничением и без, если уж не веришь ;) Обращу внимание только на "частично компенсируется" так как несмотря на то что ускорение заметно, скорость по прежнему ниже чем на участках где нет, гммм, перестрелок.
Вряд ли Contra Force была бы играбельной на реальной консоли без такого ограничения.


Сообщение 21 авг 2009, 20:04
Профиль

Зарегистрирован:
14 ноя 2007, 11:19
Сообщения: 370
Razor_ua писал(а):
Цитата:
А разве на эмуляторах Game Gear вообще может что-нибудь тормозить? К чему весь сыр-бор?

Эмулятор не тормозит - тормозят сами игры (как в случае с Contra Force)

Т.е. фпс столько сколько нужно? В таком случае вероятнее всего там не правильно эмулируются прерывания, немного экскурса: Вообщем суть проблемы такова, как известно в эмуляции часто применяться куча допущений, основным из них являеться следуещее, события будь то DMA передача, прерывания конца отрисовки, еще что-то подобное обычно происходят сразу т.е. например запущеная программа просить через DMA передать даные, то обычно в эмуляции сразу же передают эти даные и выставляют прерывание конец DMA ибо так проще всего, зачастую этого достаточно. Но на реальной системе же на передачу данных через DMA требуеться время и иногда программа расчитывает на это время и пока передаються даные она выполняет еще что-то. В случае эмулятора это "что-то" она не успевает выполнить и как итог программа или не работает совсем или работает не верно. Так что стоит обратить внимание на то как в эмуляторах данной системы это организовано.


Сообщение 21 авг 2009, 21:09
Профиль WWW
Основатель сайта
Аватара пользователя

Зарегистрирован:
21 июл 2007, 15:40
Сообщения: 2234
Откуда: Москва
Zeru-j писал(а):
Да, но там это частично компенсируется ограничением спрайтов. (на nes 8, на gg не знаю, многие эмуляторы позволяют убирать это ограничение)
Здесь же используют подход увеличения скорости процессора, как результат - там где тормозило работает нормально, в иных частях игры всё быстрее чем нужно.

Ну, это как-то криво получается. Если на приставке тормозит, то я бы так и играл. Это ж эмуляция. Хотя, дело вкуса, конечно.


Сообщение 21 авг 2009, 21:35
Профиль ICQ

Зарегистрирован:
23 июл 2007, 12:24
Сообщения: 195
Откуда: Vladivostok, Russia
Zeru-j писал(а):
Легко, ведь тормоза если брать как пример игру Contra Force вызваны обилием взрывов/выстрелов/врагов одновременно на экране. Если ограничить количество отрисовываемых спрайтов одновременно нагрузка снижается.
Снижается нагрузка на GPU (так как в таких системах изображение формируется "на лету", то любая задержка недопустима, поэтому и ставят ограничения спрайтов) , но не на CPU. CPU всё так же продолжает обрабатывать все объекты, несмотря на то, что они не отрисовываются. Хотя не факт, конечно. Возможно, он определяет, какие объекты не были отрисованы и что-то пропускает.
CF надо посмотреть.
Wind писал(а):
Т.е. фпс столько сколько нужно? В таком случае вероятнее всего там не правильно эмулируются прерывания, немного экскурса: Вообщем суть проблемы такова, как известно в эмуляции часто применяться куча допущений, основным из них являеться следуещее, события будь то DMA передача, прерывания конца отрисовки, еще что-то подобное обычно происходят сразу т.е. например запущеная программа просить через DMA передать даные, то обычно в эмуляции сразу же передают эти даные и выставляют прерывание конец DMA ибо так проще всего, зачастую этого достаточно. Но на реальной системе же на передачу данных через DMA требуеться время и иногда программа расчитывает на это время и пока передаються даные она выполняет еще что-то. В случае эмулятора это "что-то" она не успевает выполнить и как итог программа или не работает совсем или работает не верно. Так что стоит обратить внимание на то как в эмуляторах данной системы это организовано.
Ну, думаю, если на реальной системе тоже всё тормозит, то дело не в этом.

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

Eevon писал(а):
Ну, это как-то криво получается. Если на приставке тормозит, то я бы так и играл. Это ж эмуляция. Хотя, дело вкуса, конечно.
Ты и графические фильтры не используешь? Странный у тебя вкус, честно говоря.


Сообщение 21 авг 2009, 22:10
Профиль
Аватара пользователя

Зарегистрирован:
15 сен 2008, 16:22
Сообщения: 407
Откуда: Neo Arcadia
ИМХО тормоза в игре можно использовать себе на пользу. Там где враги должны неожиданно появляться и атаковать или где можно случайно нарваться и растерять колечки. Так что действительно дело вкуса. Думаю и любители играть совсем без фильтров тоже есть, играет же кто-то с фильтром scanlines 75%. А вот имитация какого-нибудь оторванного проводка наверняка никого не заинтересует и уже было бы симуляцией, а не эмуляцией :)


Сообщение 21 авг 2009, 22:19
Профиль WWW
Основатель сайта
Аватара пользователя

Зарегистрирован:
21 июл 2007, 15:40
Сообщения: 2234
Откуда: Москва
AntZ писал(а):
Ты и графические фильтры не используешь? Странный у тебя вкус, честно говоря.

Неа, не использую. Мне оригинальное изображение нравятся. Фильтры всё только портят, на мой взгляд.


Сообщение 21 авг 2009, 22:38
Профиль
Аватара пользователя

Зарегистрирован:
18 авг 2009, 13:13
Сообщения: 19
Цитата:
Неа, не использую. Мне оригинальное изображение нравятся. Фильтры всё только портят, на мой взгляд.

А я подключаю телевизор к видеокарте и играю на геймпаде 8-)

Ощущение что играеш на железной приставке

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

Тему можно закрывать

При увеличении частоты процессора лаги исчезают только при горизонтальном скроллинге
Тормоза заметны при вертикальном скроллинге, наверно они зависят не только от CPU

:skull: возникают графические баги
:skull: игры часто виснут
:skull: звук идёт быстрее
:skull: много игр не грузятся

P.S.: С психу удалил билд и весь софт для его компилирования :banghead: :banghead: :banghead:

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

Цитата:
ИМХО тормоза в игре можно использовать себе на пользу. Там где враги должны неожиданно появляться и атаковать или где можно случайно нарваться и растерять колечки

ИМХО Sonic triple trouble - лучшая игра на GG, а Соник с такими тормозами не Соник - GG просто не тянет быстрый скроллинг, как на SMD (есть идея: надо на Sonic Retro или SSRG предложить портировать Sonic triple trouble на SMD :spriteful: )


Сообщение 22 авг 2009, 06:41
Профиль ICQ

Зарегистрирован:
23 июл 2007, 12:24
Сообщения: 195
Откуда: Vladivostok, Russia
Zeru-j писал(а):
ИМХО тормоза в игре можно использовать себе на пользу. Там где враги должны неожиданно появляться и атаковать или где можно случайно нарваться и растерять колечки.
Если так сложно, можно использовать замедление эмуляции.
Razor_ua писал(а):
При увеличении частоты процессора лаги исчезают только при горизонтальном скроллинге
Тормоза заметны при вертикальном скроллинге, наверно они зависят не только от CPU
возникают графические баги
игры часто виснут
звук идёт быстрее
много игр не грузятся
P.S.: С психу удалил билд и весь софт для его компилирования
Зачем? А как мы узнаем, что ты говоришь правду? :rolleyes:
Какие конкретно изменения ты сделал?


Сообщение 22 авг 2009, 11:07
Профиль
Аватара пользователя

Зарегистрирован:
18 авг 2009, 13:13
Сообщения: 19
Цитата:
Какие конкретно изменения ты сделал?


Код:
if (MastEx&MX_PAL) LineCyc=273; // PAL timings (but not really: not enough lines)
  else               LineCyc=228; // NTSC timings

  TotalCyc=LineCyc*262; // For sound


для PAL и NTSC увеличил показания на 20% (PAL - 328; NTSC - 274)
TotalCyc=LineCyc тоже поменял на 20% (вроде поэтому звук стал быстрее)

А вообще я очень психованая личность в плане неудач


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

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

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


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

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