Автор Тема: J2ME Эмулятор GBA  (Прочитано 23511 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
J2ME Эмулятор GBA
« : 12 Сентябрь 2010, 23:36:58 »
J2ME Эмулятор GBA на мобильный телефон.
Есть кое какие наработки, и уже есть запускающийся эмуль, но FPs пока 1-2 кадра в секунду.

Страница доработанного эмуля(доработка DOJA J2ME):
http://emu-mobi.com/download/?act=view&file=1790

Скачать J2ME эмулятор GBA: http://emu-mobi.com/download/index.php?act=down&id=1790

На том сайте можно скачать разные эмуляторы для сотового.

Пробовал всякие Home-Brew игры в этом ГБА Эмуле размером всего в 30 кб,
но скорость одна и та же. А что больше памяти сотового, то почти сразу в "Out of memory".

Почитать посты на счет этого эмуля можно там же http://emu-mobi.com/forums/viewtopic.php?t=1075

Вот не знаю, вдруг кто-то здесь возьмется за эмулятор... Всё таки, это не супер-пупер сложно,
а удовольствие доставит многим. И все тем, кто возьмется и доработает, будут люди благодарны. :blush:

Вот пара ромиков, которые идут, но медленно:
Только переименуйте файл в rom.gba и залейте в архив jar.
« Последнее редактирование: 09 Октябрь 2010, 13:25:55 от WilliamJ »

Оффлайн OmKol

  • Пользователь
  • Сообщений: 4489
  • Пол: Мужской
  • опятьшмап
    • Youtube
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #1 : 13 Сентябрь 2010, 00:58:29 »
0_0 даже так? Вроде бы на Java и эмулятора Sega Mega Drive толкового нету.
Всё таки, это не супер-пупер сложно
На J2ME не программировал, но, ИМХО, писать эмулятор GBA для J2ME тот ещё мазохизм.

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #2 : 13 Сентябрь 2010, 01:37:14 »
Работает, но пока медленно и без звука.
На том же сайте есть исходники. Только ссылку что-то не могу проверить. Не хочет...
Выложу сюда. :)

Добавлено позже:
Дерзайте, как говорится... :)

Добавлено позже:
Снизу ссылка на скачку :biggrin:

Оффлайн SergeCheb

  • Пользователь
  • Сообщений: 863
  • Пол: Мужской
  • Svyazist
    • ВКонтакте
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #3 : 13 Сентябрь 2010, 12:32:37 »
ужас какой...какой там проц нужен?Как у топовых смартов?А зачем там он,там и свои есть...

Оффлайн dreikk

  • Пользователь
  • Сообщений: 207
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #4 : 13 Сентябрь 2010, 12:50:09 »
врядли тут проц топового смарта поможет;)

Оффлайн SergeCheb

  • Пользователь
  • Сообщений: 863
  • Пол: Мужской
  • Svyazist
    • ВКонтакте
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #5 : 13 Сентябрь 2010, 12:54:01 »
да вот еще взять яву -машину нокиа..ну кривая она, в ней не то что эмуляторы - игры то многие идут ужасно.

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #6 : 13 Сентябрь 2010, 21:04:31 »
SergeCheb - Да ладно. :)
Если говорить конкретно о модели 2700, то там Java MIDP 2.1
А процессор мощностью где-то 232 MHz. Я тестировал в программе
с сайта jbenchmark.com.
Не знаю как у вас, но у меня из 1200 игр не пошли 100. И то,
это ещё по размеру смотреть надо. Да и может они были для других
мобильников. ;)

Цитата
SergeCheb: ужас какой...какой там проц нужен?Как у топовых смартов?А зачем там он,там и свои есть...
Ни чего не понял из того, что вы написали... ::)

Цитата
OmKol: На J2ME не программировал, но, ИМХО, писать эмулятор GBA для J2ME тот ещё мазохизм
Так потому что не программировали, по этому и считаете так.
Java - Хороша колличеством. А Качество там тоже есть. И не мало.
И мощность. Раз уж на GBC эмулятор хватило, то и на GBA хватит.

Просто вот есть исходники MeBoy эмулятора - он открытый,
и использовать разделение рома на мелкие кусочки(по 512 кб или по 1Мб),
чтобы они сразу не грузились в память.
Первое, это конечно, оптимизировать код(если продолжить изменять тот эмуль, что
есть сейчас), чтобы хотя бы самые мелкие ромы(от 5 кб) шли 30-60 кадров.

