| Эмуляция > Эмуляторы для консолей и мобильных устройств |
| J2ME Эмулятор GBA |
| << < (2/3) > >> |
| iddqd:
WilliamJ, отличная идея! Удачи в этом нелёгком деле;) |
| WilliamJ:
SergeCheb - Я не пропал, просто пароль забыл... :wall: :rofl: iddqd - Конечно, идея на счет эльфов, или "Чёт типа того" на Нокиях - отличная. Только трудно-осуществимая. SergeCheb - Да, пока победы не одержал... Времени нету совсем... -_- |
| WilliamJ:
Кое что нашел сегодня час назад. Процессор ARM 9 ****(Забыл модель), который есть в телефоне Nokia 2700, аппаратно поддерживает функцию Jazelle, которая ускоряет Java программу в 8 раз. Только, чтобы эта функция работала, нужно встроить в приложение дополнительный код. Этот код отделяют от основного спец. строками(?). Если найду еще инфу, напишу сюда. |
| gepar:
WilliamJ,я сейчас с мобильника так что сильно инет серфить для поиска инфы не получается, но вот эти "в 8 раз" это небось враньё. Глупо же ограничивать проц чтобы проги работали медленнее и активировать его лишь если дописать "Ану бегом мне выполнять *?@%;! ". Хотя это могли сделать с целью экономии батарейки ... но всё равно что-то в твоих данных не так, как мне кажется. |
| WilliamJ:
gepar - Нет, везде так пишут. И Вики, и на других сайтах. Буду изучать Jazelle в этом направлении... :) А НЕ для всех программ эту пишут строку, потому, что не все старые и новые процессоры эту технологию поддерживают. А в законах Явы говорится: Ява(технология) должна работать одинаково на всех устройствах. Jazelle в Вики Из Википедии: --- Цитата ---Расширение Jazelle использует низкоуровневый бинарный перевод, выполненный в виде дополнительной ступени между выборкой и декодированием этапа инструкций процессора pipeline. Опознанный байт-код преобразуется в строку из одного или более родных инструкций ARM. --- Конец цитаты --- Jazelle на офф. сайте ARM(процессоры). |
| rock88:
Попробую и я что-нить вставить ;) И так у меня Motorola EM30, процессор ARM11 (arm1136jf-s, armv6j) 532Mhz, озу 64Мб, свап 300Мб. Это недоразумение на яве идет 4 фпс, при том что проц поддерживает всякие там Jazelle и VFP и тд. Недавно у нас появился порт gpsp, посмотрим сколько он кушает памяти: До запуска total used free 410092 51944 358148 Запускаем Legend of Zelda, The - The Minish Cap total used free 410092 73392 336700 Больше 20Мб ушло, у нокий столько будет? Да и идет не фулспид, при фрэймскипе 2 фпс 35-40, ну играть можно. Что там еще можно на эльфы портировать? - VBA, ну тут вообще глухо, 5фпс не играбельно, хотя есть пара игр которые фулспид выдают - обе Mat Hoffman's Pro BMX. Так, это что касается эльфов и прочего натива. На нокиях кто-нибуть видел эльфы, эльпаки, эльфлоадеры? Их нет и наверно уже и не будет. Вернемся к яве, ухх, как вспомню что это интерпретатор, меня аж передергивает :D Jazelle позволяет некоторому куску байткода выполнятся прямо на процессоре, а не в ява машине. Писать спец коды и тд вроде(!) не нужно. В общем забудь про ява эмулятор GBA - это фантастика! PS Посмотри разницу в цене между моим телефоном и своей нокией. Разница очень незначительная, если она вообще есть, но в моем случае я получил OS Linux и кучу эмуляторов, даже RE1 с PSX прошел с 5фпс :D а что ты получил? Геморой! |
| WilliamJ:
Фух. Вот ещё кому надо(а это надо не только для J2ME GBA, но и для обычной Java), нашел крайне интересную информацию про Jazelle. В идеале, это инструкция, как включать эту самую технологию. То есть, теоретически(пока практически ещё почти ни кто не пробовал), можно будет по 3D графике играть(Или по скорости) в N-Gage игры(вместе с Jazelle)... Или, например, ускорить все существующие J2ME эмуляторы(NES, GB и т.д.) для мобильников(может и смартфонов). Инструкция BXJ (ARM)(Начало выполнения инструкций) Инструкция BX (ARM)(Конец выполнения инструкций) Множество крайне полезной инфы про Архитектуру ARM процессоров и код для них. Архитектура ARM Первый спойлер - для rock88 :) rock88 - О! А я вас видел на "том" сайте, где про этот эмулятор Java GBA писали. Написано же русским языком, Jazelle ИМЕННО включается только спец. кодом. И выключается тоже. :? Второй спойлер Сам эмулятор уже изменен (не мною) под MIDP 2.0 и по этому загружается на многих телефонах. Скорость (без Jazelle) - 2 кадра в секунду. С помощью простой арифметики можно посчитать, что применив технологию Jazelle скорость работы эмулятора возрастет минимум от 4 и максимум(возможно и больше) до 16 кадров в секунду!А если потом ещё оптимизацию провести... Будет очень даже играбельно. Также можно использовать дополнительный процессор DSP - чтобы в реальном времени обрабатывать звуки. Тогда можно будет задействовать настоящий(не MIDI) звук из консоли. ;) |
| dreikk:
rock88, на сименсе порт vba и на 2мб оперативки работает, так что можно сделать подгрузку ромов по частях (почти все эмули для сименса поддерживают эту функцию). Хотя хз, на нокию вроде нету эльфпака и наверн не будет ;) |
| rock88:
dreikk, про 20мб озу это я про gpsp писал, там рекомпилятор и все дела, отсюда и высокая скорость, по сравнению с VBA WilliamJ, так это получается нужно будет переписать весь код на байткод и вставить в главном цикле в начале BXJ в конце BX, что-то не верится что будет все так просто, уже все бы давным давно игрались на телефонах в GBA. И авторы эмулей бы во всю использовали данную технологию, ведь написать/портировать эмуль гораздо сложнее чем вставить 2 строчки кода. Но все же я крайне скептически отношусь к тому, что на яве эмуль гба будет 16фпс выдавать, телефон скорей всего лопнет :D |
| Baka:
На яве не вариант, а вот нативный - играбелен. gpsp на НЕ смартфоне без звука работает практически на фул спиде, при включении звука скорость не сильно падает, а звук медленен. |
| rock88:
интeрeсно что это зa нe смaртфон, нa котором рaботaeт gpsp |
| Baka:
Ну как... поидее это не смартфон, но хакнув прошивку, можно портировать софт с линукса, мб я ошибаюсь и это уже можно назвать смартфоном. Говорю про Motorola Z6 (а также E2,E6,A1200,E8,ZN5...) |
| rock88:
Ну дaк, послe нeхитрых мaнипуляций эти тeлeфоны прeврaщaются дaжe большe чeм в смaртфоны. А нa з6 от e8 или зн5 вeрсия рaботaeт? А то нa зн5 нормaльно рeкомпилятор рaботaeт, и скорость в рaзы вышe |
| Baka:
Сейчас весь софт, игры и эмуляторы на з6 появляются после порта на зн5. В некоторых случаях достаточно изменить ярлык для запуска, иногда нужно пересобрать. Железо на з6 и зн5 то одно, просто разные версии ос. |
| rock88:
нa e8/зн5 я под SDL портировaл, у мeня нa eм30 нaпримeр, вeрсия с зн5 нe рaботaeт, нa з6 жe проц тaкой-жe. А вeрсии, нaписaнныe под сдл нa всeх мaгх должны бeз всяких мaнипуляций рaботaть, ну тaм конeчно клaвиши пeрeмaпить нужно, но это ужe по мeлочи. Мнe EXL говорил что у нeго дрaйвeр3 57фпс - фулспид выдaeт, a у мeня 8фпс - тормозa, у тeбя кaк с 3д игрaми, тормозит? |
| WilliamJ:
Хорошо, что сегодня выходной. Смогу в плотную заняться решением этой задачи... :) Надеюсь... Я ещё кое-что понял. С помощью данной функции(Jazelle) эмулятор ГБА может выполнять не только инструкции для 32-ух битных процессоров, но и инструкции для 16 битных процессоров - THUMB(как раз, в эмуляторе есть штук 15 или больше файлов THUMB.class, которые как раз и выполняют эту функцию). По этому их надо тоже использовать в Джезле, чтобы уменьшить нагрузку на главный проц., и этим прибавить скорости выполнения... Вот только я ещё не знаю, будет ли Jazelle работать во всех файлах *.class , или только в одном... :? Если во всех файлах, то это как раз будет отлично. Скачаю рекомпилятор, компилятор... и буду возиться с этим эмулем. А-то, почему-то писать новый эмулятор ГБА оказалось не возможной задачей... :( Ни где не могу найти документацию по нему(по GBA, в смысле)... По-этому, по-пытаюсь улучшить этот... :) |
| rock88:
WilliamJ, вот если бы ты на си + асм писал, тогда бы твой эмулятор мог бы использовать инструкции проца в качестве инструкций гба. Конечно пришлось бы возится с эмуляцией неподдерживаемых инструкций, всяких там регистров, доступа к памяти и т.д. http://swiki.hithot.cc/ru_RU/Jazelle "компилятор может быстро преобразовать байт-код в команды основного процессора, при этом эффективно используя новые типы команд" - полчаса рылся в NetBeans но ничего похожего не нашел. Самая лучшая документация по гба - исходники эмулей :) |
| iddqd:
WilliamJ, прогресс есть? |
| gepar:
iddqd,я думаю автор перечитал тему и заметил мои сообщения в самом начале :) |
| MVP:
vBoy же есть вроде, и пашет исправно. Если я по теме конечно :lol: |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |