реклама на сайте
подробности

 
 
> Эмуляция ARM на другом ARM - насколько проблематично?, О портировании GBA на мобильник...
Ganster
сообщение Feb 13 2009, 15:27
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 13-02-09
Пользователь №: 44 813



Много уж у нас эмуляторов на Siemens сделано(NES, Sega GameGear/MasterSystem/Megadrive, Gameboy(color) и даже SNES), но вот больше всего интерисует консолька GameBoy Advanced. Игр много, да еще и каких! И самое главное - процессор той же архитектуры, но в 12 раз слабее чем на телефоне! Только вот попытка портирования VisualBoyAdvanced(не моя) не дала желаемого результата - эмулятор беспощадно пожирая больше 7 мегабайт опреративы выдавал с трудом около 1 fps sad.gif В итоге проект умер только появившись... Посмотрев исходники увидел кучу ненужного кода, т.к. оригинал эмулятора написан для x86 и процессор эмулируется целиком и полностью => есть возможности оптимизации переписав команды процессора и SWI-функции биоса на ассемблер(процессор-то и там, и там ARM => инструкции одинаковые), но те же графические режимы, клавиатуруру(про звук уж молчу) придется эмулировать, т.к. у нас дисплей работает только в графическом режиме 16бит(5-6-5), клавиатура опрашивается совсем по-другому...
Еще предлагали ремапить память и дописать нужные функции в саму прошивку и запускать ромы уже без эмуляции, но тут тоже как минимум две сложности: найти инициализацию MMU в ~32mb бинарнике дизассемблером и добавить адресацию как в gba+дописать хуки на запуск SWI, но курить сотни мегабайт кода в дизассемблере - жуткая перспектива. Ну и непонятно как можно будет тогда тормозить выполнение кода...

Так вот, вопрос собственно в том, возможно ли получить приемлемую скорость эмуляции в каким-нибудь образом? Может кто чего посоветует? Рассмотрю любые за и против, не откажусь от исходников эмуляторов сего девайса под арм, если таковые имеются.

Код
Железо GBA:
CPU: ARM7TDMI 32bit RISC CPU, 16.78MHz
BIOS ROM     16 KBytes
Work RAM     288 KBytes (32K in-chip + 256K on-board)
VRAM         96 KBytes
OAM          1 KByte (128 OBJs 3x16bit, 32 OBJ-Rotation/Scalings 4x16bit)
Palette RAM  1 KByte (256 BG colors, 256 OBJ colors)
Display      240x160 pixels (2.9 inch TFT color LCD display)
Gamepad      4 Direction Keys, 6 Buttons


Код
Телефон(BenQ-Siemens E71):
CPU:  SGOLD2(ARM926EJ-S) 208MHz
RAM:  можно очистить до ~9mb
Display: 240x320 262 тысячи цветов, напрямую со ScreenBuffer можно работать только в 16bit 5-6-5
Gamepad: вся клавиатура телефона
+возможность загружать бинарники напрямую процессором(elf скомпилированный IAR)


Сообщение отредактировал Ganster - Feb 13 2009, 15:31
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ganster
сообщение Feb 18 2009, 11:31
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 13-02-09
Пользователь №: 44 813



Цитата
Еще вопрос, эмулятор коммерческий? Там у GBA на ROM-BIOS бальшой копирайт стоит smile.gif

Да какая может быть коммерция на самодельной платформе? Тем более что сам же Rst7 как автор эльфлоадера наложил табу на коммерческие проекты smile.gif
Цитата
p.s. Звук вам не нужен... а кому нафиг такой эмуль нужен?

Большинство эмуляторов консолей на мобильные устройства без звука из-за сложностей реализации и вообще отсутствии в нем необходимости как в таковом. Не вижу смысла в таких выражениях, к примеру марио без фоновой пищалки бегает так же :D
Цитата
p.p.s. Может вам для начала сделать эмуль GameBoy Color? эмулятор Z80 вроде как проще будет сделать...

GameboyColor давно уже есть, шапку читаем, да и то что я делаю это не совсем эмулятор-то, в этом и сложность.
Цитата
p.p.p.s. По командам ARM - это к rst7, он гуру в этом (и в z80 тоже)

Сам знаю, и с удовольствием бы обратился, но:
1) Как я уже сказал игрушки ему врятли интересны;
2) Он вообще не любитель отвечать на вопросы, похоже из-за активности "недопонимающих" после появления эльфлоадера smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ganster   Эмуляция ARM на другом ARM - насколько проблематично?   Feb 13 2009, 15:27
- - AlexandrY   Чет вы темните. Ни в какой мобиле код не занимает ...   Feb 13 2009, 16:36
- - Ganster   Ну если точнее, то 20мб чистого кода, это без файл...   Feb 13 2009, 16:57
- - Artem_Petrik   Есть готовый симулятор GBA для смартфонов на базе ...   Feb 13 2009, 20:00
- - Ganster   Ну...менять телефон ради эмулятора практически рав...   Feb 13 2009, 23:10
|- - Artem_Petrik   Цитата(Ganster @ Feb 14 2009, 01:10) Ну.....   Feb 14 2009, 11:31
- - Ganster   Именно! Важен не результат, а сам процесс Все...   Feb 15 2009, 05:57
|- - Artem_Petrik   Цитата(Ganster @ Feb 15 2009, 07:57) Как ...   Feb 15 2009, 18:56
- - zksystem   В эмуляции GBA у вас проблемы не с CPU возникнут, ...   Feb 16 2009, 08:52
- - Ganster   Да нет, это как раз проще всего будет. Все что мож...   Feb 17 2009, 14:09
|- - zksystem   Цитата(Ganster @ Feb 17 2009, 17:09) Да н...   Feb 17 2009, 16:54
- - Ganster   Да читал я спецификации его! Ничего сложного н...   Feb 17 2009, 17:20
|- - zksystem   Цитата(Ganster @ Feb 17 2009, 20:20) Да ч...   Feb 17 2009, 17:51
- - %-)   а что если... взять тотже AT91RM9200, настроить M...   Sep 24 2009, 06:58


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016