План действий(оптимизация):
1. Увеличить скорость обработки.
2. Добавить возможность для запуска и игры в 4, 8, 16, и 32 мб ромы.
3. Добавить звук MIDI (для начала).
4. Добавить возможность сохранения.
5. Добавить нормальное управление(по-моему, в том эмуле его почти нет).
6. Добавить возможность поворота дисплея.

Вот те главные составляющие, которые нужны этому эмулятору для обретения жизни. :)

Добавлено позже:
Не знаю, где достать схему GBA(тех. данные и т.д.).
По-Яндексил - пока ничего...
« Последнее редактирование: 02 Октябрь 2010, 14:39:52 от WilliamJ »

Оффлайн gepar

  • Пользователь
  • Сообщений: 10150
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #7 : 13 Сентябрь 2010, 21:35:39 »
там обычый то gb и gbc со скрипом эмулируются, а тут gba.

Оффлайн OmKol

  • Пользователь
  • Сообщений: 4489
  • Пол: Мужской
  • опятьшмап
    • Youtube
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #8 : 13 Сентябрь 2010, 22:48:20 »
Так потому что не программировали, по этому и считаете так.
Java - интерпретатор и этого знания мне уже достаточно, чтобы скептически относиться к проекту.
Java - Хороша колличеством.
Количеством чего?
Раз уж на GBC эмулятор хватило, то и на GBA хватит.
Железная логика.

Оффлайн dreikk

  • Пользователь
  • Сообщений: 207
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #9 : 13 Сентябрь 2010, 23:04:22 »
ну по ходу в джаве юзается динарек, но всеравно эмулировать арм проц это ппц.

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #10 : 14 Сентябрь 2010, 20:11:04 »
Вот интересная информация, кто захочет сделать J2ME эмулятор GBA.

По процессору ARM7TDMI:
(Вики - ARM7TDMI )

Это всё на офф. сайте ARM

По J2ME(Java):
  • SUN Developers на Русском
  • Oracle J2ME Документация
  • MIDletPascal - язык программирования с паскалеподобным синтаксисом, предназначенный для написания программ для мобильных телефонов. (На нём быстрее создать программу для телефона, чем с помощью JavaME). Читайте в Вики: --> Вики - MIDletPascal
(Вики - J2ME )

Вопрос: Использование низкоуровневого доступа к железу телефона даст прирост скорости?
« Последнее редактирование: 14 Сентябрь 2010, 20:24:12 от WilliamJ »

Оффлайн gepar

  • Пользователь
  • Сообщений: 10150
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #11 : 14 Сентябрь 2010, 22:02:02 »
Цитата: WilliamJ
Вопрос: Использование низкоуровневого доступа к железу телефона даст прирост скорости?
Ява его тебе не даст, это самсунговская bada даст низкоуровневый доступ, симбиан, android ... но не ява на мобильнике.

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #12 : 14 Сентябрь 2010, 22:23:57 »
Просто в Вики про тот же самый MIDletPascal написано вот что:

Возможности MIDletPascal

  • Генерация низкоуровневого, компактного и быстрого Java байт-кода.
  • Полная поддержка спецификации Паскаля.
  • Часть кода может быть написана непосредственно на Java.
  • Поддержка обмена SMS.
  • Поддержка связи по HTTP.
  • Поддержка пользовательского интерфейса (формы).
  • Поддержка мультимедиа.
  • Дружественная интегрированная среда разработки (IDE).

Оффлайн SergeCheb

  • Пользователь
  • Сообщений: 863
  • Пол: Мужской
  • Svyazist
    • ВКонтакте
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #13 : 14 Сентябрь 2010, 22:38:55 »
WilliamJ,ты сам на мидлетпаскале то что нибудь писал?На сименсклабе уже лет 5 под него проги пишут,и  что то ничего производительного за это время ни у кого не получалось. Вместо него лучше на яве писать, а не кучу громоздкого кода мидлетпаскаля, он для тех к кого мозг работает как самый слабый процессор. На смартфонах и кпк с эмулятором гба написанном на си миллионы проблем, и тормозов на процессорах за 300мгц, а тутчерез компилятор явы, виртуальную машину еще и эмулировать что то на слабом железе -изврат, лучше сразу писать на эльфах для конкретных процессоров, как например эмулятор снес на СЕ худо бедно пашет. Напоминает вообе троллинг с твоей стороны.
« Последнее редактирование: 14 Сентябрь 2010, 22:42:25 от SergeCheb »

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #14 : 15 Сентябрь 2010, 16:37:14 »
SergeCheb - :lol: Троль - это интернет-хулиган, который размещает грубые или провокационные сообщения в Интернете, мешает обсуждению или оскорбляет его участников.
Так что... Я не занимаюсь тролингом, и даже не похож на троля.

