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

 
 
> Эмуляция 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

Сообщений в этой теме
- - 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
- - Ganster   ЦитатаЕще вопрос, эмулятор коммерческий? Там у GBA...   Feb 18 2009, 11:31
- - %-)   а что если... взять тотже AT91RM9200, настроить M...   Sep 24 2009, 06:58


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:26
Рейтинг@Mail.ru


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