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

 
 
> Эмуляция 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 17 2009, 14:09
Сообщение #2





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



Да нет, это как раз проще всего будет. Все что можно написать без использования всяких хитромудрых инструкций процессора, это сколько угодно smile.gif
Блин, какие же ужасные доки по арм'ам пишут, без 100грамм вобще ничего не понять %)
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
|- - 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 Текстовая версия Сейчас: 29th July 2025 - 21:30
Рейтинг@Mail.ru


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