Я простой добрый парнишка, который хочет сделать эмулятор GBA на Java ME,
чтобы этим обрадовать многих миллионов мальчишек и девченок, у которых
есть сотовый телефон(не смартфон), и которые часто мечтают поиграть, скажем,
в покемонов, или в барби, или в человека-паука, в гонки, в лего...
 ;)

Так  что... Да и тут много интересной информации я привел. :) Может, кому понадобится.
Как говорится, всё нужное в одном месте...
SergeCheb - Не ругайте меня. ^_^ Раньше про GBC тоже думали, что на телефонах
он не будет, а теперь есть. И работает сносно.
Я тоже пробую сделать что-то с тем эмулятором. По исходникам смотрю и
с помощью редактора редактирую и пробую на своём телефоне.
Может выйдет так, чтобы он нормально работал... :)

Добавлено позже:
С другой стороны можно встроить похожую на плагин штуку в телефон,
так чтобы, когда запускаешь определенный файл, он ведь не в Яве запустится,
а в этом плагине(точнее не в самом плагине, а в файле). Например, как
аудио плеере для компьютера, если скачаешь плагин для открытия файла
ззз, то плеер сможет его открыть. Что-то типа Эльфов, а может даже и
сами эльфы. Просто надо создать для этого редактор прошивки, который
встроит систему запуска эльфов. Но ведь ни кто же этим не занимается...
Нет хороших, квалифицированных специалистов... половина из них
в Интернете за ВОВ сидит... и контрстрайк... :thumbdown:

Добавлено позже:
Цитата
SergeCheb: лучше сразу писать на эльфах для конкретных процессоров, как например эмулятор снес на СЕ худо бедно пашет.
Тогда нужно будет использовать "Базу знаний" с сайта jbenchmark.com.
И мануалы изучать про процессоры. И сайт создать с базой систем запуска эльфов.

Оффлайн DreamZzz

  • Пользователь
  • Сообщений: 267
  • Demul team
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #15 : 15 Сентябрь 2010, 17:14:14 »
Купи смартфон и не мучайся. Не родить на j2me эмулятор гба с нормальной скоростью, ну никак. Разве что там i7 в телефоне стоять будет, да и то не факт  :lol:

Оффлайн gepar

  • Пользователь
  • Сообщений: 10150
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #16 : 15 Сентябрь 2010, 17:46:25 »
WilliamJ,ну вот посуди сами: на яве часто выходят игры по графике и звуку как на gba? Это всё равно что сейчас пытаться эмулировать на стареньком ПК ps3 да ещё на яве, ява сама по себе сильно ограничена, а MIDletPascal это эмулятор паскаля на яве так что получиться что ты будешь писать эмулятор в эмуляторе java. Забей на это дело, если и правда так хочется написать свой gba эмулятор с блекдежом и прочим то бери смарт и учи си. Между прочим цена на 2700c и на смартфоны нокиа с 9ой осью, которые сейчас правят балом, не сильно то отличается :)

Оффлайн SergeCheb

  • Пользователь
  • Сообщений: 863
  • Пол: Мужской
  • Svyazist
    • ВКонтакте
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #17 : 15 Сентябрь 2010, 18:40:44 »
WilliamJ,лучше сделай полнофунциональный эмулятор ZX-Spectrum на Java , со всеми прибамбасами, спасибо скажу), а то что ты хочешь сделать обречено на провал- не только  я так думаю)Да и главная фича явы - ты не сможешь эмулировать оригинальный звук, как на Nescube синтезированный Midi - слушать поклонникам нес отвратительно просто.

Оффлайн dreikk

  • Пользователь
  • Сообщений: 207
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #18 : 15 Сентябрь 2010, 19:08:47 »
WilliamJ, ну пиши эльфлодер на нокию, порти какой нибудь эмуль гба и играйся, но врядли у тебя ченибудь выйдет ;), можеш также взять смарт и забить на яву.

Оффлайн SergeCheb

  • Пользователь
  • Сообщений: 863
  • Пол: Мужской
  • Svyazist
    • ВКонтакте
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #19 : 27 Сентябрь 2010, 20:17:47 »
Все пропал боец, не одержал победы над кодом)

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #20 : 27 Сентябрь 2010, 20:38:02 »
WilliamJ, отличная идея! Удачи в этом нелёгком деле;)

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #21 : 01 Октябрь 2010, 00:26:19 »
SergeCheb - Я не пропал, просто пароль забыл... :wall: :rofl:
iddqd - Конечно, идея на счет эльфов, или "Чёт типа того" на Нокиях - отличная. Только трудно-осуществимая.

SergeCheb - Да, пока победы не одержал... Времени нету совсем... -_-

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #22 : 01 Октябрь 2010, 18:52:08 »
Кое что нашел сегодня час назад.
Процессор ARM 9 ****(Забыл модель), который есть в телефоне Nokia 2700, аппаратно поддерживает функцию Jazelle, которая ускоряет Java программу в 8 раз. Только, чтобы эта функция работала, нужно встроить в приложение дополнительный код. Этот код отделяют от основного спец. строками(?). Если найду еще инфу, напишу сюда.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10150
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #23 : 01 Октябрь 2010, 21:35:46 »
WilliamJ,я сейчас с мобильника так что сильно инет серфить для поиска инфы не получается, но вот эти "в 8 раз" это небось враньё. Глупо же ограничивать проц чтобы проги работали медленнее и активировать его лишь если дописать "Ану бегом мне выполнять *?@%;! ". Хотя это могли сделать с целью экономии батарейки ... но всё равно что-то в твоих данных не так, как мне кажется.

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #24 : 02 Октябрь 2010, 13:50:49 »
gepar - Нет, везде так пишут. И Вики, и на других сайтах.
Буду изучать Jazelle в этом направлении... :)

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

Jazelle в Вики

Из Википедии:
Цитата
Расширение Jazelle использует низкоуровневый бинарный перевод, выполненный в виде дополнительной ступени между выборкой и декодированием этапа инструкций процессора pipeline. Опознанный байт-код преобразуется в строку из одного или более родных инструкций ARM.

Jazelle на офф. сайте ARM(процессоры).
« Последнее редактирование: 02 Октябрь 2010, 14:41:27 от WilliamJ »

Оффлайн rock88

  • Пользователь
  • Сообщений: 17
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #25 : 03 Октябрь 2010, 07:26:05 »
Попробую и я что-нить вставить  ;)
И так у меня 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

Оффлайн WilliamJ

  • Пользователь
  • Сообщений: 13
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #26 : 07 Октябрь 2010, 01:48:24 »
Фух. Вот ещё кому надо(а это надо не только для J2ME GBA, но и для обычной Java),
нашел крайне интересную информацию про Jazelle. В идеале, это инструкция, как
включать эту самую технологию.

То есть, теоретически(пока практически ещё почти ни кто не пробовал),
можно будет по 3D графике играть(Или по скорости) в N-Gage игры(вместе с Jazelle)...

Или, например, ускорить все существующие J2ME эмуляторы(NES, GB и т.д.)
для мобильников(может и смартфонов).

Инструкция BXJ (ARM)(Начало выполнения инструкций)

Инструкция BX (ARM)(Конец выполнения инструкций)


Множество крайне полезной инфы про Архитектуру ARM процессоров и код для них.
Архитектура ARM

Первый спойлер - для rock88 :)

Второй спойлер
« Последнее редактирование: 07 Октябрь 2010, 02:28:08 от WilliamJ »

Оффлайн dreikk

  • Пользователь
  • Сообщений: 207
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #27 : 07 Октябрь 2010, 04:09:06 »
rock88, на сименсе порт vba и на 2мб оперативки работает, так что можно сделать подгрузку ромов по частях (почти все эмули для сименса поддерживают эту функцию). Хотя хз, на нокию вроде нету эльфпака и наверн не будет ;)
« Последнее редактирование: 07 Октябрь 2010, 04:11:20 от dreikk »

Оффлайн rock88

  • Пользователь
  • Сообщений: 17
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #28 : 07 Октябрь 2010, 09:25:17 »
dreikk, про 20мб озу это я про gpsp писал, там рекомпилятор и все дела, отсюда и высокая скорость, по сравнению с VBA

WilliamJ, так это получается нужно будет переписать весь код на байткод и вставить в главном цикле в начале BXJ в конце BX, что-то не верится что будет все так просто, уже все бы давным давно игрались на телефонах в GBA. И авторы эмулей бы во всю использовали данную технологию, ведь написать/портировать эмуль гораздо сложнее чем вставить 2 строчки кода.

Оффлайн Baka

  • Пользователь
  • Сообщений: 52
  • Пол: Мужской
    • Просмотр профиля
Re: J2ME Эмулятор GBA
« Ответ #29 : 07 Октябрь 2010, 16:39:18 »
На яве не вариант, а вот нативный - играбелен.
gpsp на НЕ смартфоне без звука работает практически на фул спиде, при включении звука скорость не сильно падает, а звук медленен.